From 064649f2e1fe22e3cb375baa803cefe07ea4a6c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A2=A8=E6=A2=93=E6=9F=92?= <1787882683@qq.com> Date: Sat, 22 Nov 2025 15:49:24 +0800 Subject: [PATCH] WebUI 0f2da63534b65d27eeed4c3c403f0f105a223cfb --- webui/dist/assets/charts-B1JvyJzO.js | 65 ---- webui/dist/assets/charts-BH1Uno6i.js | 65 ++++ webui/dist/assets/icons-COIni9ke.js | 1 + webui/dist/assets/icons-D6w7t-x9.js | 1 - webui/dist/assets/index-B5LlQV5d.css | 1 - webui/dist/assets/index-Dq6na-LB.css | 1 + webui/dist/assets/index-DqR4PCua.js | 362 ----------------- webui/dist/assets/index-Du48JcWB.js | 363 ++++++++++++++++++ ...{router-BWgTyY51.js => router-SinpzM5S.js} | 4 +- ...ndor-nTGLnMlb.js => ui-vendor-BLBhIcJ8.js} | 2 +- webui/dist/index.html | 12 +- 11 files changed, 439 insertions(+), 438 deletions(-) delete mode 100644 webui/dist/assets/charts-B1JvyJzO.js create mode 100644 webui/dist/assets/charts-BH1Uno6i.js create mode 100644 webui/dist/assets/icons-COIni9ke.js delete mode 100644 webui/dist/assets/icons-D6w7t-x9.js delete mode 100644 webui/dist/assets/index-B5LlQV5d.css create mode 100644 webui/dist/assets/index-Dq6na-LB.css delete mode 100644 webui/dist/assets/index-DqR4PCua.js create mode 100644 webui/dist/assets/index-Du48JcWB.js rename webui/dist/assets/{router-BWgTyY51.js => router-SinpzM5S.js} (70%) rename webui/dist/assets/{ui-vendor-nTGLnMlb.js => ui-vendor-BLBhIcJ8.js} (99%) diff --git a/webui/dist/assets/charts-B1JvyJzO.js b/webui/dist/assets/charts-B1JvyJzO.js deleted file mode 100644 index 7d2ae929..00000000 --- a/webui/dist/assets/charts-B1JvyJzO.js +++ /dev/null @@ -1,65 +0,0 @@ -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 Ub(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 TO(){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=_O(),t=AO(),r=SO(),n=PO(),i=TO();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 YO(t)&&!oi(t)},ZO=function(t){return Y(t)},Ae=function(t){return q(t)||er(t)},JO=0,Zr=function(t){var r=++JO;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},QO=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 o_(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)||(KO.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)},u_=["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"],c_=function(t){return t&&t.type&&er(t.type)&&u_.indexOf(t.type)>=0},s_=function(t){return t&&ml(t)==="object"&&"clipDot"in t},l_=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)||r_.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;l_((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 v_(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=d_(e,p_),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 y_=["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 g_(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=m_(e,y_),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 Jb(){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 w_(){if(ad)return _u;ad=1;function e(t){return t.split("")}return _u=e,_u}var Au,od;function O_(){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 __(){if(ud)return Su;ud=1;var e=w_(),t=Jb(),r=O_();function n(i){return t(i)?r(i):e(i)}return Su=n,Su}var Pu,cd;function A_(){if(cd)return Pu;cd=1;var e=x_(),t=Jb(),r=__(),n=Vb();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 S_(){if(sd)return Tu;sd=1;var e=A_(),t=e("toUpperCase");return Tu=t,Tu}var P_=S_();const Ia=oe(P_);function se(e){return function(){return e}}const Qb=Math.cos,Ci=Math.sin,at=Math.sqrt,Ii=Math.PI,ka=2*Ii,Ol=Math.PI,_l=2*Ol,Ut=1e-6,T_=_l-Ut;function e0(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return e0;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>T_?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 j_(t)}function Vf(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function t0(e){this._context=e}t0.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 t0(e)}function r0(e){return e[0]}function n0(e){return e[1]}function i0(e,t){var r=se(!0),n=null,i=Ra,a=null,o=Gf(u);e=typeof e=="function"?e:e===void 0?r0:se(e),t=typeof t=="function"?t:t===void 0?n0: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 i0().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 a0{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 M_(e){return new a0(e,!0)}function $_(e){return new a0(e,!1)}const Xf={draw(e,t){const r=at(t/Ii);e.moveTo(r,0),e.arc(0,0,r,0,ka)}},C_={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()}},o0=at(1/3),I_=o0*2,k_={draw(e,t){const r=at(t/I_),n=r*o0;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}},R_={draw(e,t){const r=at(t),n=-r/2;e.rect(n,n,r,r)}},D_=.8908130915292852,u0=Ci(Ii/10)/Ci(7*Ii/10),N_=Ci(ka/10)*u0,q_=-Qb(ka/10)*u0,L_={draw(e,t){const r=at(t*D_),n=N_*r,i=q_*r;e.moveTo(0,-r),e.lineTo(n,i);for(let a=1;a<5;++a){const o=ka*a/5,u=Qb(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),B_={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),F_=(Al/2+1)*3,W_={draw(e,t){const r=at(t/F_),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 z_(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 c0(e){this._context=e}c0.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 U_(e){return new c0(e)}function s0(e){this._context=e}s0.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 H_(e){return new s0(e)}function l0(e){this._context=e}l0.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 K_(e){return new l0(e)}function f0(e){this._context=e}f0.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 G_(e){return new f0(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 h0(e){this._context=new p0(e)}(h0.prototype=Object.create(Di.prototype)).point=function(e,t){Di.prototype.point.call(this,t,e)};function p0(e){this._context=e}p0.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 V_(e){return new Di(e)}function X_(e){return new h0(e)}function d0(e){this._context=e}d0.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 Z_(e){return new Da(e,.5)}function J_(e){return new Da(e,0)}function Q_(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 e1(e,t){return e[t]}function t1(e){const t=[];return t.key=e,t}function r1(){var e=se([]),t=Sl,r=Ar,n=e1;function i(a){var o=Array.from(e.apply(this,arguments),t1),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 f1(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 v0={symbolCircle:Xf,symbolCross:C_,symbolDiamond:k_,symbolSquare:R_,symbolStar:L_,symbolTriangle:B_,symbolWye:W_},h1=Math.PI/180,p1=function(t){var r="symbol".concat(Ia(t));return v0[r]||Xf},d1=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*h1;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}},v1=function(t,r){v0["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=l1(t,o1),s=vd(vd({},c),{},{type:n,size:a,sizeType:u}),f=function(){var p=p1(n),g=z_().type(p).size(d1(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=v1;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 S1(){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 P1(){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 T1(){if(bd)return Cu;bd=1;function e(t){return this.__data__.get(t)}return Cu=e,Cu}var Iu,xd;function E1(){if(xd)return Iu;xd=1;function e(t){return this.__data__.has(t)}return Iu=e,Iu}var ku,wd;function j1(){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 W1(){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 S0(){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 z1(){return Gd||(Gd=1,(function(e,t){var r=Hb(),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 P0(){if(Vd)return ac;Vd=1;var e=W1(),t=S0(),r=z1(),n=r&&r.isTypedArray,i=n?t(n):e;return ac=i,ac}var oc,Xd;function U1(){if(Xd)return oc;Xd=1;var e=L1(),t=Qf(),r=qe(),n=A0(),i=eh(),a=P0(),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 H1(){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 T0(){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 K1(){if(Jd)return sc;Jd=1;var e=T0(),t=e(Object.keys,Object);return sc=t,sc}var lc,Qd;function G1(){if(Qd)return lc;Qd=1;var e=H1(),t=K1(),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=U1(),t=G1(),r=ui();function n(i){return r(i)?e(i):t(i)}return hc=n,hc}var pc,rv;function V1(){if(rv)return pc;rv=1;var e=R1(),t=q1(),r=Na();function n(i){return e(i,r,t)}return pc=n,pc}var dc,nv;function X1(){if(nv)return dc;nv=1;var e=V1(),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 vA(){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 MA(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 $A(e){return e.value}function CA(e,t){if(S.isValidElement(e))return S.cloneElement(e,t);if(typeof e=="function")return S.createElement(e,t);t.ref;var r=jA(t,wA);return S.createElement(Zf,r)}var qv=1,wr=(function(e){function t(){var r;OA(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}},CA(a,pt(pt({},this.props),{},{payload:C0(f,s,$A)})))}}],[{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 IA(){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 R0(){if(Bv)return Gc;Bv=1;var e=_0(),t=IA();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 kA(){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 RA(){if(Wv)return Xc;Wv=1;var e=kA(),t=e();return Xc=t,Xc}var Yc,zv;function D0(){if(zv)return Yc;zv=1;var e=RA(),t=Na();function r(n,i){return n&&e(n,i,t)}return Yc=r,Yc}var Zc,Uv;function DA(){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 BA(){if(Yv)return ns;Yv=1;var e=zf(),t=Uf(),r=ht(),n=N0(),i=NA(),a=S0(),o=LA(),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 FA(){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 WA(){if(Jv)return as;Jv=1;var e=FA(),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 KA(){if(ny)return ls;ny=1;var e=UA(),t=HA(),r=t(e);return ls=r,ls}var fs,iy;function GA(){if(iy)return fs;iy=1;var e=Jr(),t=WA(),r=KA();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 VA(){if(oy)return ps;oy=1;var e=R0(),t=BA(),r=GA(),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 XA=VA();const ih=oe(XA);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 lS(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 fS(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=lS({translateX:f,translateY:l,useTranslate3d:u})):s=cS,{cssProperties:s,cssClasses:sS({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=fS({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),wS=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},or={isSsr:wS()};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(xS,{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},$S(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 CS(){if(vy)return vs;vy=1;var e=ft(),t=function(){return e.Date.now()};return vs=t,vs}var ys,yy;function IS(){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 kS(){if(my)return ms;my=1;var e=IS(),t=/^\s+/;function r(n){return n&&n.slice(0,e(n)+1).replace(t,"")}return ms=r,ms}var gs,gy;function z0(){if(gy)return gs;gy=1;var e=kS(),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 RS(){if(by)return bs;by=1;var e=It(),t=CS(),r=z0(),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 DS(){if(xy)return xs;xy=1;var e=RS(),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 NS=DS();const U0=oe(NS);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=U0(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=ZS(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({},YS),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>XS&&(fr.cacheCount=0,fr.widthCache={}),c}catch{return{width:0,height:0}}},JS=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 rP(e)||tP(e,t)||eP(e,t)||QS()}function QS(){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 eP(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 yP(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 xP(e)||bP(e,t)||gP(e,t)||mP()}function mP(){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 gP(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=V0({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(G0);return[{words:r}]},OP=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=V0({breakAll:o,children:i,style:a});if(f){var l=f.wordsWithComputedWidth,h=f.spaceWidth;c=l,s=h}else return Iy(i);return wP({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,dP),w=N.useMemo(function(){return OP({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,vP);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 _P(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===_P?e:AP,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 AP(){return 0}function X0(e){return e===null?NaN:+e}function*SP(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const PP=uh(Ct),ci=PP.right;uh(X0).center;class Ry extends Map{constructor(t,r=jP){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(TP(this,t),r)}delete(t){return super.delete(EP(this,t))}}function Dy({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function TP({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function EP({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function jP(e){return e!==null&&typeof e=="object"?e.valueOf():e}function MP(e=Ct){if(e===Ct)return Y0;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 Y0(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const $P=Math.sqrt(50),CP=Math.sqrt(10),IP=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>=$P?10:a>=CP?5:a>=IP?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 Z0(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?Y0:MP(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));Z0(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 kP(e,t,r){if(e=Float64Array.from(SP(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(Z0(e,a).subarray(0,a+1)),u=qy(e.subarray(a+1));return o+(u-o)*(i-a)}}function RP(e,t,r=X0){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 DP(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=qP.exec(e))?new Ne(t[1],t[2],t[3],1):(t=LP.exec(e))?new Ne(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=BP.exec(e))?xi(t[1],t[2],t[3],t[4]):(t=FP.exec(e))?xi(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=WP.exec(e))?Hy(t[1],t[2]/100,t[3]/100,1):(t=zP.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 KP(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?KP(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,Q0(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:GP,formatRgb:Uy,toString:Uy}));function zy(){return`#${Vt(this.r)}${Vt(this.g)}${Vt(this.b)}`}function GP(){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 ex(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 VP(e,t,r,n){return arguments.length===1?ex(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,VP,Q0(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 XP(e,t){return function(r){return e+r*t}}function YP(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 ZP(e){return(e=+e)==1?tx:function(t,r){return r-t?YP(t,r,e):lh(isNaN(t)?r:t)}}function tx(e,t){var r=t-e;return r?XP(e,r):lh(isNaN(e)?t:e)}const Gy=(function e(t){var r=ZP(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=tx(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 JP(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 sT(e,t,r){var n=e[0],i=e[1],a=t[0],o=t[1];return i2?lT:sT,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 fT(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 hT(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 pT(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var dT=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Rn(e){if(!(t=dT.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 vT(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 rx;function yT(e,t){var r=Gi(e,t);if(!r)return e+"";var n=r[0],i=r[1],a=i-(rx=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:fT,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:yT,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 mT(e){var t=e.grouping===void 0||e.thousands===void 0?Zy:hT(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:pT(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=vT(P)),R&&+P==0&&y!=="+"&&(R=!1),E=(R?y==="("?y:u:y==="-"||y==="("?"":y)+E,j=(m==="s"?Qy[8+rx/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,nx;gT({thousands:",",grouping:[3],currency:["$",""]});function gT(e){return Oi=mT(e),dh=Oi.format,nx=Oi.formatPrefix,Oi}function bT(e){return Math.max(0,-jr(Math.abs(e)))}function xT(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(jr(t)/3)))*3-jr(Math.abs(e)))}function wT(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,jr(t)-jr(e))+1}function ix(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=xT(i,o))&&(n.precision=a),nx(n,o)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=wT(i,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=bT(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 ix(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 ax(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 ax(e).unknown(t)},e=arguments.length?Array.from(e,Ki):[0,1],kt(r)}function ox(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 PT(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=PT(n),a=ST(n),r()[0]<0?(i=rm(i),a=rm(a),e(OT,_T)):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(ox(r(),{floor:u=>a(Math.floor(i(u))),ceil:u=>a(Math.ceil(i(u)))})),t}function ux(){const e=vh(Ba()).domain([1,10]);return e.copy=()=>li(e,ux()).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 cx(){var e=yh(Ba());return e.copy=function(){return li(e,cx()).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 TT(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function ET(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(TT,ET):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 jT(){return gh.apply(null,arguments).exponent(.5)}function om(e){return Math.sign(e)*e*e}function MT(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function sx(){var e=hh(),t=[0,1],r=!1,n;function i(a){var o=MT(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 sx(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Qe.apply(i,arguments),kt(i)}function lx(){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 fx().domain([e,t]).range(i).unknown(a)},Qe.apply(kt(o),arguments)}function hx(){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 hx().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 px=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));px.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),$T=ur(2),CT=ur(3),Mr=ur(4),IT=ur(5),kT=ur(6);Wa.range;Yi.range;$T.range;CT.range;Mr.range;IT.range;kT.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),RT=cr(2),DT=cr(3),$r=cr(4),NT=cr(5),qT=cr(6);za.range;Zi.range;RT.range;DT.range;$r.range;NT.range;qT.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 dx(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+/,UT=/^%/,HT=/[\\^$*+?|[\]().{}]/g;function re(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",a=i.length;return n+(a[t.toLowerCase(),r]))}function GT(e,t,r){var n=Ee.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function VT(e,t,r){var n=Ee.exec(t.slice(r,r+1));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.U=+n[0],r+n[0].length):-1}function YT(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function ZT(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 JT(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 QT(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 eE(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 tE(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 rE(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function nE(e,t,r){var n=Ee.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function iE(e,t,r){var n=Ee.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function aE(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 oE(e,t,r){var n=UT.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function uE(e,t,r){var n=Ee.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function cE(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 sE(e,t){return re(e.getHours(),t,2)}function lE(e,t){return re(e.getHours()%12||12,t,2)}function fE(e,t){return re(1+fi.count(_t(e),e),t,3)}function vx(e,t){return re(e.getMilliseconds(),t,3)}function hE(e,t){return vx(e,t)+"000"}function pE(e,t){return re(e.getMonth()+1,t,2)}function dE(e,t){return re(e.getMinutes(),t,2)}function vE(e,t){return re(e.getSeconds(),t,2)}function yE(e){var t=e.getDay();return t===0?7:t}function mE(e,t){return re(Wa.count(_t(e)-1,e),t,2)}function yx(e){var t=e.getDay();return t>=4||t===0?Mr(e):Mr.ceil(e)}function gE(e,t){return e=yx(e),re(Mr.count(_t(e),e)+(_t(e).getDay()===4),t,2)}function bE(e){return e.getDay()}function xE(e,t){return re(Yi.count(_t(e)-1,e),t,2)}function wE(e,t){return re(e.getFullYear()%100,t,2)}function OE(e,t){return e=yx(e),re(e.getFullYear()%100,t,2)}function _E(e,t){return re(e.getFullYear()%1e4,t,4)}function AE(e,t){var r=e.getDay();return e=r>=4||r===0?Mr(e):Mr.ceil(e),re(e.getFullYear()%1e4,t,4)}function SE(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 PE(e,t){return re(e.getUTCHours(),t,2)}function TE(e,t){return re(e.getUTCHours()%12||12,t,2)}function EE(e,t){return re(1+Fa.count(At(e),e),t,3)}function mx(e,t){return re(e.getUTCMilliseconds(),t,3)}function jE(e,t){return mx(e,t)+"000"}function ME(e,t){return re(e.getUTCMonth()+1,t,2)}function $E(e,t){return re(e.getUTCMinutes(),t,2)}function CE(e,t){return re(e.getUTCSeconds(),t,2)}function IE(e){var t=e.getUTCDay();return t===0?7:t}function kE(e,t){return re(za.count(At(e)-1,e),t,2)}function gx(e){var t=e.getUTCDay();return t>=4||t===0?$r(e):$r.ceil(e)}function RE(e,t){return e=gx(e),re($r.count(At(e),e)+(At(e).getUTCDay()===4),t,2)}function DE(e){return e.getUTCDay()}function NE(e,t){return re(Zi.count(At(e)-1,e),t,2)}function qE(e,t){return re(e.getUTCFullYear()%100,t,2)}function LE(e,t){return e=gx(e),re(e.getUTCFullYear()%100,t,2)}function BE(e,t){return re(e.getUTCFullYear()%1e4,t,4)}function FE(e,t){var r=e.getUTCDay();return e=r>=4||r===0?$r(e):$r.ceil(e),re(e.getUTCFullYear()%1e4,t,4)}function WE(){return"+0000"}function vm(){return"%"}function ym(e){return+e}function mm(e){return Math.floor(+e/1e3)}var hr,bx,xx;zE({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 zE(e){return hr=zT(e),bx=hr.format,hr.parse,xx=hr.utcFormat,hr.utcParse,hr}function UE(e){return new Date(e)}function HE(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)=>kP(e,a/n))},r.copy=function(){return Ax(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 YE(){if(wm)return $s;wm=1;var e=Ka(),t=Ex(),r=Jr();function n(i){return i&&i.length?e(i,r,t):void 0}return $s=n,$s}var ZE=YE();const Ga=oe(ZE);var Cs,Om;function jx(){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?Ix(t,e):$x(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 Cx(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?$x(t,e):Ix(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)<=Mx){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=Cx(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 $x(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 Ix(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 kx(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,uj.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=kx,i.config=i.set=cj,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=kx(oj);Ue=new Mh(1);const ae=Mh;function sj(e){return pj(e)||hj(e)||fj(e)||lj()}function lj(){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 fj(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 hj(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function pj(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 Ej(e){if(Array.isArray(e))return e}function Lx(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 Bx(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 jj(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=mj(yj(function(c){return i.add(new ae(c-o).mul(n)).toNumber()}),Ul);return u(0,t)}function Fx(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=Bx(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?Fx(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 Mj(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=Lx([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 jj(s,i,a);var h=Fx(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 $j(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=Lx([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=Bx(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 Cj=Nx(Mj),Ij=Nx($j),kj=["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 Fj(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 Wj(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zj(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},oM=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},uM=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},cM=function(t,r,n,i){var a=n.children,o=n.width,u=n.margin,c=o-(u.left||0)-(u.right||0),s=Hx({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},sM=function(t,r,n){return Y(r)?!0:t==="horizontal"?r==="yAxis":t==="vertical"||n==="x"?r==="xAxis":n==="y"?r==="yAxis":!0},Kx=function(t,r,n,i,a){var o=r.props.children,u=Ke(o,pi).filter(function(s){return sM(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},lM=function(t,r,n,i,a){var o=r.map(function(u){return Kx(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},Gx=function(t,r,n,i,a){var o=r.map(function(c){var s=c.props.dataKey;return n==="number"&&s&&Kx(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},Yx=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,Zx=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]])}},fM=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])}},dM=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)}},vM={sign:pM,expand:n1,none:Ar,silhouette:i1,wiggle:a1,positive:dM},yM=function(t,r,n){var i=r.map(function(u){return u.props.dataKey}),a=vM[n],o=r1().keys(i).value(function(u,c){return+_e(u,c,0)}).order(Sl).offset(a);return o(t)},mM=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:yM(t,g.items,a)}))},y)}return ve(ve({},l),{},_r({},h,d))},f)},Jx=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=Cj(s,a,u);return t.domain([Va(f),Ga(f)]),{niceTicks:f}}if(a&&i==="number"){var l=t.domain(),h=Ij(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},gM=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]},bM=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},xM=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])},Qx=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=xM(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},jM=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=rw(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,_=_M(b,2);c=_[0],s=_[1]}var A=Yx(x,a),T=A.realScaleType,M=A.scale;M.domain(w).range(m),Zx(M);var P=Jx(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),{},tw({},g,E))},{})},MM=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))},$M=function(t,r){var n=t.x,i=t.y,a=r.cx,o=r.cy,u=MM({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:EM(s),angleInRadian:s}},CM=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}},IM=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=$M({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=CM(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:IM(d,r)}):null},nw=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 kM=["offset"];function RM(e){return LM(e)||qM(e)||NM(e)||DM()}function DM(){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 NM(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 qM(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function LM(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 FM(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))},VM=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"}},XM=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"},_)},YM=function(t){return"cx"in t&&q(t.cx)};function Te(e){var t=e.offset,r=t===void 0?5:t,n=BM(e,kM),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=HM(i);var y=YM(a),v=H(i,!0);if(y&&(o==="insideStart"||o==="insideEnd"||o==="end"))return GM(i,d,v);var p=y?VM(i):XM(i);return S.createElement(rr,Wn({className:J("recharts-label",l)},v,p,{breakAll:h}),d)}Te.displayName="Label";var iw=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:{}},ZM=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},JM=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=iw(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=ZM(t.label,r||a);return[u].concat(RM(o))};Te.parseViewBox=iw;Te.renderCallByParent=JM;var Ls,Um;function QM(){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 e$=QM();const t$=oe(e$);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 r$=["valueAccessor"],n$=["data","dataKey","clockWise","id","textBreakAll"];function i$(e){return c$(e)||u$(e)||o$(e)||a$()}function a$(){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 o$(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 u$(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c$(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 h$(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 p$=function(t){return Array.isArray(t.value)?t$(t.value):t.value};function wt(e){var t=e.valueAccessor,r=t===void 0?p$:t,n=Gm(e,r$),i=n.data,a=n.dataKey,o=n.clockWise,u=n.id,c=n.textBreakAll,s=Gm(n,n$);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 d$(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 v$(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=d$(e.label,t);return[a].concat(i$(i))}wt.renderCallByParent=v$;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},x$=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 - `):aw({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},w$={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},ow=function(t){var r=Xm(Xm({},w$),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=x$({cx:n,cy:i,innerRadius:a,outerRadius:o,cornerRadius:Math.min(v,y/2),forceCornerRadius:c,cornerIsExternal:s,startAngle:f,endAngle:l}):p=aw({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 B$(e,t){return sr(e.getTime(),t.getTime())}function F$(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function W$(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 z$=sr;function U$(e,t,r){var n=ag(e),i=n.length;if(ag(t).length!==i)return!1;for(;i-- >0;)if(!uw(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],!uw(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 H$(e,t){return sr(e.valueOf(),t.valueOf())}function K$(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 G$(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 V$(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 uw(e,t,r,n){return(n===q$||n===N$||n===D$)&&(e.$$typeof||t.$$typeof)?!0:R$(t,n)&&r.equals(e[n],t[n],n,n,e,t,r)}var X$="[object Arguments]",Y$="[object Boolean]",Z$="[object Date]",J$="[object Error]",Q$="[object Map]",eC="[object Number]",tC="[object Object]",rC="[object RegExp]",nC="[object Set]",iC="[object String]",aC="[object URL]",oC=Array.isArray,cg=typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView:null,sg=Object.assign,uC=Object.prototype.toString.call.bind(Object.prototype.toString);function cC(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(oC(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=uC(v);if(O===Z$)return r(v,p,g);if(O===rC)return s(v,p,g);if(O===Q$)return a(v,p,g);if(O===nC)return f(v,p,g);if(O===tC)return typeof v.then!="function"&&typeof p.then!="function"&&u(v,p,g);if(O===aC)return h(v,p,g);if(O===J$)return n(v,p,g);if(O===X$)return u(v,p,g);if(O===Y$||O===eC||O===iC)return c(v,p,g);if(d){var m=d[O];if(!m){var b=k$(v);b&&(m=d[b])}if(m)return m(v,p,g)}return!1}}function sC(e){var t=e.circular,r=e.createCustomConfig,n=e.strict,i={areArraysEqual:n?hn:L$,areDatesEqual:B$,areErrorsEqual:F$,areFunctionsEqual:W$,areMapsEqual:n?rg(og,hn):og,areNumbersEqual:z$,areObjectsEqual:n?hn:U$,arePrimitiveWrappersEqual:H$,areRegExpsEqual:K$,areSetsEqual:n?rg(ug,hn):ug,areTypedArraysEqual:n?hn:G$,areUrlsEqual:V$,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 lC(e){return function(t,r,n,i,a,o,u){return e(t,r,u)}}function fC(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 hC=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=sC(e),c=cC(u),s=n?n(c):lC(c);return fC({circular:r,comparator:c,createState:i,equals:s,strict:o})}function pC(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):pC(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 dC(e){return gC(e)||mC(e)||yC(e)||vC()}function vC(){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 yC(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 XC(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 QC(e)||JC(e)||ZC(e)||YC()}function YC(){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 ZC(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 JC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function QC(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){iI(r,e);var t=aI(r);function r(n,i){var a;eI(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 rI(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(!(hC(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=KC(o,u,RC(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(_C)};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=bC());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=VC(i,GC),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 xg(){return xg=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},vI=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},yI={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=_g(_g({},yI),t),n=N.useRef(),i=N.useState(-1),a=uI(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:Ag(_,A,m,b,h),ref:n})))}):S.createElement("path",ca({},H(r,!0),{className:w,d:Ag(c,s,f,l,h)}))},mI=["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 bI(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 Sg(e){return _I(e)||OI(e)||wI(e)||xI()}function xI(){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 wI(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 OI(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function _I(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){Pg(n)?r[r.length-1].push(n):r[r.length-1].length>0&&r.push([])}),Pg(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=AI(t);r&&(n=[n.reduce(function(a,o){return[].concat(Sg(a),Sg(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},SI=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))},PI=function(t){var r=t.points,n=t.className,i=t.baseLinePoints,a=t.connectNulls,o=gI(t,mI);if(!r||!r.length)return null;var u=J("recharts-polygon",n);if(i&&i.length){var c=o.stroke&&o.stroke!=="none",s=SI(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 II(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 kI=function(t,r,n,i,a,o){return"M".concat(t,",").concat(a,"v").concat(i,"M").concat(o,",").concat(r,"h").concat(n)},RI=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=CI(t,TI),p=EI({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:kI(n,a,l,d,u,s)}))},Us,Eg;function DI(){if(Eg)return Us;Eg=1;var e=Ka(),t=Ex(),r=ht();function n(i,a){return i&&i.length?e(i,r(a,2),t):void 0}return Us=n,Us}var NI=DI();const qI=oe(NI);var Hs,jg;function LI(){if(jg)return Hs;jg=1;var e=Ka(),t=ht(),r=jx();function n(i,a){return i&&i.length?e(i,t(a,2),r):void 0}return Hs=n,Hs}var BI=LI();const FI=oe(BI);var WI=["cx","cy","angle","ticks","axisLine"],zI=["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 UI(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 HI(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Cg(e,t){for(var r=0;rRg?o=i==="outer"?"start":"end":a<-Rg?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(PI,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",nw(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,Dg;function ok(){if(Dg)return Ks;Dg=1;var e=T0(),t=e(Object.getPrototypeOf,Object);return Ks=t,Ks}var Gs,Ng;function uk(){if(Ng)return Gs;Ng=1;var e=St(),t=ok(),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 ck=uk();const sk=oe(ck);var Vs,qg;function lk(){if(qg)return Vs;qg=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 fk=lk();const hk=oe(fk);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:Wg(_,A,O,m,b),ref:n})))}):S.createElement("g",null,S.createElement("path",fa({},H(r,!0),{className:x,d:Wg(c,s,f,l,h)})))},_k=["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 Ak(e,t){if(e==null)return{};var r=Sk(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 Sk(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 zg(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,Gg;function Kk(){if(Gg)return Xs;Gg=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,Vg;function ww(){if(Vg)return Ys;Vg=1;var e=z0(),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,Xg;function Gk(){if(Xg)return Zs;Xg=1;var e=Kk(),t=La(),r=ww();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=tb(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 aR(t,e),tR(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=tb(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=Qk("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?uR({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,rb;function cR(){if(rb)return el;rb=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,nb;function sR(){if(nb)return tl;nb=1;var e=x0(),t=ht(),r=cR(),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 lR=sR();const fR=oe(lR);var ct=function(t,r){var n=t.alwaysShow,i=t.ifOverflow;return n&&(i="extendDomain"),i===r},rl,ib;function hR(){if(ib)return rl;ib=1;var e=q0();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,ab;function pR(){if(ab)return nl;ab=1;var e=hR(),t=D0(),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 dR=pR();const vR=oe(dR);var il,ob;function yR(){if(ob)return il;ob=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 SR(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 PR(e,t){var r=e.x,n=e.y,i=AR(e,xR),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 lb(e){return S.createElement(gw,gf({shapeType:"rectangle",propTransformer:PR,activeClassName:"recharts-active-bar"},e))}var TR=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)||ZO(n);return a?t(n,i):(a||Qt(!1),r)}},ER=["value","background"],Pw;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 jR(e,t){if(e==null)return{};var r=MR(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 MR(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=Yx(v,a,h),U=B.scale,G=B.realScaleType;U.domain(g).range(A),Zx(U);var W=Jx(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))},{})},$w=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)}},FR=function(t){var r=t.x1,n=t.y1,i=t.x2,a=t.y2;return $w({x:r,y:n},{x:i,y:a})},Cw=(function(){function e(t){qR(this,e),this.scale=t}return LR(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(Cw,"EPS",1e-4);var Ih=function(t){var r=Object.keys(t).reduce(function(n,i){return tt(tt({},n),{},io({},i,Cw.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 vR(i,function(c,s){return r[s].apply(c,{bandAware:o,position:u})})},isInRange:function(i){return Sw(i,function(a,o){return r[o].isInRange(a)})}})};function WR(e){return(e%180+180)%180}var zR=function(t){var r=t.width,n=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=WR(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,yb;function HR(){if(yb)return cl;yb=1;var e=ww();function t(r){var n=e(r),i=n%1;return n===n?i?n-i:n:0}return cl=t,cl}var sl,mb;function KR(){if(mb)return sl;mb=1;var e=$0(),t=ht(),r=HR(),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,gb;function GR(){if(gb)return ll;gb=1;var e=UR(),t=KR(),r=e(t);return ll=r,ll}var VR=GR();const XR=oe(VR);var YR=Gb();const ZR=oe(YR);var JR=ZR(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),Iw=N.createContext(void 0),kw=N.createContext({}),Rw=N.createContext(void 0),Dw=N.createContext(0),Nw=N.createContext(0),bb=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=JR(a);return S.createElement(kh.Provider,{value:n},S.createElement(Rh.Provider,{value:i},S.createElement(kw.Provider,{value:a},S.createElement(Iw.Provider,{value:f},S.createElement(Rw.Provider,{value:o},S.createElement(Dw.Provider,{value:s},S.createElement(Nw.Provider,{value:c},u)))))))},QR=function(){return N.useContext(Rw)},qw=function(t){var r=N.useContext(kh);r==null&&Qt(!1);var n=r[t];return n==null&&Qt(!1),n},eD=function(){var t=N.useContext(kh);return Mt(t)},tD=function(){var t=N.useContext(Rh),r=XR(t,function(n){return Sw(n.domain,Number.isFinite)});return r||Mt(t)},Lw=function(t){var r=N.useContext(Rh);r==null&&Qt(!1);var n=r[t];return n==null&&Qt(!1),n},rD=function(){var t=N.useContext(Iw);return t},nD=function(){return N.useContext(kw)},Dh=function(){return N.useContext(Nw)},Nh=function(){return N.useContext(Dw)};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 iD(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function aD(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 BD(e,t){return Kw(e,t+1)}function FD(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:Kw(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 Tb(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 KD(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=LD(a,p,d);return c==="equidistantPreserveStart"?FD(p,g,v,i,o):(c==="preserveStart"||c==="preserveStartEnd"?h=KD(p,g,v,i,o,c==="preserveStartEnd"):h=HD(p,g,v,i,o),h.filter(function(x){return x.isShow}))}var GD=["viewBox"],VD=["viewBox"],XD=["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 YD(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 ZD(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jb(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 iN=["x1","y1","x2","y2","key"],aN=["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 Mb(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 sN(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 lN=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 Xw(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=$b(t,iN),s=H(c,!1);s.offset;var f=$b(s,aN);r=S.createElement("line",Yt({},f,{x1:n,y1:i,x2:a,y2:o,fill:"none",key:u}))}return r}function fN(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 Xw(i,s)});return S.createElement("g",{className:"recharts-cartesian-grid-horizontal"},o)}function hN(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 Xw(i,s)});return S.createElement("g",{className:"recharts-cartesian-grid-vertical"},o)}function pN(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 dN(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 vN=function(t,r){var n=t.xAxis,i=t.width,a=t.height,o=t.offset;return Xx(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)},yN=function(t,r){var n=t.yAxis,i=t.width,a=t.height,o=t.offset;return Xx(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 mN(e){var t,r,n,i,a,o,u=Dh(),c=Nh(),s=nD(),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=eD(),w=tD();if(!q(d)||d<=0||!q(y)||y<=0||!q(l)||l!==+l||!q(h)||h!==+h)return null;var O=f.verticalCoordinatesGenerator||vN,m=f.horizontalCoordinatesGenerator||yN,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(lN,{fill:f.fill,fillOpacity:f.fillOpacity,x:f.x,y:f.y,width:f.width,height:f.height,ry:f.ry}),S.createElement(fN,Yt({},f,{offset:s,horizontalPoints:b,xAxis:x,yAxis:w})),S.createElement(hN,Yt({},f,{offset:s,verticalPoints:_,xAxis:x,yAxis:w})),S.createElement(pN,Yt({},f,{horizontalPoints:b})),S.createElement(dN,Yt({},f,{verticalPoints:_})))}mN.displayName="CartesianGrid";var gN=["type","layout","connectNulls","ref"],bN=["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 Cb(e,t){if(e==null)return{};var r=xN(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 xN(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 MN(t,e),PN(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=Cb(u,gN),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=s_(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 x2(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 w2(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O2(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 lO(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),[ew(s,h)]):c},[])},Fb=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=k2(a,n),u=t.orderedTooltipTicks,c=t.tooltipAxis,s=t.tooltipTicks,f=aM(o,u,s,c);if(f>=0&&s){var l=s[f]&&s[f].value,h=Nf(t,r,f,l),d=R2(n,u,f,a);return{activeTooltipIndex:f,activeLabel:l,activePayload:h,activeCoordinate:d}}return null},D2=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=Vx(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;c2(g.domain,O,x)&&(E=Yl(g.domain,null,O),d&&(x==="number"||b!=="auto")&&(C=bn(M,w,"category")));var $=lO(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=QO(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=lM(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]:Qx(u[T].stackGroups,c,s):E=Gx(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})))},{})},N2=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=Vx(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=lO("number");if(!p[w]){v++;var m;return y?m=da(0,d):u&&u[w]&&u[w].hasStack?(m=Qx(u[w].stackGroups,c,s),m=kf(l,m,w,a)):(m=Yl(O,Gx(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(C2,"".concat(a,".").concat(v%2),null),domain:m,originalDomain:O,isCategorical:y,layout:f})))}return p},{})},q2=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=D2(t,{axes:h,graphicalItems:o,axisType:i,axisIdKey:l,stackGroups:u,dataStartIndex:c,dataEndIndex:s}):o&&o.length&&(d=N2(t,{Axis:a,graphicalItems:o,axisType:i,axisIdKey:l,stackGroups:u,dataStartIndex:c,dataEndIndex:s})),d},L2=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)}},Wb=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}},B2=function(t){return!t||!t.length?!1:t.some(function(r){var n=bt(r&&r.type);return n&&n.indexOf("Bar")>=0})},zb=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"}},F2=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=cM(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)})},W2=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=zb(M),$=C.numericAxisName,k=C.cateAxisName,R=B2(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&&bM(B,O[ye].stackGroups),D=bt(B.type).indexOf("Bar")>=0,de=ta(F,Z),ee=[],be=R&&oM({barSize:T,stackGroups:O,totalSize:W2(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=uM({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:h_(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=zb(A),j=E.numericAxisName,C=E.cateAxisName,$=Ke(_,n),k=mM(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,q2(w,I(I({},V),{},{graphicalItems:$,stackGroups:V.axisType===j&&k,dataStartIndex:O,dataEndIndex:m}))))},{}),L=F2(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=L2(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 w2(this,g),m=A2(this,g,[x]),K(m,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),K(m,"accessibilityManager",new u2),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 _=f_(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=U0(m.triggeredAfterMouseMove,(O=x.throttleDelay)!==null&&O!==void 0?O:1e3/60),m.state={},m}return T2(g,p),_2(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=JS(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=Fb(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;_-1}return ru=t,ru}var nu,wd;function h1(){if(wd)return nu;wd=1;var e=La();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 nu=t,nu}var iu,Od;function Ba(){if(Od)return iu;Od=1;var e=c1(),t=s1(),r=l1(),n=f1(),i=h1();function a(o){var u=-1,c=o==null?0:o.length;for(this.clear();++u0?1:-1},er=function(t){return ur(t)&&t.indexOf("%")===t.length-1},q=function(t){return R1(t)&&!gi(t)},D1=function(t){return J(t)},Se=function(t){return q(t)||ur(t)},N1=0,un=function(t){var r=++N1;return"".concat(t||"").concat(r)},Le=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)&&!ur(t))return n;var a;if(er(t)){var o=t.indexOf("%");a=r*parseFloat(t.slice(0,o))/100}else a=+t;return gi(a)&&(a=n),i&&a>r&&(a=r),a},qt=function(t){if(!t)return null;var r=Object.keys(t);return r&&r.length?t[r[0]]:null},q1=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 K1(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 nf(e){"@babel/helpers - typeof";return nf=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},nf(e)}var Yd={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"},Et=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},Zd=null,Mu=null,Ih=function e(t){if(t===Zd&&Array.isArray(Mu))return Mu;var r=[];return N.Children.forEach(t,function(n){J(n)||($1.isFragment(n)?r=r.concat(e(n.props.children)):r.push(n))}),Mu=r,Zd=t,r};function Ye(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(function(i){return Et(i)}):n=[Et(t)],Ih(e).forEach(function(i){var a=Xe(i,"type.displayName")||Xe(i,"type.name");n.indexOf(a)!==-1&&r.push(i)}),r}function He(e,t){var r=Ye(e,t);return r&&r[0]}var Jd=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)},H1=["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"],G1=function(t){return t&&t.type&&ur(t.type)&&H1.indexOf(t.type)>=0},V1=function(t){return t&&nf(t)==="object"&&"clipDot"in t},X1=function(t,r,n,i){var a,o=(a=ju?.[i])!==null&&a!==void 0?a:[];return r.startsWith("data-")||!X(t)&&(i&&o.includes(r)||F1.includes(r))||n&&$h.includes(r)},K=function(t,r,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var i=t;if(N.isValidElement(t)&&(i=t.props),!on(i))return null;var a={};return Object.keys(i).forEach(function(o){var u;X1((u=i)===null||u===void 0?void 0:u[o],o,r,n)&&(a[o]=i[o])}),a},af=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 Qd(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 eA(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 uf(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=Q1(e,J1),f=i||{width:r,height:n,x:0,y:0},l=te("recharts-surface",a);return S.createElement("svg",of({},K(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 tA=["children","className"];function cf(){return cf=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 nA(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 ne=S.forwardRef(function(e,t){var r=e.children,n=e.className,i=rA(e,tA),a=te("recharts-layer",n);return S.createElement("g",cf({className:a},K(i,!0),{ref:t}),r)}),st=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 Iu=t,Iu}var Cu,nv;function jx(){if(nv)return Cu;nv=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 Cu=c,Cu}var ku,iv;function oA(){if(iv)return ku;iv=1;function e(t){return t.split("")}return ku=e,ku}var Ru,av;function uA(){if(av)return Ru;av=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]",p="\\u200d",y=s+"?",v="["+a+"]?",d="(?:"+p+"(?:"+[f,l,h].join("|")+")"+v+y+")*",m=v+y+d,x="(?:"+[f+u+"?",u,l,h,o].join("|")+")",w=RegExp(c+"(?="+c+")|"+x+m,"g");function O(g){return g.match(w)||[]}return Ru=O,Ru}var Du,ov;function cA(){if(ov)return Du;ov=1;var e=oA(),t=jx(),r=uA();function n(i){return t(i)?r(i):e(i)}return Du=n,Du}var Nu,uv;function sA(){if(uv)return Nu;uv=1;var e=aA(),t=jx(),r=cA(),n=Sx();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 Nu=i,Nu}var qu,cv;function lA(){if(cv)return qu;cv=1;var e=sA(),t=e("toUpperCase");return qu=t,qu}var fA=lA();const Wa=ce(fA);function he(e){return function(){return e}}const Mx=Math.cos,Ui=Math.sin,pt=Math.sqrt,Wi=Math.PI,za=2*Wi,sf=Math.PI,lf=2*sf,Zt=1e-6,hA=lf-Zt;function $x(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return $x;const r=10**t;return function(n){this._+=n[0];for(let i=1,a=n.length;iZt)if(!(Math.abs(l*c-s*f)>Zt)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-o,y=i-u,v=c*c+s*s,d=p*p+y*y,m=Math.sqrt(v),x=Math.sqrt(h),w=a*Math.tan((sf-Math.acos((v+h-d)/(2*m*x)))/2),O=w/x,g=w/m;Math.abs(O-1)>Zt&&this._append`L${t+O*f},${r+O*l}`,this._append`A${a},${a},0,0,${+(l*p>f*y)},${this._x1=t+g*c},${this._y1=r+g*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)>Zt||Math.abs(this._y1-f)>Zt)&&this._append`L${s},${f}`,n&&(h<0&&(h=h%lf+lf),h>hA?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>Zt&&this._append`A${n},${n},0,${+(h>=sf)},${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 Ch(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 dA(t)}function kh(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Ix(e){this._context=e}Ix.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 Ka(e){return new Ix(e)}function Cx(e){return e[0]}function kx(e){return e[1]}function Rx(e,t){var r=he(!0),n=null,i=Ka,a=null,o=Ch(u);e=typeof e=="function"?e:e===void 0?Cx:he(e),t=typeof t=="function"?t:t===void 0?kx:he(t);function u(c){var s,f=(c=kh(c)).length,l,h=!1,p;for(n==null&&(a=i(p=o())),s=0;s<=f;++s)!(s=p;--y)u.point(w[y],O[y]);u.lineEnd(),u.areaEnd()}m&&(w[h]=+e(d,h,l),O[h]=+t(d,h,l),u.point(n?+n(d,h,l):w[h],r?+r(d,h,l):O[h]))}if(x)return u=null,x+""||null}function f(){return Rx().defined(i).curve(o).context(a)}return s.x=function(l){return arguments.length?(e=typeof l=="function"?l:he(+l),n=null,s):e},s.x0=function(l){return arguments.length?(e=typeof l=="function"?l:he(+l),s):e},s.x1=function(l){return arguments.length?(n=l==null?null:typeof l=="function"?l:he(+l),s):n},s.y=function(l){return arguments.length?(t=typeof l=="function"?l:he(+l),r=null,s):t},s.y0=function(l){return arguments.length?(t=typeof l=="function"?l:he(+l),s):t},s.y1=function(l){return arguments.length?(r=l==null?null:typeof l=="function"?l:he(+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:he(!!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 Dx{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 vA(e){return new Dx(e,!0)}function yA(e){return new Dx(e,!1)}const Rh={draw(e,t){const r=pt(t/Wi);e.moveTo(r,0),e.arc(0,0,r,0,za)}},gA={draw(e,t){const r=pt(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()}},Nx=pt(1/3),mA=Nx*2,bA={draw(e,t){const r=pt(t/mA),n=r*Nx;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}},xA={draw(e,t){const r=pt(t),n=-r/2;e.rect(n,n,r,r)}},wA=.8908130915292852,qx=Ui(Wi/10)/Ui(7*Wi/10),OA=Ui(za/10)*qx,_A=-Mx(za/10)*qx,AA={draw(e,t){const r=pt(t*wA),n=OA*r,i=_A*r;e.moveTo(0,-r),e.lineTo(n,i);for(let a=1;a<5;++a){const o=za*a/5,u=Mx(o),c=Ui(o);e.lineTo(c*r,-u*r),e.lineTo(u*n-c*i,c*n+u*i)}e.closePath()}},Lu=pt(3),SA={draw(e,t){const r=-pt(t/(Lu*3));e.moveTo(0,r*2),e.lineTo(-Lu*r,-r),e.lineTo(Lu*r,-r),e.closePath()}},Je=-.5,Qe=pt(3)/2,ff=1/pt(12),PA=(ff/2+1)*3,TA={draw(e,t){const r=pt(t/PA),n=r/2,i=r*ff,a=n,o=r*ff+r,u=-a,c=o;e.moveTo(n,i),e.lineTo(a,o),e.lineTo(u,c),e.lineTo(Je*n-Qe*i,Qe*n+Je*i),e.lineTo(Je*a-Qe*o,Qe*a+Je*o),e.lineTo(Je*u-Qe*c,Qe*u+Je*c),e.lineTo(Je*n+Qe*i,Je*i-Qe*n),e.lineTo(Je*a+Qe*o,Je*o-Qe*a),e.lineTo(Je*u+Qe*c,Je*c-Qe*u),e.closePath()}};function EA(e,t){let r=null,n=Ch(i);e=typeof e=="function"?e:he(e||Rh),t=typeof t=="function"?t:he(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:he(a),i):e},i.size=function(a){return arguments.length?(t=typeof a=="function"?a:he(+a),i):t},i.context=function(a){return arguments.length?(r=a??null,i):r},i}function zi(){}function Ki(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 Lx(e){this._context=e}Lx.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:Ki(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:Ki(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function jA(e){return new Lx(e)}function Bx(e){this._context=e}Bx.prototype={areaStart:zi,areaEnd:zi,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:Ki(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function MA(e){return new Bx(e)}function Fx(e){this._context=e}Fx.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:Ki(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function $A(e){return new Fx(e)}function Ux(e){this._context=e}Ux.prototype={areaStart:zi,areaEnd:zi,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 IA(e){return new Ux(e)}function sv(e){return e<0?-1:1}function lv(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(sv(a)+sv(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(u))||0}function fv(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Bu(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 Hi(e){this._context=e}Hi.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:Bu(this,this._t0,fv(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,Bu(this,fv(this,r=lv(this,e,t)),r);break;default:Bu(this,this._t0,r=lv(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function Wx(e){this._context=new zx(e)}(Wx.prototype=Object.create(Hi.prototype)).point=function(e,t){Hi.prototype.point.call(this,t,e)};function zx(e){this._context=e}zx.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 CA(e){return new Hi(e)}function kA(e){return new Wx(e)}function Kx(e){this._context=e}Kx.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=hv(e),i=hv(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 DA(e){return new Ha(e,.5)}function NA(e){return new Ha(e,0)}function qA(e){return new Ha(e,1)}function Ir(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 LA(e,t){return e[t]}function BA(e){const t=[];return t.key=e,t}function FA(){var e=he([]),t=hf,r=Ir,n=LA;function i(a){var o=Array.from(e.apply(this,arguments),BA),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 YA(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 Hx={symbolCircle:Rh,symbolCross:gA,symbolDiamond:bA,symbolSquare:xA,symbolStar:AA,symbolTriangle:SA,symbolWye:TA},ZA=Math.PI/180,JA=function(t){var r="symbol".concat(Wa(t));return Hx[r]||Rh},QA=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*ZA;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}},eS=function(t,r){Hx["symbol".concat(Wa(t))]=r},Dh=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=XA(t,KA),s=dv(dv({},c),{},{type:n,size:a,sizeType:u}),f=function(){var d=JA(n),m=EA().type(d).size(QA(a,u,n));return m()},l=s.className,h=s.cx,p=s.cy,y=K(s,!0);return h===+h&&p===+p&&a===+a?S.createElement("path",pf({},y,{className:te("recharts-symbols",l),transform:"translate(".concat(h,", ").concat(p,")"),d:f()})):null};Dh.registerSymbol=eS;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 df(){return df=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var x=p.inactive?s:p.color;return S.createElement("li",df({className:d,style:l,key:"legend-item-".concat(y)},cr(n.props,p,y)),S.createElement(uf,{width:o,height:o,viewBox:f,style:h},n.renderIcon(p)),S.createElement("span",{className:"recharts-legend-item-text",style:{color:x}},v?v(m,p,y):m))})}},{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);Nn(Nh,"displayName","Legend");Nn(Nh,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var Fu,yv;function lS(){if(yv)return Fu;yv=1;var e=Ba();function t(){this.__data__=new e,this.size=0}return Fu=t,Fu}var Uu,gv;function fS(){if(gv)return Uu;gv=1;function e(t){var r=this.__data__,n=r.delete(t);return this.size=r.size,n}return Uu=e,Uu}var Wu,mv;function hS(){if(mv)return Wu;mv=1;function e(t){return this.__data__.get(t)}return Wu=e,Wu}var zu,bv;function pS(){if(bv)return zu;bv=1;function e(t){return this.__data__.has(t)}return zu=e,zu}var Ku,xv;function dS(){if(xv)return Ku;xv=1;var e=Ba(),t=Th(),r=Eh(),n=200;function i(a,o){var u=this.__data__;if(u instanceof e){var c=u.__data__;if(!t||c.lengthp))return!1;var v=l.get(o),d=l.get(u);if(v&&d)return v==u&&d==o;var m=-1,x=!0,w=c&i?new e:void 0;for(l.set(o,u),l.set(u,o);++m-1&&n%1==0&&n-1&&r%1==0&&r<=e}return pc=t,pc}var dc,zv;function _S(){if(zv)return dc;zv=1;var e=kt(),t=Kh(),r=ft(),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]",p="[object Set]",y="[object String]",v="[object WeakMap]",d="[object ArrayBuffer]",m="[object DataView]",x="[object Float32Array]",w="[object Float64Array]",O="[object Int8Array]",g="[object Int16Array]",b="[object Int32Array]",_="[object Uint8Array]",A="[object Uint8ClampedArray]",P="[object Uint16Array]",j="[object Uint32Array]",T={};T[x]=T[w]=T[O]=T[g]=T[b]=T[_]=T[A]=T[P]=T[j]=!0,T[n]=T[i]=T[d]=T[a]=T[m]=T[o]=T[u]=T[c]=T[s]=T[f]=T[l]=T[h]=T[p]=T[y]=T[v]=!1;function E(M){return r(M)&&t(M.length)&&!!T[e(M)]}return dc=E,dc}var vc,Kv;function Ga(){if(Kv)return vc;Kv=1;function e(t){return function(r){return t(r)}}return vc=e,vc}var Pn={exports:{}};Pn.exports;var Hv;function Hh(){return Hv||(Hv=1,(function(e,t){var r=Ox(),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})(Pn,Pn.exports)),Pn.exports}var yc,Gv;function rw(){if(Gv)return yc;Gv=1;var e=_S(),t=Ga(),r=Hh(),n=r&&r.isTypedArray,i=n?t(n):e;return yc=i,yc}var gc,Vv;function nw(){if(Vv)return gc;Vv=1;var e=xS(),t=Uh(),r=Fe(),n=Wh(),i=zh(),a=rw(),o=Object.prototype,u=o.hasOwnProperty;function c(s,f){var l=r(s),h=!l&&t(s),p=!l&&!h&&n(s),y=!l&&!h&&!p&&a(s),v=l||h||p||y,d=v?e(s.length,String):[],m=d.length;for(var x in s)(f||u.call(s,x))&&!(v&&(x=="length"||p&&(x=="offset"||x=="parent")||y&&(x=="buffer"||x=="byteLength"||x=="byteOffset")||i(x,m)))&&d.push(x);return d}return gc=c,gc}var mc,Xv;function Gh(){if(Xv)return mc;Xv=1;var e=Object.prototype;function t(r){var n=r&&r.constructor,i=typeof n=="function"&&n.prototype||e;return r===i}return mc=t,mc}var bc,Yv;function iw(){if(Yv)return bc;Yv=1;function e(t,r){return function(n){return t(r(n))}}return bc=e,bc}var xc,Zv;function AS(){if(Zv)return xc;Zv=1;var e=iw(),t=e(Object.keys,Object);return xc=t,xc}var wc,Jv;function SS(){if(Jv)return wc;Jv=1;var e=Gh(),t=AS(),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 wc=i,wc}var Oc,Qv;function cn(){if(Qv)return Oc;Qv=1;var e=Ph(),t=Kh();function r(n){return n!=null&&t(n.length)&&!e(n)}return Oc=r,Oc}var _c,ey;function sn(){if(ey)return _c;ey=1;var e=nw(),t=SS(),r=cn();function n(i){return r(i)?e(i):t(i)}return _c=n,_c}var Ac,ty;function aw(){if(ty)return Ac;ty=1;var e=ew(),t=Fh(),r=sn();function n(i){return e(i,r,t)}return Ac=n,Ac}var Sc,ry;function PS(){if(ry)return Sc;ry=1;var e=aw(),t=1,r=Object.prototype,n=r.hasOwnProperty;function i(a,o,u,c,s,f){var l=u&t,h=e(a),p=h.length,y=e(o),v=y.length;if(p!=v&&!l)return!1;for(var d=p;d--;){var m=h[d];if(!(l?m in o:n.call(o,m)))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 g=l;++d-1}return Zc=t,Zc}var Jc,jy;function KS(){if(jy)return Jc;jy=1;function e(t,r,n){for(var i=-1,a=t==null?0:t.length;++i=o){var m=s?null:i(c);if(m)return a(m);y=!1,h=n,d=new e}else d=s?[]:v;e:for(;++l=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function oP(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 uP(e){return e.value}function cP(e,t){if(S.isValidElement(e))return S.cloneElement(e,t);if(typeof e=="function")return S.createElement(e,t);t.ref;var r=aP(t,ZS);return S.createElement(Nh,r)}var Ny=1,jr=(function(e){function t(){var r;JS(this,t);for(var n=arguments.length,i=new Array(n),a=0;aNy||Math.abs(i.height-this.lastBoundingBox.height)>Ny)&&(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?Ot({},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 p=this.getBBoxSnapshot();l={left:((s||0)-p.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 Ot(Ot({},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=Ot(Ot({position:"absolute",width:o||"auto",height:u||"auto"},this.getDefaultPosition(c)),c);return S.createElement("div",{className:"recharts-legend-wrapper",style:l,ref:function(p){n.wrapperNode=p}},cP(a,Ot(Ot({},this.props),{},{payload:lw(f,s,uP)})))}}],[{key:"getWithHeight",value:function(n,i){var a=Ot(Ot({},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);Xa(jr,"displayName","Legend");Xa(jr,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var ns,qy;function sP(){if(qy)return ns;qy=1;var e=nn(),t=Uh(),r=Fe(),n=e?e.isConcatSpreadable:void 0;function i(a){return r(a)||t(a)||!!(n&&a&&a[n])}return ns=i,ns}var is,Ly;function Xh(){if(Ly)return is;Ly=1;var e=Bh(),t=sP();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 is=r,is}var as,By;function lP(){if(By)return as;By=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 as=e,as}var os,Fy;function fP(){if(Fy)return os;Fy=1;var e=lP(),t=e();return os=t,os}var us,Uy;function pw(){if(Uy)return us;Uy=1;var e=fP(),t=sn();function r(n,i){return n&&e(n,i,t)}return us=r,us}var cs,Wy;function hP(){if(Wy)return cs;Wy=1;var e=cn();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 ps=t,ps}var ds,Xy;function yP(){if(Xy)return ds;Xy=1;var e=jh(),t=Mh(),r=xt(),n=dw(),i=pP(),a=Ga(),o=vP(),u=ln(),c=Fe();function s(f,l,h){l.length?l=e(l,function(v){return c(v)?function(d){return t(d,v.length===1?v[0]:v)}:v}):l=[u];var p=-1;l=e(l,a(r));var y=n(f,function(v,d,m){var x=e(l,function(w){return w(v)});return{criteria:x,index:++p,value:v}});return i(y,function(v,d){return o(v,d,h)})}return ds=s,ds}var vs,Yy;function gP(){if(Yy)return vs;Yy=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 vs=e,vs}var ys,Zy;function vw(){if(Zy)return ys;Zy=1;var e=gP(),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 xs=n,xs}var ws,rg;function gw(){if(rg)return ws;rg=1;var e=bP(),t=xP(),r=t(e);return ws=r,ws}var Os,ng;function wP(){if(ng)return Os;ng=1;var e=ln(),t=vw(),r=gw();function n(i,a){return r(t(i,a,e),i+"")}return Os=n,Os}var _s,ig;function Ya(){if(ig)return _s;ig=1;var e=qa(),t=cn(),r=zh(),n=ht();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 _s=i,_s}var As,ag;function OP(){if(ag)return As;ag=1;var e=Xh(),t=yP(),r=wP(),n=Ya(),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 As=i,As}var _P=OP();const Zh=ce(_P);function qn(e){"@babel/helpers - typeof";return qn=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},qn(e)}function gf(){return gf=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(yn,"-left"),q(r)&&t&&q(t.x)&&r=t.y),"".concat(yn,"-top"),q(n)&&t&&q(t.y)&&nv?Math.max(f,c[n]):Math.max(l,c[n])}function qP(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 LP(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=cg({allowEscapeViewBox:t,coordinate:r,key:"x",offsetTopLeft:n,position:i,reverseDirection:a,tooltipDimension:o.width,viewBox:c,viewBoxDimension:c.width}),l=cg({allowEscapeViewBox:t,coordinate:r,key:"y",offsetTopLeft:n,position:i,reverseDirection:a,tooltipDimension:o.height,viewBox:c,viewBoxDimension:c.height}),s=qP({translateX:f,translateY:l,useTranslate3d:u})):s=DP,{cssProperties:s,cssClasses:NP({translateX:f,translateY:l,coordinate:r})}}function Rr(e){"@babel/helpers - typeof";return Rr=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},Rr(e)}function sg(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 lg(e){for(var t=1;tfg||Math.abs(n.height-this.state.lastBoundingBox.height)>fg)&&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,p=i.offset,y=i.position,v=i.reverseDirection,d=i.useTranslate3d,m=i.viewBox,x=i.wrapperStyle,w=LP({allowEscapeViewBox:o,coordinate:f,offsetTopLeft:p,position:y,reverseDirection:v,tooltipBox:this.state.lastBoundingBox,useTranslate3d:d,viewBox:m}),O=w.cssClasses,g=w.cssProperties,b=lg(lg({transition:h&&a?"transform ".concat(u,"ms ").concat(c):void 0},g),{},{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),XP=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},pr={isSsr:XP()};function Dr(e){"@babel/helpers - typeof";return Dr=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},Dr(e)}function hg(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 pg(e){for(var t=1;t0;return S.createElement(VP,{allowEscapeViewBox:o,animationDuration:u,animationEasing:c,isAnimationActive:h,active:a,coordinate:f,hasPayload:b,offset:p,position:d,reverseDirection:m,useTranslate3d:x,viewBox:w,wrapperStyle:O},aT(s,pg(pg({},this.props),{},{payload:g})))}}])})(N.PureComponent);Jh(_t,"displayName","Tooltip");Jh(_t,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!pr.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 Ps,dg;function oT(){if(dg)return Ps;dg=1;var e=lt(),t=function(){return e.Date.now()};return Ps=t,Ps}var Ts,vg;function uT(){if(vg)return Ts;vg=1;var e=/\s/;function t(r){for(var n=r.length;n--&&e.test(r.charAt(n)););return n}return Ts=t,Ts}var Es,yg;function cT(){if(yg)return Es;yg=1;var e=uT(),t=/^\s+/;function r(n){return n&&n.slice(0,e(n)+1).replace(t,"")}return Es=r,Es}var js,gg;function Ow(){if(gg)return js;gg=1;var e=cT(),t=ht(),r=an(),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 js=c,js}var Ms,mg;function sT(){if(mg)return Ms;mg=1;var e=ht(),t=oT(),r=Ow(),n="Expected a function",i=Math.max,a=Math.min;function o(u,c,s){var f,l,h,p,y,v,d=0,m=!1,x=!1,w=!0;if(typeof u!="function")throw new TypeError(n);c=r(c)||0,e(s)&&(m=!!s.leading,x="maxWait"in s,h=x?i(r(s.maxWait)||0,c):h,w="trailing"in s?!!s.trailing:w);function O(M){var I=f,$=l;return f=l=void 0,d=M,p=u.apply($,I),p}function g(M){return d=M,y=setTimeout(A,c),m?O(M):p}function b(M){var I=M-v,$=M-d,k=c-I;return x?a(k,h-$):k}function _(M){var I=M-v,$=M-d;return v===void 0||I>=c||I<0||x&&$>=h}function A(){var M=t();if(_(M))return P(M);y=setTimeout(A,b(M))}function P(M){return y=void 0,w&&f?O(M):(f=l=void 0,p)}function j(){y!==void 0&&clearTimeout(y),d=0,f=v=l=y=void 0}function T(){return y===void 0?p:P(t())}function E(){var M=t(),I=_(M);if(f=arguments,l=this,v=M,I){if(y===void 0)return g(v);if(x)return clearTimeout(y),y=setTimeout(A,c),O(v)}return y===void 0&&(y=setTimeout(A,c)),p}return E.cancel=j,E.flush=T,E}return Ms=o,Ms}var $s,bg;function lT(){if(bg)return $s;bg=1;var e=sT(),t=ht(),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 $s=n,$s}var fT=lT();const _w=ce(fT);function Bn(e){"@babel/helpers - typeof";return Bn=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},Bn(e)}function xg(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 Ti(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&(M=_w(M,v,{trailing:!0,leading:!1}));var I=new ResizeObserver(M),$=g.current.getBoundingClientRect(),k=$.width,R=$.height;return T(k,R),I.observe(g.current),function(){I.disconnect()}},[T,v]);var E=N.useMemo(function(){var M=P.containerWidth,I=P.containerHeight;if(M<0||I<0)return null;st(er(o)||er(c),`The width(%s) and height(%s) are both fixed numbers, + maybe you don't need to use a ResponsiveContainer.`,o,c),st(!r||r>0,"The aspect(%s) must be greater than zero.",r);var $=er(o)?M:o,k=er(c)?I:c;r&&r>0&&($?k=$/r:k&&($=k*r),h&&k>h&&(k=h)),st($>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(p)&&Et(p.type).endsWith("Chart");return S.Children.map(p,function(L){return S.isValidElement(L)?N.cloneElement(L,Ti({width:$,height:k},R?{style:Ti({height:"100%",width:"100%",maxHeight:k,maxWidth:$},L.props.style)}:{})):L})},[r,p,c,h,l,f,P,o]);return S.createElement("div",{id:d?"".concat(d):void 0,className:te("recharts-responsive-container",m),style:Ti(Ti({},O),{},{width:o,height:c,minWidth:f,minHeight:l,maxHeight:h}),ref:g},E)}),Qh=function(t){return null};Qh.displayName="Cell";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)}function Og(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 wf(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||pr.isSsr)return{width:0,height:0};var n=ST(r),i=JSON.stringify({text:t,copyStyle:n});if(br.widthCache[i])return br.widthCache[i];try{var a=document.getElementById(_g);a||(a=document.createElement("span"),a.setAttribute("id",_g),a.setAttribute("aria-hidden","true"),document.body.appendChild(a));var o=wf(wf({},AT),n);Object.assign(a.style,o),a.textContent="".concat(t);var u=a.getBoundingClientRect(),c={width:u.width,height:u.height};return br.widthCache[i]=c,++br.cacheCount>_T&&(br.cacheCount=0,br.widthCache={}),c}catch{return{width:0,height:0}}},PT=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};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 Zi(e,t){return MT(e)||jT(e,t)||ET(e,t)||TT()}function TT(){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 ET(e,t){if(e){if(typeof e=="string")return Ag(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 Ag(e,t)}}function Ag(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 zT(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 Mg(e,t){return VT(e)||GT(e,t)||HT(e,t)||KT()}function KT(){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 HT(e,t){if(e){if(typeof e=="string")return $g(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 $g(e,t)}}function $g(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,z=k[k.length-1];if(z&&(i==null||a||z.width+B+nR.width?k:R})};if(!f)return p;for(var v="…",d=function($){var k=l.slice(0,$),R=Tw({breakAll:s,style:c,children:k+v}).wordsWithComputedWidth,L=h(R),B=L.length>o||y(L).width>Number(i);return[B,L]},m=0,x=l.length-1,w=0,O;m<=x&&w<=l.length-1;){var g=Math.floor((m+x)/2),b=g-1,_=d(b),A=Mg(_,2),P=A[0],j=A[1],T=d(g),E=Mg(T,1),M=E[0];if(!P&&!M&&(m=g+1),P&&M&&(x=g-1),!P&&M){O=j;break}w++}return O||p},Ig=function(t){var r=J(t)?[]:t.toString().split(Pw);return[{words:r}]},YT=function(t){var r=t.width,n=t.scaleToFit,i=t.children,a=t.style,o=t.breakAll,u=t.maxLines;if((r||n)&&!pr.isSsr){var c,s,f=Tw({breakAll:o,children:i,style:a});if(f){var l=f.wordsWithComputedWidth,h=f.spaceWidth;c=l,s=h}else return Ig(i);return XT({breakAll:o,children:i,maxLines:u,style:a},c,s,r,n)}return Ig(i)},Cg="#808080",sr=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,p=h===void 0?"start":h,y=t.verticalAnchor,v=y===void 0?"end":y,d=t.fill,m=d===void 0?Cg:d,x=jg(t,UT),w=N.useMemo(function(){return YT({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,g=x.dy,b=x.angle,_=x.className,A=x.breakAll,P=jg(x,WT);if(!Se(n)||!Se(a))return null;var j=n+(q(O)?O:0),T=a+(q(g)?g:0),E;switch(v){case"start":E=Is("calc(".concat(s,")"));break;case"middle":E=Is("calc(".concat((w.length-1)/2," * -").concat(u," + (").concat(s," / 2))"));break;default:E=Is("calc(".concat(w.length-1," * -").concat(u,")"));break}var M=[];if(l){var I=w[0].width,$=x.width;M.push("scale(".concat((q($)?$/I:1)/I,")"))}return b&&M.push("rotate(".concat(b,", ").concat(j,", ").concat(T,")")),M.length&&(P.transform=M.join(" ")),S.createElement("text",Of({},K(P,!0),{x:j,y:T,className:te("recharts-text",_),textAnchor:p,fill:m.includes("url")?Cg:m}),w.map(function(k,R){var L=k.words.join(A?"":" ");return S.createElement("tspan",{x:j,dy:R===0?E:u,key:"".concat(L,"-").concat(R)},L)}))};function Bt(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function ZT(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function ep(e){let t,r,n;e.length!==2?(t=Bt,r=(u,c)=>Bt(e(u),c),n=(u,c)=>e(u)-c):(t=e===Bt||e===ZT?e:JT,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 JT(){return 0}function Ew(e){return e===null?NaN:+e}function*QT(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const eE=ep(Bt),mi=eE.right;ep(Ew).center;class kg extends Map{constructor(t,r=nE){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(Rg(this,t))}has(t){return super.has(Rg(this,t))}set(t,r){return super.set(tE(this,t),r)}delete(t){return super.delete(rE(this,t))}}function Rg({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function tE({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function rE({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function nE(e){return e!==null&&typeof e=="object"?e.valueOf():e}function iE(e=Bt){if(e===Bt)return jw;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 jw(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const aE=Math.sqrt(50),oE=Math.sqrt(10),uE=Math.sqrt(2);function Ji(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>=aE?10:a>=oE?5:a>=uE?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 Ng(e,t){let r;for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);return r}function Mw(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?jw:iE(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),p=Math.max(r,Math.floor(t-s*l/c+h)),y=Math.min(n,Math.floor(t+(c-s)*l/c+h));Mw(e,t,p,y,i)}const a=e[t];let o=r,u=n;for(gn(e,r,t),i(e[n],a)>0&&gn(e,r,n);o0;)--u}i(e[r],a)===0?gn(e,r,u):(++u,gn(e,u,n)),u<=t&&(r=u+1),t<=u&&(n=u-1)}return e}function gn(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function cE(e,t,r){if(e=Float64Array.from(QT(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return Ng(e);if(t>=1)return Dg(e);var n,i=(n-1)*t,a=Math.floor(i),o=Dg(Mw(e,a).subarray(0,a+1)),u=Ng(e.subarray(a+1));return o+(u-o)*(i-a)}}function sE(e,t,r=Ew){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 lE(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?ji(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?ji(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=hE.exec(e))?new Ue(t[1],t[2],t[3],1):(t=pE.exec(e))?new Ue(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=dE.exec(e))?ji(t[1],t[2],t[3],t[4]):(t=vE.exec(e))?ji(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=yE.exec(e))?zg(t[1],t[2]/100,t[3]/100,1):(t=gE.exec(e))?zg(t[1],t[2]/100,t[3]/100,t[4]):qg.hasOwnProperty(e)?Fg(qg[e]):e==="transparent"?new Ue(NaN,NaN,NaN,0):null}function Fg(e){return new Ue(e>>16&255,e>>8&255,e&255,1)}function ji(e,t,r,n){return n<=0&&(e=t=r=NaN),new Ue(e,t,r,n)}function xE(e){return e instanceof bi||(e=Hn(e)),e?(e=e.rgb(),new Ue(e.r,e.g,e.b,e.opacity)):new Ue}function Tf(e,t,r,n){return arguments.length===1?xE(e):new Ue(e,t,r,n??1)}function Ue(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}rp(Ue,Tf,Iw(bi,{brighter(e){return e=e==null?Qi:Math.pow(Qi,e),new Ue(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?zn:Math.pow(zn,e),new Ue(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ue(ir(this.r),ir(this.g),ir(this.b),ea(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:Ug,formatHex:Ug,formatHex8:wE,formatRgb:Wg,toString:Wg}));function Ug(){return`#${tr(this.r)}${tr(this.g)}${tr(this.b)}`}function wE(){return`#${tr(this.r)}${tr(this.g)}${tr(this.b)}${tr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Wg(){const e=ea(this.opacity);return`${e===1?"rgb(":"rgba("}${ir(this.r)}, ${ir(this.g)}, ${ir(this.b)}${e===1?")":`, ${e})`}`}function ea(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ir(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function tr(e){return e=ir(e),(e<16?"0":"")+e.toString(16)}function zg(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new ct(e,t,r,n)}function Cw(e){if(e instanceof ct)return new ct(e.h,e.s,e.l,e.opacity);if(e instanceof bi||(e=Hn(e)),!e)return new ct;if(e instanceof ct)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 ct(o,u,c,e.opacity)}function OE(e,t,r,n){return arguments.length===1?Cw(e):new ct(e,t,r,n??1)}function ct(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}rp(ct,OE,Iw(bi,{brighter(e){return e=e==null?Qi:Math.pow(Qi,e),new ct(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?zn:Math.pow(zn,e),new ct(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 Ue(Cs(e>=240?e-240:e+120,i,n),Cs(e,i,n),Cs(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new ct(Kg(this.h),Mi(this.s),Mi(this.l),ea(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=ea(this.opacity);return`${e===1?"hsl(":"hsla("}${Kg(this.h)}, ${Mi(this.s)*100}%, ${Mi(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Kg(e){return e=(e||0)%360,e<0?e+360:e}function Mi(e){return Math.max(0,Math.min(1,e||0))}function Cs(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 np=e=>()=>e;function _E(e,t){return function(r){return e+r*t}}function AE(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 SE(e){return(e=+e)==1?kw:function(t,r){return r-t?AE(t,r,e):np(isNaN(t)?r:t)}}function kw(e,t){var r=t-e;return r?_E(e,r):np(isNaN(e)?t:e)}const Hg=(function e(t){var r=SE(t);function n(i,a){var o=r((i=Tf(i)).r,(a=Tf(a)).r),u=r(i.g,a.g),c=r(i.b,a.b),s=kw(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 PE(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:dt(n,i)})),r=ks.lastIndex;return r180?f+=360:f-s>180&&(s+=360),h.push({i:l.push(i(l)+"rotate(",null,n)-2,x:dt(s,f)})):f&&l.push(i(l)+"rotate("+f+n)}function u(s,f,l,h){s!==f?h.push({i:l.push(i(l)+"skewX(",null,n)-2,x:dt(s,f)}):f&&l.push(i(l)+"skewX("+f+n)}function c(s,f,l,h,p,y){if(s!==l||f!==h){var v=p.push(i(p)+"scale(",null,",",null,")");y.push({i:v-4,x:dt(s,l)},{i:v-2,x:dt(f,h)})}else(l!==1||h!==1)&&p.push(i(p)+"scale("+l+","+h+")")}return function(s,f){var l=[],h=[];return s=e(s),f=e(f),a(s.translateX,s.translateY,f.translateX,f.translateY,l,h),o(s.rotate,f.rotate,l,h),u(s.skewX,f.skewX,l,h),c(s.scaleX,s.scaleY,f.scaleX,f.scaleY,l,h),s=f=null,function(p){for(var y=-1,v=h.length,d;++yt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function UE(e,t,r){var n=e[0],i=e[1],a=t[0],o=t[1];return i2?WE:UE,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),dt)))(h)))},l.domain=function(h){return arguments.length?(e=Array.from(h,ta),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=ip,f()},l.clamp=function(h){return arguments.length?(o=h?!0:Be,f()):o!==Be},l.interpolate=function(h){return arguments.length?(r=h,f()):r},l.unknown=function(h){return arguments.length?(a=h,l):a},function(h,p){return n=h,i=p,f()}}function ap(){return Za()(Be,Be)}function zE(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function ra(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 Nr(e){return e=ra(Math.abs(e)),e?e[1]:NaN}function KE(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 HE(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var GE=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Gn(e){if(!(t=GE.exec(e)))throw new Error("invalid format: "+e);var t;return new op({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]})}Gn.prototype=op.prototype;function op(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+""}op.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 VE(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 Nw;function XE(e,t){var r=ra(e,t);if(!r)return e+"";var n=r[0],i=r[1],a=i-(Nw=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")+ra(e,Math.max(0,t+a-1))[0]}function Yg(e,t){var r=ra(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 Zg={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:zE,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)=>Yg(e*100,t),r:Yg,s:XE,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Jg(e){return e}var Qg=Array.prototype.map,em=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function YE(e){var t=e.grouping===void 0||e.thousands===void 0?Jg:KE(Qg.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?Jg:HE(Qg.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=Gn(l);var h=l.fill,p=l.align,y=l.sign,v=l.symbol,d=l.zero,m=l.width,x=l.comma,w=l.precision,O=l.trim,g=l.type;g==="n"?(x=!0,g="g"):Zg[g]||(w===void 0&&(w=12),O=!0,g="g"),(d||h==="0"&&p==="=")&&(d=!0,h="0",p="=");var b=v==="$"?r:v==="#"&&/[boxX]/.test(g)?"0"+g.toLowerCase():"",_=v==="$"?n:/[%p]/.test(g)?o:"",A=Zg[g],P=/[defgprs%]/.test(g);w=w===void 0?6:/[gprs]/.test(g)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function j(T){var E=b,M=_,I,$,k;if(g==="c")M=A(T)+M,T="";else{T=+T;var R=T<0||1/T<0;if(T=isNaN(T)?c:A(Math.abs(T),w),O&&(T=VE(T)),R&&+T==0&&y!=="+"&&(R=!1),E=(R?y==="("?y:u:y==="-"||y==="("?"":y)+E,M=(g==="s"?em[8+Nw/3]:"")+M+(R&&y==="("?")":""),P){for(I=-1,$=T.length;++I<$;)if(k=T.charCodeAt(I),48>k||k>57){M=(k===46?i+T.slice(I+1):T.slice(I))+M,T=T.slice(0,I);break}}}x&&!d&&(T=t(T,1/0));var L=E.length+T.length+M.length,B=L>1)+E+T+M+B.slice(L);break;default:T=B+E+T+M;break}return a(T)}return j.toString=function(){return l+""},j}function f(l,h){var p=s((l=Gn(l),l.type="f",l)),y=Math.max(-8,Math.min(8,Math.floor(Nr(h)/3)))*3,v=Math.pow(10,-y),d=em[8+y/3];return function(m){return p(v*m)+d}}return{format:s,formatPrefix:f}}var Ii,up,qw;ZE({thousands:",",grouping:[3],currency:["$",""]});function ZE(e){return Ii=YE(e),up=Ii.format,qw=Ii.formatPrefix,Ii}function JE(e){return Math.max(0,-Nr(Math.abs(e)))}function QE(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Nr(t)/3)))*3-Nr(Math.abs(e)))}function ej(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Nr(t)-Nr(e))+1}function Lw(e,t,r,n){var i=Sf(e,t,r),a;switch(n=Gn(n??",f"),n.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(a=QE(i,o))&&(n.precision=a),qw(n,o)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=ej(i,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=JE(i))&&(n.precision=a-(n.type==="%")*2);break}}return up(n)}function Ft(e){var t=e.domain;return e.ticks=function(r){var n=t();return _f(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var i=t();return Lw(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=Af(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 na(){var e=ap();return e.copy=function(){return xi(e,na())},it.apply(e,arguments),Ft(e)}function Bw(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,ta),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return Bw(e).unknown(t)},e=arguments.length?Array.from(e,ta):[0,1],Ft(r)}function Fw(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 aj(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 nm(e){return(t,r)=>-e(-t,r)}function cp(e){const t=e(tm,rm),r=t.domain;let n=10,i,a;function o(){return i=aj(n),a=ij(n),r()[0]<0?(i=nm(i),a=nm(a),e(tj,rj)):e(tm,rm),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<=p;++h)for(y=1;yf)break;m.push(v)}}else for(;h<=p;++h)for(y=n-1;y>=1;--y)if(v=h>0?y/a(-h):y*a(h),!(vf)break;m.push(v)}m.length*2{if(u==null&&(u=10),c==null&&(c=n===10?"s":","),typeof c!="function"&&(!(n%1)&&(c=Gn(c)).precision==null&&(c.trim=!0),c=up(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(Fw(r(),{floor:u=>a(Math.floor(i(u))),ceil:u=>a(Math.ceil(i(u)))})),t}function Uw(){const e=cp(Za()).domain([1,10]);return e.copy=()=>xi(e,Uw()).base(e.base()),it.apply(e,arguments),e}function im(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function am(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function sp(e){var t=1,r=e(im(t),am(t));return r.constant=function(n){return arguments.length?e(im(t=+n),am(t)):t},Ft(r)}function Ww(){var e=sp(Za());return e.copy=function(){return xi(e,Ww()).constant(e.constant())},it.apply(e,arguments)}function om(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function oj(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function uj(e){return e<0?-e*e:e*e}function lp(e){var t=e(Be,Be),r=1;function n(){return r===1?e(Be,Be):r===.5?e(oj,uj):e(om(r),om(1/r))}return t.exponent=function(i){return arguments.length?(r=+i,n()):r},Ft(t)}function fp(){var e=lp(Za());return e.copy=function(){return xi(e,fp()).exponent(e.exponent())},it.apply(e,arguments),e}function cj(){return fp.apply(null,arguments).exponent(.5)}function um(e){return Math.sign(e)*e*e}function sj(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function zw(){var e=ap(),t=[0,1],r=!1,n;function i(a){var o=sj(e(a));return isNaN(o)?n:r?Math.round(o):o}return i.invert=function(a){return e.invert(um(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,ta)).map(um)),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 zw(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},it.apply(i,arguments),Ft(i)}function Kw(){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 Hw().domain([e,t]).range(i).unknown(a)},it.apply(Ft(o),arguments)}function Gw(){var e=[.5],t=[0,1],r,n=1;function i(a){return a!=null&&a<=a?t[mi(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 Gw().domain(e).range(t).unknown(r)},it.apply(i,arguments)}const Rs=new Date,Ds=new Date;function Pe(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(sPe(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)=>(Rs.setTime(+a),Ds.setTime(+o),e(Rs),e(Ds),Math.floor(r(Rs,Ds))),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 ia=Pe(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);ia.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Pe(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):ia);ia.range;const St=1e3,rt=St*60,Pt=rt*60,$t=Pt*24,hp=$t*7,cm=$t*30,Ns=$t*365,rr=Pe(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*St)},(e,t)=>(t-e)/St,e=>e.getUTCSeconds());rr.range;const pp=Pe(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*St)},(e,t)=>{e.setTime(+e+t*rt)},(e,t)=>(t-e)/rt,e=>e.getMinutes());pp.range;const dp=Pe(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*rt)},(e,t)=>(t-e)/rt,e=>e.getUTCMinutes());dp.range;const vp=Pe(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*St-e.getMinutes()*rt)},(e,t)=>{e.setTime(+e+t*Pt)},(e,t)=>(t-e)/Pt,e=>e.getHours());vp.range;const yp=Pe(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Pt)},(e,t)=>(t-e)/Pt,e=>e.getUTCHours());yp.range;const wi=Pe(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*rt)/$t,e=>e.getDate()-1);wi.range;const Ja=Pe(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/$t,e=>e.getUTCDate()-1);Ja.range;const Vw=Pe(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/$t,e=>Math.floor(e/$t));Vw.range;function dr(e){return Pe(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())*rt)/hp)}const Qa=dr(0),aa=dr(1),lj=dr(2),fj=dr(3),qr=dr(4),hj=dr(5),pj=dr(6);Qa.range;aa.range;lj.range;fj.range;qr.range;hj.range;pj.range;function vr(e){return Pe(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)/hp)}const eo=vr(0),oa=vr(1),dj=vr(2),vj=vr(3),Lr=vr(4),yj=vr(5),gj=vr(6);eo.range;oa.range;dj.range;vj.range;Lr.range;yj.range;gj.range;const gp=Pe(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());gp.range;const mp=Pe(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());mp.range;const It=Pe(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());It.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Pe(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)});It.range;const Ct=Pe(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());Ct.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Pe(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)});Ct.range;function Xw(e,t,r,n,i,a){const o=[[rr,1,St],[rr,5,5*St],[rr,15,15*St],[rr,30,30*St],[a,1,rt],[a,5,5*rt],[a,15,15*rt],[a,30,30*rt],[i,1,Pt],[i,3,3*Pt],[i,6,6*Pt],[i,12,12*Pt],[n,1,$t],[n,2,2*$t],[r,1,hp],[t,1,cm],[t,3,3*cm],[e,1,Ns]];function u(s,f,l){const h=fd).right(o,h);if(p===o.length)return e.every(Sf(s/Ns,f/Ns,l));if(p===0)return ia.every(Math.max(Sf(s,f,l),1));const[y,v]=o[h/o[p-1][2]53)return null;"w"in D||(D.w=1),"Z"in D?(re=Ls(mn(D.y,0,1)),Y=re.getUTCDay(),re=Y>4||Y===0?oa.ceil(re):oa(re),re=Ja.offset(re,(D.V-1)*7),D.y=re.getUTCFullYear(),D.m=re.getUTCMonth(),D.d=re.getUTCDate()+(D.w+6)%7):(re=qs(mn(D.y,0,1)),Y=re.getDay(),re=Y>4||Y===0?aa.ceil(re):aa(re),re=wi.offset(re,(D.V-1)*7),D.y=re.getFullYear(),D.m=re.getMonth(),D.d=re.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),Y="Z"in D?Ls(mn(D.y,0,1)).getUTCDay():qs(mn(D.y,0,1)).getDay(),D.m=0,D.d="W"in D?(D.w+6)%7+D.W*7-(Y+5)%7:D.w+D.U*7-(Y+6)%7);return"Z"in D?(D.H+=D.Z/100|0,D.M+=D.Z%100,Ls(D)):qs(D)}}function A(F,Q,ee,D){for(var ve=0,re=Q.length,Y=ee.length,ye,Z;ve=Y)return-1;if(ye=Q.charCodeAt(ve++),ye===37){if(ye=Q.charAt(ve++),Z=g[ye in sm?Q.charAt(ve++):ye],!Z||(D=Z(F,ee,D))<0)return-1}else if(ye!=ee.charCodeAt(D++))return-1}return D}function P(F,Q,ee){var D=s.exec(Q.slice(ee));return D?(F.p=f.get(D[0].toLowerCase()),ee+D[0].length):-1}function j(F,Q,ee){var D=p.exec(Q.slice(ee));return D?(F.w=y.get(D[0].toLowerCase()),ee+D[0].length):-1}function T(F,Q,ee){var D=l.exec(Q.slice(ee));return D?(F.w=h.get(D[0].toLowerCase()),ee+D[0].length):-1}function E(F,Q,ee){var D=m.exec(Q.slice(ee));return D?(F.m=x.get(D[0].toLowerCase()),ee+D[0].length):-1}function M(F,Q,ee){var D=v.exec(Q.slice(ee));return D?(F.m=d.get(D[0].toLowerCase()),ee+D[0].length):-1}function I(F,Q,ee){return A(F,t,Q,ee)}function $(F,Q,ee){return A(F,r,Q,ee)}function k(F,Q,ee){return A(F,n,Q,ee)}function R(F){return o[F.getDay()]}function L(F){return a[F.getDay()]}function B(F){return c[F.getMonth()]}function z(F){return u[F.getMonth()]}function H(F){return i[+(F.getHours()>=12)]}function U(F){return 1+~~(F.getMonth()/3)}function G(F){return o[F.getUTCDay()]}function se(F){return a[F.getUTCDay()]}function me(F){return c[F.getUTCMonth()]}function De(F){return u[F.getUTCMonth()]}function wt(F){return i[+(F.getUTCHours()>=12)]}function Ie(F){return 1+~~(F.getUTCMonth()/3)}return{format:function(F){var Q=b(F+="",w);return Q.toString=function(){return F},Q},parse:function(F){var Q=_(F+="",!1);return Q.toString=function(){return F},Q},utcFormat:function(F){var Q=b(F+="",O);return Q.toString=function(){return F},Q},utcParse:function(F){var Q=_(F+="",!0);return Q.toString=function(){return F},Q}}}var sm={"-":"",_:" ",0:"0"},Me=/^\s*\d+/,_j=/^%/,Aj=/[\\^$*+?|[\]().{}]/g;function ie(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",a=i.length;return n+(a[t.toLowerCase(),r]))}function Pj(e,t,r){var n=Me.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function Tj(e,t,r){var n=Me.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function Ej(e,t,r){var n=Me.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function jj(e,t,r){var n=Me.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function Mj(e,t,r){var n=Me.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function lm(e,t,r){var n=Me.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function fm(e,t,r){var n=Me.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function $j(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 Ij(e,t,r){var n=Me.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function Cj(e,t,r){var n=Me.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function hm(e,t,r){var n=Me.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function kj(e,t,r){var n=Me.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function pm(e,t,r){var n=Me.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function Rj(e,t,r){var n=Me.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function Dj(e,t,r){var n=Me.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function Nj(e,t,r){var n=Me.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function qj(e,t,r){var n=Me.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Lj(e,t,r){var n=_j.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function Bj(e,t,r){var n=Me.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function Fj(e,t,r){var n=Me.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function dm(e,t){return ie(e.getDate(),t,2)}function Uj(e,t){return ie(e.getHours(),t,2)}function Wj(e,t){return ie(e.getHours()%12||12,t,2)}function zj(e,t){return ie(1+wi.count(It(e),e),t,3)}function Yw(e,t){return ie(e.getMilliseconds(),t,3)}function Kj(e,t){return Yw(e,t)+"000"}function Hj(e,t){return ie(e.getMonth()+1,t,2)}function Gj(e,t){return ie(e.getMinutes(),t,2)}function Vj(e,t){return ie(e.getSeconds(),t,2)}function Xj(e){var t=e.getDay();return t===0?7:t}function Yj(e,t){return ie(Qa.count(It(e)-1,e),t,2)}function Zw(e){var t=e.getDay();return t>=4||t===0?qr(e):qr.ceil(e)}function Zj(e,t){return e=Zw(e),ie(qr.count(It(e),e)+(It(e).getDay()===4),t,2)}function Jj(e){return e.getDay()}function Qj(e,t){return ie(aa.count(It(e)-1,e),t,2)}function eM(e,t){return ie(e.getFullYear()%100,t,2)}function tM(e,t){return e=Zw(e),ie(e.getFullYear()%100,t,2)}function rM(e,t){return ie(e.getFullYear()%1e4,t,4)}function nM(e,t){var r=e.getDay();return e=r>=4||r===0?qr(e):qr.ceil(e),ie(e.getFullYear()%1e4,t,4)}function iM(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ie(t/60|0,"0",2)+ie(t%60,"0",2)}function vm(e,t){return ie(e.getUTCDate(),t,2)}function aM(e,t){return ie(e.getUTCHours(),t,2)}function oM(e,t){return ie(e.getUTCHours()%12||12,t,2)}function uM(e,t){return ie(1+Ja.count(Ct(e),e),t,3)}function Jw(e,t){return ie(e.getUTCMilliseconds(),t,3)}function cM(e,t){return Jw(e,t)+"000"}function sM(e,t){return ie(e.getUTCMonth()+1,t,2)}function lM(e,t){return ie(e.getUTCMinutes(),t,2)}function fM(e,t){return ie(e.getUTCSeconds(),t,2)}function hM(e){var t=e.getUTCDay();return t===0?7:t}function pM(e,t){return ie(eo.count(Ct(e)-1,e),t,2)}function Qw(e){var t=e.getUTCDay();return t>=4||t===0?Lr(e):Lr.ceil(e)}function dM(e,t){return e=Qw(e),ie(Lr.count(Ct(e),e)+(Ct(e).getUTCDay()===4),t,2)}function vM(e){return e.getUTCDay()}function yM(e,t){return ie(oa.count(Ct(e)-1,e),t,2)}function gM(e,t){return ie(e.getUTCFullYear()%100,t,2)}function mM(e,t){return e=Qw(e),ie(e.getUTCFullYear()%100,t,2)}function bM(e,t){return ie(e.getUTCFullYear()%1e4,t,4)}function xM(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Lr(e):Lr.ceil(e),ie(e.getUTCFullYear()%1e4,t,4)}function wM(){return"+0000"}function ym(){return"%"}function gm(e){return+e}function mm(e){return Math.floor(+e/1e3)}var xr,eO,tO;OM({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 OM(e){return xr=Oj(e),eO=xr.format,xr.parse,tO=xr.utcFormat,xr.utcParse,xr}function _M(e){return new Date(e)}function AM(e){return e instanceof Date?+e:+new Date(+e)}function bp(e,t,r,n,i,a,o,u,c,s){var f=ap(),l=f.invert,h=f.domain,p=s(".%L"),y=s(":%S"),v=s("%I:%M"),d=s("%I %p"),m=s("%a %d"),x=s("%b %d"),w=s("%B"),O=s("%Y");function g(b){return(c(b)t(i/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(i,a)=>cE(e,a/n))},r.copy=function(){return aO(t).domain(e)},Rt.apply(r,arguments)}function ro(){var e=0,t=.5,r=1,n=1,i,a,o,u,c,s=Be,f,l=!1,h;function p(v){return isNaN(v=+v)?h:(v=.5+((v=+f(v))-a)*(n*vr}return Fs=e,Fs}var Us,Om;function jM(){if(Om)return Us;Om=1;var e=no(),t=sO(),r=ln();function n(i){return i&&i.length?e(i,r,t):void 0}return Us=n,Us}var MM=jM();const io=ce(MM);var Ws,_m;function lO(){if(_m)return Ws;_m=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};W.decimalPlaces=W.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*de;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};W.dividedBy=W.div=function(e){return jt(this,new this.constructor(e))};W.dividedToIntegerBy=W.idiv=function(e){var t=this,r=t.constructor;return le(jt(t,new r(e),0,1),r.precision)};W.equals=W.eq=function(e){return!this.cmp(e)};W.exponent=function(){return we(this)};W.greaterThan=W.gt=function(e){return this.cmp(e)>0};W.greaterThanOrEqualTo=W.gte=function(e){return this.cmp(e)>=0};W.isInteger=W.isint=function(){return this.e>this.d.length-2};W.isNegative=W.isneg=function(){return this.s<0};W.isPositive=W.ispos=function(){return this.s>0};W.isZero=function(){return this.s===0};W.lessThan=W.lt=function(e){return this.cmp(e)<0};W.lessThanOrEqualTo=W.lte=function(e){return this.cmp(e)<1};W.logarithm=W.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(Ve))throw Error(nt+"NaN");if(r.s<1)throw Error(nt+(r.s?"NaN":"-Infinity"));return r.eq(Ve)?new n(0):(ge=!1,t=jt(Vn(r,a),Vn(e,a),a),ge=!0,le(t,i))};W.minus=W.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?dO(t,e):hO(t,(e.s=-e.s,e))};W.modulo=W.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(nt+"NaN");return r.s?(ge=!1,t=jt(r,e,0,1).times(e),ge=!0,r.minus(t)):le(new n(r),i)};W.naturalExponential=W.exp=function(){return pO(this)};W.naturalLogarithm=W.ln=function(){return Vn(this)};W.negated=W.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};W.plus=W.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?hO(t,e):dO(t,(e.s=-e.s,e))};W.precision=W.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ar+e);if(t=we(i)+1,n=i.d.length-1,r=n*de+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};W.squareRoot=W.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(nt+"NaN")}for(e=we(u),ge=!1,i=Math.sqrt(+u),i==0||i==1/0?(t=vt(u.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=pn((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(jt(u,a,o+2)).times(.5),vt(a.d).slice(0,o)===(t=vt(n.d)).slice(0,o)){if(t=t.slice(o-3,o+1),i==o&&t=="4999"){if(le(a,r+1,0),a.times(a).eq(u)){n=a;break}}else if(t!="9999")break;o+=4}return ge=!0,le(n,r)};W.times=W.mul=function(e){var t,r,n,i,a,o,u,c,s,f=this,l=f.constructor,h=f.d,p=(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=p.length,c=0;){for(t=0,i=c+n;i>n;)u=a[i]+p[n]*h[i-n-1]+t,a[i--]=u%Ee|0,t=u/Ee|0;a[i]=(a[i]+t)%Ee|0}for(;!a[--o];)a.pop();return t?++r:a.shift(),e.d=a,e.e=r,ge?le(e,l.precision):e};W.toDecimalPlaces=W.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(mt(e,0,hn),t===void 0?t=n.rounding:mt(t,0,8),le(r,e+we(r)+1,t))};W.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=lr(n,!0):(mt(e,0,hn),t===void 0?t=i.rounding:mt(t,0,8),n=le(new i(n),e+1,t),r=lr(n,!0,e+1)),r};W.toFixed=function(e,t){var r,n,i=this,a=i.constructor;return e===void 0?lr(i):(mt(e,0,hn),t===void 0?t=a.rounding:mt(t,0,8),n=le(new a(i),e+we(i)+1,t),r=lr(n.abs(),!1,e+we(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};W.toInteger=W.toint=function(){var e=this,t=e.constructor;return le(new t(e),we(e)+1,t.rounding)};W.toNumber=function(){return+this};W.toPower=W.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(Ve);if(u=new c(u),!u.s){if(e.s<1)throw Error(nt+"Infinity");return u}if(u.eq(Ve))return u;if(n=c.precision,e.eq(Ve))return le(u,n);if(t=e.e,r=e.d.length-1,o=t>=r,a=u.s,o){if((r=f<0?-f:f)<=fO){for(i=new c(Ve),t=Math.ceil(n/de+4),ge=!1;r%2&&(i=i.times(u),jm(i.d,t)),r=pn(r/2),r!==0;)u=u.times(u),jm(u.d,t);return ge=!0,e.s<0?new c(Ve).div(i):le(i,n)}}else if(a<0)throw Error(nt+"NaN");return a=a<0&&e.d[Math.max(t,r)]&1?-1:1,u.s=1,ge=!1,i=e.times(Vn(u,n+s)),ge=!0,i=pO(i),i.s=a,i};W.toPrecision=function(e,t){var r,n,i=this,a=i.constructor;return e===void 0?(r=we(i),n=lr(i,r<=a.toExpNeg||r>=a.toExpPos)):(mt(e,1,hn),t===void 0?t=a.rounding:mt(t,0,8),i=le(new a(i),e,t),r=we(i),n=lr(i,e<=r||r<=a.toExpNeg,e)),n};W.toSignificantDigits=W.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(mt(e,1,hn),t===void 0?t=n.rounding:mt(t,0,8)),le(new n(r),e,t)};W.toString=W.valueOf=W.val=W.toJSON=W[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=we(e),r=e.constructor;return lr(e,t<=r.toExpNeg||t>=r.toExpPos)};function hO(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)),ge?le(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/de),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)/Ee|0,c[a]%=Ee;for(r&&(c.unshift(r),++i),u=c.length;c[--u]==0;)c.pop();return t.d=c,t.e=i,ge?le(t,l):t}function mt(e,t,r){if(e!==~~e||er)throw Error(ar+e)}function vt(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,p,y,v,d,m,x,w,O,g,b,_,A,P=n.constructor,j=n.s==i.s?1:-1,T=n.d,E=i.d;if(!n.s)return new P(n);if(!i.s)throw Error(nt+"Division by zero");for(c=n.e-i.e,_=E.length,g=T.length,p=new P(j),y=p.d=[],s=0;E[s]==(T[s]||0);)++s;if(E[s]>(T[s]||0)&&--c,a==null?x=a=P.precision:o?x=a+(we(n)-we(i))+1:x=a,x<0)return new P(0);if(x=x/de+2|0,s=0,_==1)for(f=0,E=E[0],x++;(s1&&(E=e(E,f),T=e(T,f),_=E.length,g=T.length),O=_,v=T.slice(0,_),d=v.length;d<_;)v[d++]=0;A=E.slice(),A.unshift(0),b=E[0],E[1]>=Ee/2&&++b;do f=0,u=t(E,v,_,d),u<0?(m=v[0],_!=d&&(m=m*Ee+(v[1]||0)),f=m/b|0,f>1?(f>=Ee&&(f=Ee-1),l=e(E,f),h=l.length,d=v.length,u=t(l,v,h,d),u==1&&(f--,r(l,_16)throw Error(Op+we(e));if(!e.s)return new f(Ve);for(ge=!1,u=l,o=new f(.03125);e.abs().gte(.1);)e=e.times(o),s+=5;for(n=Math.log(Jt(2,s))/Math.LN10*2+5|0,u+=n,r=i=a=new f(Ve),f.precision=u;;){if(i=le(i.times(e),u),r=r.times(++c),o=a.plus(jt(i,r,u)),vt(o.d).slice(0,u)===vt(a.d).slice(0,u)){for(;s--;)a=le(a.times(a),u);return f.precision=l,t==null?(ge=!0,le(a,l)):a}a=o}}function we(e){for(var t=e.e*de,r=e.d[0];r>=10;r/=10)t++;return t}function Vs(e,t,r){if(t>e.LN10.sd())throw ge=!0,r&&(e.precision=r),Error(nt+"LN10 precision limit exceeded");return le(new e(e.LN10),t)}function Nt(e){for(var t="";e--;)t+="0";return t}function Vn(e,t){var r,n,i,a,o,u,c,s,f,l=1,h=10,p=e,y=p.d,v=p.constructor,d=v.precision;if(p.s<1)throw Error(nt+(p.s?"NaN":"-Infinity"));if(p.eq(Ve))return new v(0);if(t==null?(ge=!1,s=d):s=t,p.eq(10))return t==null&&(ge=!0),Vs(v,s);if(s+=h,v.precision=s,r=vt(y),n=r.charAt(0),a=we(p),Math.abs(a)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)p=p.times(e),r=vt(p.d),n=r.charAt(0),l++;a=we(p),n>1?(p=new v("0."+r),a++):p=new v(n+"."+r.slice(1))}else return c=Vs(v,s+2,d).times(a+""),p=Vn(new v(n+"."+r.slice(1)),s-h).plus(c),v.precision=d,t==null?(ge=!0,le(p,d)):p;for(u=o=p=jt(p.minus(Ve),p.plus(Ve),s),f=le(p.times(p),s),i=3;;){if(o=le(o.times(f),s),c=u.plus(jt(o,new v(i),s)),vt(c.d).slice(0,s)===vt(u.d).slice(0,s))return u=u.times(2),a!==0&&(u=u.plus(Vs(v,s+2,d).times(a+""))),u=jt(u,new v(l),s),v.precision=d,t==null?(ge=!0,le(u,d)):u;u=c,i+=2}}function Em(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=pn(r/de),e.d=[],n=(r+1)%de,r<0&&(n+=de),nua||e.e<-ua))throw Error(Op+r)}else e.s=0,e.e=0,e.d=[0];return e}function le(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+=de,i=t,s=l[f=0];else{if(f=Math.ceil((n+1)/de),a=l.length,f>=a)return e;for(s=a=l[f],o=1;a>=10;a/=10)o++;n%=de,i=n-de+o}if(r!==void 0&&(a=Jt(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/Jt(10,o-i):0:l[f-1])%10&1||r==(e.s<0?8:7))),t<1||!l[0])return c?(a=we(e),l.length=1,t=t-a-1,l[0]=Jt(10,(de-t%de)%de),e.e=pn(-t/de)||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=Jt(10,de-n),l[f]=i>0?(s/Jt(10,o-i)%Jt(10,i)|0)*a:0),c)for(;;)if(f==0){(l[0]+=a)==Ee&&(l[0]=1,++e.e);break}else{if(l[f]+=a,l[f]!=Ee)break;l[f--]=0,a=1}for(n=l.length;l[--n]===0;)l.pop();if(ge&&(e.e>ua||e.e<-ua))throw Error(Op+we(e));return e}function dO(e,t){var r,n,i,a,o,u,c,s,f,l,h=e.constructor,p=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),ge?le(t,p):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(p/de),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)+Nt(n):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(i<0?"e":"e+")+i):i<0?(a="0."+Nt(-i-1)+a,r&&(n=r-o)>0&&(a+=Nt(n))):i>=o?(a+=Nt(i+1-o),r&&(n=r-i-1)>0&&(a=a+"."+Nt(n))):((n=i+1)0&&(i+1===o&&(a+="."),a+=Nt(n))),e.s<0?"-"+a:a}function jm(e,t){if(e.length>t)return e.length=t,!0}function vO(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(ar+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 Em(o,a.toString())}else if(typeof a!="string")throw Error(ar+a);if(a.charCodeAt(0)===45?(a=a.slice(1),o.s=-1):o.s=1,BM.test(a))Em(o,a);else throw Error(ar+a)}if(i.prototype=W,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=vO,i.config=i.set=FM,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(ar+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(ar+r+": "+n);return this}var _p=vO(LM);Ve=new _p(1);const ue=_p;function UM(e){return HM(e)||KM(e)||zM(e)||WM()}function WM(){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 zM(e,t){if(e){if(typeof e=="string")return $f(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 $f(e,t)}}function KM(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function HM(e){if(Array.isArray(e))return $f(e)}function $f(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,Mm(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 u$(e){if(Array.isArray(e))return e}function xO(e){var t=Xn(e,2),r=t[0],n=t[1],i=r,a=n;return r>n&&(i=n,a=r),[i,a]}function wO(e,t,r){if(e.lte(0))return new ue(0);var n=uo.getDigitCount(e.toNumber()),i=new ue(10).pow(n),a=e.div(i),o=n!==1?.05:.1,u=new ue(Math.ceil(a.div(o).toNumber())).add(r).mul(o),c=u.mul(i);return t?c:new ue(Math.ceil(c))}function c$(e,t,r){var n=1,i=new ue(e);if(!i.isint()&&r){var a=Math.abs(e);a<1?(n=new ue(10).pow(uo.getDigitCount(e)-1),i=new ue(Math.floor(i.div(n).toNumber())).mul(n)):a>1&&(i=new ue(Math.floor(e)))}else e===0?i=new ue(Math.floor((t-1)/2)):r||(i=new ue(Math.floor(e)));var o=Math.floor((t-1)/2),u=YM(XM(function(c){return i.add(new ue(c-o).mul(n)).toNumber()}),If);return u(0,t)}function OO(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 ue(0),tickMin:new ue(0),tickMax:new ue(0)};var a=wO(new ue(t).sub(e).div(r-1),n,i),o;e<=0&&t>=0?o=new ue(0):(o=new ue(e).add(t).div(2),o=o.sub(new ue(o).mod(a)));var u=Math.ceil(o.sub(e).div(a).toNumber()),c=Math.ceil(new ue(t).sub(o).div(a).toNumber()),s=u+c+1;return s>r?OO(e,t,r,n,i+1):(s0?c+(r-s):c,u=t>0?u:u+(r-s)),{step:a,tickMin:o.sub(new ue(u).mul(a)),tickMax:o.add(new ue(c).mul(a))})}function s$(e){var t=Xn(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=xO([r,n]),c=Xn(u,2),s=c[0],f=c[1];if(s===-1/0||f===1/0){var l=f===1/0?[s].concat(kf(If(0,i-1).map(function(){return 1/0}))):[].concat(kf(If(0,i-1).map(function(){return-1/0})),[f]);return r>n?Cf(l):l}if(s===f)return c$(s,i,a);var h=OO(s,f,o,a),p=h.step,y=h.tickMin,v=h.tickMax,d=uo.rangeStep(y,v.add(new ue(.1).mul(p)),p);return r>n?Cf(d):d}function l$(e,t){var r=Xn(e,2),n=r[0],i=r[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=xO([n,i]),u=Xn(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=wO(new ue(s).sub(c).div(f-1),a,0),h=[].concat(kf(uo.rangeStep(new ue(c),new ue(s).sub(new ue(.99).mul(l)),l)),[s]);return n>i?Cf(h):h}var f$=mO(s$),h$=mO(l$),p$=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];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 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)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function x$(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 w$(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O$(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,p=void 0;if(qe(l-f)!==qe(h-l)){var y=[];if(qe(h-l)===qe(c[1]-c[0])){p=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{p=f;var d=h+c[1]-c[0];y[0]=Math.min(l,(d+l)/2),y[1]=Math.max(l,(d+l)/2)}var m=[Math.min(l,(p+l)/2),Math.max(l,(p+l)/2)];if(t>m[0]&&t<=m[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},Ap=function(t){var r,n=t,i=n.type.displayName,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?be(be({},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},L$=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(m&&m.length){var x=m[0].type.defaultProps,w=x!==void 0?be(be({},x),m[0].props):m[0].props,O=w.barSize,g=w[d];o[g]||(o[g]=[]);var b=J(O)?r:O;o[g].push({item:m[0],stackList:m.slice(1),barSize:J(b)?void 0:Le(b,n,0)})}}return o},B$=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=Le(r,i,0,!0),f,l=[];if(o[0].barSize===+o[0].barSize){var h=!1,p=i/c,y=o.reduce(function(O,g){return O+g.barSize||0},0);y+=(c-1)*s,y>=i&&(y-=(c-1)*s,s=0),y>=i&&p>0&&(h=!0,p*=.9,y=c*p);var v=(i-y)/2>>0,d={offset:v-s,size:0};f=o.reduce(function(O,g){var b={item:g.item,position:{offset:d.offset+d.size+s,size:h?p:g.barSize}},_=[].concat(Cm(O),[b]);return d=_[_.length-1].position,g.stackList&&g.stackList.length&&g.stackList.forEach(function(A){_.push({item:A,position:d})}),_},l)}else{var m=Le(n,i,0,!0);i-2*m-(c-1)*s<=0&&(s=0);var x=(i-2*m-(c-1)*s)/c;x>1&&(x>>=0);var w=u===+u?Math.min(x,u):x;f=o.reduce(function(O,g,b){var _=[].concat(Cm(O),[{item:g.item,position:{offset:m+(x+s)*b+(x-w)/2,size:w}}]);return g.stackList&&g.stackList.length&&g.stackList.forEach(function(A){_.push({item:A,position:_[_.length-1].position})}),_},l)}return f},F$=function(t,r,n,i){var a=n.children,o=n.width,u=n.margin,c=o-(u.left||0)-(u.right||0),s=PO({children:a,legendWidth:c});if(s){var f=i||{},l=f.width,h=f.height,p=s.align,y=s.verticalAlign,v=s.layout;if((v==="vertical"||v==="horizontal"&&y==="middle")&&p!=="center"&&q(t[p]))return be(be({},t),{},$r({},p,t[p]+(l||0)));if((v==="horizontal"||v==="vertical"&&p==="center")&&y!=="middle"&&q(t[y]))return be(be({},t),{},$r({},y,t[y]+(h||0)))}return t},U$=function(t,r,n){return J(r)?!0:t==="horizontal"?r==="yAxis":t==="vertical"||n==="x"?r==="xAxis":n==="y"?r==="yAxis":!0},TO=function(t,r,n,i,a){var o=r.props.children,u=Ye(o,_i).filter(function(s){return U$(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=Ae(f,n);if(J(l))return s;var h=Array.isArray(l)?[ao(l),io(l)]:[l,l],p=c.reduce(function(y,v){var d=Ae(f,v,0),m=h[0]-Math.abs(Array.isArray(d)?d[0]:d),x=h[1]+Math.abs(Array.isArray(d)?d[1]:d);return[Math.min(m,y[0]),Math.max(x,y[1])]},[1/0,-1/0]);return[Math.min(p[0],s[0]),Math.max(p[1],s[1])]},[1/0,-1/0])}return null},W$=function(t,r,n,i,a){var o=r.map(function(u){return TO(t,u,n,a,i)}).filter(function(u){return!J(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},EO=function(t,r,n,i,a){var o=r.map(function(c){var s=c.props.dataKey;return n==="number"&&s&&TO(t,c,s,i)||$n(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?qe(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!gi(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}})},Xs=new WeakMap,Ci=function(t,r){if(typeof r!="function")return t;Xs.has(t)||Xs.set(t,new WeakMap);var n=Xs.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},$O=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:Wn(),realScaleType:"band"}:o==="radial"&&u==="angleAxis"?{scale:na(),realScaleType:"linear"}:a==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!n)?{scale:Mn(),realScaleType:"point"}:a==="category"?{scale:Wn(),realScaleType:"band"}:{scale:na(),realScaleType:"linear"};if(ur(i)){var c="scale".concat(Wa(i));return{scale:(bm[c]||Mn)(),realScaleType:bm[c]?c:"point"}}return X(i)?{scale:i}:{scale:Mn(),realScaleType:"point"}},Rm=1e-4,IO=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])-Rm,o=Math.max(i[0],i[1])+Rm,u=t(r[0]),c=t(r[n-1]);(uo||co)&&t.domain([r[0],r[n-1]])}},z$=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])}},G$=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)}},V$={sign:H$,expand:UA,none:Ir,silhouette:WA,wiggle:zA,positive:G$},X$=function(t,r,n){var i=r.map(function(u){return u.props.dataKey}),a=V$[n],o=FA().keys(i).value(function(u,c){return+Ae(u,c,0)}).order(hf).offset(a);return o(t)},Y$=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 p,y=(p=h.type)!==null&&p!==void 0&&p.defaultProps?be(be({},h.type.defaultProps),h.props):h.props,v=y.stackId,d=y.hide;if(d)return l;var m=y[n],x=l[m]||{hasStack:!1,stackGroups:{}};if(Se(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[un("_stackId_")]={numericAxisId:n,cateAxisId:i,items:[h]};return be(be({},l),{},$r({},m,x))},c),f={};return Object.keys(s).reduce(function(l,h){var p=s[h];if(p.hasStack){var y={};p.stackGroups=Object.keys(p.stackGroups).reduce(function(v,d){var m=p.stackGroups[d];return be(be({},v),{},$r({},d,{numericAxisId:n,cateAxisId:i,items:m.items,stackedData:X$(t,m.items,a)}))},y)}return be(be({},l),{},$r({},h,p))},f)},CO=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=f$(s,a,u);return t.domain([ao(f),io(f)]),{niceTicks:f}}if(a&&i==="number"){var l=t.domain(),h=h$(l,a,u);return{niceTicks:h}}return null};function Dm(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&&!J(i[t.dataKey])){var u=Bi(r,"value",i[t.dataKey]);if(u)return u.coordinate+n/2}return r[a]?r[a].coordinate+n/2:null}var c=Ae(i,J(o)?t.dataKey:o);return J(c)?null:t.scale(c)}var Nm=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=Ae(o,r.dataKey,r.domain[u]);return J(c)?null:r.scale(c)-a/2+i},Z$=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]},J$=function(t,r){var n,i=(n=t.type)!==null&&n!==void 0&&n.defaultProps?be(be({},t.type.defaultProps),t.props):t.props,a=i.stackId;if(Se(a)){var o=r[a];if(o){var u=o.items.indexOf(t);return u>=0?o.stackedData[u]:null}}return null},Q$=function(t){return t.reduce(function(r,n){return[ao(n.concat([r[0]]).filter(q)),io(n.concat([r[1]]).filter(q))]},[1/0,-1/0])},kO=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=Q$(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})},qm=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Lm=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,qf=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(qm.test(t[0])){var a=+qm.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(Lm.test(t[1])){var o=+Lm.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},la=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=Zh(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},cI=function(t,r,n,i,a){var o=t.width,u=t.height,c=t.startAngle,s=t.endAngle,f=Le(t.cx,o,o/2),l=Le(t.cy,u,u/2),h=NO(o,u,n),p=Le(t.innerRadius,h,0),y=Le(t.outerRadius,h,h*.8),v=Object.keys(r);return v.reduce(function(d,m){var x=r[m],w=x.domain,O=x.reversed,g;if(J(x.range))i==="angleAxis"?g=[c,s]:i==="radiusAxis"&&(g=[p,y]),O&&(g=[g[1],g[0]]);else{g=x.range;var b=g,_=rI(b,2);c=_[0],s=_[1]}var A=$O(x,a),P=A.realScaleType,j=A.scale;j.domain(w).range(g),IO(j);var T=CO(j,At(At({},x),{},{realScaleType:P})),E=At(At(At({},x),T),{},{range:g,radius:y,realScaleType:P,scale:j,cx:f,cy:l,innerRadius:p,outerRadius:y,startAngle:c,endAngle:s});return At(At({},d),{},DO({},m,E))},{})},sI=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))},lI=function(t,r){var n=t.x,i=t.y,a=r.cx,o=r.cy,u=sI({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:uI(s),angleInRadian:s}},fI=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}},hI=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=lI({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=fI(r),l=f.startAngle,h=f.endAngle,p=u,y;if(l<=h){for(;p>h;)p-=360;for(;p=l&&p<=h}else{for(;p>l;)p-=360;for(;p=h&&p<=l}return y?At(At({},r),{},{radius:o,angle:hI(p,r)}):null},qO=function(t){return!N.isValidElement(t)&&!X(t)&&typeof t!="boolean"?t.className:""};function Qn(e){"@babel/helpers - typeof";return Qn=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},Qn(e)}var pI=["offset"];function dI(e){return mI(e)||gI(e)||yI(e)||vI()}function vI(){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 yI(e,t){if(e){if(typeof e=="string")return Lf(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 Lf(e,t)}}function gI(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function mI(e){if(Array.isArray(e))return Lf(e)}function Lf(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 xI(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 _e(e){for(var t=1;t=0?1:-1,w,O;i==="insideStart"?(w=p+x*o,O=v):i==="insideEnd"?(w=y-x*o,O=!v):i==="end"&&(w=y+x*o,O=v),O=m<=0?O:!O;var g=pe(s,f,d,w),b=pe(s,f,d,w+(O?1:-1)*359),_="M".concat(g.x,",").concat(g.y,` + A`).concat(d,",").concat(d,",0,1,").concat(O?0:1,`, + `).concat(b.x,",").concat(b.y),A=J(t.id)?un("recharts-radial-line-"):t.id;return S.createElement("text",ei({},n,{dominantBaseline:"central",className:te("recharts-radial-bar-label",u)}),S.createElement("defs",null,S.createElement("path",{id:A,d:_})),S.createElement("textPath",{xlinkHref:"#".concat(A)},r))},TI=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 p=pe(o,u,s+n,h),y=p.x,v=p.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 d=(c+s)/2,m=pe(o,u,d,h),x=m.x,w=m.y;return{x,y:w,textAnchor:"middle",verticalAnchor:"middle"}},EI=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,p=l>0?"end":"start",y=l>0?"start":"end",v=s>=0?1:-1,d=v*i,m=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:p};return _e(_e({},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 _e(_e({},O),n?{height:Math.max(n.y+n.height-(c+f),0),width:s}:{})}if(a==="left"){var g={x:u-d,y:c+f/2,textAnchor:m,verticalAnchor:"middle"};return _e(_e({},g),n?{width:Math.max(g.x-n.x,0),height:f}:{})}if(a==="right"){var b={x:u+s+d,y:c+f/2,textAnchor:x,verticalAnchor:"middle"};return _e(_e({},b),n?{width:Math.max(n.x+n.width-b.x,0),height:f}:{})}var _=n?{width:s,height:f}:{};return a==="insideLeft"?_e({x:u+d,y:c+f/2,textAnchor:x,verticalAnchor:"middle"},_):a==="insideRight"?_e({x:u+s-d,y:c+f/2,textAnchor:m,verticalAnchor:"middle"},_):a==="insideTop"?_e({x:u+s/2,y:c+h,textAnchor:"middle",verticalAnchor:y},_):a==="insideBottom"?_e({x:u+s/2,y:c+f-h,textAnchor:"middle",verticalAnchor:p},_):a==="insideTopLeft"?_e({x:u+d,y:c+h,textAnchor:x,verticalAnchor:y},_):a==="insideTopRight"?_e({x:u+s-d,y:c+h,textAnchor:m,verticalAnchor:y},_):a==="insideBottomLeft"?_e({x:u+d,y:c+f-h,textAnchor:x,verticalAnchor:p},_):a==="insideBottomRight"?_e({x:u+s-d,y:c+f-h,textAnchor:m,verticalAnchor:p},_):on(a)&&(q(a.x)||er(a.x))&&(q(a.y)||er(a.y))?_e({x:u+Le(a.x,s),y:c+Le(a.y,f),textAnchor:"end",verticalAnchor:"end"},_):_e({x:u+s/2,y:c+f/2,textAnchor:"middle",verticalAnchor:"middle"},_)},jI=function(t){return"cx"in t&&q(t.cx)};function je(e){var t=e.offset,r=t===void 0?5:t,n=bI(e,pI),i=_e({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||J(u)&&J(c)&&!N.isValidElement(s)&&!X(s))return null;if(N.isValidElement(s))return N.cloneElement(s,i);var p;if(X(s)){if(p=N.createElement(s,i),N.isValidElement(p))return p}else p=AI(i);var y=jI(a),v=K(i,!0);if(y&&(o==="insideStart"||o==="insideEnd"||o==="end"))return PI(i,p,v);var d=y?TI(i):EI(i);return S.createElement(sr,ei({className:te("recharts-label",l)},v,d,{breakAll:h}),p)}je.displayName="Label";var LO=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,p=t.top,y=t.left,v=t.width,d=t.height,m=t.clockWise,x=t.labelViewBox;if(x)return x;if(q(v)&&q(d)){if(q(l)&&q(h))return{x:l,y:h,width:v,height:d};if(q(p)&&q(y))return{x:p,y,width:v,height:d}}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:m}:t.viewBox?t.viewBox:{}},MI=function(t,r){return t?t===!0?S.createElement(je,{key:"label-implicit",viewBox:r}):Se(t)?S.createElement(je,{key:"label-implicit",viewBox:r,value:t}):N.isValidElement(t)?t.type===je?N.cloneElement(t,{key:"label-implicit",viewBox:r}):S.createElement(je,{key:"label-implicit",content:t,viewBox:r}):X(t)?S.createElement(je,{key:"label-implicit",content:t,viewBox:r}):on(t)?S.createElement(je,ei({viewBox:r},t,{key:"label-implicit"})):null:null},$I=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=LO(t),o=Ye(i,je).map(function(c,s){return N.cloneElement(c,{viewBox:r||a,key:"label-".concat(s)})});if(!n)return o;var u=MI(t.label,r||a);return[u].concat(dI(o))};je.parseViewBox=LO;je.renderCallByParent=$I;var Ys,Km;function II(){if(Km)return Ys;Km=1;function e(t){var r=t==null?0:t.length;return r?t[r-1]:void 0}return Ys=e,Ys}var CI=II();const kI=ce(CI);function ti(e){"@babel/helpers - typeof";return ti=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},ti(e)}var RI=["valueAccessor"],DI=["data","dataKey","clockWise","id","textBreakAll"];function NI(e){return FI(e)||BI(e)||LI(e)||qI()}function qI(){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 LI(e,t){if(e){if(typeof e=="string")return Bf(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 Bf(e,t)}}function BI(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function FI(e){if(Array.isArray(e))return Bf(e)}function Bf(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 KI(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 HI=function(t){return Array.isArray(t.value)?kI(t.value):t.value};function Mt(e){var t=e.valueAccessor,r=t===void 0?HI:t,n=Vm(e,RI),i=n.data,a=n.dataKey,o=n.clockWise,u=n.id,c=n.textBreakAll,s=Vm(n,DI);return!i||!i.length?null:S.createElement(ne,{className:"recharts-label-list"},i.map(function(f,l){var h=J(a)?r(f,l):Ae(f&&f.payload,a),p=J(u)?{}:{id:"".concat(u,"-").concat(l)};return S.createElement(je,ha({},K(f,!0),s,p,{parentViewBox:f.parentViewBox,value:h,textBreakAll:c,viewBox:je.parseViewBox(J(o)?f:Gm(Gm({},f),{},{clockWise:o})),key:"label-".concat(l),index:l}))}))}Mt.displayName="LabelList";function GI(e,t){return e?e===!0?S.createElement(Mt,{key:"labelList-implicit",data:t}):S.isValidElement(e)||X(e)?S.createElement(Mt,{key:"labelList-implicit",data:t,content:e}):on(e)?S.createElement(Mt,ha({data:t},e,{key:"labelList-implicit"})):null:null}function VI(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=Ye(n,Mt).map(function(o,u){return N.cloneElement(o,{data:t,key:"labelList-".concat(u)})});if(!r)return i;var a=GI(e.label,t);return[a].concat(NI(i))}Mt.renderCallByParent=VI;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 Ff(){return Ff=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 p=pe(r,n,i,o),y=pe(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(p.x,",").concat(p.y," Z")}else h+="L ".concat(r,",").concat(n," Z");return h},QI=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=qe(f-s),h=ki({cx:r,cy:n,radius:a,angle:s,sign:l,cornerRadius:o,cornerIsExternal:c}),p=h.circleTangency,y=h.lineTangency,v=h.theta,d=ki({cx:r,cy:n,radius:a,angle:f,sign:-l,cornerRadius:o,cornerIsExternal:c}),m=d.circleTangency,x=d.lineTangency,w=d.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 + `):BO({cx:r,cy:n,innerRadius:i,outerRadius:a,startAngle:s,endAngle:f});var g="M ".concat(y.x,",").concat(y.y,` + A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(p.x,",").concat(p.y,` + A`).concat(a,",").concat(a,",0,").concat(+(O>180),",").concat(+(l<0),",").concat(m.x,",").concat(m.y,` + A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(x.x,",").concat(x.y,` + `);if(i>0){var b=ki({cx:r,cy:n,radius:i,angle:s,sign:l,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),_=b.circleTangency,A=b.lineTangency,P=b.theta,j=ki({cx:r,cy:n,radius:i,angle:f,sign:-l,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),T=j.circleTangency,E=j.lineTangency,M=j.theta,I=c?Math.abs(s-f):Math.abs(s-f)-P-M;if(I<0&&o===0)return"".concat(g,"L").concat(r,",").concat(n,"Z");g+="L".concat(E.x,",").concat(E.y,` + A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(T.x,",").concat(T.y,` + A`).concat(i,",").concat(i,",0,").concat(+(I>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 g+="L".concat(r,",").concat(n,"Z");return g},eC={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},FO=function(t){var r=Ym(Ym({},eC),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?d=QI({cx:n,cy:i,innerRadius:a,outerRadius:o,cornerRadius:Math.min(v,y/2),forceCornerRadius:c,cornerIsExternal:s,startAngle:f,endAngle:l}):d=BO({cx:n,cy:i,innerRadius:a,outerRadius:o,startAngle:f,endAngle:l}),S.createElement("path",Ff({},K(r,!0),{className:p,d,role:"img"}))};function ni(e){"@babel/helpers - typeof";return ni=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},ni(e)}function Uf(){return Uf=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 bC(e,t){return yr(e.getTime(),t.getTime())}function xC(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function wC(e,t){return e===t}function ub(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,p=u.value;if(r.equals(h[0],p[0],c,l,e,t,r)&&r.equals(h[1],p[1],h[0],p[0],e,t,r)){f=i[l]=!0;break}l++}if(!f)return!1;c++}return!0}var OC=yr;function _C(e,t,r){var n=ob(e),i=n.length;if(ob(t).length!==i)return!1;for(;i-- >0;)if(!UO(e,t,r,n[i]))return!1;return!0}function _n(e,t,r){var n=ib(e),i=n.length;if(ib(t).length!==i)return!1;for(var a,o,u;i-- >0;)if(a=n[i],!UO(e,t,r,a)||(o=ab(e,a),u=ab(t,a),(o||u)&&(!o||!u||o.configurable!==u.configurable||o.enumerable!==u.enumerable||o.writable!==u.writable)))return!1;return!0}function AC(e,t){return yr(e.valueOf(),t.valueOf())}function SC(e,t){return e.source===t.source&&e.flags===t.flags}function cb(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 PC(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 TC(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 UO(e,t,r,n){return(n===gC||n===yC||n===vC)&&(e.$$typeof||t.$$typeof)?!0:dC(t,n)&&r.equals(e[n],t[n],n,n,e,t,r)}var EC="[object Arguments]",jC="[object Boolean]",MC="[object Date]",$C="[object Error]",IC="[object Map]",CC="[object Number]",kC="[object Object]",RC="[object RegExp]",DC="[object Set]",NC="[object String]",qC="[object URL]",LC=Array.isArray,sb=typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView:null,lb=Object.assign,BC=Object.prototype.toString.call.bind(Object.prototype.toString);function FC(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,p=e.unknownTagComparators;return function(v,d,m){if(v===d)return!0;if(v==null||d==null)return!1;var x=typeof v;if(x!==typeof d)return!1;if(x!=="object")return x==="number"?o(v,d,m):x==="function"?i(v,d,m):!1;var w=v.constructor;if(w!==d.constructor)return!1;if(w===Object)return u(v,d,m);if(LC(v))return t(v,d,m);if(sb!=null&&sb(v))return l(v,d,m);if(w===Date)return r(v,d,m);if(w===RegExp)return s(v,d,m);if(w===Map)return a(v,d,m);if(w===Set)return f(v,d,m);var O=BC(v);if(O===MC)return r(v,d,m);if(O===RC)return s(v,d,m);if(O===IC)return a(v,d,m);if(O===DC)return f(v,d,m);if(O===kC)return typeof v.then!="function"&&typeof d.then!="function"&&u(v,d,m);if(O===qC)return h(v,d,m);if(O===$C)return n(v,d,m);if(O===EC)return u(v,d,m);if(O===jC||O===CC||O===NC)return c(v,d,m);if(p){var g=p[O];if(!g){var b=pC(v);b&&(g=p[b])}if(g)return g(v,d,m)}return!1}}function UC(e){var t=e.circular,r=e.createCustomConfig,n=e.strict,i={areArraysEqual:n?_n:mC,areDatesEqual:bC,areErrorsEqual:xC,areFunctionsEqual:wC,areMapsEqual:n?nb(ub,_n):ub,areNumbersEqual:OC,areObjectsEqual:n?_n:_C,arePrimitiveWrappersEqual:AC,areRegExpsEqual:SC,areSetsEqual:n?nb(cb,_n):cb,areTypedArraysEqual:n?_n:PC,areUrlsEqual:TC,unknownTagComparators:void 0};if(r&&(i=lb({},i,r(i))),t){var a=Di(i.areArraysEqual),o=Di(i.areMapsEqual),u=Di(i.areObjectsEqual),c=Di(i.areSetsEqual);i=lb({},i,{areArraysEqual:a,areMapsEqual:o,areObjectsEqual:u,areSetsEqual:c})}return i}function WC(e){return function(t,r,n,i,a,o,u){return e(t,r,u)}}function zC(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,p=f.meta;return r(c,s,{cache:h,equals:i,meta:p,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 KC=Wt();Wt({strict:!0});Wt({circular:!0});Wt({circular:!0,strict:!0});Wt({createInternalComparator:function(){return yr}});Wt({strict:!0,createInternalComparator:function(){return yr}});Wt({circular:!0,createInternalComparator:function(){return yr}});Wt({circular:!0,createInternalComparator:function(){return yr},strict:!0});function Wt(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=UC(e),c=FC(u),s=n?n(c):WC(c);return zC({circular:r,comparator:c,createState:i,equals:s,strict:o})}function HC(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function fb(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 Wf(e){"@babel/helpers - typeof";return Wf=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},Wf(e)}function GC(e){return ZC(e)||YC(e)||XC(e)||VC()}function VC(){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 XC(e,t){if(e){if(typeof e=="string")return hb(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 hb(e,t)}}function hb(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:m<0?0:m},v=function(m){for(var x=m>1?1:m,w=x,O=0;O<8;++O){var g=l(w)-x,b=p(w);if(Math.abs(g-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 p=-(f-l)*n,y=h*a,v=h+(p-y)*u/1e3,d=h*u/1e3+f;return Math.abs(d-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 Ek(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 el(e){return Ik(e)||$k(e)||Mk(e)||jk()}function jk(){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 Mk(e,t){if(e){if(typeof e=="string")return Vf(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 Vf(e,t)}}function $k(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ik(e){if(Array.isArray(e))return Vf(e)}function Vf(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 ya(e){return ya=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ya(e)}var bt=(function(e){Nk(r,e);var t=qk(r);function r(n,i){var a;Ck(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,p=o.duration;if(a.handleStyleChange=a.handleStyleChange.bind(Zf(a)),a.changeStyle=a.changeStyle.bind(Zf(a)),!u||p<=0)return a.state={style:{}},typeof h=="function"&&(a.state={style:f}),Yf(a);if(l&&l.length)a.state={style:l[0].style};else if(s){if(typeof h=="function")return a.state={style:s},Yf(a);a.state={style:c?Tn({},c,s):s}}else a.state={style:{}};return a}return Rk(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 p={style:c?Tn({},c,f):f};this.state&&h&&(c&&h[c]!==f||!c&&h!==f)&&this.setState(p);return}if(!(KC(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 d={style:c?Tn({},c,v):v};(c&&h[c]!==v||!c&&h!==v)&&this.setState(d)}this.runAnimation(at(at({},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,p=Sk(o,u,dk(s),c,this.changeStyle),y=function(){a.stopJSAnimation=p()};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,p=function(v,d,m){if(m===0)return v;var x=d.duration,w=d.easing,O=w===void 0?"ease":w,g=d.style,b=d.properties,_=d.onAnimationEnd,A=m>0?o[m-1]:d,P=b||Object.keys(g);if(typeof O=="function"||O==="spring")return[].concat(el(v),[a.runJSAnimation.bind(a,{from:A.style,to:g,duration:x,easing:O}),x]);var j=vb(P,x,O),T=at(at(at({},A.style),g),{},{transition:j});return[].concat(el(v),[T,x,_]).filter(rk)};return this.manager.start([c].concat(el(o.reduce(p,[f,Math.max(h,u)])),[i.onAnimationEnd]))}},{key:"runAnimation",value:function(i){this.manager||(this.manager=JC());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,p=i.children,y=this.manager;if(this.unSubscribe=y.subscribe(this.handleStyleChange),typeof s=="function"||typeof p=="function"||s==="spring"){this.runJSAnimation(i);return}if(h.length>1){this.runStepAnimation(i);return}var v=u?Tn({},u,c):c,d=vb(Object.keys(v),o,s);y.start([f,a,at(at({},v),{},{transition:d}),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=Tk(i,Pk),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(p){var y=p.props,v=y.style,d=v===void 0?{}:v,m=y.className,x=N.cloneElement(p,at(at({},c),{},{style:at(at({},d),f),className:m}));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);bt.displayName="Animate";bt.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};bt.propTypes={from:oe.oneOfType([oe.object,oe.string]),to:oe.oneOfType([oe.object,oe.string]),attributeName:oe.string,duration:oe.number,begin:oe.number,easing:oe.oneOfType([oe.string,oe.func]),steps:oe.arrayOf(oe.shape({duration:oe.number.isRequired,style:oe.object.isRequired,easing:oe.oneOfType([oe.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),oe.func]),properties:oe.arrayOf("string"),onAnimationEnd:oe.func})),children:oe.oneOfType([oe.node,oe.func]),isActive:oe.bool,canBegin:oe.bool,onAnimationEnd:oe.func,shouldReAnimate:oe.bool,onAnimationStart:oe.func,onAnimationReStart:oe.func};function wb(){return wb=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,p=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},Vk=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},Xk={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Sp=function(t){var r=Ab(Ab({},Xk),t),n=N.useRef(),i=N.useState(-1),a=Bk(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,p=r.className,y=r.animationEasing,v=r.animationDuration,d=r.animationBegin,m=r.isAnimationActive,x=r.isUpdateAnimationActive;if(c!==+c||s!==+s||f!==+f||l!==+l||f===0||l===0)return null;var w=te("recharts-rectangle",p);return x?S.createElement(bt,{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 g=O.width,b=O.height,_=O.x,A=O.y;return S.createElement(bt,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:d,duration:v,isActive:m,easing:y},S.createElement("path",ga({},K(r,!0),{className:w,d:Sb(_,A,g,b,h),ref:n})))}):S.createElement("path",ga({},K(r,!0),{className:w,d:Sb(c,s,f,l,h)}))},Yk=["points","className","baseLinePoints","connectNulls"];function Ar(){return Ar=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 Jk(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 Pb(e){return rR(e)||tR(e)||eR(e)||Qk()}function Qk(){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 eR(e,t){if(e){if(typeof e=="string")return Jf(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 Jf(e,t)}}function tR(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function rR(e){if(Array.isArray(e))return Jf(e)}function Jf(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){Tb(n)?r[r.length-1].push(n):r[r.length-1].length>0&&r.push([])}),Tb(t[0])&&r[r.length-1].push(t[0]),r[r.length-1].length<=0&&(r=r.slice(0,-1)),r},Cn=function(t,r){var n=nR(t);r&&(n=[n.reduce(function(a,o){return[].concat(Pb(a),Pb(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},iR=function(t,r,n){var i=Cn(t,n);return"".concat(i.slice(-1)==="Z"?i.slice(0,-1):i,"L").concat(Cn(r.reverse(),n).slice(1))},aR=function(t){var r=t.points,n=t.className,i=t.baseLinePoints,a=t.connectNulls,o=Zk(t,Yk);if(!r||!r.length)return null;var u=te("recharts-polygon",n);if(i&&i.length){var c=o.stroke&&o.stroke!=="none",s=iR(r,i,a);return S.createElement("g",{className:u},S.createElement("path",Ar({},K(o,!0),{fill:s.slice(-1)==="Z"?o.fill:"none",stroke:"none",d:s})),c?S.createElement("path",Ar({},K(o,!0),{fill:"none",d:Cn(r,a)})):null,c?S.createElement("path",Ar({},K(o,!0),{fill:"none",d:Cn(i,a)})):null)}var f=Cn(r,a);return S.createElement("path",Ar({},K(o,!0),{fill:f.slice(-1)==="Z"?o.fill:"none",className:u,d:f}))};function Qf(){return Qf=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 hR(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 pR=function(t,r,n,i,a,o){return"M".concat(t,",").concat(a,"v").concat(i,"M").concat(o,",").concat(r,"h").concat(n)},dR=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,p=h===void 0?0:h,y=t.className,v=fR(t,oR),d=uR({x:n,y:a,top:u,left:s,width:l,height:p},v);return!q(n)||!q(a)||!q(l)||!q(p)||!q(u)||!q(s)?null:S.createElement("path",eh({},K(d,!0),{className:te("recharts-cross",y),d:pR(n,a,l,p,u,s)}))},tl,jb;function vR(){if(jb)return tl;jb=1;var e=no(),t=sO(),r=xt();function n(i,a){return i&&i.length?e(i,r(a,2),t):void 0}return tl=n,tl}var yR=vR();const gR=ce(yR);var rl,Mb;function mR(){if(Mb)return rl;Mb=1;var e=no(),t=xt(),r=lO();function n(i,a){return i&&i.length?e(i,t(a,2),r):void 0}return rl=n,rl}var bR=mR();const xR=ce(bR);var wR=["cx","cy","angle","ticks","axisLine"],OR=["ticks","tick","angle","tickFormatter","stroke"];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 kn(){return kn=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 _R(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 AR(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Cb(e,t){for(var r=0;rDb?o=i==="outer"?"start":"end":a<-Db?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=Yt(Yt({},K(this.props,!1)),{},{fill:"none"},K(u,!1));if(c==="circle")return S.createElement(co,Qt({className:"recharts-polar-angle-axis-line"},s,{cx:i,cy:a,r:o}));var f=this.props.ticks,l=f.map(function(h){return pe(i,a,o,h.coordinate)});return S.createElement(aR,Qt({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=K(this.props,!1),l=K(o,!1),h=Yt(Yt({},f),{},{fill:"none"},K(u,!1)),p=a.map(function(y,v){var d=n.getTickLineCoord(y),m=n.getTickTextAnchor(y),x=Yt(Yt(Yt({textAnchor:m},f),{},{stroke:"none",fill:s},l),{},{index:v,payload:y,x:d.x2,y:d.y2});return S.createElement(ne,Qt({className:te("recharts-polar-angle-axis-tick",qO(o)),key:"tick-".concat(y.coordinate)},cr(n.props,y,v)),u&&S.createElement("line",Qt({className:"recharts-polar-angle-axis-tick-line"},h,d)),o&&t.renderTickItem(o,x,c?c(y.value,v):y.value))});return S.createElement(ne,{className:"recharts-polar-angle-axis-ticks"},p)}},{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(ne,{className:te("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(sr,Qt({},i,{className:"recharts-polar-angle-axis-tick-value"}),a),o}}])})(N.PureComponent);fo(ho,"displayName","PolarAngleAxis");fo(ho,"axisType","angleAxis");fo(ho,"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 nl,Nb;function Pp(){if(Nb)return nl;Nb=1;var e=iw(),t=e(Object.getPrototypeOf,Object);return nl=t,nl}var il,qb;function LR(){if(qb)return il;qb=1;var e=kt(),t=Pp(),r=ft(),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 il=s,il}var BR=LR();const FR=ce(BR);var al,Lb;function UR(){if(Lb)return al;Lb=1;var e=kt(),t=ft(),r="[object Boolean]";function n(i){return i===!0||i===!1||t(i)&&e(i)==r}return al=n,al}var WR=UR();const zR=ce(WR);function ci(e){"@babel/helpers - typeof";return ci=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},ci(e)}function xa(){return xa=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:m},function(w){var O=w.upperWidth,g=w.lowerWidth,b=w.height,_=w.x,A=w.y;return S.createElement(bt,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:d,duration:v,easing:y},S.createElement("path",xa({},K(r,!0),{className:x,d:Wb(_,A,O,g,b),ref:n})))}):S.createElement("g",null,S.createElement("path",xa({},K(r,!0),{className:x,d:Wb(c,s,f,l,h)})))},tD=["option","shapeType","propTransformer","activeClassName","isActive"];function si(e){"@babel/helpers - typeof";return si=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},si(e)}function rD(e,t){if(e==null)return{};var r=nD(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 nD(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 zb(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 wa(e){for(var t=1;t0?Xe(w,"paddingAngle",0):0;if(g){var _=Ge(g.endAngle-g.startAngle,w.endAngle-w.startAngle),A=fe(fe({},w),{},{startAngle:x+b,endAngle:x+_(v)+b});d.push(A),x=A.endAngle}else{var P=w.endAngle,j=w.startAngle,T=Ge(0,P-j),E=T(v),M=fe(fe({},w),{},{startAngle:x+b,endAngle:x+E+b});d.push(M),x=M.endAngle}}),S.createElement(ne,null,n.renderSectorsStatically(d))})}},{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||!Oi(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,p=i.isAnimationActive,y=this.state.isAnimationFinished;if(a||!o||!o.length||!q(s)||!q(f)||!q(l)||!q(h))return null;var v=te("recharts-pie",u);return S.createElement(ne,{tabIndex:this.props.rootTabIndex,className:v,ref:function(m){n.pieRef=m}},this.renderSectors(),c&&this.renderLabels(o),je.renderCallByParent(this.props,null,!1),(!p||y)&&Mt.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=d-x*p-w,g=i.reduce(function(A,P){var j=Ae(P,m,0);return A+(q(j)?j:0)},0),b;if(g>0){var _;b=i.map(function(A,P){var j=Ae(A,m,0),T=Ae(A,f,P),E=(q(j)?j:0)/g,M;P?M=_.endAngle+qe(v)*c*(j!==0?1:0):M=o;var I=M+qe(v)*((j!==0?p:0)+E*O),$=(M+I)/2,k=(y.innerRadius+y.outerRadius)/2,R=[{name:T,value:j,payload:A,dataKey:m,type:h}],L=pe(y.cx,y.cy,k,$);return _=fe(fe(fe({percent:E,cornerRadius:a,name:T,tooltipPayload:R,midAngle:$,middleRadius:k,tooltipPosition:L},A),y),{},{value:Ae(A,m),startAngle:M,endAngle:I,payload:A,paddingAngle:qe(v)*c}),_})}return fe(fe({},y),{},{sectors:b,data:i})});var ol,Vb;function AD(){if(Vb)return ol;Vb=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 ol=r,ol}var ul,Xb;function r_(){if(Xb)return ul;Xb=1;var e=Ow(),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 ul=n,ul}var cl,Yb;function SD(){if(Yb)return cl;Yb=1;var e=AD(),t=Ya(),r=r_();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])}),Ke(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()}),Ke(n,"handleLeaveWrapper",function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=window.setTimeout(n.handleDragEnd,n.props.leaveTimeOut))}),Ke(n,"handleEnterSlideOrTraveller",function(){n.setState({isTextActive:!0})}),Ke(n,"handleLeaveSlideOrTraveller",function(){n.setState({isTextActive:!1})}),Ke(n,"handleSlideDragStart",function(i){var a=r0(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 ND(t,e),CD(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),p=t.getIndexInRange(o,l),y=t.getIndexInRange(o,h);return{startIndex:p-p%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=Ae(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,p=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 d=this.getIndex({startX:o+v,endX:u+v});(d.startIndex!==h||d.endIndex!==p)&&y&&y(d),this.setState({startX:o+v,endX:u+v,slideMoveStartX:n.pageX})}},{key:"handleTravellerDragStart",value:function(n,i){var a=r0(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,p=f.travellerWidth,y=f.onChange,v=f.gap,d=f.data,m={startX:this.state.startX,endX:this.state.endX},x=n.pageX-a;x>0?x=Math.min(x,l+h-p-s):x<0&&(x=Math.max(x,l-s)),m[o]=s+x;var w=this.getIndex(m),O=w.startIndex,g=w.endIndex,b=function(){var A=d.length-1;return o==="startX"&&(u>c?O%v===0:g%v===0)||uc?g%v===0:O%v===0)||u>c&&g===A};this.setState(Ke(Ke({},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 p=u[h];i==="startX"&&p>=s||i==="endX"&&p<=c||this.setState(Ke({},i,p),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,p=c.ariaLabel,y=c.data,v=c.startIndex,d=c.endIndex,m=Math.max(n,this.props.x),x=ll(ll({},K(this.props,!1)),{},{x:m,y:s,width:f,height:l}),w=p||"Min value: ".concat((a=y[v])===null||a===void 0?void 0:a.name,", Max value: ").concat((o=y[d])===null||o===void 0?void 0:o.name);return S.createElement(ne,{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(g){["ArrowLeft","ArrowRight"].includes(g.key)&&(g.preventDefault(),g.stopPropagation(),u.handleTravellerMoveKeyboard(g.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,p=5,y={pointerEvents:"none",fill:s};return S.createElement(ne,{className:"recharts-brush-texts"},S.createElement(sr,Aa({textAnchor:"end",verticalAnchor:"middle",x:Math.min(l,h)-p,y:o+u/2},y),this.getTextOfTick(i)),S.createElement(sr,Aa({textAnchor:"start",verticalAnchor:"middle",x:Math.max(l,h)+c+p,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,p=h.startX,y=h.endX,v=h.isTextActive,d=h.isSlideMoving,m=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=te("recharts-brush",a),O=S.Children.count(o)===1,g=$D("userSelect","none");return S.createElement(ne,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:g},this.renderBackground(),O&&this.renderPanorama(),this.renderSlide(p,y),this.renderTravellerLayer(p,"startX"),this.renderTravellerLayer(y,"endX"),(v||d||m||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 ll({prevData:a,prevTravellerWidth:c,prevUpdateId:s,prevX:u,prevWidth:o},a&&a.length?LD({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(p){return i.scale(p)});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);Ke(Hr,"displayName","Brush");Ke(Hr,"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 fl,n0;function BD(){if(n0)return fl;n0=1;var e=Yh();function t(r,n){var i;return e(r,function(a,o,u){return i=n(a,o,u),!i}),!!i}return fl=t,fl}var hl,i0;function FD(){if(i0)return hl;i0=1;var e=Yx(),t=xt(),r=BD(),n=Fe(),i=Ya();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 hl=a,hl}var UD=FD();const WD=ce(UD);var gt=function(t,r){var n=t.alwaysShow,i=t.ifOverflow;return n&&(i="extendDomain"),i===r},pl,a0;function Tp(){if(a0)return pl;a0=1;var e=yw();function t(r,n,i){n=="__proto__"&&e?e(r,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):r[n]=i}return pl=t,pl}var dl,o0;function zD(){if(o0)return dl;o0=1;var e=Tp(),t=pw(),r=xt();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 dl=n,dl}var KD=zD();const HD=ce(KD);var vl,u0;function GD(){if(u0)return vl;u0=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 rN(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 nN(e,t){var r=e.x,n=e.y,i=tN(e,ZD),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 An(An(An(An(An({},t),i),o?{x:o}:{}),c?{y:c}:{}),{},{height:f,width:h,name:t.name,radius:t.radius})}function f0(e){return S.createElement(QO,ah({shapeType:"rectangle",propTransformer:nN,activeClassName:"recharts-active-bar"},e))}var iN=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)||D1(n);return a?t(n,i):(a||or(!1),r)}},aN=["value","background"],u_;function Gr(e){"@babel/helpers - typeof";return Gr=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},Gr(e)}function oN(e,t){if(e==null)return{};var r=uN(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 uN(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 Pa(){return Pa=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs($)0&&Math.abs(I)0&&(M=Math.min((se||0)-(I[me-1]||0),M))}),Number.isFinite(M)){var $=M/E,k=v.layout==="vertical"?n.height:n.width;if(v.padding==="gap"&&(_=$*k/2),v.padding==="no-gap"){var R=Le(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,g&&(A=[A[1],A[0]]);var B=$O(v,a,h),z=B.scale,H=B.realScaleType;z.domain(m).range(A),IO(z);var U=CO(z,ot(ot({},v),{},{realScaleType:H}));i==="xAxis"?(T=d==="top"&&!O||d==="bottom"&&O,P=n.left,j=l[b]-T*v.height):i==="yAxis"&&(T=d==="left"&&!O||d==="right"&&O,P=l[b]-T*v.width,j=n.top);var G=ot(ot(ot({},v),U),{},{realScaleType:H,x:P,y:j,scale:z,width:i==="xAxis"?n.width:v.width,height:i==="yAxis"?n.height:v.height});return G.bandSize=la(G,U),!v.hide&&i==="xAxis"?l[b]+=(T?-1:1)*G.height:v.hide||(l[b]+=(T?-1:1)*G.width),ot(ot({},p),{},yo({},y,G))},{})},h_=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)}},mN=function(t){var r=t.x1,n=t.y1,i=t.x2,a=t.y2;return h_({x:r,y:n},{x:i,y:a})},p_=(function(){function e(t){vN(this,e),this.scale=t}return yN(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)}}])})();yo(p_,"EPS",1e-4);var Ep=function(t){var r=Object.keys(t).reduce(function(n,i){return ot(ot({},n),{},yo({},i,p_.create(t[i])))},{});return ot(ot({},r),{},{apply:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=a.bandAware,u=a.position;return HD(i,function(c,s){return r[s].apply(c,{bandAware:o,position:u})})},isInRange:function(i){return o_(i,function(a,o){return r[o].isInRange(a)})}})};function bN(e){return(e%180+180)%180}var xN=function(t){var r=t.width,n=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=bN(i),o=a*Math.PI/180,u=Math.atan(n/r),c=o>u&&o-1?c[s?a[f]:f]:void 0}}return ml=n,ml}var bl,g0;function ON(){if(g0)return bl;g0=1;var e=r_();function t(r){var n=e(r),i=n%1;return n===n?i?n-i:n:0}return bl=t,bl}var xl,m0;function _N(){if(m0)return xl;m0=1;var e=sw(),t=xt(),r=ON(),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 xl=i,xl}var wl,b0;function AN(){if(b0)return wl;b0=1;var e=wN(),t=_N(),r=e(t);return wl=r,wl}var SN=AN();const PN=ce(SN);var TN=Ax();const EN=ce(TN);var jN=EN(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("")}),jp=N.createContext(void 0),Mp=N.createContext(void 0),d_=N.createContext(void 0),v_=N.createContext({}),y_=N.createContext(void 0),g_=N.createContext(0),m_=N.createContext(0),x0=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=jN(a);return S.createElement(jp.Provider,{value:n},S.createElement(Mp.Provider,{value:i},S.createElement(v_.Provider,{value:a},S.createElement(d_.Provider,{value:f},S.createElement(y_.Provider,{value:o},S.createElement(g_.Provider,{value:s},S.createElement(m_.Provider,{value:c},u)))))))},MN=function(){return N.useContext(y_)},b_=function(t){var r=N.useContext(jp);r==null&&or(!1);var n=r[t];return n==null&&or(!1),n},$N=function(){var t=N.useContext(jp);return qt(t)},IN=function(){var t=N.useContext(Mp),r=PN(t,function(n){return o_(n.domain,Number.isFinite)});return r||qt(t)},x_=function(t){var r=N.useContext(Mp);r==null&&or(!1);var n=r[t];return n==null&&or(!1),n},CN=function(){var t=N.useContext(d_);return t},kN=function(){return N.useContext(v_)},$p=function(){return N.useContext(m_)},Ip=function(){return N.useContext(g_)};function Vr(e){"@babel/helpers - typeof";return Vr=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},Vr(e)}function RN(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function DN(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 gq(e,t){return T_(e,t+1)}function mq(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:T_(n,s)};var v=c,d,m=function(){return d===void 0&&(d=r(y,v)),d},x=y.coordinate,w=c===0||$a(e,x,m,f,u);w||(c=0,f=o,s+=1),w&&(f=x+e*(m()/2+i),c+=s)},h;s<=a.length;)if(h=l(),h)return h.v;return[]}function di(e){"@babel/helpers - typeof";return di=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},di(e)}function E0(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 ke(e){for(var t=1;t0?p.coordinate-d*e:p.coordinate})}else a[h]=p=ke(ke({},p),{},{tickCoord:p.coordinate});var m=$a(e,p.tickCoord,v,u,c);m&&(c=p.tickCoord-e*(v()/2+i),a[h]=ke(ke({},p),{},{isShow:!0}))},f=o-1;f>=0;f--)s(f);return a}function _q(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=ke(ke({},f),{},{tickCoord:h>0?f.coordinate-h*e:f.coordinate});var p=$a(e,f.tickCoord,function(){return l},c,s);p&&(s=f.tickCoord-e*(l/2+i),o[u-1]=ke(ke({},f),{},{isShow:!0}))}for(var y=a?u-1:u,v=function(x){var w=o[x],O,g=function(){return O===void 0&&(O=r(w,x)),O};if(x===0){var b=e*(w.coordinate-e*g()/2-c);o[x]=w=ke(ke({},w),{},{tickCoord:b<0?w.coordinate-b*e:w.coordinate})}else o[x]=w=ke(ke({},w),{},{tickCoord:w.coordinate});var _=$a(e,w.tickCoord,g,c,s);_&&(c=w.tickCoord+e*(g()/2+i),o[x]=ke(ke({},w),{},{isShow:!0}))},d=0;d=2?qe(i[1].coordinate-i[0].coordinate):1,m=yq(a,d,p);return c==="equidistantPreserveStart"?mq(d,m,v,i,o):(c==="preserveStart"||c==="preserveStartEnd"?h=_q(d,m,v,i,o,c==="preserveStartEnd"):h=Oq(d,m,v,i,o),h.filter(function(x){return x.isShow}))}var Aq=["viewBox"],Sq=["viewBox"],Pq=["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 Pr(){return Pr=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 Tq(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 Eq(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function M0(e,t){for(var r=0;r0?c(this.props):c(p)),o<=0||u<=0||!y||!y.length?null:S.createElement(ne,{className:te("recharts-cartesian-axis",s),ref:function(d){n.layerReference=d}},a&&this.renderAxisLine(),this.renderTicks(y,this.state.fontSize,this.state.letterSpacing),je.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(n,i,a){var o,u=te(i.className,"recharts-cartesian-axis-tick-value");return S.isValidElement(n)?o=S.cloneElement(n,Oe(Oe({},i),{},{className:u})):X(n)?o=n(Oe(Oe({},i),{},{className:u})):o=S.createElement(sr,Pr({},i,{className:"recharts-cartesian-axis-tick-value"}),a),o}}])})(N.Component);Dp(vn,"displayName","CartesianAxis");Dp(vn,"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 Rq=["x1","y1","x2","y2","key"],Dq=["offset"];function fr(e){"@babel/helpers - typeof";return fr=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},fr(e)}function $0(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 Re(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Bq(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 Fq=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 M_(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=I0(t,Rq),s=K(c,!1);s.offset;var f=I0(s,Dq);r=S.createElement("line",nr({},f,{x1:n,y1:i,x2:a,y2:o,fill:"none",key:u}))}return r}function Uq(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=Re(Re({},e),{},{x1:t,y1:u,x2:t+r,y2:u,key:"line-".concat(c),index:c});return M_(i,s)});return S.createElement("g",{className:"recharts-cartesian-grid-horizontal"},o)}function Wq(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=Re(Re({},e),{},{x1:u,y1:t,x2:u,y2:t+r,key:"line-".concat(c),index:c});return M_(i,s)});return S.createElement("g",{className:"recharts-cartesian-grid-vertical"},o)}function zq(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,p){return h-p});i!==f[0]&&f.unshift(0);var l=f.map(function(h,p){var y=!f[p+1],v=y?i+o-h:f[p+1]-h;if(v<=0)return null;var d=p%t.length;return S.createElement("rect",{key:"react-".concat(p),y:h,x:n,height:v,width:a,stroke:"none",fill:t[d],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return S.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},l)}function Kq(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,p){return h-p});a!==f[0]&&f.unshift(0);var l=f.map(function(h,p){var y=!f[p+1],v=y?a+u-h:f[p+1]-h;if(v<=0)return null;var d=p%n.length;return S.createElement("rect",{key:"react-".concat(p),x:h,y:o,width:v,height:c,stroke:"none",fill:n[d],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return S.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},l)}var Hq=function(t,r){var n=t.xAxis,i=t.width,a=t.height,o=t.offset;return MO(Rp(Re(Re(Re({},vn.defaultProps),n),{},{ticks:Tt(n,!0),viewBox:{x:0,y:0,width:i,height:a}})),o.left,o.left+o.width,r)},Gq=function(t,r){var n=t.yAxis,i=t.width,a=t.height,o=t.offset;return MO(Rp(Re(Re(Re({},vn.defaultProps),n),{},{ticks:Tt(n,!0),viewBox:{x:0,y:0,width:i,height:a}})),o.top,o.top+o.height,r)},wr={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function Vq(e){var t,r,n,i,a,o,u=$p(),c=Ip(),s=kN(),f=Re(Re({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:wr.stroke,fill:(r=e.fill)!==null&&r!==void 0?r:wr.fill,horizontal:(n=e.horizontal)!==null&&n!==void 0?n:wr.horizontal,horizontalFill:(i=e.horizontalFill)!==null&&i!==void 0?i:wr.horizontalFill,vertical:(a=e.vertical)!==null&&a!==void 0?a:wr.vertical,verticalFill:(o=e.verticalFill)!==null&&o!==void 0?o:wr.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,p=f.width,y=f.height,v=f.syncWithTicks,d=f.horizontalValues,m=f.verticalValues,x=$N(),w=IN();if(!q(p)||p<=0||!q(y)||y<=0||!q(l)||l!==+l||!q(h)||h!==+h)return null;var O=f.verticalCoordinatesGenerator||Hq,g=f.horizontalCoordinatesGenerator||Gq,b=f.horizontalPoints,_=f.verticalPoints;if((!b||!b.length)&&X(g)){var A=d&&d.length,P=g({yAxis:w?Re(Re({},w),{},{ticks:A?d:w.ticks}):void 0,width:u,height:c,offset:s},A?!0:v);st(Array.isArray(P),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(fr(P),"]")),Array.isArray(P)&&(b=P)}if((!_||!_.length)&&X(O)){var j=m&&m.length,T=O({xAxis:x?Re(Re({},x),{},{ticks:j?m:x.ticks}):void 0,width:u,height:c,offset:s},j?!0:v);st(Array.isArray(T),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(fr(T),"]")),Array.isArray(T)&&(_=T)}return S.createElement("g",{className:"recharts-cartesian-grid"},S.createElement(Fq,{fill:f.fill,fillOpacity:f.fillOpacity,x:f.x,y:f.y,width:f.width,height:f.height,ry:f.ry}),S.createElement(Uq,nr({},f,{offset:s,horizontalPoints:b,xAxis:x,yAxis:w})),S.createElement(Wq,nr({},f,{offset:s,verticalPoints:_,xAxis:x,yAxis:w})),S.createElement(zq,nr({},f,{horizontalPoints:b})),S.createElement(Kq,nr({},f,{verticalPoints:_})))}Vq.displayName="CartesianGrid";var Xq=["type","layout","connectNulls","ref"],Yq=["key"];function Jr(e){"@babel/helpers - typeof";return Jr=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},Jr(e)}function C0(e,t){if(e==null)return{};var r=Zq(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 Zq(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 Rn(){return Rn=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){p=[].concat(Or(c.slice(0,y)),[l-v]);break}var d=p.length%2===0?[0,h]:[h];return[].concat(Or(t.repeat(c,f)),Or(p),d).map(function(m){return"".concat(m,"px")}).join(", ")}),ut(r,"id",un("recharts-line-")),ut(r,"pathRef",function(o){r.mainCurve=o}),ut(r,"handleAnimationEnd",function(){r.setState({isAnimationFinished:!0}),r.props.onAnimationEnd&&r.props.onAnimationEnd()}),ut(r,"handleAnimationStart",function(){r.setState({isAnimationFinished:!1}),r.props.onAnimationStart&&r.props.onAnimationStart()}),r}return u2(t,e),n2(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=Ye(f,_i);if(!l)return null;var h=function(v,d){return{x:v.x,y:v.y,value:v.value,errorVal:Ae(v.payload,d)}},p={clipPath:n?"url(#clipPath-".concat(i,")"):null};return S.createElement(ne,p,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=K(this.props,!1),h=K(c,!0),p=s.map(function(v,d){var m=ze(ze(ze({key:"dot-".concat(d),r:3},l),h),{},{index:d,cx:v.x,cy:v.y,value:v.value,dataKey:f,payload:v.payload,points:s});return t.renderDotItem(c,m)}),y={clipPath:n?"url(#clipPath-".concat(i?"":"dots-").concat(a,")"):null};return S.createElement(ne,Rn({className:"recharts-line-dots",key:"dots"},y),p)}},{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=C0(u,Xq),h=ze(ze(ze({},K(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(pa,Rn({},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,p=o.animationId,y=o.animateNewValues,v=o.width,d=o.height,m=this.state,x=m.prevPoints,w=m.totalLength;return S.createElement(bt,{begin:f,duration:l,isActive:s,easing:h,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(O){var g=O.t;if(x){var b=x.length/u.length,_=u.map(function(E,M){var I=Math.floor(M*b);if(x[I]){var $=x[I],k=Ge($.x,E.x),R=Ge($.y,E.y);return ze(ze({},E),{},{x:k(g),y:R(g)})}if(y){var L=Ge(v*2,E.x),B=Ge(d/2,E.y);return ze(ze({},E),{},{x:L(g),y:B(g)})}return ze(ze({},E),{},{x:E.x,y:E.y})});return a.renderCurveStatically(_,n,i)}var A=Ge(0,w),P=A(g),j;if(c){var T="".concat(c).split(/[,\s]+/gim).map(function(E){return parseFloat(E)});j=a.getStrokeDasharray(P,w,T)}else j=a.generateSimpleStrokeDasharray(w,P);return a.renderCurveStatically(u,n,i,{strokeDasharray:j})})}},{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||!Oi(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,p=i.width,y=i.height,v=i.isAnimationActive,d=i.id;if(a||!u||!u.length)return null;var m=this.state.isAnimationFinished,x=u.length===1,w=te("recharts-line",c),O=s&&s.allowDataOverflow,g=f&&f.allowDataOverflow,b=O||g,_=J(d)?this.id:d,A=(n=K(o,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},P=A.r,j=P===void 0?3:P,T=A.strokeWidth,E=T===void 0?2:T,M=V1(o)?o:{},I=M.clipDot,$=I===void 0?!0:I,k=j*2+E;return S.createElement(ne,{className:w},O||g?S.createElement("defs",null,S.createElement("clipPath",{id:"clipPath-".concat(_)},S.createElement("rect",{x:O?h:h-p/2,y:g?l:l-y/2,width:O?p:p*2,height:g?y:y*2})),!$&&S.createElement("clipPath",{id:"clipPath-dots-".concat(_)},S.createElement("rect",{x:h-k/2,y:l-k/2,width:p+k,height:y+k}))):null,!x&&this.renderCurve(b,_),this.renderErrorBar(b,_),(x||o)&&this.renderDots(b,$,_),(!v||m)&&Mt.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(Or(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 Z2(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 J2(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Q2(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 K_(e){return e==="number"?[0,"auto"]:void 0}var Ah=function(t,r,n,i){var a=t.graphicalItems,o=t.tooltipAxis,u=Ao(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 p=l===void 0?u:l;h=Bi(p,o.dataKey,i)}else h=l&&l[n]||u[n];return h?[].concat(rn(c),[RO(s,h)]):c},[])},U0=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=fL(a,n),u=t.orderedTooltipTicks,c=t.tooltipAxis,s=t.tooltipTicks,f=q$(o,u,s,c);if(f>=0&&s){var l=s[f]&&s[f].value,h=Ah(t,r,f,l),p=hL(n,u,f,a);return{activeTooltipIndex:f,activeLabel:l,activePayload:h,activeCoordinate:p}}return null},pL=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,p=jO(f,a);return n.reduce(function(y,v){var d,m=v.type.defaultProps!==void 0?C(C({},v.type.defaultProps),v.props):v.props,x=m.type,w=m.dataKey,O=m.allowDataOverflow,g=m.allowDuplicatedCategory,b=m.scale,_=m.ticks,A=m.includeHidden,P=m[o];if(y[P])return y;var j=Ao(t.data,{graphicalItems:i.filter(function(U){var G,se=o in U.props?U.props[o]:(G=U.type.defaultProps)===null||G===void 0?void 0:G[o];return se===P}),dataStartIndex:c,dataEndIndex:s}),T=j.length,E,M,I;L2(m.domain,O,x)&&(E=qf(m.domain,null,O),p&&(x==="number"||b!=="auto")&&(I=$n(j,w,"category")));var $=K_(x);if(!E||E.length===0){var k,R=(k=m.domain)!==null&&k!==void 0?k:$;if(w){if(E=$n(j,w,x),x==="category"&&p){var L=q1(E);g&&L?(M=E,E=_a(0,T)):g||(E=Bm(R,E,v).reduce(function(U,G){return U.indexOf(G)>=0?U:[].concat(rn(U),[G])},[]))}else if(x==="category")g?E=E.filter(function(U){return U!==""&&!J(U)}):E=Bm(R,E,v).reduce(function(U,G){return U.indexOf(G)>=0||G===""||J(G)?U:[].concat(rn(U),[G])},[]);else if(x==="number"){var B=W$(j,i.filter(function(U){var G,se,me=o in U.props?U.props[o]:(G=U.type.defaultProps)===null||G===void 0?void 0:G[o],De="hide"in U.props?U.props.hide:(se=U.type.defaultProps)===null||se===void 0?void 0:se.hide;return me===P&&(A||!De)}),w,a,f);B&&(E=B)}p&&(x==="number"||b!=="auto")&&(I=$n(j,w,"category"))}else p?E=_a(0,T):u&&u[P]&&u[P].hasStack&&x==="number"?E=h==="expand"?[0,1]:kO(u[P].stackGroups,c,s):E=EO(j,i.filter(function(U){var G=o in U.props?U.props[o]:U.type.defaultProps[o],se="hide"in U.props?U.props.hide:U.type.defaultProps.hide;return G===P&&(A||!se)}),x,f,!0);if(x==="number")E=wh(l,E,P,a,_),R&&(E=qf(R,E,O));else if(x==="category"&&R){var z=R,H=E.every(function(U){return z.indexOf(U)>=0});H&&(E=z)}}return C(C({},y),{},V({},P,C(C({},m),{},{axisType:a,domain:E,categoricalDomain:I,duplicateDomain:M,originalDomain:(d=m.domain)!==null&&d!==void 0?d:$,isCategorical:p,layout:f})))},{})},dL=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=Ao(t.data,{graphicalItems:n,dataStartIndex:c,dataEndIndex:s}),p=h.length,y=jO(f,a),v=-1;return n.reduce(function(d,m){var x=m.type.defaultProps!==void 0?C(C({},m.type.defaultProps),m.props):m.props,w=x[o],O=K_("number");if(!d[w]){v++;var g;return y?g=_a(0,p):u&&u[w]&&u[w].hasStack?(g=kO(u[w].stackGroups,c,s),g=wh(l,g,w,a)):(g=qf(O,EO(h,n.filter(function(b){var _,A,P=o in b.props?b.props[o]:(_=b.type.defaultProps)===null||_===void 0?void 0:_[o],j="hide"in b.props?b.props.hide:(A=b.type.defaultProps)===null||A===void 0?void 0:A.hide;return P===w&&!j}),"number",f),i.defaultProps.allowDataOverflow),g=wh(l,g,w,a)),C(C({},d),{},V({},w,C(C({axisType:a},i.defaultProps),{},{hide:!0,orientation:Xe(sL,"".concat(a,".").concat(v%2),null),domain:g,originalDomain:O,isCategorical:y,layout:f})))}return d},{})},vL=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=Ye(f,a),p={};return h&&h.length?p=pL(t,{axes:h,graphicalItems:o,axisType:i,axisIdKey:l,stackGroups:u,dataStartIndex:c,dataEndIndex:s}):o&&o.length&&(p=dL(t,{Axis:a,graphicalItems:o,axisType:i,axisIdKey:l,stackGroups:u,dataStartIndex:c,dataEndIndex:s})),p},yL=function(t){var r=qt(t),n=Tt(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:Zh(n,function(i){return i.coordinate}),tooltipAxis:r,tooltipAxisBandSize:la(r,n)}},W0=function(t){var r=t.children,n=t.defaultShowTooltip,i=He(r,Hr),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}},gL=function(t){return!t||!t.length?!1:t.some(function(r){var n=Et(r&&r.type);return n&&n.indexOf("Bar")>=0})},z0=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"}},mL=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||{},p=He(l,Hr),y=He(l,jr),v=Object.keys(c).reduce(function(g,b){var _=c[b],A=_.orientation;return!_.mirror&&!_.hide?C(C({},g),{},V({},A,g[A]+_.width)):g},{left:h.left||0,right:h.right||0}),d=Object.keys(o).reduce(function(g,b){var _=o[b],A=_.orientation;return!_.mirror&&!_.hide?C(C({},g),{},V({},A,Xe(g,"".concat(A))+_.height)):g},{top:h.top||0,bottom:h.bottom||0}),m=C(C({},d),v),x=m.bottom;p&&(m.bottom+=p.props.height||Hr.defaultProps.height),y&&r&&(m=F$(m,i,n,r));var w=s-m.left-m.right,O=f-m.top-m.bottom;return C(C({brushBottom:x},m),{},{width:Math.max(w,0),height:Math.max(O,0)})},bL=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},Np=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(m,x){var w=x.graphicalItems,O=x.stackGroups,g=x.offset,b=x.updateId,_=x.dataStartIndex,A=x.dataEndIndex,P=m.barSize,j=m.layout,T=m.barGap,E=m.barCategoryGap,M=m.maxBarSize,I=z0(j),$=I.numericAxisName,k=I.cateAxisName,R=gL(w),L=[];return w.forEach(function(B,z){var H=Ao(m.data,{graphicalItems:[B],dataStartIndex:_,dataEndIndex:A}),U=B.type.defaultProps!==void 0?C(C({},B.type.defaultProps),B.props):B.props,G=U.dataKey,se=U.maxBarSize,me=U["".concat($,"Id")],De=U["".concat(k,"Id")],wt={},Ie=c.reduce(function(Ze,Ce){var Te=x["".concat(Ce.axisType,"Map")],Kt=U["".concat(Ce.axisType,"Id")];Te&&Te[Kt]||Ce.axisType==="zAxis"||or(!1);var Ht=Te[Kt];return C(C({},Ze),{},V(V({},Ce.axisType,Ht),"".concat(Ce.axisType,"Ticks"),Tt(Ht)))},wt),F=Ie[k],Q=Ie["".concat(k,"Ticks")],ee=O&&O[me]&&O[me].hasStack&&J$(B,O[me].stackGroups),D=Et(B.type).indexOf("Bar")>=0,ve=la(F,Q),re=[],Y=R&&L$({barSize:P,stackGroups:O,totalSize:bL(Ie,k)});if(D){var ye,Z,Ne=J(se)?M:se,We=(ye=(Z=la(F,Q,!0))!==null&&Z!==void 0?Z:Ne)!==null&&ye!==void 0?ye:0;re=B$({barGap:T,barCategoryGap:E,bandSize:We!==ve?We:ve,sizeList:Y[De],maxBarSize:Ne}),We!==ve&&(re=re.map(function(Ze){return C(C({},Ze),{},{position:C(C({},Ze.position),{},{offset:Ze.position.offset-We/2})})}))}var gr=B&&B.type&&B.type.getComposedData;gr&&L.push({props:C(C({},gr(C(C({},Ie),{},{displayedData:H,props:m,dataKey:G,item:B,bandSize:ve,barPosition:re,offset:g,stackedData:ee,layout:j,dataStartIndex:_,dataEndIndex:A}))),{},V(V(V({key:B.key||"item-".concat(z)},$,Ie[$]),k,Ie[k]),"animationId",b)),childIndex:Z1(B,m.children),item:B})}),L},p=function(m,x){var w=m.props,O=m.dataStartIndex,g=m.dataEndIndex,b=m.updateId;if(!Jd({props:w}))return null;var _=w.children,A=w.layout,P=w.stackOffset,j=w.data,T=w.reverseStackOrder,E=z0(A),M=E.numericAxisName,I=E.cateAxisName,$=Ye(_,n),k=Y$(j,$,"".concat(M,"Id"),"".concat(I,"Id"),P,T),R=c.reduce(function(U,G){var se="".concat(G.axisType,"Map");return C(C({},U),{},V({},se,vL(w,C(C({},G),{},{graphicalItems:$,stackGroups:G.axisType===M&&k,dataStartIndex:O,dataEndIndex:g}))))},{}),L=mL(C(C({},R),{},{props:w,graphicalItems:$}),x?.legendBBox);Object.keys(R).forEach(function(U){R[U]=f(w,R[U],L,U.replace("Map",""),r)});var B=R["".concat(I,"Map")],z=yL(B),H=h(w,C(C({},R),{},{dataStartIndex:O,dataEndIndex:g,updateId:b,graphicalItems:$,stackGroups:k,offset:L}));return C(C({formattedGraphicalItems:H,graphicalItems:$,offset:L,stackGroups:k},z),R)},y=(function(d){function m(x){var w,O,g;return J2(this,m),g=tL(this,m,[x]),V(g,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),V(g,"accessibilityManager",new q2),V(g,"handleLegendBBoxUpdate",function(b){if(b){var _=g.state,A=_.dataStartIndex,P=_.dataEndIndex,j=_.updateId;g.setState(C({legendBBox:b},p({props:g.props,dataStartIndex:A,dataEndIndex:P,updateId:j},C(C({},g.state),{},{legendBBox:b}))))}}),V(g,"handleReceiveSyncEvent",function(b,_,A){if(g.props.syncId===b){if(A===g.eventEmitterSymbol&&typeof g.props.syncMethod!="function")return;g.applySyncEvent(_)}}),V(g,"handleBrushChange",function(b){var _=b.startIndex,A=b.endIndex;if(_!==g.state.dataStartIndex||A!==g.state.dataEndIndex){var P=g.state.updateId;g.setState(function(){return C({dataStartIndex:_,dataEndIndex:A},p({props:g.props,dataStartIndex:_,dataEndIndex:A,updateId:P},g.state))}),g.triggerSyncEvent({dataStartIndex:_,dataEndIndex:A})}}),V(g,"handleMouseEnter",function(b){var _=g.getMouseInfo(b);if(_){var A=C(C({},_),{},{isTooltipActive:!0});g.setState(A),g.triggerSyncEvent(A);var P=g.props.onMouseEnter;X(P)&&P(A,b)}}),V(g,"triggeredAfterMouseMove",function(b){var _=g.getMouseInfo(b),A=_?C(C({},_),{},{isTooltipActive:!0}):{isTooltipActive:!1};g.setState(A),g.triggerSyncEvent(A);var P=g.props.onMouseMove;X(P)&&P(A,b)}),V(g,"handleItemMouseEnter",function(b){g.setState(function(){return{isTooltipActive:!0,activeItem:b,activePayload:b.tooltipPayload,activeCoordinate:b.tooltipPosition||{x:b.cx,y:b.cy}}})}),V(g,"handleItemMouseLeave",function(){g.setState(function(){return{isTooltipActive:!1}})}),V(g,"handleMouseMove",function(b){b.persist(),g.throttleTriggeredAfterMouseMove(b)}),V(g,"handleMouseLeave",function(b){g.throttleTriggeredAfterMouseMove.cancel();var _={isTooltipActive:!1};g.setState(_),g.triggerSyncEvent(_);var A=g.props.onMouseLeave;X(A)&&A(_,b)}),V(g,"handleOuterEvent",function(b){var _=Y1(b),A=Xe(g.props,"".concat(_));if(_&&X(A)){var P,j;/.*touch.*/i.test(_)?j=g.getMouseInfo(b.changedTouches[0]):j=g.getMouseInfo(b),A((P=j)!==null&&P!==void 0?P:{},b)}}),V(g,"handleClick",function(b){var _=g.getMouseInfo(b);if(_){var A=C(C({},_),{},{isTooltipActive:!0});g.setState(A),g.triggerSyncEvent(A);var P=g.props.onClick;X(P)&&P(A,b)}}),V(g,"handleMouseDown",function(b){var _=g.props.onMouseDown;if(X(_)){var A=g.getMouseInfo(b);_(A,b)}}),V(g,"handleMouseUp",function(b){var _=g.props.onMouseUp;if(X(_)){var A=g.getMouseInfo(b);_(A,b)}}),V(g,"handleTouchMove",function(b){b.changedTouches!=null&&b.changedTouches.length>0&&g.throttleTriggeredAfterMouseMove(b.changedTouches[0])}),V(g,"handleTouchStart",function(b){b.changedTouches!=null&&b.changedTouches.length>0&&g.handleMouseDown(b.changedTouches[0])}),V(g,"handleTouchEnd",function(b){b.changedTouches!=null&&b.changedTouches.length>0&&g.handleMouseUp(b.changedTouches[0])}),V(g,"handleDoubleClick",function(b){var _=g.props.onDoubleClick;if(X(_)){var A=g.getMouseInfo(b);_(A,b)}}),V(g,"handleContextMenu",function(b){var _=g.props.onContextMenu;if(X(_)){var A=g.getMouseInfo(b);_(A,b)}}),V(g,"triggerSyncEvent",function(b){g.props.syncId!==void 0&&Al.emit(Sl,g.props.syncId,b,g.eventEmitterSymbol)}),V(g,"applySyncEvent",function(b){var _=g.props,A=_.layout,P=_.syncMethod,j=g.state.updateId,T=b.dataStartIndex,E=b.dataEndIndex;if(b.dataStartIndex!==void 0||b.dataEndIndex!==void 0)g.setState(C({dataStartIndex:T,dataEndIndex:E},p({props:g.props,dataStartIndex:T,dataEndIndex:E,updateId:j},g.state)));else if(b.activeTooltipIndex!==void 0){var M=b.chartX,I=b.chartY,$=b.activeTooltipIndex,k=g.state,R=k.offset,L=k.tooltipTicks;if(!R)return;if(typeof P=="function")$=P(L,b);else if(P==="value"){$=-1;for(var B=0;B=0){var ee,D;if(M.dataKey&&!M.allowDuplicatedCategory){var ve=typeof M.dataKey=="function"?Q:"payload.".concat(M.dataKey.toString());ee=Bi(B,ve,$),D=z&&H&&Bi(H,ve,$)}else ee=B?.[I],D=z&&H&&H[I];if(De||me){var re=b.props.activeIndex!==void 0?b.props.activeIndex:I;return[N.cloneElement(b,C(C(C({},P.props),Ie),{},{activeIndex:re})),null,null]}if(!J(ee))return[F].concat(rn(g.renderActivePoints({item:P,activePoint:ee,basePoint:D,childIndex:I,isRange:z})))}else{var Y,ye=(Y=g.getItemByXY(g.state.activeCoordinate))!==null&&Y!==void 0?Y:{graphicalItem:F},Z=ye.graphicalItem,Ne=Z.item,We=Ne===void 0?b:Ne,gr=Z.childIndex,Ze=C(C(C({},P.props),Ie),{},{activeIndex:gr});return[N.cloneElement(We,Ze),null,null]}return z?[F,null,null]:[F,null]}),V(g,"renderCustomized",function(b,_,A){return N.cloneElement(b,C(C({key:"recharts-customized-".concat(A)},g.props),g.state))}),V(g,"renderMap",{CartesianGrid:{handler:qi,once:!0},ReferenceArea:{handler:g.renderReferenceElement},ReferenceLine:{handler:qi},ReferenceDot:{handler:g.renderReferenceElement},XAxis:{handler:qi},YAxis:{handler:qi},Brush:{handler:g.renderBrush,once:!0},Bar:{handler:g.renderGraphicChild},Line:{handler:g.renderGraphicChild},Area:{handler:g.renderGraphicChild},Radar:{handler:g.renderGraphicChild},RadialBar:{handler:g.renderGraphicChild},Scatter:{handler:g.renderGraphicChild},Pie:{handler:g.renderGraphicChild},Funnel:{handler:g.renderGraphicChild},Tooltip:{handler:g.renderCursor,once:!0},PolarGrid:{handler:g.renderPolarGrid,once:!0},PolarAngleAxis:{handler:g.renderPolarAxis},PolarRadiusAxis:{handler:g.renderPolarAxis},Customized:{handler:g.renderCustomized}}),g.clipPathId="".concat((w=x.id)!==null&&w!==void 0?w:un("recharts"),"-clip"),g.throttleTriggeredAfterMouseMove=_w(g.triggeredAfterMouseMove,(O=x.throttleDelay)!==null&&O!==void 0?O:1e3/60),g.state={},g}return iL(m,d),eL(m,[{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,g=w.data,b=w.height,_=w.layout,A=He(O,_t);if(A){var P=A.props.defaultIndex;if(!(typeof P!="number"||P<0||P>this.state.tooltipTicks.length-1)){var j=this.state.tooltipTicks[P]&&this.state.tooltipTicks[P].value,T=Ah(this.state,g,P,j),E=this.state.tooltipTicks[P].coordinate,M=(this.state.offset.top+b)/2,I=_==="horizontal",$=I?{x:E,y:M}:{y:E,x:M},k=this.state.formattedGraphicalItems.find(function(L){var B=L.item;return B.type.name==="Scatter"});k&&($=C(C({},$),k.props.points[P].tooltipPosition),T=k.props.points[P].tooltipPayload);var R={activeTooltipIndex:P,isTooltipActive:!0,activeLabel:j,activePayload:T,activeCoordinate:$};this.setState(R),this.renderCursor(A),this.accessibilityManager.setIndex(P)}}}},{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 g,b;this.accessibilityManager.setDetails({offset:{left:(g=this.props.margin.left)!==null&&g!==void 0?g:0,top:(b=this.props.margin.top)!==null&&b!==void 0?b:0}})}return null}},{key:"componentDidUpdate",value:function(w){af([He(w.children,_t)],[He(this.props.children,_t)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var w=He(this.props.children,_t);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,g=O.getBoundingClientRect(),b=PT(g),_={chartX:Math.round(w.pageX-b.left),chartY:Math.round(w.pageY-b.top)},A=g.width/O.offsetWidth||1,P=this.inRange(_.chartX,_.chartY,A);if(!P)return null;var j=this.state,T=j.xAxisMap,E=j.yAxisMap,M=this.getTooltipEventType(),I=U0(this.state,this.props.data,this.props.layout,P);if(M!=="axis"&&T&&E){var $=qt(T).scale,k=qt(E).scale,R=$&&$.invert?$.invert(_.chartX):null,L=k&&k.invert?k.invert(_.chartY):null;return C(C({},_),{},{xValue:R,yValue:L},I)}return I?C(C({},_),I):null}},{key:"inRange",value:function(w,O){var g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,b=this.props.layout,_=w/g,A=O/g;if(b==="horizontal"||b==="vertical"){var P=this.state.offset,j=_>=P.left&&_<=P.left+P.width&&A>=P.top&&A<=P.top+P.height;return j?{x:_,y:A}:null}var T=this.state,E=T.angleAxisMap,M=T.radiusAxisMap;if(E&&M){var I=qt(E);return Wm({x:_,y:A},I)}return null}},{key:"parseEventsOfWrapper",value:function(){var w=this.props.children,O=this.getTooltipEventType(),g=He(w,_t),b={};g&&O==="axis"&&(g.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 _=Fi(this.props,this.handleOuterEvent);return C(C({},_),b)}},{key:"addListener",value:function(){Al.on(Sl,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Al.removeListener(Sl,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(w,O,g){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,o,c)=>c?c.toUpperCase():o.toLowerCase()),d=t=>{const a=M(t);return a.charAt(0).toUpperCase()+a.slice(1)},r=(...t)=>t.filter((a,o,c)=>!!a&&a.trim()!==""&&c.indexOf(a)===o).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=s.forwardRef(({color:t="currentColor",size:a=24,strokeWidth:o=2,absoluteStrokeWidth:c,className:h="",children:n,iconNode:k,...y},i)=>s.createElement("svg",{ref:i,...v,width:a,height:a,stroke:t,strokeWidth:c?Number(o)*24/Number(a):o,className:r("lucide",h),...!n&&!m(y)&&{"aria-hidden":"true"},...y},[...k.map(([p,l])=>s.createElement(p,l)),...Array.isArray(n)?n:[n]]));const e=(t,a)=>{const o=s.forwardRef(({className:c,...h},n)=>s.createElement(x,{ref:n,iconNode:a,className:r(`lucide-${_(d(t))}`,`lucide-${t}`,c),...h}));return o.displayName=d(t),o};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"}]],X1=e("activity",u);const g=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Q1=e("arrow-left",g);const $=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],G1=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"}]],J1=e("ban",N);const w=[["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"}]],Y1=e("book-open",w);const f=[["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"}]],e2=e("bot",f);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"}]],a2=e("boxes",z);const b=[["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"}]],t2=e("calendar",b);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"}]],o2=e("chart-column",q);const C=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],c2=e("check",C);const A=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],n2=e("chevron-down",A);const j=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],s2=e("chevron-left",j);const V=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],h2=e("chevron-right",V);const H=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],y2=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"}]],d2=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"}]],r2=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"}]],k2=e("chevrons-up-down",P);const U=[["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"}]],i2=e("circle-alert",U);const R=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],p2=e("circle-check",R);const T=[["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"}]],l2=e("circle-question-mark",T);const Z=[["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"}]],_2=e("circle-user",Z);const E=[["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"}]],M2=e("circle-x",E);const B=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],m2=e("circle",B);const D=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],v2=e("clock",D);const F=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],x2=e("code-xml",F);const O=[["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"}]],u2=e("copy",O);const I=[["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"}]],g2=e("database",I);const K=[["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"}]],$2=e("dollar-sign",K);const W=[["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"}]],N2=e("download",W);const X=[["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"}]],w2=e("external-link",X);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"}]],f2=e("eye-off",Q);const G=[["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"}]],z2=e("eye",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"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]],b2=e("file-search",J);const Y=[["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"}]],q2=e("file-text",Y);const e1=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],C2=e("folder-open",e1);const a1=[["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"}]],A2=e("funnel",a1);const t1=[["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"}]],j2=e("hash",t1);const o1=[["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"}]],V2=e("house",o1);const c1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],H2=e("info",c1);const n1=[["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"}]],L2=e("key",n1);const s1=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],S2=e("loader-circle",s1);const h1=[["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"}]],P2=e("lock",h1);const y1=[["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"}]],U2=e("log-out",y1);const d1=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],R2=e("menu",d1);const r1=[["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"}]],T2=e("message-square",r1);const k1=[["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"}]],Z2=e("moon",k1);const i1=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],E2=e("network",i1);const p1=[["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"}]],B2=e("package",p1);const l1=[["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"}]],D2=e("palette",l1);const _1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]],F2=e("panels-top-left",_1);const M1=[["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"}]],O2=e("pause",M1);const m1=[["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"}]],I2=e("pencil",m1);const v1=[["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"}]],K2=e("play",v1);const x1=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],W2=e("plus",x1);const u1=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],X2=e("power",u1);const g1=[["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"}]],Q2=e("refresh-cw",g1);const $1=[["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"}]],G2=e("rotate-ccw",$1);const N1=[["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"}]],J2=e("rotate-cw",N1);const w1=[["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"}]],Y2=e("save",w1);const f1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],e0=e("search",f1);const z1=[["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"}]],a0=e("server",z1);const b1=[["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"}]],t0=e("settings-2",b1);const q1=[["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"}]],o0=e("settings",q1);const C1=[["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"}]],c0=e("shield",C1);const A1=[["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"}]],n0=e("skip-forward",A1);const j1=[["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"}]],s0=e("sliders-vertical",j1);const V1=[["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"}]],h0=e("smile",V1);const H1=[["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"}]],y0=e("sparkles",H1);const L1=[["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"}]],d0=e("square-pen",L1);const S1=[["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"}]],r0=e("star",S1);const P1=[["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"}]],k0=e("sun",P1);const U1=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],i0=e("terminal",U1);const R1=[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]],p0=e("thumbs-up",R1);const T1=[["path",{d:"M17 14V2",key:"8ymqnk"}],["path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z",key:"m61m77"}]],l0=e("thumbs-down",T1);const Z1=[["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"}]],_0=e("trash-2",Z1);const E1=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],M0=e("trending-up",E1);const B1=[["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"}]],m0=e("triangle-alert",B1);const D1=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],v0=e("upload",D1);const F1=[["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"}]],x0=e("user",F1);const O1=[["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"}]],u0=e("users",O1);const I1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],g0=e("x",I1);const K1=[["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"}]],$0=e("zap",K1);export{k2 as $,X1 as A,e2 as B,v2 as C,$2 as D,f2 as E,q2 as F,X2 as G,V2 as H,H2 as I,W2 as J,L2 as K,P2 as L,T2 as M,_0 as N,b2 as O,D2 as P,I2 as Q,Q2 as R,c0 as S,M0 as T,x0 as U,d2 as V,s2 as W,g0 as X,h2 as Y,$0 as Z,r2 as _,g2 as a,v0 as a0,C2 as a1,N2 as a2,A2 as a3,d0 as a4,J1 as a5,j2 as a6,u0 as a7,E2 as a8,t2 as a9,O2 as aa,K2 as ab,r0 as ac,p0 as ad,l0 as ae,t0 as af,w2 as ag,B2 as ah,a0 as ai,a2 as aj,_2 as ak,o2 as al,m2 as am,s0 as an,R2 as ao,Y1 as ap,U2 as aq,J2 as ar,o0 as b,m0 as c,c2 as d,u2 as e,z2 as f,p2 as g,M2 as h,G2 as i,k0 as j,Z2 as k,i2 as l,l2 as m,i0 as n,y0 as o,h0 as p,n0 as q,G1 as r,e0 as s,Q1 as t,n2 as u,y2 as v,S2 as w,F2 as x,x2 as y,Y2 as z}; diff --git a/webui/dist/assets/icons-D6w7t-x9.js b/webui/dist/assets/icons-D6w7t-x9.js deleted file mode 100644 index 2cac469f..00000000 --- a/webui/dist/assets/icons-D6w7t-x9.js +++ /dev/null @@ -1 +0,0 @@ -import{r as s}from"./router-BWgTyY51.js";const _=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),M=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,o,c)=>c?c.toUpperCase():o.toLowerCase()),d=t=>{const a=M(t);return a.charAt(0).toUpperCase()+a.slice(1)},r=(...t)=>t.filter((a,o,c)=>!!a&&a.trim()!==""&&c.indexOf(a)===o).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=s.forwardRef(({color:t="currentColor",size:a=24,strokeWidth:o=2,absoluteStrokeWidth:c,className:y="",children:n,iconNode:k,...h},i)=>s.createElement("svg",{ref:i,...v,width:a,height:a,stroke:t,strokeWidth:c?Number(o)*24/Number(a):o,className:r("lucide",y),...!n&&!m(h)&&{"aria-hidden":"true"},...h},[...k.map(([p,l])=>s.createElement(p,l)),...Array.isArray(n)?n:[n]]));const e=(t,a)=>{const o=s.forwardRef(({className:c,...y},n)=>s.createElement(x,{ref:n,iconNode:a,className:r(`lucide-${_(d(t))}`,`lucide-${t}`,c),...y}));return o.displayName=d(t),o};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"}]],W1=e("activity",u);const g=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],X1=e("arrow-left",g);const $=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Q1=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"}]],G1=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"}]],J1=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"}]],Y1=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"}]],e2=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"}]],a2=e("calendar",C);const b=[["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"}]],t2=e("chart-column",b);const q=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],o2=e("check",q);const A=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],c2=e("chevron-down",A);const j=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],n2=e("chevron-left",j);const H=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],s2=e("chevron-right",H);const V=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],y2=e("chevron-up",V);const L=[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]],h2=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"}]],d2=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"}]],r2=e("chevrons-up-down",P);const U=[["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"}]],k2=e("circle-alert",U);const R=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],i2=e("circle-check",R);const T=[["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"}]],p2=e("circle-question-mark",T);const Z=[["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"}]],l2=e("circle-user",Z);const E=[["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"}]],_2=e("circle-x",E);const B=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],M2=e("circle",B);const D=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],m2=e("clock",D);const F=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],v2=e("code-xml",F);const O=[["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"}]],x2=e("copy",O);const I=[["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"}]],u2=e("database",I);const K=[["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"}]],g2=e("dollar-sign",K);const W=[["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",W);const X=[["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"}]],N2=e("external-link",X);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"}]],f2=e("eye-off",Q);const G=[["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"}]],w2=e("eye",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"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]],z2=e("file-search",J);const Y=[["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"}]],C2=e("file-text",Y);const e1=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],b2=e("folder-open",e1);const a1=[["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"}]],q2=e("funnel",a1);const t1=[["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"}]],A2=e("hash",t1);const o1=[["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"}]],j2=e("house",o1);const c1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],H2=e("info",c1);const n1=[["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"}]],V2=e("key",n1);const s1=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],L2=e("loader-circle",s1);const y1=[["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"}]],S2=e("lock",y1);const h1=[["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"}]],P2=e("log-out",h1);const d1=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],U2=e("menu",d1);const r1=[["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"}]],R2=e("message-square",r1);const k1=[["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"}]],T2=e("moon",k1);const i1=[["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"}]],Z2=e("package",i1);const p1=[["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"}]],E2=e("palette",p1);const l1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]],B2=e("panels-top-left",l1);const _1=[["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"}]],D2=e("pause",_1);const M1=[["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"}]],F2=e("pencil",M1);const m1=[["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"}]],O2=e("play",m1);const v1=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],I2=e("plus",v1);const x1=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],K2=e("power",x1);const u1=[["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"}]],W2=e("refresh-cw",u1);const g1=[["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"}]],X2=e("rotate-ccw",g1);const $1=[["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"}]],Q2=e("rotate-cw",$1);const N1=[["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"}]],G2=e("save",N1);const f1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],J2=e("search",f1);const w1=[["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"}]],Y2=e("server",w1);const z1=[["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"}]],e0=e("settings-2",z1);const C1=[["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"}]],a0=e("settings",C1);const b1=[["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"}]],t0=e("shield",b1);const q1=[["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"}]],o0=e("skip-forward",q1);const A1=[["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"}]],c0=e("sliders-vertical",A1);const j1=[["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"}]],n0=e("smile",j1);const H1=[["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"}]],s0=e("sparkles",H1);const V1=[["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"}]],y0=e("square-pen",V1);const L1=[["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"}]],h0=e("star",L1);const S1=[["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"}]],d0=e("sun",S1);const P1=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],r0=e("terminal",P1);const U1=[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]],k0=e("thumbs-up",U1);const R1=[["path",{d:"M17 14V2",key:"8ymqnk"}],["path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z",key:"m61m77"}]],i0=e("thumbs-down",R1);const T1=[["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"}]],p0=e("trash-2",T1);const Z1=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],l0=e("trending-up",Z1);const E1=[["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"}]],_0=e("triangle-alert",E1);const B1=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],M0=e("upload",B1);const D1=[["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"}]],m0=e("user",D1);const F1=[["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"}]],v0=e("users",F1);const O1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],x0=e("x",O1);const I1=[["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"}]],u0=e("zap",I1);export{r2 as $,W1 as A,Y1 as B,m2 as C,g2 as D,f2 as E,C2 as F,K2 as G,j2 as H,H2 as I,I2 as J,V2 as K,S2 as L,R2 as M,p0 as N,z2 as O,E2 as P,F2 as Q,W2 as R,t0 as S,l0 as T,m0 as U,h2 as V,n2 as W,x0 as X,s2 as Y,u0 as Z,d2 as _,u2 as a,M0 as a0,b2 as a1,$2 as a2,q2 as a3,y0 as a4,G1 as a5,A2 as a6,v0 as a7,a2 as a8,D2 as a9,O2 as aa,h0 as ab,k0 as ac,i0 as ad,e0 as ae,N2 as af,Z2 as ag,Y2 as ah,e2 as ai,l2 as aj,t2 as ak,M2 as al,c0 as am,U2 as an,J1 as ao,P2 as ap,Q2 as aq,a0 as b,_0 as c,o2 as d,x2 as e,w2 as f,i2 as g,_2 as h,X2 as i,d0 as j,T2 as k,k2 as l,p2 as m,r0 as n,s0 as o,n0 as p,o0 as q,Q1 as r,J2 as s,X1 as t,c2 as u,y2 as v,L2 as w,B2 as x,v2 as y,G2 as z}; diff --git a/webui/dist/assets/index-B5LlQV5d.css b/webui/dist/assets/index-B5LlQV5d.css deleted file mode 100644 index f2d16603..00000000 --- a/webui/dist/assets/index-B5LlQV5d.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%;--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}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-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-5{margin-top:1.25rem}.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-none{max-width:none}.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-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.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-l-4{border-left-width:4px}.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-muted{border-color:hsl(var(--muted))}.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\/30{border-color:hsl(var(--primary) / .3)}.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-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-primary\/10{--tw-gradient-to: hsl(var(--primary) / .1) 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-4{padding-left:1rem}.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-1{padding-top:.25rem}.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-3xl{font-size:1.875rem;line-height:2.25rem}.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-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.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\:text-yellow-300:hover{--tw-text-opacity: 1;color:rgb(253 224 71 / 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))}.active\:border-primary\/70:active{border-color:hsl(var(--primary) / .7)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group[open] .group-open\: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))}.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-8{height:2rem}.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-8{width:2rem}.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-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media(min-width:768px){.md\:top-4{top:1rem}.md\:mb-4{margin-bottom: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-5{height:1.25rem}.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-5{width:1.25rem}.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\:gap-3{gap:.75rem}.md\:gap-4{gap:1rem}.md\:gap-6{gap:1.5rem}.md\: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))}.md\: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))}.md\:whitespace-normal{white-space:normal}.md\:p-12{padding:3rem}.md\:p-4{padding:1rem}.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-lg{font-size:1.125rem;line-height:1.75rem}.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\:mx-auto{margin-left:auto;margin-right:auto}.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-12{width:3rem}.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\:w-full{width:100%}.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-2{padding:.5rem}.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}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.25"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/webui/dist/assets/index-Dq6na-LB.css b/webui/dist/assets/index-Dq6na-LB.css new file mode 100644 index 00000000..261098b6 --- /dev/null +++ b/webui/dist/assets/index-Dq6na-LB.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-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}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-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-5{margin-top:1.25rem}.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-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.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-\[150px\]{max-width:150px}.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-none{max-width:none}.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-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.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-l-4{border-left-width:4px}.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-blue-700{--tw-border-opacity: 1;border-color:rgb(29 78 216 / 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-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-700{--tw-border-opacity: 1;border-color:rgb(21 128 61 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.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\/30{border-color:hsl(var(--primary) / .3)}.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-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-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / 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-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.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-green-600{--tw-gradient-to: #16a34a 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-primary\/10{--tw-gradient-to: hsl(var(--primary) / .1) 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-4{padding-left:1rem}.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-1{padding-top:.25rem}.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-3xl{font-size:1.875rem;line-height:2.25rem}.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-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.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\:text-yellow-300:hover{--tw-text-opacity: 1;color:rgb(253 224 71 / 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))}.active\:border-primary\/70:active{border-color:hsl(var(--primary) / .7)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group[open] .group-open\: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))}.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))}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.data-\[state\=closed\]\:animate-fade-out[data-state=closed]{animation:fade-out .15s ease-in}.data-\[state\=closed\]\:animate-slide-out-to-right[data-state=closed]{animation:slide-out-to-right .2s ease-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.data-\[state\=open\]\:animate-fade-in[data-state=open]{animation:fade-in .2s ease-out}@keyframes slide-in-from-right{0%{transform:translate(100%)}to{transform:translate(0)}}.data-\[state\=open\]\:animate-slide-in-from-right[data-state=open]{animation:slide-in-from-right .3s ease-out}@keyframes slide-out-to-right{0%{transform:translate(0)}to{transform:translate(100%)}}.data-\[swipe\=end\]\:animate-slide-out-to-right[data-swipe=end]{animation:slide-out-to-right .2s ease-in}.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-green-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(22 101 52 / 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:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 37 84 / 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-green-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(5 46 22 / var(--tw-bg-opacity, 1))}.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\:right-2{right:.5rem}.sm\:right-3{right:.75rem}.sm\:top-2{top:.5rem}.sm\:top-3{top:.75rem}.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-8{height:2rem}.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-8{width:2rem}.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-\[420px\]{max-width:420px}.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-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-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media(min-width:768px){.md\:top-4{top:1rem}.md\:mb-4{margin-bottom: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-5{height:1.25rem}.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-5{width:1.25rem}.md\:w-8{width:2rem}.md\:w-96{width:24rem}.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\:gap-3{gap:.75rem}.md\:gap-4{gap:1rem}.md\:gap-6{gap:1.5rem}.md\: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))}.md\: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))}.md\:whitespace-normal{white-space:normal}.md\:p-12{padding:3rem}.md\:p-4{padding:1rem}.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-lg{font-size:1.125rem;line-height:1.75rem}.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\:mx-auto{margin-left:auto;margin-right:auto}.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-12{width:3rem}.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\:w-full{width:100%}.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-2{padding:.5rem}.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}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.25"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%} diff --git a/webui/dist/assets/index-DqR4PCua.js b/webui/dist/assets/index-DqR4PCua.js deleted file mode 100644 index ba7a4f52..00000000 --- a/webui/dist/assets/index-DqR4PCua.js +++ /dev/null @@ -1,362 +0,0 @@ -import{r as S,j as a,u as ba,b as g9,R as Ue,d as LI,L as BI,e as II,f as Xr,g as FI,h as qI,O as x9,k as QI}from"./router-BWgTyY51.js";import{a as $I,b as HI,g as v9}from"./react-vendor-Dtc2IqVY.js";import{c as y9,R as UI,T as VI,L as WI,a as GI,C as Wm,X as Gm,Y as Th,b as XI,B as my,d as Xm,P as YI,e as KI,f as ZI,_ as JI,g as eF}from"./charts-B1JvyJzO.js";import{c as Hi,a as nx,u as ki,P as Yt,b as $e,d as Cn,e as Wf,f as So,g as es,h as Ls,i as b9,j as $4,k as H4,S as tF,l as w9,m as S9,R as O9,O as rx,n as U4,C as sx,o as V4,T as W4,D as G4,p as X4,q as k9,r as j9,W as nF,s as N9,I as rF,t as C9,v as T9,w as sF,x as M9,V as iF,L as A9,y as E9,z as aF,A as lF,B as _9,E as oF,F as cF,G as lo,H as ix,J as Sd,K as D9,M as R9,N as z9,Q as P9,U as Y4,X as K4,Y as ax,Z as lx,_ as Z4,$ as L9,a0 as uF,a1 as B9,a2 as dF,a3 as hF,a4 as I9,a5 as fF}from"./ui-vendor-nTGLnMlb.js";import{R as Ii,A as mF,D as pF,a as gF,Z as df,C as uc,M as Gf,T as xF,X as Xf,P as F9,S as vF,b as dc,I as oo,c as Uu,d as hc,e as Yb,E as Kb,f as qi,g as ua,h as Zb,i as yF,j as Jb,k as e2,L as ck,K as bF,l as xc,m as wF,n as SF,F as io,o as OF,B as kF,U as q9,p as J4,q as jF,r as NF,s as Ps,H as fg,t as Q9,u as hf,v as t2,w as ff,x as CF,y as TF,z as ox,G as ew,J as Wr,N as Ht,O as mg,Q as rd,V as Yf,W as Tc,Y as Mc,_ as Kf,$ as MF,a0 as uk,a1 as AF,a2 as fc,a3 as n2,a4 as sd,a5 as dk,a6 as pg,a7 as EF,a8 as hk,a9 as _F,aa as DF,ab as Zl,ac as py,ad as fk,ae as RF,af as Kh,ag as gg,ah as $9,ai as H9,aj as U9,ak as zF,al as PF,am as mk,an as LF,ao as BF,ap as pk,aq as IF}from"./icons-D6w7t-x9.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function t(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=t(s);fetch(s.href,i)}})();var gy={exports:{}},Mh={},xy={exports:{}},vy={};var gk;function FF(){return gk||(gk=1,(function(n){function e(H,ae){var ne=H.length;H.push(ae);e:for(;0>>1,R=H[ue];if(0>>1;ues(P,ne))Ks($,P)?(H[ue]=$,H[K]=ne,ue=K):(H[ue]=P,H[Y]=ne,ue=Y);else if(Ks($,ne))H[ue]=$,H[K]=ne,ue=K;else break e}}return ae}function s(H,ae){var ne=H.sortIndex-ae.sortIndex;return ne!==0?ne:H.id-ae.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var i=performance;n.unstable_now=function(){return i.now()}}else{var l=Date,c=l.now();n.unstable_now=function(){return l.now()-c}}var u=[],h=[],m=1,p=null,x=3,v=!1,b=!1,O=!1,k=!1,j=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;function _(H){for(var ae=t(h);ae!==null;){if(ae.callback===null)r(h);else if(ae.startTime<=H)r(h),ae.sortIndex=ae.expirationTime,e(u,ae);else break;ae=t(h)}}function D(H){if(O=!1,_(H),!b)if(t(u)!==null)b=!0,E||(E=!0,V());else{var ae=t(h);ae!==null&&J(D,ae.startTime-H)}}var E=!1,z=-1,Q=5,q=-1;function B(){return k?!0:!(n.unstable_now()-qH&&B());){var ue=p.callback;if(typeof ue=="function"){p.callback=null,x=p.priorityLevel;var R=ue(p.expirationTime<=H);if(H=n.unstable_now(),typeof R=="function"){p.callback=R,_(H),ae=!0;break t}p===t(u)&&r(u),_(H)}else r(u);p=t(u)}if(p!==null)ae=!0;else{var me=t(h);me!==null&&J(D,me.startTime-H),ae=!1}}break e}finally{p=null,x=ne,v=!1}ae=void 0}}finally{ae?V():E=!1}}}var V;if(typeof M=="function")V=function(){M(U)};else if(typeof MessageChannel<"u"){var ce=new MessageChannel,W=ce.port2;ce.port1.onmessage=U,V=function(){W.postMessage(null)}}else V=function(){j(U,0)};function J(H,ae){z=j(function(){H(n.unstable_now())},ae)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(H){H.callback=null},n.unstable_forceFrameRate=function(H){0>H||125ue?(H.sortIndex=ne,e(h,H),t(u)===null&&H===t(h)&&(O?(T(z),z=-1):O=!0,J(D,ne-ue))):(H.sortIndex=R,e(u,H),b||v||(b=!0,E||(E=!0,V()))),H},n.unstable_shouldYield=B,n.unstable_wrapCallback=function(H){var ae=x;return function(){var ne=x;x=ae;try{return H.apply(this,arguments)}finally{x=ne}}}})(vy)),vy}var xk;function qF(){return xk||(xk=1,xy.exports=FF()),xy.exports}var vk;function QF(){if(vk)return Mh;vk=1;var n=qF(),e=$I(),t=HI();function r(o){var d="https://react.dev/errors/"+o;if(1R||(o.current=ue[R],ue[R]=null,R--)}function P(o,d){R++,ue[R]=o.current,o.current=d}var K=me(null),$=me(null),fe=me(null),ye=me(null);function Re(o,d){switch(P(fe,d),P($,o),P(K,null),d.nodeType){case 9:case 11:o=(o=d.documentElement)&&(o=o.namespaceURI)?_O(o):0;break;default:if(o=d.tagName,d=d.namespaceURI)d=_O(d),o=DO(d,o);else switch(o){case"svg":o=1;break;case"math":o=2;break;default:o=0}}Y(K),P(K,o)}function de(){Y(K),Y($),Y(fe)}function We(o){o.memoizedState!==null&&P(ye,o);var d=K.current,f=DO(d,o.type);d!==f&&(P($,o),P(K,f))}function ct(o){$.current===o&&(Y(K),Y($)),ye.current===o&&(Y(ye),kh._currentValue=ne)}var ke,nt;function ut(o){if(ke===void 0)try{throw Error()}catch(f){var d=f.stack.trim().match(/\n( *(at )?)/);ke=d&&d[1]||"",nt=-1)":-1y||Z[g]!==xe[y]){var je=` -`+Z[g].replace(" at new "," at ");return o.displayName&&je.includes("")&&(je=je.replace("",o.displayName)),je}while(1<=g&&0<=y);break}}}finally{Ct=!1,Error.prepareStackTrace=f}return(f=o?o.displayName||o.name:"")?ut(f):""}function Tn(o,d){switch(o.tag){case 26:case 27:case 5:return ut(o.type);case 16:return ut("Lazy");case 13:return o.child!==d&&d!==null?ut("Suspense Fallback"):ut("Suspense");case 19:return ut("SuspenseList");case 0:case 15:return Bn(o.type,!1);case 11:return Bn(o.type.render,!1);case 1:return Bn(o.type,!0);case 31:return ut("Activity");default:return""}}function Jn(o){try{var d="",f=null;do d+=Tn(o,f),f=o,o=o.return;while(o);return d}catch(g){return` -Error generating stack: `+g.message+` -`+g.stack}}var nn=Object.prototype.hasOwnProperty,_t=n.unstable_scheduleCallback,Yr=n.unstable_cancelCallback,In=n.unstable_shouldYield,or=n.unstable_requestPaint,yn=n.unstable_now,ft=n.unstable_getCurrentPriorityLevel,ee=n.unstable_ImmediatePriority,Se=n.unstable_UserBlockingPriority,Le=n.unstable_NormalPriority,rt=n.unstable_LowPriority,Tt=n.unstable_IdlePriority,cr=n.log,Kr=n.unstable_setDisableYieldValue,re=null,Me=null;function pt(o){if(typeof cr=="function"&&Kr(o),Me&&typeof Me.setStrictMode=="function")try{Me.setStrictMode(re,o)}catch{}}var vt=Math.clz32?Math.clz32:zn,vs=Math.log,dt=Math.LN2;function zn(o){return o>>>=0,o===0?32:31-(vs(o)/dt|0)|0}var mt=256,rn=262144,Ar=4194304;function Mt(o){var d=o&42;if(d!==0)return d;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 Ic(o,d,f){var g=o.pendingLanes;if(g===0)return 0;var y=0,w=o.suspendedLanes,A=o.pingedLanes;o=o.warmLanes;var I=g&134217727;return I!==0?(g=I&~w,g!==0?y=Mt(g):(A&=I,A!==0?y=Mt(A):f||(f=I&~o,f!==0&&(y=Mt(f))))):(I=g&~w,I!==0?y=Mt(I):A!==0?y=Mt(A):f||(f=g&~o,f!==0&&(y=Mt(f)))),y===0?0:d!==0&&d!==y&&(d&w)===0&&(w=y&-y,f=d&-d,w>=f||w===32&&(f&4194048)!==0)?d:y}function Eo(o,d){return(o.pendingLanes&~(o.suspendedLanes&~o.pingedLanes)&d)===0}function n1(o,d){switch(o){case 1:case 2:case 4:case 8:case 64:return d+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 d+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 Fc(){var o=Ar;return Ar<<=1,(Ar&62914560)===0&&(Ar=4194304),o}function _o(o){for(var d=[],f=0;31>f;f++)d.push(o);return d}function Bd(o,d){o.pendingLanes|=d,d!==268435456&&(o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0)}function jL(o,d,f,g,y,w){var A=o.pendingLanes;o.pendingLanes=f,o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0,o.expiredLanes&=f,o.entangledLanes&=f,o.errorRecoveryDisabledLanes&=f,o.shellSuspendCounter=0;var I=o.entanglements,Z=o.expirationTimes,xe=o.hiddenUpdates;for(f=A&~f;0"u")return null;try{return o.activeElement||o.body}catch{return o.body}}var EL=/[\n"\\]/g;function oi(o){return o.replace(EL,function(d){return"\\"+d.charCodeAt(0).toString(16)+" "})}function o1(o,d,f,g,y,w,A,I){o.name="",A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?o.type=A:o.removeAttribute("type"),d!=null?A==="number"?(d===0&&o.value===""||o.value!=d)&&(o.value=""+li(d)):o.value!==""+li(d)&&(o.value=""+li(d)):A!=="submit"&&A!=="reset"||o.removeAttribute("value"),d!=null?c1(o,A,li(d)):f!=null?c1(o,A,li(f)):g!=null&&o.removeAttribute("value"),y==null&&w!=null&&(o.defaultChecked=!!w),y!=null&&(o.checked=y&&typeof y!="function"&&typeof y!="symbol"),I!=null&&typeof I!="function"&&typeof I!="symbol"&&typeof I!="boolean"?o.name=""+li(I):o.removeAttribute("name")}function N3(o,d,f,g,y,w,A,I){if(w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(o.type=w),d!=null||f!=null){if(!(w!=="submit"&&w!=="reset"||d!=null)){l1(o);return}f=f!=null?""+li(f):"",d=d!=null?""+li(d):f,I||d===o.value||(o.value=d),o.defaultValue=d}g=g??y,g=typeof g!="function"&&typeof g!="symbol"&&!!g,o.checked=I?o.checked:!!g,o.defaultChecked=!!g,A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"&&(o.name=A),l1(o)}function c1(o,d,f){d==="number"&&L0(o.ownerDocument)===o||o.defaultValue===""+f||(o.defaultValue=""+f)}function Vc(o,d,f,g){if(o=o.options,d){d={};for(var y=0;y"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m1=!1;if(_a)try{var Qd={};Object.defineProperty(Qd,"passive",{get:function(){m1=!0}}),window.addEventListener("test",Qd,Qd),window.removeEventListener("test",Qd,Qd)}catch{m1=!1}var kl=null,p1=null,I0=null;function D3(){if(I0)return I0;var o,d=p1,f=d.length,g,y="value"in kl?kl.value:kl.textContent,w=y.length;for(o=0;o=Ud),I3=" ",F3=!1;function q3(o,d){switch(o){case"keyup":return iB.indexOf(d.keyCode)!==-1;case"keydown":return d.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Q3(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var Yc=!1;function lB(o,d){switch(o){case"compositionend":return Q3(d);case"keypress":return d.which!==32?null:(F3=!0,I3);case"textInput":return o=d.data,o===I3&&F3?null:o;default:return null}}function oB(o,d){if(Yc)return o==="compositionend"||!b1&&q3(o,d)?(o=D3(),I0=p1=kl=null,Yc=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(d.ctrlKey||d.altKey||d.metaKey)||d.ctrlKey&&d.altKey){if(d.char&&1=d)return{node:f,offset:d-o};o=g}e:{for(;f;){if(f.nextSibling){f=f.nextSibling;break e}f=f.parentNode}f=void 0}f=Y3(f)}}function Z3(o,d){return o&&d?o===d?!0:o&&o.nodeType===3?!1:d&&d.nodeType===3?Z3(o,d.parentNode):"contains"in o?o.contains(d):o.compareDocumentPosition?!!(o.compareDocumentPosition(d)&16):!1:!1}function J3(o){o=o!=null&&o.ownerDocument!=null&&o.ownerDocument.defaultView!=null?o.ownerDocument.defaultView:window;for(var d=L0(o.document);d instanceof o.HTMLIFrameElement;){try{var f=typeof d.contentWindow.location.href=="string"}catch{f=!1}if(f)o=d.contentWindow;else break;d=L0(o.document)}return d}function O1(o){var d=o&&o.nodeName&&o.nodeName.toLowerCase();return d&&(d==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||d==="textarea"||o.contentEditable==="true")}var gB=_a&&"documentMode"in document&&11>=document.documentMode,Kc=null,k1=null,Xd=null,j1=!1;function e6(o,d,f){var g=f.window===f?f.document:f.nodeType===9?f:f.ownerDocument;j1||Kc==null||Kc!==L0(g)||(g=Kc,"selectionStart"in g&&O1(g)?g={start:g.selectionStart,end:g.selectionEnd}:(g=(g.ownerDocument&&g.ownerDocument.defaultView||window).getSelection(),g={anchorNode:g.anchorNode,anchorOffset:g.anchorOffset,focusNode:g.focusNode,focusOffset:g.focusOffset}),Xd&&Gd(Xd,g)||(Xd=g,g=_m(k1,"onSelect"),0>=A,y-=A,Gi=1<<32-vt(d)+y|f<Ot?(Qt=Ke,Ke=null):Qt=Ke.sibling;var Zt=be(oe,Ke,pe[Ot],Ne);if(Zt===null){Ke===null&&(Ke=Qt);break}o&&Ke&&Zt.alternate===null&&d(oe,Ke),se=w(Zt,se,Ot),Kt===null?tt=Zt:Kt.sibling=Zt,Kt=Zt,Ke=Qt}if(Ot===pe.length)return f(oe,Ke),Ut&&Ra(oe,Ot),tt;if(Ke===null){for(;OtOt?(Qt=Ke,Ke=null):Qt=Ke.sibling;var Vl=be(oe,Ke,Zt.value,Ne);if(Vl===null){Ke===null&&(Ke=Qt);break}o&&Ke&&Vl.alternate===null&&d(oe,Ke),se=w(Vl,se,Ot),Kt===null?tt=Vl:Kt.sibling=Vl,Kt=Vl,Ke=Qt}if(Zt.done)return f(oe,Ke),Ut&&Ra(oe,Ot),tt;if(Ke===null){for(;!Zt.done;Ot++,Zt=pe.next())Zt=Te(oe,Zt.value,Ne),Zt!==null&&(se=w(Zt,se,Ot),Kt===null?tt=Zt:Kt.sibling=Zt,Kt=Zt);return Ut&&Ra(oe,Ot),tt}for(Ke=g(Ke);!Zt.done;Ot++,Zt=pe.next())Zt=Oe(Ke,oe,Ot,Zt.value,Ne),Zt!==null&&(o&&Zt.alternate!==null&&Ke.delete(Zt.key===null?Ot:Zt.key),se=w(Zt,se,Ot),Kt===null?tt=Zt:Kt.sibling=Zt,Kt=Zt);return o&&Ke.forEach(function(PI){return d(oe,PI)}),Ut&&Ra(oe,Ot),tt}function Sn(oe,se,pe,Ne){if(typeof pe=="object"&&pe!==null&&pe.type===O&&pe.key===null&&(pe=pe.props.children),typeof pe=="object"&&pe!==null){switch(pe.$$typeof){case v:e:{for(var tt=pe.key;se!==null;){if(se.key===tt){if(tt=pe.type,tt===O){if(se.tag===7){f(oe,se.sibling),Ne=y(se,pe.props.children),Ne.return=oe,oe=Ne;break e}}else if(se.elementType===tt||typeof tt=="object"&&tt!==null&&tt.$$typeof===Q&&$o(tt)===se.type){f(oe,se.sibling),Ne=y(se,pe.props),th(Ne,pe),Ne.return=oe,oe=Ne;break e}f(oe,se);break}else d(oe,se);se=se.sibling}pe.type===O?(Ne=Bo(pe.props.children,oe.mode,Ne,pe.key),Ne.return=oe,oe=Ne):(Ne=X0(pe.type,pe.key,pe.props,null,oe.mode,Ne),th(Ne,pe),Ne.return=oe,oe=Ne)}return A(oe);case b:e:{for(tt=pe.key;se!==null;){if(se.key===tt)if(se.tag===4&&se.stateNode.containerInfo===pe.containerInfo&&se.stateNode.implementation===pe.implementation){f(oe,se.sibling),Ne=y(se,pe.children||[]),Ne.return=oe,oe=Ne;break e}else{f(oe,se);break}else d(oe,se);se=se.sibling}Ne=_1(pe,oe.mode,Ne),Ne.return=oe,oe=Ne}return A(oe);case Q:return pe=$o(pe),Sn(oe,se,pe,Ne)}if(J(pe))return Ge(oe,se,pe,Ne);if(V(pe)){if(tt=V(pe),typeof tt!="function")throw Error(r(150));return pe=tt.call(pe),lt(oe,se,pe,Ne)}if(typeof pe.then=="function")return Sn(oe,se,nm(pe),Ne);if(pe.$$typeof===M)return Sn(oe,se,Z0(oe,pe),Ne);rm(oe,pe)}return typeof pe=="string"&&pe!==""||typeof pe=="number"||typeof pe=="bigint"?(pe=""+pe,se!==null&&se.tag===6?(f(oe,se.sibling),Ne=y(se,pe),Ne.return=oe,oe=Ne):(f(oe,se),Ne=E1(pe,oe.mode,Ne),Ne.return=oe,oe=Ne),A(oe)):f(oe,se)}return function(oe,se,pe,Ne){try{eh=0;var tt=Sn(oe,se,pe,Ne);return ou=null,tt}catch(Ke){if(Ke===lu||Ke===em)throw Ke;var Kt=$s(29,Ke,null,oe.mode);return Kt.lanes=Ne,Kt.return=oe,Kt}finally{}}}var Uo=O6(!0),k6=O6(!1),Ml=!1;function H1(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function U1(o,d){o=o.updateQueue,d.updateQueue===o&&(d.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,callbacks:null})}function Al(o){return{lane:o,tag:0,payload:null,callback:null,next:null}}function El(o,d,f){var g=o.updateQueue;if(g===null)return null;if(g=g.shared,(sn&2)!==0){var y=g.pending;return y===null?d.next=d:(d.next=y.next,y.next=d),g.pending=d,d=G0(o),l6(o,null,f),d}return W0(o,g,d,f),G0(o)}function nh(o,d,f){if(d=d.updateQueue,d!==null&&(d=d.shared,(f&4194048)!==0)){var g=d.lanes;g&=o.pendingLanes,f|=g,d.lanes=f,p3(o,f)}}function V1(o,d){var f=o.updateQueue,g=o.alternate;if(g!==null&&(g=g.updateQueue,f===g)){var y=null,w=null;if(f=f.firstBaseUpdate,f!==null){do{var A={lane:f.lane,tag:f.tag,payload:f.payload,callback:null,next:null};w===null?y=w=A:w=w.next=A,f=f.next}while(f!==null);w===null?y=w=d:w=w.next=d}else y=w=d;f={baseState:g.baseState,firstBaseUpdate:y,lastBaseUpdate:w,shared:g.shared,callbacks:g.callbacks},o.updateQueue=f;return}o=f.lastBaseUpdate,o===null?f.firstBaseUpdate=d:o.next=d,f.lastBaseUpdate=d}var W1=!1;function rh(){if(W1){var o=au;if(o!==null)throw o}}function sh(o,d,f,g){W1=!1;var y=o.updateQueue;Ml=!1;var w=y.firstBaseUpdate,A=y.lastBaseUpdate,I=y.shared.pending;if(I!==null){y.shared.pending=null;var Z=I,xe=Z.next;Z.next=null,A===null?w=xe:A.next=xe,A=Z;var je=o.alternate;je!==null&&(je=je.updateQueue,I=je.lastBaseUpdate,I!==A&&(I===null?je.firstBaseUpdate=xe:I.next=xe,je.lastBaseUpdate=Z))}if(w!==null){var Te=y.baseState;A=0,je=xe=Z=null,I=w;do{var be=I.lane&-536870913,Oe=be!==I.lane;if(Oe?(qt&be)===be:(g&be)===be){be!==0&&be===iu&&(W1=!0),je!==null&&(je=je.next={lane:0,tag:I.tag,payload:I.payload,callback:null,next:null});e:{var Ge=o,lt=I;be=d;var Sn=f;switch(lt.tag){case 1:if(Ge=lt.payload,typeof Ge=="function"){Te=Ge.call(Sn,Te,be);break e}Te=Ge;break e;case 3:Ge.flags=Ge.flags&-65537|128;case 0:if(Ge=lt.payload,be=typeof Ge=="function"?Ge.call(Sn,Te,be):Ge,be==null)break e;Te=p({},Te,be);break e;case 2:Ml=!0}}be=I.callback,be!==null&&(o.flags|=64,Oe&&(o.flags|=8192),Oe=y.callbacks,Oe===null?y.callbacks=[be]:Oe.push(be))}else Oe={lane:be,tag:I.tag,payload:I.payload,callback:I.callback,next:null},je===null?(xe=je=Oe,Z=Te):je=je.next=Oe,A|=be;if(I=I.next,I===null){if(I=y.shared.pending,I===null)break;Oe=I,I=Oe.next,Oe.next=null,y.lastBaseUpdate=Oe,y.shared.pending=null}}while(!0);je===null&&(Z=Te),y.baseState=Z,y.firstBaseUpdate=xe,y.lastBaseUpdate=je,w===null&&(y.shared.lanes=0),Pl|=A,o.lanes=A,o.memoizedState=Te}}function j6(o,d){if(typeof o!="function")throw Error(r(191,o));o.call(d)}function N6(o,d){var f=o.callbacks;if(f!==null)for(o.callbacks=null,o=0;ow?w:8;var A=H.T,I={};H.T=I,hv(o,!1,d,f);try{var Z=y(),xe=H.S;if(xe!==null&&xe(I,Z),Z!==null&&typeof Z=="object"&&typeof Z.then=="function"){var je=jB(Z,g);lh(o,d,je,Gs(o))}else lh(o,d,g,Gs(o))}catch(Te){lh(o,d,{then:function(){},status:"rejected",reason:Te},Gs())}finally{ae.p=w,A!==null&&I.types!==null&&(A.types=I.types),H.T=A}}function EB(){}function uv(o,d,f,g){if(o.tag!==5)throw Error(r(476));var y=sS(o).queue;rS(o,y,d,ne,f===null?EB:function(){return iS(o),f(g)})}function sS(o){var d=o.memoizedState;if(d!==null)return d;d={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ba,lastRenderedState:ne},next:null};var f={};return d.next={memoizedState:f,baseState:f,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ba,lastRenderedState:f},next:null},o.memoizedState=d,o=o.alternate,o!==null&&(o.memoizedState=d),d}function iS(o){var d=sS(o);d.next===null&&(d=o.alternate.memoizedState),lh(o,d.next.queue,{},Gs())}function dv(){return Fr(kh)}function aS(){return sr().memoizedState}function lS(){return sr().memoizedState}function _B(o){for(var d=o.return;d!==null;){switch(d.tag){case 24:case 3:var f=Gs();o=Al(f);var g=El(d,o,f);g!==null&&(js(g,d,f),nh(g,d,f)),d={cache:F1()},o.payload=d;return}d=d.return}}function DB(o,d,f){var g=Gs();f={lane:g,revertLane:0,gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null},fm(o)?cS(d,f):(f=M1(o,d,f,g),f!==null&&(js(f,o,g),uS(f,d,g)))}function oS(o,d,f){var g=Gs();lh(o,d,f,g)}function lh(o,d,f,g){var y={lane:g,revertLane:0,gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null};if(fm(o))cS(d,y);else{var w=o.alternate;if(o.lanes===0&&(w===null||w.lanes===0)&&(w=d.lastRenderedReducer,w!==null))try{var A=d.lastRenderedState,I=w(A,f);if(y.hasEagerState=!0,y.eagerState=I,Qs(I,A))return W0(o,d,y,0),Mn===null&&V0(),!1}catch{}finally{}if(f=M1(o,d,y,g),f!==null)return js(f,o,g),uS(f,d,g),!0}return!1}function hv(o,d,f,g){if(g={lane:2,revertLane:Hv(),gesture:null,action:g,hasEagerState:!1,eagerState:null,next:null},fm(o)){if(d)throw Error(r(479))}else d=M1(o,f,g,2),d!==null&&js(d,o,2)}function fm(o){var d=o.alternate;return o===wt||d!==null&&d===wt}function cS(o,d){uu=am=!0;var f=o.pending;f===null?d.next=d:(d.next=f.next,f.next=d),o.pending=d}function uS(o,d,f){if((f&4194048)!==0){var g=d.lanes;g&=o.pendingLanes,f|=g,d.lanes=f,p3(o,f)}}var oh={readContext:Fr,use:cm,useCallback:er,useContext:er,useEffect:er,useImperativeHandle:er,useLayoutEffect:er,useInsertionEffect:er,useMemo:er,useReducer:er,useRef:er,useState:er,useDebugValue:er,useDeferredValue:er,useTransition:er,useSyncExternalStore:er,useId:er,useHostTransitionStatus:er,useFormState:er,useActionState:er,useOptimistic:er,useMemoCache:er,useCacheRefresh:er};oh.useEffectEvent=er;var dS={readContext:Fr,use:cm,useCallback:function(o,d){return os().memoizedState=[o,d===void 0?null:d],o},useContext:Fr,useEffect:G6,useImperativeHandle:function(o,d,f){f=f!=null?f.concat([o]):null,dm(4194308,4,Z6.bind(null,d,o),f)},useLayoutEffect:function(o,d){return dm(4194308,4,o,d)},useInsertionEffect:function(o,d){dm(4,2,o,d)},useMemo:function(o,d){var f=os();d=d===void 0?null:d;var g=o();if(Vo){pt(!0);try{o()}finally{pt(!1)}}return f.memoizedState=[g,d],g},useReducer:function(o,d,f){var g=os();if(f!==void 0){var y=f(d);if(Vo){pt(!0);try{f(d)}finally{pt(!1)}}}else y=d;return g.memoizedState=g.baseState=y,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:y},g.queue=o,o=o.dispatch=DB.bind(null,wt,o),[g.memoizedState,o]},useRef:function(o){var d=os();return o={current:o},d.memoizedState=o},useState:function(o){o=iv(o);var d=o.queue,f=oS.bind(null,wt,d);return d.dispatch=f,[o.memoizedState,f]},useDebugValue:ov,useDeferredValue:function(o,d){var f=os();return cv(f,o,d)},useTransition:function(){var o=iv(!1);return o=rS.bind(null,wt,o.queue,!0,!1),os().memoizedState=o,[!1,o]},useSyncExternalStore:function(o,d,f){var g=wt,y=os();if(Ut){if(f===void 0)throw Error(r(407));f=f()}else{if(f=d(),Mn===null)throw Error(r(349));(qt&127)!==0||_6(g,d,f)}y.memoizedState=f;var w={value:f,getSnapshot:d};return y.queue=w,G6(R6.bind(null,g,w,o),[o]),g.flags|=2048,hu(9,{destroy:void 0},D6.bind(null,g,w,f,d),null),f},useId:function(){var o=os(),d=Mn.identifierPrefix;if(Ut){var f=Xi,g=Gi;f=(g&~(1<<32-vt(g)-1)).toString(32)+f,d="_"+d+"R_"+f,f=lm++,0<\/script>",w=w.removeChild(w.firstChild);break;case"select":w=typeof g.is=="string"?A.createElement("select",{is:g.is}):A.createElement("select"),g.multiple?w.multiple=!0:g.size&&(w.size=g.size);break;default:w=typeof g.is=="string"?A.createElement(y,{is:g.is}):A.createElement(y)}}w[Br]=d,w[ys]=g;e:for(A=d.child;A!==null;){if(A.tag===5||A.tag===6)w.appendChild(A.stateNode);else if(A.tag!==4&&A.tag!==27&&A.child!==null){A.child.return=A,A=A.child;continue}if(A===d)break e;for(;A.sibling===null;){if(A.return===null||A.return===d)break e;A=A.return}A.sibling.return=A.return,A=A.sibling}d.stateNode=w;e:switch(Qr(w,y,g),y){case"button":case"input":case"select":case"textarea":g=!!g.autoFocus;break e;case"img":g=!0;break e;default:g=!1}g&&Fa(d)}}return qn(d),Nv(d,d.type,o===null?null:o.memoizedProps,d.pendingProps,f),null;case 6:if(o&&d.stateNode!=null)o.memoizedProps!==g&&Fa(d);else{if(typeof g!="string"&&d.stateNode===null)throw Error(r(166));if(o=fe.current,ru(d)){if(o=d.stateNode,f=d.memoizedProps,g=null,y=Ir,y!==null)switch(y.tag){case 27:case 5:g=y.memoizedProps}o[Br]=d,o=!!(o.nodeValue===f||g!==null&&g.suppressHydrationWarning===!0||AO(o.nodeValue,f)),o||Cl(d,!0)}else o=Dm(o).createTextNode(g),o[Br]=d,d.stateNode=o}return qn(d),null;case 31:if(f=d.memoizedState,o===null||o.memoizedState!==null){if(g=ru(d),f!==null){if(o===null){if(!g)throw Error(r(318));if(o=d.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(r(557));o[Br]=d}else Io(),(d.flags&128)===0&&(d.memoizedState=null),d.flags|=4;qn(d),o=!1}else f=P1(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=f),o=!0;if(!o)return d.flags&256?(Us(d),d):(Us(d),null);if((d.flags&128)!==0)throw Error(r(558))}return qn(d),null;case 13:if(g=d.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(y=ru(d),g!==null&&g.dehydrated!==null){if(o===null){if(!y)throw Error(r(318));if(y=d.memoizedState,y=y!==null?y.dehydrated:null,!y)throw Error(r(317));y[Br]=d}else Io(),(d.flags&128)===0&&(d.memoizedState=null),d.flags|=4;qn(d),y=!1}else y=P1(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=y),y=!0;if(!y)return d.flags&256?(Us(d),d):(Us(d),null)}return Us(d),(d.flags&128)!==0?(d.lanes=f,d):(f=g!==null,o=o!==null&&o.memoizedState!==null,f&&(g=d.child,y=null,g.alternate!==null&&g.alternate.memoizedState!==null&&g.alternate.memoizedState.cachePool!==null&&(y=g.alternate.memoizedState.cachePool.pool),w=null,g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(w=g.memoizedState.cachePool.pool),w!==y&&(g.flags|=2048)),f!==o&&f&&(d.child.flags|=8192),vm(d,d.updateQueue),qn(d),null);case 4:return de(),o===null&&Gv(d.stateNode.containerInfo),qn(d),null;case 10:return Pa(d.type),qn(d),null;case 19:if(Y(rr),g=d.memoizedState,g===null)return qn(d),null;if(y=(d.flags&128)!==0,w=g.rendering,w===null)if(y)uh(g,!1);else{if(tr!==0||o!==null&&(o.flags&128)!==0)for(o=d.child;o!==null;){if(w=im(o),w!==null){for(d.flags|=128,uh(g,!1),o=w.updateQueue,d.updateQueue=o,vm(d,o),d.subtreeFlags=0,o=f,f=d.child;f!==null;)o6(f,o),f=f.sibling;return P(rr,rr.current&1|2),Ut&&Ra(d,g.treeForkCount),d.child}o=o.sibling}g.tail!==null&&yn()>Om&&(d.flags|=128,y=!0,uh(g,!1),d.lanes=4194304)}else{if(!y)if(o=im(w),o!==null){if(d.flags|=128,y=!0,o=o.updateQueue,d.updateQueue=o,vm(d,o),uh(g,!0),g.tail===null&&g.tailMode==="hidden"&&!w.alternate&&!Ut)return qn(d),null}else 2*yn()-g.renderingStartTime>Om&&f!==536870912&&(d.flags|=128,y=!0,uh(g,!1),d.lanes=4194304);g.isBackwards?(w.sibling=d.child,d.child=w):(o=g.last,o!==null?o.sibling=w:d.child=w,g.last=w)}return g.tail!==null?(o=g.tail,g.rendering=o,g.tail=o.sibling,g.renderingStartTime=yn(),o.sibling=null,f=rr.current,P(rr,y?f&1|2:f&1),Ut&&Ra(d,g.treeForkCount),o):(qn(d),null);case 22:case 23:return Us(d),X1(),g=d.memoizedState!==null,o!==null?o.memoizedState!==null!==g&&(d.flags|=8192):g&&(d.flags|=8192),g?(f&536870912)!==0&&(d.flags&128)===0&&(qn(d),d.subtreeFlags&6&&(d.flags|=8192)):qn(d),f=d.updateQueue,f!==null&&vm(d,f.retryQueue),f=null,o!==null&&o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(f=o.memoizedState.cachePool.pool),g=null,d.memoizedState!==null&&d.memoizedState.cachePool!==null&&(g=d.memoizedState.cachePool.pool),g!==f&&(d.flags|=2048),o!==null&&Y(Qo),null;case 24:return f=null,o!==null&&(f=o.memoizedState.cache),d.memoizedState.cache!==f&&(d.flags|=2048),Pa(ur),qn(d),null;case 25:return null;case 30:return null}throw Error(r(156,d.tag))}function BB(o,d){switch(R1(d),d.tag){case 1:return o=d.flags,o&65536?(d.flags=o&-65537|128,d):null;case 3:return Pa(ur),de(),o=d.flags,(o&65536)!==0&&(o&128)===0?(d.flags=o&-65537|128,d):null;case 26:case 27:case 5:return ct(d),null;case 31:if(d.memoizedState!==null){if(Us(d),d.alternate===null)throw Error(r(340));Io()}return o=d.flags,o&65536?(d.flags=o&-65537|128,d):null;case 13:if(Us(d),o=d.memoizedState,o!==null&&o.dehydrated!==null){if(d.alternate===null)throw Error(r(340));Io()}return o=d.flags,o&65536?(d.flags=o&-65537|128,d):null;case 19:return Y(rr),null;case 4:return de(),null;case 10:return Pa(d.type),null;case 22:case 23:return Us(d),X1(),o!==null&&Y(Qo),o=d.flags,o&65536?(d.flags=o&-65537|128,d):null;case 24:return Pa(ur),null;case 25:return null;default:return null}}function zS(o,d){switch(R1(d),d.tag){case 3:Pa(ur),de();break;case 26:case 27:case 5:ct(d);break;case 4:de();break;case 31:d.memoizedState!==null&&Us(d);break;case 13:Us(d);break;case 19:Y(rr);break;case 10:Pa(d.type);break;case 22:case 23:Us(d),X1(),o!==null&&Y(Qo);break;case 24:Pa(ur)}}function dh(o,d){try{var f=d.updateQueue,g=f!==null?f.lastEffect:null;if(g!==null){var y=g.next;f=y;do{if((f.tag&o)===o){g=void 0;var w=f.create,A=f.inst;g=w(),A.destroy=g}f=f.next}while(f!==y)}}catch(I){gn(d,d.return,I)}}function Rl(o,d,f){try{var g=d.updateQueue,y=g!==null?g.lastEffect:null;if(y!==null){var w=y.next;g=w;do{if((g.tag&o)===o){var A=g.inst,I=A.destroy;if(I!==void 0){A.destroy=void 0,y=d;var Z=f,xe=I;try{xe()}catch(je){gn(y,Z,je)}}}g=g.next}while(g!==w)}}catch(je){gn(d,d.return,je)}}function PS(o){var d=o.updateQueue;if(d!==null){var f=o.stateNode;try{N6(d,f)}catch(g){gn(o,o.return,g)}}}function LS(o,d,f){f.props=Wo(o.type,o.memoizedProps),f.state=o.memoizedState;try{f.componentWillUnmount()}catch(g){gn(o,d,g)}}function hh(o,d){try{var f=o.ref;if(f!==null){switch(o.tag){case 26:case 27:case 5:var g=o.stateNode;break;case 30:g=o.stateNode;break;default:g=o.stateNode}typeof f=="function"?o.refCleanup=f(g):f.current=g}}catch(y){gn(o,d,y)}}function Yi(o,d){var f=o.ref,g=o.refCleanup;if(f!==null)if(typeof g=="function")try{g()}catch(y){gn(o,d,y)}finally{o.refCleanup=null,o=o.alternate,o!=null&&(o.refCleanup=null)}else if(typeof f=="function")try{f(null)}catch(y){gn(o,d,y)}else f.current=null}function BS(o){var d=o.type,f=o.memoizedProps,g=o.stateNode;try{e:switch(d){case"button":case"input":case"select":case"textarea":f.autoFocus&&g.focus();break e;case"img":f.src?g.src=f.src:f.srcSet&&(g.srcset=f.srcSet)}}catch(y){gn(o,o.return,y)}}function Cv(o,d,f){try{var g=o.stateNode;aI(g,o.type,f,d),g[ys]=d}catch(y){gn(o,o.return,y)}}function IS(o){return o.tag===5||o.tag===3||o.tag===26||o.tag===27&&ql(o.type)||o.tag===4}function Tv(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||IS(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&&ql(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 Mv(o,d,f){var g=o.tag;if(g===5||g===6)o=o.stateNode,d?(f.nodeType===9?f.body:f.nodeName==="HTML"?f.ownerDocument.body:f).insertBefore(o,d):(d=f.nodeType===9?f.body:f.nodeName==="HTML"?f.ownerDocument.body:f,d.appendChild(o),f=f._reactRootContainer,f!=null||d.onclick!==null||(d.onclick=Ea));else if(g!==4&&(g===27&&ql(o.type)&&(f=o.stateNode,d=null),o=o.child,o!==null))for(Mv(o,d,f),o=o.sibling;o!==null;)Mv(o,d,f),o=o.sibling}function ym(o,d,f){var g=o.tag;if(g===5||g===6)o=o.stateNode,d?f.insertBefore(o,d):f.appendChild(o);else if(g!==4&&(g===27&&ql(o.type)&&(f=o.stateNode),o=o.child,o!==null))for(ym(o,d,f),o=o.sibling;o!==null;)ym(o,d,f),o=o.sibling}function FS(o){var d=o.stateNode,f=o.memoizedProps;try{for(var g=o.type,y=d.attributes;y.length;)d.removeAttributeNode(y[0]);Qr(d,g,f),d[Br]=o,d[ys]=f}catch(w){gn(o,o.return,w)}}var qa=!1,fr=!1,Av=!1,qS=typeof WeakSet=="function"?WeakSet:Set,_r=null;function IB(o,d){if(o=o.containerInfo,Kv=Fm,o=J3(o),O1(o)){if("selectionStart"in o)var f={start:o.selectionStart,end:o.selectionEnd};else e:{f=(f=o.ownerDocument)&&f.defaultView||window;var g=f.getSelection&&f.getSelection();if(g&&g.rangeCount!==0){f=g.anchorNode;var y=g.anchorOffset,w=g.focusNode;g=g.focusOffset;try{f.nodeType,w.nodeType}catch{f=null;break e}var A=0,I=-1,Z=-1,xe=0,je=0,Te=o,be=null;t:for(;;){for(var Oe;Te!==f||y!==0&&Te.nodeType!==3||(I=A+y),Te!==w||g!==0&&Te.nodeType!==3||(Z=A+g),Te.nodeType===3&&(A+=Te.nodeValue.length),(Oe=Te.firstChild)!==null;)be=Te,Te=Oe;for(;;){if(Te===o)break t;if(be===f&&++xe===y&&(I=A),be===w&&++je===g&&(Z=A),(Oe=Te.nextSibling)!==null)break;Te=be,be=Te.parentNode}Te=Oe}f=I===-1||Z===-1?null:{start:I,end:Z}}else f=null}f=f||{start:0,end:0}}else f=null;for(Zv={focusedElem:o,selectionRange:f},Fm=!1,_r=d;_r!==null;)if(d=_r,o=d.child,(d.subtreeFlags&1028)!==0&&o!==null)o.return=d,_r=o;else for(;_r!==null;){switch(d=_r,w=d.alternate,o=d.flags,d.tag){case 0:if((o&4)!==0&&(o=d.updateQueue,o=o!==null?o.events:null,o!==null))for(f=0;f title"))),Qr(w,g,f),w[Br]=o,Er(w),g=w;break e;case"link":var A=WO("link","href",y).get(g+(f.href||""));if(A){for(var I=0;ISn&&(A=Sn,Sn=lt,lt=A);var oe=K3(I,lt),se=K3(I,Sn);if(oe&&se&&(Oe.rangeCount!==1||Oe.anchorNode!==oe.node||Oe.anchorOffset!==oe.offset||Oe.focusNode!==se.node||Oe.focusOffset!==se.offset)){var pe=Te.createRange();pe.setStart(oe.node,oe.offset),Oe.removeAllRanges(),lt>Sn?(Oe.addRange(pe),Oe.extend(se.node,se.offset)):(pe.setEnd(se.node,se.offset),Oe.addRange(pe))}}}}for(Te=[],Oe=I;Oe=Oe.parentNode;)Oe.nodeType===1&&Te.push({element:Oe,left:Oe.scrollLeft,top:Oe.scrollTop});for(typeof I.focus=="function"&&I.focus(),I=0;If?32:f,H.T=null,f=Lv,Lv=null;var w=Bl,A=Va;if(br=0,xu=Bl=null,Va=0,(sn&6)!==0)throw Error(r(331));var I=sn;if(sn|=4,ZS(w.current),XS(w,w.current,A,f),sn=I,vh(0,!1),Me&&typeof Me.onPostCommitFiberRoot=="function")try{Me.onPostCommitFiberRoot(re,w)}catch{}return!0}finally{ae.p=y,H.T=g,gO(o,d)}}function vO(o,d,f){d=ui(f,d),d=gv(o.stateNode,d,2),o=El(o,d,2),o!==null&&(Bd(o,2),Ki(o))}function gn(o,d,f){if(o.tag===3)vO(o,o,f);else for(;d!==null;){if(d.tag===3){vO(d,o,f);break}else if(d.tag===1){var g=d.stateNode;if(typeof d.type.getDerivedStateFromError=="function"||typeof g.componentDidCatch=="function"&&(Ll===null||!Ll.has(g))){o=ui(f,o),f=yS(2),g=El(d,f,2),g!==null&&(bS(f,g,d,o),Bd(g,2),Ki(g));break}}d=d.return}}function qv(o,d,f){var g=o.pingCache;if(g===null){g=o.pingCache=new QB;var y=new Set;g.set(d,y)}else y=g.get(d),y===void 0&&(y=new Set,g.set(d,y));y.has(f)||(Dv=!0,y.add(f),o=WB.bind(null,o,d,f),d.then(o,o))}function WB(o,d,f){var g=o.pingCache;g!==null&&g.delete(d),o.pingedLanes|=o.suspendedLanes&f,o.warmLanes&=~f,Mn===o&&(qt&f)===f&&(tr===4||tr===3&&(qt&62914560)===qt&&300>yn()-Sm?(sn&2)===0&&vu(o,0):Rv|=f,gu===qt&&(gu=0)),Ki(o)}function yO(o,d){d===0&&(d=Fc()),o=Lo(o,d),o!==null&&(Bd(o,d),Ki(o))}function GB(o){var d=o.memoizedState,f=0;d!==null&&(f=d.retryLane),yO(o,f)}function XB(o,d){var f=0;switch(o.tag){case 31:case 13:var g=o.stateNode,y=o.memoizedState;y!==null&&(f=y.retryLane);break;case 19:g=o.stateNode;break;case 22:g=o.stateNode._retryCache;break;default:throw Error(r(314))}g!==null&&g.delete(d),yO(o,f)}function YB(o,d){return _t(o,d)}var Mm=null,bu=null,Qv=!1,Am=!1,$v=!1,Fl=0;function Ki(o){o!==bu&&o.next===null&&(bu===null?Mm=bu=o:bu=bu.next=o),Am=!0,Qv||(Qv=!0,ZB())}function vh(o,d){if(!$v&&Am){$v=!0;do for(var f=!1,g=Mm;g!==null;){if(o!==0){var y=g.pendingLanes;if(y===0)var w=0;else{var A=g.suspendedLanes,I=g.pingedLanes;w=(1<<31-vt(42|o)+1)-1,w&=y&~(A&~I),w=w&201326741?w&201326741|1:w?w|2:0}w!==0&&(f=!0,OO(g,w))}else w=qt,w=Ic(g,g===Mn?w:0,g.cancelPendingCommit!==null||g.timeoutHandle!==-1),(w&3)===0||Eo(g,w)||(f=!0,OO(g,w));g=g.next}while(f);$v=!1}}function KB(){bO()}function bO(){Am=Qv=!1;var o=0;Fl!==0&&oI()&&(o=Fl);for(var d=yn(),f=null,g=Mm;g!==null;){var y=g.next,w=wO(g,d);w===0?(g.next=null,f===null?Mm=y:f.next=y,y===null&&(bu=f)):(f=g,(o!==0||(w&3)!==0)&&(Am=!0)),g=y}br!==0&&br!==5||vh(o),Fl!==0&&(Fl=0)}function wO(o,d){for(var f=o.suspendedLanes,g=o.pingedLanes,y=o.expirationTimes,w=o.pendingLanes&-62914561;0I)break;var je=Z.transferSize,Te=Z.initiatorType;je&&EO(Te)&&(Z=Z.responseEnd,A+=je*(Z"u"?null:document;function $O(o,d,f){var g=wu;if(g&&typeof d=="string"&&d){var y=oi(d);y='link[rel="'+o+'"][href="'+y+'"]',typeof f=="string"&&(y+='[crossorigin="'+f+'"]'),QO.has(y)||(QO.add(y),o={rel:o,crossOrigin:f,href:d},g.querySelector(y)===null&&(d=g.createElement("link"),Qr(d,"link",o),Er(d),g.head.appendChild(d)))}}function xI(o){Wa.D(o),$O("dns-prefetch",o,null)}function vI(o,d){Wa.C(o,d),$O("preconnect",o,d)}function yI(o,d,f){Wa.L(o,d,f);var g=wu;if(g&&o&&d){var y='link[rel="preload"][as="'+oi(d)+'"]';d==="image"&&f&&f.imageSrcSet?(y+='[imagesrcset="'+oi(f.imageSrcSet)+'"]',typeof f.imageSizes=="string"&&(y+='[imagesizes="'+oi(f.imageSizes)+'"]')):y+='[href="'+oi(o)+'"]';var w=y;switch(d){case"style":w=Su(o);break;case"script":w=Ou(o)}gi.has(w)||(o=p({rel:"preload",href:d==="image"&&f&&f.imageSrcSet?void 0:o,as:d},f),gi.set(w,o),g.querySelector(y)!==null||d==="style"&&g.querySelector(Sh(w))||d==="script"&&g.querySelector(Oh(w))||(d=g.createElement("link"),Qr(d,"link",o),Er(d),g.head.appendChild(d)))}}function bI(o,d){Wa.m(o,d);var f=wu;if(f&&o){var g=d&&typeof d.as=="string"?d.as:"script",y='link[rel="modulepreload"][as="'+oi(g)+'"][href="'+oi(o)+'"]',w=y;switch(g){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":w=Ou(o)}if(!gi.has(w)&&(o=p({rel:"modulepreload",href:o},d),gi.set(w,o),f.querySelector(y)===null)){switch(g){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(f.querySelector(Oh(w)))return}g=f.createElement("link"),Qr(g,"link",o),Er(g),f.head.appendChild(g)}}}function wI(o,d,f){Wa.S(o,d,f);var g=wu;if(g&&o){var y=Hc(g).hoistableStyles,w=Su(o);d=d||"default";var A=y.get(w);if(!A){var I={loading:0,preload:null};if(A=g.querySelector(Sh(w)))I.loading=5;else{o=p({rel:"stylesheet",href:o,"data-precedence":d},f),(f=gi.get(w))&&iy(o,f);var Z=A=g.createElement("link");Er(Z),Qr(Z,"link",o),Z._p=new Promise(function(xe,je){Z.onload=xe,Z.onerror=je}),Z.addEventListener("load",function(){I.loading|=1}),Z.addEventListener("error",function(){I.loading|=2}),I.loading|=4,zm(A,d,g)}A={type:"stylesheet",instance:A,count:1,state:I},y.set(w,A)}}}function SI(o,d){Wa.X(o,d);var f=wu;if(f&&o){var g=Hc(f).hoistableScripts,y=Ou(o),w=g.get(y);w||(w=f.querySelector(Oh(y)),w||(o=p({src:o,async:!0},d),(d=gi.get(y))&&ay(o,d),w=f.createElement("script"),Er(w),Qr(w,"link",o),f.head.appendChild(w)),w={type:"script",instance:w,count:1,state:null},g.set(y,w))}}function OI(o,d){Wa.M(o,d);var f=wu;if(f&&o){var g=Hc(f).hoistableScripts,y=Ou(o),w=g.get(y);w||(w=f.querySelector(Oh(y)),w||(o=p({src:o,async:!0,type:"module"},d),(d=gi.get(y))&&ay(o,d),w=f.createElement("script"),Er(w),Qr(w,"link",o),f.head.appendChild(w)),w={type:"script",instance:w,count:1,state:null},g.set(y,w))}}function HO(o,d,f,g){var y=(y=fe.current)?Rm(y):null;if(!y)throw Error(r(446));switch(o){case"meta":case"title":return null;case"style":return typeof f.precedence=="string"&&typeof f.href=="string"?(d=Su(f.href),f=Hc(y).hoistableStyles,g=f.get(d),g||(g={type:"style",instance:null,count:0,state:null},f.set(d,g)),g):{type:"void",instance:null,count:0,state:null};case"link":if(f.rel==="stylesheet"&&typeof f.href=="string"&&typeof f.precedence=="string"){o=Su(f.href);var w=Hc(y).hoistableStyles,A=w.get(o);if(A||(y=y.ownerDocument||y,A={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},w.set(o,A),(w=y.querySelector(Sh(o)))&&!w._p&&(A.instance=w,A.state.loading=5),gi.has(o)||(f={rel:"preload",as:"style",href:f.href,crossOrigin:f.crossOrigin,integrity:f.integrity,media:f.media,hrefLang:f.hrefLang,referrerPolicy:f.referrerPolicy},gi.set(o,f),w||kI(y,o,f,A.state))),d&&g===null)throw Error(r(528,""));return A}if(d&&g!==null)throw Error(r(529,""));return null;case"script":return d=f.async,f=f.src,typeof f=="string"&&d&&typeof d!="function"&&typeof d!="symbol"?(d=Ou(f),f=Hc(y).hoistableScripts,g=f.get(d),g||(g={type:"script",instance:null,count:0,state:null},f.set(d,g)),g):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,o))}}function Su(o){return'href="'+oi(o)+'"'}function Sh(o){return'link[rel="stylesheet"]['+o+"]"}function UO(o){return p({},o,{"data-precedence":o.precedence,precedence:null})}function kI(o,d,f,g){o.querySelector('link[rel="preload"][as="style"]['+d+"]")?g.loading=1:(d=o.createElement("link"),g.preload=d,d.addEventListener("load",function(){return g.loading|=1}),d.addEventListener("error",function(){return g.loading|=2}),Qr(d,"link",f),Er(d),o.head.appendChild(d))}function Ou(o){return'[src="'+oi(o)+'"]'}function Oh(o){return"script[async]"+o}function VO(o,d,f){if(d.count++,d.instance===null)switch(d.type){case"style":var g=o.querySelector('style[data-href~="'+oi(f.href)+'"]');if(g)return d.instance=g,Er(g),g;var y=p({},f,{"data-href":f.href,"data-precedence":f.precedence,href:null,precedence:null});return g=(o.ownerDocument||o).createElement("style"),Er(g),Qr(g,"style",y),zm(g,f.precedence,o),d.instance=g;case"stylesheet":y=Su(f.href);var w=o.querySelector(Sh(y));if(w)return d.state.loading|=4,d.instance=w,Er(w),w;g=UO(f),(y=gi.get(y))&&iy(g,y),w=(o.ownerDocument||o).createElement("link"),Er(w);var A=w;return A._p=new Promise(function(I,Z){A.onload=I,A.onerror=Z}),Qr(w,"link",g),d.state.loading|=4,zm(w,f.precedence,o),d.instance=w;case"script":return w=Ou(f.src),(y=o.querySelector(Oh(w)))?(d.instance=y,Er(y),y):(g=f,(y=gi.get(w))&&(g=p({},f),ay(g,y)),o=o.ownerDocument||o,y=o.createElement("script"),Er(y),Qr(y,"link",g),o.head.appendChild(y),d.instance=y);case"void":return null;default:throw Error(r(443,d.type))}else d.type==="stylesheet"&&(d.state.loading&4)===0&&(g=d.instance,d.state.loading|=4,zm(g,f.precedence,o));return d.instance}function zm(o,d,f){for(var g=f.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),y=g.length?g[g.length-1]:null,w=y,A=0;A title"):null)}function jI(o,d,f){if(f===1||d.itemProp!=null)return!1;switch(o){case"meta":case"title":return!0;case"style":if(typeof d.precedence!="string"||typeof d.href!="string"||d.href==="")break;return!0;case"link":if(typeof d.rel!="string"||typeof d.href!="string"||d.href===""||d.onLoad||d.onError)break;switch(d.rel){case"stylesheet":return o=d.disabled,typeof d.precedence=="string"&&o==null;default:return!0}case"script":if(d.async&&typeof d.async!="function"&&typeof d.async!="symbol"&&!d.onLoad&&!d.onError&&d.src&&typeof d.src=="string")return!0}return!1}function XO(o){return!(o.type==="stylesheet"&&(o.state.loading&3)===0)}function NI(o,d,f,g){if(f.type==="stylesheet"&&(typeof g.media!="string"||matchMedia(g.media).matches!==!1)&&(f.state.loading&4)===0){if(f.instance===null){var y=Su(g.href),w=d.querySelector(Sh(y));if(w){d=w._p,d!==null&&typeof d=="object"&&typeof d.then=="function"&&(o.count++,o=Lm.bind(o),d.then(o,o)),f.state.loading|=4,f.instance=w,Er(w);return}w=d.ownerDocument||d,g=UO(g),(y=gi.get(y))&&iy(g,y),w=w.createElement("link"),Er(w);var A=w;A._p=new Promise(function(I,Z){A.onload=I,A.onerror=Z}),Qr(w,"link",g),f.instance=w}o.stylesheets===null&&(o.stylesheets=new Map),o.stylesheets.set(f,d),(d=f.state.preload)&&(f.state.loading&3)===0&&(o.count++,f=Lm.bind(o),d.addEventListener("load",f),d.addEventListener("error",f))}}var ly=0;function CI(o,d){return o.stylesheets&&o.count===0&&Im(o,o.stylesheets),0ly?50:800)+d);return o.unsuspend=f,function(){o.unsuspend=null,clearTimeout(g),clearTimeout(y)}}:null}function Lm(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Im(this,this.stylesheets);else if(this.unsuspend){var o=this.unsuspend;this.unsuspend=null,o()}}}var Bm=null;function Im(o,d){o.stylesheets=null,o.unsuspend!==null&&(o.count++,Bm=new Map,d.forEach(TI,o),Bm=null,Lm.call(o))}function TI(o,d){if(!(d.state.loading&4)){var f=Bm.get(o);if(f)var g=f.get(null);else{f=new Map,Bm.set(o,f);for(var y=o.querySelectorAll("link[data-precedence],style[data-precedence]"),w=0;w"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),gy.exports=QF(),gy.exports}var HF=$F();function V9(n,e){return function(){return n.apply(e,arguments)}}const{toString:UF}=Object.prototype,{getPrototypeOf:tw}=Object,{iterator:cx,toStringTag:W9}=Symbol,ux=(n=>e=>{const t=UF.call(e);return n[t]||(n[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),Ui=n=>(n=n.toLowerCase(),e=>ux(e)===n),dx=n=>e=>typeof e===n,{isArray:Od}=Array,id=dx("undefined");function Zf(n){return n!==null&&!id(n)&&n.constructor!==null&&!id(n.constructor)&&Ds(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const G9=Ui("ArrayBuffer");function VF(n){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(n):e=n&&n.buffer&&G9(n.buffer),e}const WF=dx("string"),Ds=dx("function"),X9=dx("number"),Jf=n=>n!==null&&typeof n=="object",GF=n=>n===!0||n===!1,Hp=n=>{if(ux(n)!=="object")return!1;const e=tw(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(W9 in n)&&!(cx in n)},XF=n=>{if(!Jf(n)||Zf(n))return!1;try{return Object.keys(n).length===0&&Object.getPrototypeOf(n)===Object.prototype}catch{return!1}},YF=Ui("Date"),KF=Ui("File"),ZF=Ui("Blob"),JF=Ui("FileList"),eq=n=>Jf(n)&&Ds(n.pipe),tq=n=>{let e;return n&&(typeof FormData=="function"&&n instanceof FormData||Ds(n.append)&&((e=ux(n))==="formdata"||e==="object"&&Ds(n.toString)&&n.toString()==="[object FormData]"))},nq=Ui("URLSearchParams"),[rq,sq,iq,aq]=["ReadableStream","Request","Response","Headers"].map(Ui),lq=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function e0(n,e,{allOwnKeys:t=!1}={}){if(n===null||typeof n>"u")return;let r,s;if(typeof n!="object"&&(n=[n]),Od(n))for(r=0,s=n.length;r0;)if(s=t[r],e===s.toLowerCase())return s;return null}const ic=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,K9=n=>!id(n)&&n!==ic;function r2(){const{caseless:n,skipUndefined:e}=K9(this)&&this||{},t={},r=(s,i)=>{const l=n&&Y9(t,i)||i;Hp(t[l])&&Hp(s)?t[l]=r2(t[l],s):Hp(s)?t[l]=r2({},s):Od(s)?t[l]=s.slice():(!e||!id(s))&&(t[l]=s)};for(let s=0,i=arguments.length;s(e0(e,(s,i)=>{t&&Ds(s)?n[i]=V9(s,t):n[i]=s},{allOwnKeys:r}),n),cq=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),uq=(n,e,t,r)=>{n.prototype=Object.create(e.prototype,r),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:e.prototype}),t&&Object.assign(n.prototype,t)},dq=(n,e,t,r)=>{let s,i,l;const c={};if(e=e||{},n==null)return e;do{for(s=Object.getOwnPropertyNames(n),i=s.length;i-- >0;)l=s[i],(!r||r(l,n,e))&&!c[l]&&(e[l]=n[l],c[l]=!0);n=t!==!1&&tw(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},hq=(n,e,t)=>{n=String(n),(t===void 0||t>n.length)&&(t=n.length),t-=e.length;const r=n.indexOf(e,t);return r!==-1&&r===t},fq=n=>{if(!n)return null;if(Od(n))return n;let e=n.length;if(!X9(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=n[e];return t},mq=(n=>e=>n&&e instanceof n)(typeof Uint8Array<"u"&&tw(Uint8Array)),pq=(n,e)=>{const r=(n&&n[cx]).call(n);let s;for(;(s=r.next())&&!s.done;){const i=s.value;e.call(n,i[0],i[1])}},gq=(n,e)=>{let t;const r=[];for(;(t=n.exec(e))!==null;)r.push(t);return r},xq=Ui("HTMLFormElement"),vq=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,r,s){return r.toUpperCase()+s}),bk=(({hasOwnProperty:n})=>(e,t)=>n.call(e,t))(Object.prototype),yq=Ui("RegExp"),Z9=(n,e)=>{const t=Object.getOwnPropertyDescriptors(n),r={};e0(t,(s,i)=>{let l;(l=e(s,i,n))!==!1&&(r[i]=l||s)}),Object.defineProperties(n,r)},bq=n=>{Z9(n,(e,t)=>{if(Ds(n)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const r=n[t];if(Ds(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},wq=(n,e)=>{const t={},r=s=>{s.forEach(i=>{t[i]=!0})};return Od(n)?r(n):r(String(n).split(e)),t},Sq=()=>{},Oq=(n,e)=>n!=null&&Number.isFinite(n=+n)?n:e;function kq(n){return!!(n&&Ds(n.append)&&n[W9]==="FormData"&&n[cx])}const jq=n=>{const e=new Array(10),t=(r,s)=>{if(Jf(r)){if(e.indexOf(r)>=0)return;if(Zf(r))return r;if(!("toJSON"in r)){e[s]=r;const i=Od(r)?[]:{};return e0(r,(l,c)=>{const u=t(l,s+1);!id(u)&&(i[c]=u)}),e[s]=void 0,i}}return r};return t(n,0)},Nq=Ui("AsyncFunction"),Cq=n=>n&&(Jf(n)||Ds(n))&&Ds(n.then)&&Ds(n.catch),J9=((n,e)=>n?setImmediate:e?((t,r)=>(ic.addEventListener("message",({source:s,data:i})=>{s===ic&&i===t&&r.length&&r.shift()()},!1),s=>{r.push(s),ic.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",Ds(ic.postMessage)),Tq=typeof queueMicrotask<"u"?queueMicrotask.bind(ic):typeof process<"u"&&process.nextTick||J9,Mq=n=>n!=null&&Ds(n[cx]),we={isArray:Od,isArrayBuffer:G9,isBuffer:Zf,isFormData:tq,isArrayBufferView:VF,isString:WF,isNumber:X9,isBoolean:GF,isObject:Jf,isPlainObject:Hp,isEmptyObject:XF,isReadableStream:rq,isRequest:sq,isResponse:iq,isHeaders:aq,isUndefined:id,isDate:YF,isFile:KF,isBlob:ZF,isRegExp:yq,isFunction:Ds,isStream:eq,isURLSearchParams:nq,isTypedArray:mq,isFileList:JF,forEach:e0,merge:r2,extend:oq,trim:lq,stripBOM:cq,inherits:uq,toFlatObject:dq,kindOf:ux,kindOfTest:Ui,endsWith:hq,toArray:fq,forEachEntry:pq,matchAll:gq,isHTMLForm:xq,hasOwnProperty:bk,hasOwnProp:bk,reduceDescriptors:Z9,freezeMethods:bq,toObjectSet:wq,toCamelCase:vq,noop:Sq,toFiniteNumber:Oq,findKey:Y9,global:ic,isContextDefined:K9,isSpecCompliantForm:kq,toJSONObject:jq,isAsyncFn:Nq,isThenable:Cq,setImmediate:J9,asap:Tq,isIterable:Mq};function St(n,e,t,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}we.inherits(St,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:we.toJSONObject(this.config),code:this.code,status:this.status}}});const eC=St.prototype,tC={};["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(n=>{tC[n]={value:n}});Object.defineProperties(St,tC);Object.defineProperty(eC,"isAxiosError",{value:!0});St.from=(n,e,t,r,s,i)=>{const l=Object.create(eC);we.toFlatObject(n,l,function(m){return m!==Error.prototype},h=>h!=="isAxiosError");const c=n&&n.message?n.message:"Error",u=e==null&&n?n.code:e;return St.call(l,c,u,t,r,s),n&&l.cause==null&&Object.defineProperty(l,"cause",{value:n,configurable:!0}),l.name=n&&n.name||"Error",i&&Object.assign(l,i),l};const Aq=null;function s2(n){return we.isPlainObject(n)||we.isArray(n)}function nC(n){return we.endsWith(n,"[]")?n.slice(0,-2):n}function wk(n,e,t){return n?n.concat(e).map(function(s,i){return s=nC(s),!t&&i?"["+s+"]":s}).join(t?".":""):e}function Eq(n){return we.isArray(n)&&!n.some(s2)}const _q=we.toFlatObject(we,{},null,function(e){return/^is[A-Z]/.test(e)});function hx(n,e,t){if(!we.isObject(n))throw new TypeError("target must be an object");e=e||new FormData,t=we.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(O,k){return!we.isUndefined(k[O])});const r=t.metaTokens,s=t.visitor||m,i=t.dots,l=t.indexes,u=(t.Blob||typeof Blob<"u"&&Blob)&&we.isSpecCompliantForm(e);if(!we.isFunction(s))throw new TypeError("visitor must be a function");function h(b){if(b===null)return"";if(we.isDate(b))return b.toISOString();if(we.isBoolean(b))return b.toString();if(!u&&we.isBlob(b))throw new St("Blob is not supported. Use a Buffer instead.");return we.isArrayBuffer(b)||we.isTypedArray(b)?u&&typeof Blob=="function"?new Blob([b]):Buffer.from(b):b}function m(b,O,k){let j=b;if(b&&!k&&typeof b=="object"){if(we.endsWith(O,"{}"))O=r?O:O.slice(0,-2),b=JSON.stringify(b);else if(we.isArray(b)&&Eq(b)||(we.isFileList(b)||we.endsWith(O,"[]"))&&(j=we.toArray(b)))return O=nC(O),j.forEach(function(M,_){!(we.isUndefined(M)||M===null)&&e.append(l===!0?wk([O],_,i):l===null?O:O+"[]",h(M))}),!1}return s2(b)?!0:(e.append(wk(k,O,i),h(b)),!1)}const p=[],x=Object.assign(_q,{defaultVisitor:m,convertValue:h,isVisitable:s2});function v(b,O){if(!we.isUndefined(b)){if(p.indexOf(b)!==-1)throw Error("Circular reference detected in "+O.join("."));p.push(b),we.forEach(b,function(j,T){(!(we.isUndefined(j)||j===null)&&s.call(e,j,we.isString(T)?T.trim():T,O,x))===!0&&v(j,O?O.concat(T):[T])}),p.pop()}}if(!we.isObject(n))throw new TypeError("data must be an object");return v(n),e}function Sk(n){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function nw(n,e){this._pairs=[],n&&hx(n,this,e)}const rC=nw.prototype;rC.append=function(e,t){this._pairs.push([e,t])};rC.toString=function(e){const t=e?function(r){return e.call(this,r,Sk)}:Sk;return this._pairs.map(function(s){return t(s[0])+"="+t(s[1])},"").join("&")};function Dq(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function sC(n,e,t){if(!e)return n;const r=t&&t.encode||Dq;we.isFunction(t)&&(t={serialize:t});const s=t&&t.serialize;let i;if(s?i=s(e,t):i=we.isURLSearchParams(e)?e.toString():new nw(e,t).toString(r),i){const l=n.indexOf("#");l!==-1&&(n=n.slice(0,l)),n+=(n.indexOf("?")===-1?"?":"&")+i}return n}class Ok{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){we.forEach(this.handlers,function(r){r!==null&&e(r)})}}const iC={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Rq=typeof URLSearchParams<"u"?URLSearchParams:nw,zq=typeof FormData<"u"?FormData:null,Pq=typeof Blob<"u"?Blob:null,Lq={isBrowser:!0,classes:{URLSearchParams:Rq,FormData:zq,Blob:Pq},protocols:["http","https","file","blob","url","data"]},rw=typeof window<"u"&&typeof document<"u",i2=typeof navigator=="object"&&navigator||void 0,Bq=rw&&(!i2||["ReactNative","NativeScript","NS"].indexOf(i2.product)<0),Iq=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Fq=rw&&window.location.href||"http://localhost",qq=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:rw,hasStandardBrowserEnv:Bq,hasStandardBrowserWebWorkerEnv:Iq,navigator:i2,origin:Fq},Symbol.toStringTag,{value:"Module"})),ts={...qq,...Lq};function Qq(n,e){return hx(n,new ts.classes.URLSearchParams,{visitor:function(t,r,s,i){return ts.isNode&&we.isBuffer(t)?(this.append(r,t.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...e})}function $q(n){return we.matchAll(/\w+|\[(\w*)]/g,n).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Hq(n){const e={},t=Object.keys(n);let r;const s=t.length;let i;for(r=0;r=t.length;return l=!l&&we.isArray(s)?s.length:l,u?(we.hasOwnProp(s,l)?s[l]=[s[l],r]:s[l]=r,!c):((!s[l]||!we.isObject(s[l]))&&(s[l]=[]),e(t,r,s[l],i)&&we.isArray(s[l])&&(s[l]=Hq(s[l])),!c)}if(we.isFormData(n)&&we.isFunction(n.entries)){const t={};return we.forEachEntry(n,(r,s)=>{e($q(r),s,t,0)}),t}return null}function Uq(n,e,t){if(we.isString(n))try{return(e||JSON.parse)(n),we.trim(n)}catch(r){if(r.name!=="SyntaxError")throw r}return(t||JSON.stringify)(n)}const t0={transitional:iC,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const r=t.getContentType()||"",s=r.indexOf("application/json")>-1,i=we.isObject(e);if(i&&we.isHTMLForm(e)&&(e=new FormData(e)),we.isFormData(e))return s?JSON.stringify(aC(e)):e;if(we.isArrayBuffer(e)||we.isBuffer(e)||we.isStream(e)||we.isFile(e)||we.isBlob(e)||we.isReadableStream(e))return e;if(we.isArrayBufferView(e))return e.buffer;if(we.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let c;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Qq(e,this.formSerializer).toString();if((c=we.isFileList(e))||r.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return hx(c?{"files[]":e}:e,u&&new u,this.formSerializer)}}return i||s?(t.setContentType("application/json",!1),Uq(e)):e}],transformResponse:[function(e){const t=this.transitional||t0.transitional,r=t&&t.forcedJSONParsing,s=this.responseType==="json";if(we.isResponse(e)||we.isReadableStream(e))return e;if(e&&we.isString(e)&&(r&&!this.responseType||s)){const l=!(t&&t.silentJSONParsing)&&s;try{return JSON.parse(e,this.parseReviver)}catch(c){if(l)throw c.name==="SyntaxError"?St.from(c,St.ERR_BAD_RESPONSE,this,null,this.response):c}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ts.classes.FormData,Blob:ts.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};we.forEach(["delete","get","head","post","put","patch"],n=>{t0.headers[n]={}});const Vq=we.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"]),Wq=n=>{const e={};let t,r,s;return n&&n.split(` -`).forEach(function(l){s=l.indexOf(":"),t=l.substring(0,s).trim().toLowerCase(),r=l.substring(s+1).trim(),!(!t||e[t]&&Vq[t])&&(t==="set-cookie"?e[t]?e[t].push(r):e[t]=[r]:e[t]=e[t]?e[t]+", "+r:r)}),e},kk=Symbol("internals");function Ah(n){return n&&String(n).trim().toLowerCase()}function Up(n){return n===!1||n==null?n:we.isArray(n)?n.map(Up):String(n)}function Gq(n){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=t.exec(n);)e[r[1]]=r[2];return e}const Xq=n=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(n.trim());function yy(n,e,t,r,s){if(we.isFunction(r))return r.call(this,e,t);if(s&&(e=t),!!we.isString(e)){if(we.isString(r))return e.indexOf(r)!==-1;if(we.isRegExp(r))return r.test(e)}}function Yq(n){return n.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,r)=>t.toUpperCase()+r)}function Kq(n,e){const t=we.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(n,r+t,{value:function(s,i,l){return this[r].call(this,e,s,i,l)},configurable:!0})})}let Rs=class{constructor(e){e&&this.set(e)}set(e,t,r){const s=this;function i(c,u,h){const m=Ah(u);if(!m)throw new Error("header name must be a non-empty string");const p=we.findKey(s,m);(!p||s[p]===void 0||h===!0||h===void 0&&s[p]!==!1)&&(s[p||u]=Up(c))}const l=(c,u)=>we.forEach(c,(h,m)=>i(h,m,u));if(we.isPlainObject(e)||e instanceof this.constructor)l(e,t);else if(we.isString(e)&&(e=e.trim())&&!Xq(e))l(Wq(e),t);else if(we.isObject(e)&&we.isIterable(e)){let c={},u,h;for(const m of e){if(!we.isArray(m))throw TypeError("Object iterator must return a key-value pair");c[h=m[0]]=(u=c[h])?we.isArray(u)?[...u,m[1]]:[u,m[1]]:m[1]}l(c,t)}else e!=null&&i(t,e,r);return this}get(e,t){if(e=Ah(e),e){const r=we.findKey(this,e);if(r){const s=this[r];if(!t)return s;if(t===!0)return Gq(s);if(we.isFunction(t))return t.call(this,s,r);if(we.isRegExp(t))return t.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Ah(e),e){const r=we.findKey(this,e);return!!(r&&this[r]!==void 0&&(!t||yy(this,this[r],r,t)))}return!1}delete(e,t){const r=this;let s=!1;function i(l){if(l=Ah(l),l){const c=we.findKey(r,l);c&&(!t||yy(r,r[c],c,t))&&(delete r[c],s=!0)}}return we.isArray(e)?e.forEach(i):i(e),s}clear(e){const t=Object.keys(this);let r=t.length,s=!1;for(;r--;){const i=t[r];(!e||yy(this,this[i],i,e,!0))&&(delete this[i],s=!0)}return s}normalize(e){const t=this,r={};return we.forEach(this,(s,i)=>{const l=we.findKey(r,i);if(l){t[l]=Up(s),delete t[i];return}const c=e?Yq(i):String(i).trim();c!==i&&delete t[i],t[c]=Up(s),r[c]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return we.forEach(this,(r,s)=>{r!=null&&r!==!1&&(t[s]=e&&we.isArray(r)?r.join(", "):r)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach(s=>r.set(s)),r}static accessor(e){const r=(this[kk]=this[kk]={accessors:{}}).accessors,s=this.prototype;function i(l){const c=Ah(l);r[c]||(Kq(s,l),r[c]=!0)}return we.isArray(e)?e.forEach(i):i(e),this}};Rs.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);we.reduceDescriptors(Rs.prototype,({value:n},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>n,set(r){this[t]=r}}});we.freezeMethods(Rs);function by(n,e){const t=this||t0,r=e||t,s=Rs.from(r.headers);let i=r.data;return we.forEach(n,function(c){i=c.call(t,i,s.normalize(),e?e.status:void 0)}),s.normalize(),i}function lC(n){return!!(n&&n.__CANCEL__)}function kd(n,e,t){St.call(this,n??"canceled",St.ERR_CANCELED,e,t),this.name="CanceledError"}we.inherits(kd,St,{__CANCEL__:!0});function oC(n,e,t){const r=t.config.validateStatus;!t.status||!r||r(t.status)?n(t):e(new St("Request failed with status code "+t.status,[St.ERR_BAD_REQUEST,St.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}function Zq(n){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(n);return e&&e[1]||""}function Jq(n,e){n=n||10;const t=new Array(n),r=new Array(n);let s=0,i=0,l;return e=e!==void 0?e:1e3,function(u){const h=Date.now(),m=r[i];l||(l=h),t[s]=u,r[s]=h;let p=i,x=0;for(;p!==s;)x+=t[p++],p=p%n;if(s=(s+1)%n,s===i&&(i=(i+1)%n),h-l{t=m,s=null,i&&(clearTimeout(i),i=null),n(...h)};return[(...h)=>{const m=Date.now(),p=m-t;p>=r?l(h,m):(s=h,i||(i=setTimeout(()=>{i=null,l(s)},r-p)))},()=>s&&l(s)]}const xg=(n,e,t=3)=>{let r=0;const s=Jq(50,250);return eQ(i=>{const l=i.loaded,c=i.lengthComputable?i.total:void 0,u=l-r,h=s(u),m=l<=c;r=l;const p={loaded:l,total:c,progress:c?l/c:void 0,bytes:u,rate:h||void 0,estimated:h&&c&&m?(c-l)/h:void 0,event:i,lengthComputable:c!=null,[e?"download":"upload"]:!0};n(p)},t)},jk=(n,e)=>{const t=n!=null;return[r=>e[0]({lengthComputable:t,total:n,loaded:r}),e[1]]},Nk=n=>(...e)=>we.asap(()=>n(...e)),tQ=ts.hasStandardBrowserEnv?((n,e)=>t=>(t=new URL(t,ts.origin),n.protocol===t.protocol&&n.host===t.host&&(e||n.port===t.port)))(new URL(ts.origin),ts.navigator&&/(msie|trident)/i.test(ts.navigator.userAgent)):()=>!0,nQ=ts.hasStandardBrowserEnv?{write(n,e,t,r,s,i,l){if(typeof document>"u")return;const c=[`${n}=${encodeURIComponent(e)}`];we.isNumber(t)&&c.push(`expires=${new Date(t).toUTCString()}`),we.isString(r)&&c.push(`path=${r}`),we.isString(s)&&c.push(`domain=${s}`),i===!0&&c.push("secure"),we.isString(l)&&c.push(`SameSite=${l}`),document.cookie=c.join("; ")},read(n){if(typeof document>"u")return null;const e=document.cookie.match(new RegExp("(?:^|; )"+n+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(n){this.write(n,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function rQ(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function sQ(n,e){return e?n.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):n}function cC(n,e,t){let r=!rQ(e);return n&&(r||t==!1)?sQ(n,e):e}const Ck=n=>n instanceof Rs?{...n}:n;function vc(n,e){e=e||{};const t={};function r(h,m,p,x){return we.isPlainObject(h)&&we.isPlainObject(m)?we.merge.call({caseless:x},h,m):we.isPlainObject(m)?we.merge({},m):we.isArray(m)?m.slice():m}function s(h,m,p,x){if(we.isUndefined(m)){if(!we.isUndefined(h))return r(void 0,h,p,x)}else return r(h,m,p,x)}function i(h,m){if(!we.isUndefined(m))return r(void 0,m)}function l(h,m){if(we.isUndefined(m)){if(!we.isUndefined(h))return r(void 0,h)}else return r(void 0,m)}function c(h,m,p){if(p in e)return r(h,m);if(p in n)return r(void 0,h)}const u={url:i,method:i,data:i,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:c,headers:(h,m,p)=>s(Ck(h),Ck(m),p,!0)};return we.forEach(Object.keys({...n,...e}),function(m){const p=u[m]||s,x=p(n[m],e[m],m);we.isUndefined(x)&&p!==c||(t[m]=x)}),t}const uC=n=>{const e=vc({},n);let{data:t,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:i,headers:l,auth:c}=e;if(e.headers=l=Rs.from(l),e.url=sC(cC(e.baseURL,e.url,e.allowAbsoluteUrls),n.params,n.paramsSerializer),c&&l.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),we.isFormData(t)){if(ts.hasStandardBrowserEnv||ts.hasStandardBrowserWebWorkerEnv)l.setContentType(void 0);else if(we.isFunction(t.getHeaders)){const u=t.getHeaders(),h=["content-type","content-length"];Object.entries(u).forEach(([m,p])=>{h.includes(m.toLowerCase())&&l.set(m,p)})}}if(ts.hasStandardBrowserEnv&&(r&&we.isFunction(r)&&(r=r(e)),r||r!==!1&&tQ(e.url))){const u=s&&i&&nQ.read(i);u&&l.set(s,u)}return e},iQ=typeof XMLHttpRequest<"u",aQ=iQ&&function(n){return new Promise(function(t,r){const s=uC(n);let i=s.data;const l=Rs.from(s.headers).normalize();let{responseType:c,onUploadProgress:u,onDownloadProgress:h}=s,m,p,x,v,b;function O(){v&&v(),b&&b(),s.cancelToken&&s.cancelToken.unsubscribe(m),s.signal&&s.signal.removeEventListener("abort",m)}let k=new XMLHttpRequest;k.open(s.method.toUpperCase(),s.url,!0),k.timeout=s.timeout;function j(){if(!k)return;const M=Rs.from("getAllResponseHeaders"in k&&k.getAllResponseHeaders()),D={data:!c||c==="text"||c==="json"?k.responseText:k.response,status:k.status,statusText:k.statusText,headers:M,config:n,request:k};oC(function(z){t(z),O()},function(z){r(z),O()},D),k=null}"onloadend"in k?k.onloadend=j:k.onreadystatechange=function(){!k||k.readyState!==4||k.status===0&&!(k.responseURL&&k.responseURL.indexOf("file:")===0)||setTimeout(j)},k.onabort=function(){k&&(r(new St("Request aborted",St.ECONNABORTED,n,k)),k=null)},k.onerror=function(_){const D=_&&_.message?_.message:"Network Error",E=new St(D,St.ERR_NETWORK,n,k);E.event=_||null,r(E),k=null},k.ontimeout=function(){let _=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const D=s.transitional||iC;s.timeoutErrorMessage&&(_=s.timeoutErrorMessage),r(new St(_,D.clarifyTimeoutError?St.ETIMEDOUT:St.ECONNABORTED,n,k)),k=null},i===void 0&&l.setContentType(null),"setRequestHeader"in k&&we.forEach(l.toJSON(),function(_,D){k.setRequestHeader(D,_)}),we.isUndefined(s.withCredentials)||(k.withCredentials=!!s.withCredentials),c&&c!=="json"&&(k.responseType=s.responseType),h&&([x,b]=xg(h,!0),k.addEventListener("progress",x)),u&&k.upload&&([p,v]=xg(u),k.upload.addEventListener("progress",p),k.upload.addEventListener("loadend",v)),(s.cancelToken||s.signal)&&(m=M=>{k&&(r(!M||M.type?new kd(null,n,k):M),k.abort(),k=null)},s.cancelToken&&s.cancelToken.subscribe(m),s.signal&&(s.signal.aborted?m():s.signal.addEventListener("abort",m)));const T=Zq(s.url);if(T&&ts.protocols.indexOf(T)===-1){r(new St("Unsupported protocol "+T+":",St.ERR_BAD_REQUEST,n));return}k.send(i||null)})},lQ=(n,e)=>{const{length:t}=n=n?n.filter(Boolean):[];if(e||t){let r=new AbortController,s;const i=function(h){if(!s){s=!0,c();const m=h instanceof Error?h:this.reason;r.abort(m instanceof St?m:new kd(m instanceof Error?m.message:m))}};let l=e&&setTimeout(()=>{l=null,i(new St(`timeout ${e} of ms exceeded`,St.ETIMEDOUT))},e);const c=()=>{n&&(l&&clearTimeout(l),l=null,n.forEach(h=>{h.unsubscribe?h.unsubscribe(i):h.removeEventListener("abort",i)}),n=null)};n.forEach(h=>h.addEventListener("abort",i));const{signal:u}=r;return u.unsubscribe=()=>we.asap(c),u}},oQ=function*(n,e){let t=n.byteLength;if(t{const s=cQ(n,e);let i=0,l,c=u=>{l||(l=!0,r&&r(u))};return new ReadableStream({async pull(u){try{const{done:h,value:m}=await s.next();if(h){c(),u.close();return}let p=m.byteLength;if(t){let x=i+=p;t(x)}u.enqueue(new Uint8Array(m))}catch(h){throw c(h),h}},cancel(u){return c(u),s.return()}},{highWaterMark:2})},Mk=64*1024,{isFunction:Ym}=we,dQ=(({Request:n,Response:e})=>({Request:n,Response:e}))(we.global),{ReadableStream:Ak,TextEncoder:Ek}=we.global,_k=(n,...e)=>{try{return!!n(...e)}catch{return!1}},hQ=n=>{n=we.merge.call({skipUndefined:!0},dQ,n);const{fetch:e,Request:t,Response:r}=n,s=e?Ym(e):typeof fetch=="function",i=Ym(t),l=Ym(r);if(!s)return!1;const c=s&&Ym(Ak),u=s&&(typeof Ek=="function"?(b=>O=>b.encode(O))(new Ek):async b=>new Uint8Array(await new t(b).arrayBuffer())),h=i&&c&&_k(()=>{let b=!1;const O=new t(ts.origin,{body:new Ak,method:"POST",get duplex(){return b=!0,"half"}}).headers.has("Content-Type");return b&&!O}),m=l&&c&&_k(()=>we.isReadableStream(new r("").body)),p={stream:m&&(b=>b.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(b=>{!p[b]&&(p[b]=(O,k)=>{let j=O&&O[b];if(j)return j.call(O);throw new St(`Response type '${b}' is not supported`,St.ERR_NOT_SUPPORT,k)})});const x=async b=>{if(b==null)return 0;if(we.isBlob(b))return b.size;if(we.isSpecCompliantForm(b))return(await new t(ts.origin,{method:"POST",body:b}).arrayBuffer()).byteLength;if(we.isArrayBufferView(b)||we.isArrayBuffer(b))return b.byteLength;if(we.isURLSearchParams(b)&&(b=b+""),we.isString(b))return(await u(b)).byteLength},v=async(b,O)=>{const k=we.toFiniteNumber(b.getContentLength());return k??x(O)};return async b=>{let{url:O,method:k,data:j,signal:T,cancelToken:M,timeout:_,onDownloadProgress:D,onUploadProgress:E,responseType:z,headers:Q,withCredentials:q="same-origin",fetchOptions:B}=uC(b),U=e||fetch;z=z?(z+"").toLowerCase():"text";let V=lQ([T,M&&M.toAbortSignal()],_),ce=null;const W=V&&V.unsubscribe&&(()=>{V.unsubscribe()});let J;try{if(E&&h&&k!=="get"&&k!=="head"&&(J=await v(Q,j))!==0){let me=new t(O,{method:"POST",body:j,duplex:"half"}),Y;if(we.isFormData(j)&&(Y=me.headers.get("content-type"))&&Q.setContentType(Y),me.body){const[P,K]=jk(J,xg(Nk(E)));j=Tk(me.body,Mk,P,K)}}we.isString(q)||(q=q?"include":"omit");const H=i&&"credentials"in t.prototype,ae={...B,signal:V,method:k.toUpperCase(),headers:Q.normalize().toJSON(),body:j,duplex:"half",credentials:H?q:void 0};ce=i&&new t(O,ae);let ne=await(i?U(ce,B):U(O,ae));const ue=m&&(z==="stream"||z==="response");if(m&&(D||ue&&W)){const me={};["status","statusText","headers"].forEach($=>{me[$]=ne[$]});const Y=we.toFiniteNumber(ne.headers.get("content-length")),[P,K]=D&&jk(Y,xg(Nk(D),!0))||[];ne=new r(Tk(ne.body,Mk,P,()=>{K&&K(),W&&W()}),me)}z=z||"text";let R=await p[we.findKey(p,z)||"text"](ne,b);return!ue&&W&&W(),await new Promise((me,Y)=>{oC(me,Y,{data:R,headers:Rs.from(ne.headers),status:ne.status,statusText:ne.statusText,config:b,request:ce})})}catch(H){throw W&&W(),H&&H.name==="TypeError"&&/Load failed|fetch/i.test(H.message)?Object.assign(new St("Network Error",St.ERR_NETWORK,b,ce),{cause:H.cause||H}):St.from(H,H&&H.code,b,ce)}}},fQ=new Map,dC=n=>{let e=n&&n.env||{};const{fetch:t,Request:r,Response:s}=e,i=[r,s,t];let l=i.length,c=l,u,h,m=fQ;for(;c--;)u=i[c],h=m.get(u),h===void 0&&m.set(u,h=c?new Map:hQ(e)),m=h;return h};dC();const sw={http:Aq,xhr:aQ,fetch:{get:dC}};we.forEach(sw,(n,e)=>{if(n){try{Object.defineProperty(n,"name",{value:e})}catch{}Object.defineProperty(n,"adapterName",{value:e})}});const Dk=n=>`- ${n}`,mQ=n=>we.isFunction(n)||n===null||n===!1;function pQ(n,e){n=we.isArray(n)?n:[n];const{length:t}=n;let r,s;const i={};for(let l=0;l`adapter ${u} `+(h===!1?"is not supported by the environment":"is not available in the build"));let c=t?l.length>1?`since : -`+l.map(Dk).join(` -`):" "+Dk(l[0]):"as no adapter specified";throw new St("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return s}const hC={getAdapter:pQ,adapters:sw};function wy(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new kd(null,n)}function Rk(n){return wy(n),n.headers=Rs.from(n.headers),n.data=by.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),hC.getAdapter(n.adapter||t0.adapter,n)(n).then(function(r){return wy(n),r.data=by.call(n,n.transformResponse,r),r.headers=Rs.from(r.headers),r},function(r){return lC(r)||(wy(n),r&&r.response&&(r.response.data=by.call(n,n.transformResponse,r.response),r.response.headers=Rs.from(r.response.headers))),Promise.reject(r)})}const fC="1.13.2",fx={};["object","boolean","number","function","string","symbol"].forEach((n,e)=>{fx[n]=function(r){return typeof r===n||"a"+(e<1?"n ":" ")+n}});const zk={};fx.transitional=function(e,t,r){function s(i,l){return"[Axios v"+fC+"] Transitional option '"+i+"'"+l+(r?". "+r:"")}return(i,l,c)=>{if(e===!1)throw new St(s(l," has been removed"+(t?" in "+t:"")),St.ERR_DEPRECATED);return t&&!zk[l]&&(zk[l]=!0,console.warn(s(l," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(i,l,c):!0}};fx.spelling=function(e){return(t,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function gQ(n,e,t){if(typeof n!="object")throw new St("options must be an object",St.ERR_BAD_OPTION_VALUE);const r=Object.keys(n);let s=r.length;for(;s-- >0;){const i=r[s],l=e[i];if(l){const c=n[i],u=c===void 0||l(c,i,n);if(u!==!0)throw new St("option "+i+" must be "+u,St.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new St("Unknown option "+i,St.ERR_BAD_OPTION)}}const Vp={assertOptions:gQ,validators:fx},Zi=Vp.validators;let mc=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Ok,response:new Ok}}async request(e,t){try{return await this._request(e,t)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+i):r.stack=i}catch{}}throw r}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=vc(this.defaults,t);const{transitional:r,paramsSerializer:s,headers:i}=t;r!==void 0&&Vp.assertOptions(r,{silentJSONParsing:Zi.transitional(Zi.boolean),forcedJSONParsing:Zi.transitional(Zi.boolean),clarifyTimeoutError:Zi.transitional(Zi.boolean)},!1),s!=null&&(we.isFunction(s)?t.paramsSerializer={serialize:s}:Vp.assertOptions(s,{encode:Zi.function,serialize:Zi.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),Vp.assertOptions(t,{baseUrl:Zi.spelling("baseURL"),withXsrfToken:Zi.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let l=i&&we.merge(i.common,i[t.method]);i&&we.forEach(["delete","get","head","post","put","patch","common"],b=>{delete i[b]}),t.headers=Rs.concat(l,i);const c=[];let u=!0;this.interceptors.request.forEach(function(O){typeof O.runWhen=="function"&&O.runWhen(t)===!1||(u=u&&O.synchronous,c.unshift(O.fulfilled,O.rejected))});const h=[];this.interceptors.response.forEach(function(O){h.push(O.fulfilled,O.rejected)});let m,p=0,x;if(!u){const b=[Rk.bind(this),void 0];for(b.unshift(...c),b.push(...h),x=b.length,m=Promise.resolve(t);p{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const l=new Promise(c=>{r.subscribe(c),i=c}).then(s);return l.cancel=function(){r.unsubscribe(i)},l},e(function(i,l,c){r.reason||(r.reason=new kd(i,l,c),t(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=r=>{e.abort(r)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new mC(function(s){e=s}),cancel:e}}};function vQ(n){return function(t){return n.apply(null,t)}}function yQ(n){return we.isObject(n)&&n.isAxiosError===!0}const a2={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(a2).forEach(([n,e])=>{a2[e]=n});function pC(n){const e=new mc(n),t=V9(mc.prototype.request,e);return we.extend(t,mc.prototype,e,{allOwnKeys:!0}),we.extend(t,e,null,{allOwnKeys:!0}),t.create=function(s){return pC(vc(n,s))},t}const Zn=pC(t0);Zn.Axios=mc;Zn.CanceledError=kd;Zn.CancelToken=xQ;Zn.isCancel=lC;Zn.VERSION=fC;Zn.toFormData=hx;Zn.AxiosError=St;Zn.Cancel=Zn.CanceledError;Zn.all=function(e){return Promise.all(e)};Zn.spread=vQ;Zn.isAxiosError=yQ;Zn.mergeConfig=vc;Zn.AxiosHeaders=Rs;Zn.formToJSON=n=>aC(we.isHTMLForm(n)?new FormData(n):n);Zn.getAdapter=hC.getAdapter;Zn.HttpStatusCode=a2;Zn.default=Zn;const{Axios:Uxe,AxiosError:Vxe,CanceledError:Wxe,isCancel:Gxe,CancelToken:Xxe,VERSION:Yxe,all:Kxe,Cancel:Zxe,isAxiosError:Jxe,spread:e1e,toFormData:t1e,AxiosHeaders:n1e,HttpStatusCode:r1e,formToJSON:s1e,getAdapter:i1e,mergeConfig:a1e}=Zn,bQ=(n,e)=>{const t=new Array(n.length+e.length);for(let r=0;r({classGroupId:n,validator:e}),gC=(n=new Map,e=null,t)=>({nextPart:n,validators:e,classGroupId:t}),vg="-",Pk=[],SQ="arbitrary..",OQ=n=>{const e=jQ(n),{conflictingClassGroups:t,conflictingClassGroupModifiers:r}=n;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return kQ(l);const c=l.split(vg),u=c[0]===""&&c.length>1?1:0;return xC(c,u,e)},getConflictingClassGroupIds:(l,c)=>{if(c){const u=r[l],h=t[l];return u?h?bQ(h,u):u:h||Pk}return t[l]||Pk}}},xC=(n,e,t)=>{if(n.length-e===0)return t.classGroupId;const s=n[e],i=t.nextPart.get(s);if(i){const h=xC(n,e+1,i);if(h)return h}const l=t.validators;if(l===null)return;const c=e===0?n.join(vg):n.slice(e).join(vg),u=l.length;for(let h=0;hn.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const e=n.slice(1,-1),t=e.indexOf(":"),r=e.slice(0,t);return r?SQ+r:void 0})(),jQ=n=>{const{theme:e,classGroups:t}=n;return NQ(t,e)},NQ=(n,e)=>{const t=gC();for(const r in n){const s=n[r];iw(s,t,r,e)}return t},iw=(n,e,t,r)=>{const s=n.length;for(let i=0;i{if(typeof n=="string"){TQ(n,e,t);return}if(typeof n=="function"){MQ(n,e,t,r);return}AQ(n,e,t,r)},TQ=(n,e,t)=>{const r=n===""?e:vC(e,n);r.classGroupId=t},MQ=(n,e,t,r)=>{if(EQ(n)){iw(n(r),e,t,r);return}e.validators===null&&(e.validators=[]),e.validators.push(wQ(t,n))},AQ=(n,e,t,r)=>{const s=Object.entries(n),i=s.length;for(let l=0;l{let t=n;const r=e.split(vg),s=r.length;for(let i=0;i"isThemeGetter"in n&&n.isThemeGetter===!0,_Q=n=>{if(n<1)return{get:()=>{},set:()=>{}};let e=0,t=Object.create(null),r=Object.create(null);const s=(i,l)=>{t[i]=l,e++,e>n&&(e=0,r=t,t=Object.create(null))};return{get(i){let l=t[i];if(l!==void 0)return l;if((l=r[i])!==void 0)return s(i,l),l},set(i,l){i in t?t[i]=l:s(i,l)}}},l2="!",Lk=":",DQ=[],Bk=(n,e,t,r,s)=>({modifiers:n,hasImportantModifier:e,baseClassName:t,maybePostfixModifierPosition:r,isExternal:s}),RQ=n=>{const{prefix:e,experimentalParseClassName:t}=n;let r=s=>{const i=[];let l=0,c=0,u=0,h;const m=s.length;for(let O=0;Ou?h-u:void 0;return Bk(i,v,x,b)};if(e){const s=e+Lk,i=r;r=l=>l.startsWith(s)?i(l.slice(s.length)):Bk(DQ,!1,l,void 0,!0)}if(t){const s=r;r=i=>t({className:i,parseClassName:s})}return r},zQ=n=>{const e=new Map;return n.orderSensitiveModifiers.forEach((t,r)=>{e.set(t,1e6+r)}),t=>{const r=[];let s=[];for(let i=0;i0&&(s.sort(),r.push(...s),s=[]),r.push(l)):s.push(l)}return s.length>0&&(s.sort(),r.push(...s)),r}},PQ=n=>({cache:_Q(n.cacheSize),parseClassName:RQ(n),sortModifiers:zQ(n),...OQ(n)}),LQ=/\s+/,BQ=(n,e)=>{const{parseClassName:t,getClassGroupId:r,getConflictingClassGroupIds:s,sortModifiers:i}=e,l=[],c=n.trim().split(LQ);let u="";for(let h=c.length-1;h>=0;h-=1){const m=c[h],{isExternal:p,modifiers:x,hasImportantModifier:v,baseClassName:b,maybePostfixModifierPosition:O}=t(m);if(p){u=m+(u.length>0?" "+u:u);continue}let k=!!O,j=r(k?b.substring(0,O):b);if(!j){if(!k){u=m+(u.length>0?" "+u:u);continue}if(j=r(b),!j){u=m+(u.length>0?" "+u:u);continue}k=!1}const T=x.length===0?"":x.length===1?x[0]:i(x).join(":"),M=v?T+l2:T,_=M+j;if(l.indexOf(_)>-1)continue;l.push(_);const D=s(j,k);for(let E=0;E0?" "+u:u)}return u},IQ=(...n)=>{let e=0,t,r,s="";for(;e{if(typeof n=="string")return n;let e,t="";for(let r=0;r{let t,r,s,i;const l=u=>{const h=e.reduce((m,p)=>p(m),n());return t=PQ(h),r=t.cache.get,s=t.cache.set,i=c,c(u)},c=u=>{const h=r(u);if(h)return h;const m=BQ(u,t);return s(u,m),m};return i=l,(...u)=>i(IQ(...u))},qQ=[],wr=n=>{const e=t=>t[n]||qQ;return e.isThemeGetter=!0,e},bC=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,wC=/^\((?:(\w[\w-]*):)?(.+)\)$/i,QQ=/^\d+\/\d+$/,$Q=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,HQ=/\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$/,UQ=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,VQ=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,WQ=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ju=n=>QQ.test(n),At=n=>!!n&&!Number.isNaN(Number(n)),Wl=n=>!!n&&Number.isInteger(Number(n)),Sy=n=>n.endsWith("%")&&At(n.slice(0,-1)),Ga=n=>$Q.test(n),GQ=()=>!0,XQ=n=>HQ.test(n)&&!UQ.test(n),SC=()=>!1,YQ=n=>VQ.test(n),KQ=n=>WQ.test(n),ZQ=n=>!Xe(n)&&!Ye(n),JQ=n=>jd(n,jC,SC),Xe=n=>bC.test(n),Yo=n=>jd(n,NC,XQ),Oy=n=>jd(n,s$,At),Ik=n=>jd(n,OC,SC),e$=n=>jd(n,kC,KQ),Km=n=>jd(n,CC,YQ),Ye=n=>wC.test(n),Eh=n=>Nd(n,NC),t$=n=>Nd(n,i$),Fk=n=>Nd(n,OC),n$=n=>Nd(n,jC),r$=n=>Nd(n,kC),Zm=n=>Nd(n,CC,!0),jd=(n,e,t)=>{const r=bC.exec(n);return r?r[1]?e(r[1]):t(r[2]):!1},Nd=(n,e,t=!1)=>{const r=wC.exec(n);return r?r[1]?e(r[1]):t:!1},OC=n=>n==="position"||n==="percentage",kC=n=>n==="image"||n==="url",jC=n=>n==="length"||n==="size"||n==="bg-size",NC=n=>n==="length",s$=n=>n==="number",i$=n=>n==="family-name",CC=n=>n==="shadow",a$=()=>{const n=wr("color"),e=wr("font"),t=wr("text"),r=wr("font-weight"),s=wr("tracking"),i=wr("leading"),l=wr("breakpoint"),c=wr("container"),u=wr("spacing"),h=wr("radius"),m=wr("shadow"),p=wr("inset-shadow"),x=wr("text-shadow"),v=wr("drop-shadow"),b=wr("blur"),O=wr("perspective"),k=wr("aspect"),j=wr("ease"),T=wr("animate"),M=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],D=()=>[..._(),Ye,Xe],E=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto","contain","none"],Q=()=>[Ye,Xe,u],q=()=>[ju,"full","auto",...Q()],B=()=>[Wl,"none","subgrid",Ye,Xe],U=()=>["auto",{span:["full",Wl,Ye,Xe]},Wl,Ye,Xe],V=()=>[Wl,"auto",Ye,Xe],ce=()=>["auto","min","max","fr",Ye,Xe],W=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],J=()=>["start","end","center","stretch","center-safe","end-safe"],H=()=>["auto",...Q()],ae=()=>[ju,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...Q()],ne=()=>[n,Ye,Xe],ue=()=>[..._(),Fk,Ik,{position:[Ye,Xe]}],R=()=>["no-repeat",{repeat:["","x","y","space","round"]}],me=()=>["auto","cover","contain",n$,JQ,{size:[Ye,Xe]}],Y=()=>[Sy,Eh,Yo],P=()=>["","none","full",h,Ye,Xe],K=()=>["",At,Eh,Yo],$=()=>["solid","dashed","dotted","double"],fe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ye=()=>[At,Sy,Fk,Ik],Re=()=>["","none",b,Ye,Xe],de=()=>["none",At,Ye,Xe],We=()=>["none",At,Ye,Xe],ct=()=>[At,Ye,Xe],ke=()=>[ju,"full",...Q()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ga],breakpoint:[Ga],color:[GQ],container:[Ga],"drop-shadow":[Ga],ease:["in","out","in-out"],font:[ZQ],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ga],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ga],shadow:[Ga],spacing:["px",At],text:[Ga],"text-shadow":[Ga],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ju,Xe,Ye,k]}],container:["container"],columns:[{columns:[At,Xe,Ye,c]}],"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:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:z()}],"overscroll-x":[{"overscroll-x":z()}],"overscroll-y":[{"overscroll-y":z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:q()}],"inset-x":[{"inset-x":q()}],"inset-y":[{"inset-y":q()}],start:[{start:q()}],end:[{end:q()}],top:[{top:q()}],right:[{right:q()}],bottom:[{bottom:q()}],left:[{left:q()}],visibility:["visible","invisible","collapse"],z:[{z:[Wl,"auto",Ye,Xe]}],basis:[{basis:[ju,"full","auto",c,...Q()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[At,ju,"auto","initial","none",Xe]}],grow:[{grow:["",At,Ye,Xe]}],shrink:[{shrink:["",At,Ye,Xe]}],order:[{order:[Wl,"first","last","none",Ye,Xe]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:U()}],"col-start":[{"col-start":V()}],"col-end":[{"col-end":V()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:U()}],"row-start":[{"row-start":V()}],"row-end":[{"row-end":V()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ce()}],"auto-rows":[{"auto-rows":ce()}],gap:[{gap:Q()}],"gap-x":[{"gap-x":Q()}],"gap-y":[{"gap-y":Q()}],"justify-content":[{justify:[...W(),"normal"]}],"justify-items":[{"justify-items":[...J(),"normal"]}],"justify-self":[{"justify-self":["auto",...J()]}],"align-content":[{content:["normal",...W()]}],"align-items":[{items:[...J(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...J(),{baseline:["","last"]}]}],"place-content":[{"place-content":W()}],"place-items":[{"place-items":[...J(),"baseline"]}],"place-self":[{"place-self":["auto",...J()]}],p:[{p:Q()}],px:[{px:Q()}],py:[{py:Q()}],ps:[{ps:Q()}],pe:[{pe:Q()}],pt:[{pt:Q()}],pr:[{pr:Q()}],pb:[{pb:Q()}],pl:[{pl:Q()}],m:[{m:H()}],mx:[{mx:H()}],my:[{my:H()}],ms:[{ms:H()}],me:[{me:H()}],mt:[{mt:H()}],mr:[{mr:H()}],mb:[{mb:H()}],ml:[{ml:H()}],"space-x":[{"space-x":Q()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":Q()}],"space-y-reverse":["space-y-reverse"],size:[{size:ae()}],w:[{w:[c,"screen",...ae()]}],"min-w":[{"min-w":[c,"screen","none",...ae()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[l]},...ae()]}],h:[{h:["screen","lh",...ae()]}],"min-h":[{"min-h":["screen","lh","none",...ae()]}],"max-h":[{"max-h":["screen","lh",...ae()]}],"font-size":[{text:["base",t,Eh,Yo]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Ye,Oy]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Sy,Xe]}],"font-family":[{font:[t$,Xe,e]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,Ye,Xe]}],"line-clamp":[{"line-clamp":[At,"none",Ye,Oy]}],leading:[{leading:[i,...Q()]}],"list-image":[{"list-image":["none",Ye,Xe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ye,Xe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ne()}],"text-color":[{text:ne()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...$(),"wavy"]}],"text-decoration-thickness":[{decoration:[At,"from-font","auto",Ye,Yo]}],"text-decoration-color":[{decoration:ne()}],"underline-offset":[{"underline-offset":[At,"auto",Ye,Xe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Q()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ye,Xe]}],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",Ye,Xe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ue()}],"bg-repeat":[{bg:R()}],"bg-size":[{bg:me()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Wl,Ye,Xe],radial:["",Ye,Xe],conic:[Wl,Ye,Xe]},r$,e$]}],"bg-color":[{bg:ne()}],"gradient-from-pos":[{from:Y()}],"gradient-via-pos":[{via:Y()}],"gradient-to-pos":[{to:Y()}],"gradient-from":[{from:ne()}],"gradient-via":[{via:ne()}],"gradient-to":[{to:ne()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"border-w":[{border:K()}],"border-w-x":[{"border-x":K()}],"border-w-y":[{"border-y":K()}],"border-w-s":[{"border-s":K()}],"border-w-e":[{"border-e":K()}],"border-w-t":[{"border-t":K()}],"border-w-r":[{"border-r":K()}],"border-w-b":[{"border-b":K()}],"border-w-l":[{"border-l":K()}],"divide-x":[{"divide-x":K()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":K()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...$(),"hidden","none"]}],"divide-style":[{divide:[...$(),"hidden","none"]}],"border-color":[{border:ne()}],"border-color-x":[{"border-x":ne()}],"border-color-y":[{"border-y":ne()}],"border-color-s":[{"border-s":ne()}],"border-color-e":[{"border-e":ne()}],"border-color-t":[{"border-t":ne()}],"border-color-r":[{"border-r":ne()}],"border-color-b":[{"border-b":ne()}],"border-color-l":[{"border-l":ne()}],"divide-color":[{divide:ne()}],"outline-style":[{outline:[...$(),"none","hidden"]}],"outline-offset":[{"outline-offset":[At,Ye,Xe]}],"outline-w":[{outline:["",At,Eh,Yo]}],"outline-color":[{outline:ne()}],shadow:[{shadow:["","none",m,Zm,Km]}],"shadow-color":[{shadow:ne()}],"inset-shadow":[{"inset-shadow":["none",p,Zm,Km]}],"inset-shadow-color":[{"inset-shadow":ne()}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ne()}],"ring-offset-w":[{"ring-offset":[At,Yo]}],"ring-offset-color":[{"ring-offset":ne()}],"inset-ring-w":[{"inset-ring":K()}],"inset-ring-color":[{"inset-ring":ne()}],"text-shadow":[{"text-shadow":["none",x,Zm,Km]}],"text-shadow-color":[{"text-shadow":ne()}],opacity:[{opacity:[At,Ye,Xe]}],"mix-blend":[{"mix-blend":[...fe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":fe()}],"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":[At]}],"mask-image-linear-from-pos":[{"mask-linear-from":ye()}],"mask-image-linear-to-pos":[{"mask-linear-to":ye()}],"mask-image-linear-from-color":[{"mask-linear-from":ne()}],"mask-image-linear-to-color":[{"mask-linear-to":ne()}],"mask-image-t-from-pos":[{"mask-t-from":ye()}],"mask-image-t-to-pos":[{"mask-t-to":ye()}],"mask-image-t-from-color":[{"mask-t-from":ne()}],"mask-image-t-to-color":[{"mask-t-to":ne()}],"mask-image-r-from-pos":[{"mask-r-from":ye()}],"mask-image-r-to-pos":[{"mask-r-to":ye()}],"mask-image-r-from-color":[{"mask-r-from":ne()}],"mask-image-r-to-color":[{"mask-r-to":ne()}],"mask-image-b-from-pos":[{"mask-b-from":ye()}],"mask-image-b-to-pos":[{"mask-b-to":ye()}],"mask-image-b-from-color":[{"mask-b-from":ne()}],"mask-image-b-to-color":[{"mask-b-to":ne()}],"mask-image-l-from-pos":[{"mask-l-from":ye()}],"mask-image-l-to-pos":[{"mask-l-to":ye()}],"mask-image-l-from-color":[{"mask-l-from":ne()}],"mask-image-l-to-color":[{"mask-l-to":ne()}],"mask-image-x-from-pos":[{"mask-x-from":ye()}],"mask-image-x-to-pos":[{"mask-x-to":ye()}],"mask-image-x-from-color":[{"mask-x-from":ne()}],"mask-image-x-to-color":[{"mask-x-to":ne()}],"mask-image-y-from-pos":[{"mask-y-from":ye()}],"mask-image-y-to-pos":[{"mask-y-to":ye()}],"mask-image-y-from-color":[{"mask-y-from":ne()}],"mask-image-y-to-color":[{"mask-y-to":ne()}],"mask-image-radial":[{"mask-radial":[Ye,Xe]}],"mask-image-radial-from-pos":[{"mask-radial-from":ye()}],"mask-image-radial-to-pos":[{"mask-radial-to":ye()}],"mask-image-radial-from-color":[{"mask-radial-from":ne()}],"mask-image-radial-to-color":[{"mask-radial-to":ne()}],"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":_()}],"mask-image-conic-pos":[{"mask-conic":[At]}],"mask-image-conic-from-pos":[{"mask-conic-from":ye()}],"mask-image-conic-to-pos":[{"mask-conic-to":ye()}],"mask-image-conic-from-color":[{"mask-conic-from":ne()}],"mask-image-conic-to-color":[{"mask-conic-to":ne()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ue()}],"mask-repeat":[{mask:R()}],"mask-size":[{mask:me()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ye,Xe]}],filter:[{filter:["","none",Ye,Xe]}],blur:[{blur:Re()}],brightness:[{brightness:[At,Ye,Xe]}],contrast:[{contrast:[At,Ye,Xe]}],"drop-shadow":[{"drop-shadow":["","none",v,Zm,Km]}],"drop-shadow-color":[{"drop-shadow":ne()}],grayscale:[{grayscale:["",At,Ye,Xe]}],"hue-rotate":[{"hue-rotate":[At,Ye,Xe]}],invert:[{invert:["",At,Ye,Xe]}],saturate:[{saturate:[At,Ye,Xe]}],sepia:[{sepia:["",At,Ye,Xe]}],"backdrop-filter":[{"backdrop-filter":["","none",Ye,Xe]}],"backdrop-blur":[{"backdrop-blur":Re()}],"backdrop-brightness":[{"backdrop-brightness":[At,Ye,Xe]}],"backdrop-contrast":[{"backdrop-contrast":[At,Ye,Xe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",At,Ye,Xe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[At,Ye,Xe]}],"backdrop-invert":[{"backdrop-invert":["",At,Ye,Xe]}],"backdrop-opacity":[{"backdrop-opacity":[At,Ye,Xe]}],"backdrop-saturate":[{"backdrop-saturate":[At,Ye,Xe]}],"backdrop-sepia":[{"backdrop-sepia":["",At,Ye,Xe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":Q()}],"border-spacing-x":[{"border-spacing-x":Q()}],"border-spacing-y":[{"border-spacing-y":Q()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ye,Xe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[At,"initial",Ye,Xe]}],ease:[{ease:["linear","initial",j,Ye,Xe]}],delay:[{delay:[At,Ye,Xe]}],animate:[{animate:["none",T,Ye,Xe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[O,Ye,Xe]}],"perspective-origin":[{"perspective-origin":D()}],rotate:[{rotate:de()}],"rotate-x":[{"rotate-x":de()}],"rotate-y":[{"rotate-y":de()}],"rotate-z":[{"rotate-z":de()}],scale:[{scale:We()}],"scale-x":[{"scale-x":We()}],"scale-y":[{"scale-y":We()}],"scale-z":[{"scale-z":We()}],"scale-3d":["scale-3d"],skew:[{skew:ct()}],"skew-x":[{"skew-x":ct()}],"skew-y":[{"skew-y":ct()}],transform:[{transform:[Ye,Xe,"","none","gpu","cpu"]}],"transform-origin":[{origin:D()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ke()}],"translate-x":[{"translate-x":ke()}],"translate-y":[{"translate-y":ke()}],"translate-z":[{"translate-z":ke()}],"translate-none":["translate-none"],accent:[{accent:ne()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ne()}],"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",Ye,Xe]}],"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":Q()}],"scroll-mx":[{"scroll-mx":Q()}],"scroll-my":[{"scroll-my":Q()}],"scroll-ms":[{"scroll-ms":Q()}],"scroll-me":[{"scroll-me":Q()}],"scroll-mt":[{"scroll-mt":Q()}],"scroll-mr":[{"scroll-mr":Q()}],"scroll-mb":[{"scroll-mb":Q()}],"scroll-ml":[{"scroll-ml":Q()}],"scroll-p":[{"scroll-p":Q()}],"scroll-px":[{"scroll-px":Q()}],"scroll-py":[{"scroll-py":Q()}],"scroll-ps":[{"scroll-ps":Q()}],"scroll-pe":[{"scroll-pe":Q()}],"scroll-pt":[{"scroll-pt":Q()}],"scroll-pr":[{"scroll-pr":Q()}],"scroll-pb":[{"scroll-pb":Q()}],"scroll-pl":[{"scroll-pl":Q()}],"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",Ye,Xe]}],fill:[{fill:["none",...ne()]}],"stroke-w":[{stroke:[At,Eh,Yo,Oy]}],stroke:[{stroke:["none",...ne()]}],"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"]}},l$=FQ(a$);function ve(...n){return l$(y9(n))}const yt=S.forwardRef(({className:n,...e},t)=>a.jsx("div",{ref:t,className:ve("rounded-xl border bg-card text-card-foreground shadow",n),...e}));yt.displayName="Card";const Jt=S.forwardRef(({className:n,...e},t)=>a.jsx("div",{ref:t,className:ve("flex flex-col space-y-1.5 p-6",n),...e}));Jt.displayName="CardHeader";const en=S.forwardRef(({className:n,...e},t)=>a.jsx("div",{ref:t,className:ve("font-semibold leading-none tracking-tight",n),...e}));en.displayName="CardTitle";const Sr=S.forwardRef(({className:n,...e},t)=>a.jsx("div",{ref:t,className:ve("text-sm text-muted-foreground",n),...e}));Sr.displayName="CardDescription";const vn=S.forwardRef(({className:n,...e},t)=>a.jsx("div",{ref:t,className:ve("p-6 pt-0",n),...e}));vn.displayName="CardContent";const TC=S.forwardRef(({className:n,...e},t)=>a.jsx("div",{ref:t,className:ve("flex items-center p-6 pt-0",n),...e}));TC.displayName="CardFooter";var ky="rovingFocusGroup.onEntryFocus",o$={bubbles:!1,cancelable:!0},n0="RovingFocusGroup",[o2,MC,c$]=nx(n0),[u$,mx]=Hi(n0,[c$]),[d$,h$]=u$(n0),AC=S.forwardRef((n,e)=>a.jsx(o2.Provider,{scope:n.__scopeRovingFocusGroup,children:a.jsx(o2.Slot,{scope:n.__scopeRovingFocusGroup,children:a.jsx(f$,{...n,ref:e})})}));AC.displayName=n0;var f$=S.forwardRef((n,e)=>{const{__scopeRovingFocusGroup:t,orientation:r,loop:s=!1,dir:i,currentTabStopId:l,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:u,onEntryFocus:h,preventScrollOnEntryFocus:m=!1,...p}=n,x=S.useRef(null),v=Cn(e,x),b=Wf(i),[O,k]=So({prop:l,defaultProp:c??null,onChange:u,caller:n0}),[j,T]=S.useState(!1),M=es(h),_=MC(t),D=S.useRef(!1),[E,z]=S.useState(0);return S.useEffect(()=>{const Q=x.current;if(Q)return Q.addEventListener(ky,M),()=>Q.removeEventListener(ky,M)},[M]),a.jsx(d$,{scope:t,orientation:r,dir:b,loop:s,currentTabStopId:O,onItemFocus:S.useCallback(Q=>k(Q),[k]),onItemShiftTab:S.useCallback(()=>T(!0),[]),onFocusableItemAdd:S.useCallback(()=>z(Q=>Q+1),[]),onFocusableItemRemove:S.useCallback(()=>z(Q=>Q-1),[]),children:a.jsx(Yt.div,{tabIndex:j||E===0?-1:0,"data-orientation":r,...p,ref:v,style:{outline:"none",...n.style},onMouseDown:$e(n.onMouseDown,()=>{D.current=!0}),onFocus:$e(n.onFocus,Q=>{const q=!D.current;if(Q.target===Q.currentTarget&&q&&!j){const B=new CustomEvent(ky,o$);if(Q.currentTarget.dispatchEvent(B),!B.defaultPrevented){const U=_().filter(H=>H.focusable),V=U.find(H=>H.active),ce=U.find(H=>H.id===O),J=[V,ce,...U].filter(Boolean).map(H=>H.ref.current);DC(J,m)}}D.current=!1}),onBlur:$e(n.onBlur,()=>T(!1))})})}),EC="RovingFocusGroupItem",_C=S.forwardRef((n,e)=>{const{__scopeRovingFocusGroup:t,focusable:r=!0,active:s=!1,tabStopId:i,children:l,...c}=n,u=ki(),h=i||u,m=h$(EC,t),p=m.currentTabStopId===h,x=MC(t),{onFocusableItemAdd:v,onFocusableItemRemove:b,currentTabStopId:O}=m;return S.useEffect(()=>{if(r)return v(),()=>b()},[r,v,b]),a.jsx(o2.ItemSlot,{scope:t,id:h,focusable:r,active:s,children:a.jsx(Yt.span,{tabIndex:p?0:-1,"data-orientation":m.orientation,...c,ref:e,onMouseDown:$e(n.onMouseDown,k=>{r?m.onItemFocus(h):k.preventDefault()}),onFocus:$e(n.onFocus,()=>m.onItemFocus(h)),onKeyDown:$e(n.onKeyDown,k=>{if(k.key==="Tab"&&k.shiftKey){m.onItemShiftTab();return}if(k.target!==k.currentTarget)return;const j=g$(k,m.orientation,m.dir);if(j!==void 0){if(k.metaKey||k.ctrlKey||k.altKey||k.shiftKey)return;k.preventDefault();let M=x().filter(_=>_.focusable).map(_=>_.ref.current);if(j==="last")M.reverse();else if(j==="prev"||j==="next"){j==="prev"&&M.reverse();const _=M.indexOf(k.currentTarget);M=m.loop?x$(M,_+1):M.slice(_+1)}setTimeout(()=>DC(M))}}),children:typeof l=="function"?l({isCurrentTabStop:p,hasTabStop:O!=null}):l})})});_C.displayName=EC;var m$={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function p$(n,e){return e!=="rtl"?n:n==="ArrowLeft"?"ArrowRight":n==="ArrowRight"?"ArrowLeft":n}function g$(n,e,t){const r=p$(n.key,t);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return m$[r]}function DC(n,e=!1){const t=document.activeElement;for(const r of n)if(r===t||(r.focus({preventScroll:e}),document.activeElement!==t))return}function x$(n,e){return n.map((t,r)=>n[(e+r)%n.length])}var RC=AC,zC=_C,px="Tabs",[v$]=Hi(px,[mx]),PC=mx(),[y$,aw]=v$(px),LC=S.forwardRef((n,e)=>{const{__scopeTabs:t,value:r,onValueChange:s,defaultValue:i,orientation:l="horizontal",dir:c,activationMode:u="automatic",...h}=n,m=Wf(c),[p,x]=So({prop:r,onChange:s,defaultProp:i??"",caller:px});return a.jsx(y$,{scope:t,baseId:ki(),value:p,onValueChange:x,orientation:l,dir:m,activationMode:u,children:a.jsx(Yt.div,{dir:m,"data-orientation":l,...h,ref:e})})});LC.displayName=px;var BC="TabsList",IC=S.forwardRef((n,e)=>{const{__scopeTabs:t,loop:r=!0,...s}=n,i=aw(BC,t),l=PC(t);return a.jsx(RC,{asChild:!0,...l,orientation:i.orientation,dir:i.dir,loop:r,children:a.jsx(Yt.div,{role:"tablist","aria-orientation":i.orientation,...s,ref:e})})});IC.displayName=BC;var FC="TabsTrigger",qC=S.forwardRef((n,e)=>{const{__scopeTabs:t,value:r,disabled:s=!1,...i}=n,l=aw(FC,t),c=PC(t),u=HC(l.baseId,r),h=UC(l.baseId,r),m=r===l.value;return a.jsx(zC,{asChild:!0,...c,focusable:!s,active:m,children:a.jsx(Yt.button,{type:"button",role:"tab","aria-selected":m,"aria-controls":h,"data-state":m?"active":"inactive","data-disabled":s?"":void 0,disabled:s,id:u,...i,ref:e,onMouseDown:$e(n.onMouseDown,p=>{!s&&p.button===0&&p.ctrlKey===!1?l.onValueChange(r):p.preventDefault()}),onKeyDown:$e(n.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&l.onValueChange(r)}),onFocus:$e(n.onFocus,()=>{const p=l.activationMode!=="manual";!m&&!s&&p&&l.onValueChange(r)})})})});qC.displayName=FC;var QC="TabsContent",$C=S.forwardRef((n,e)=>{const{__scopeTabs:t,value:r,forceMount:s,children:i,...l}=n,c=aw(QC,t),u=HC(c.baseId,r),h=UC(c.baseId,r),m=r===c.value,p=S.useRef(m);return S.useEffect(()=>{const x=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(x)},[]),a.jsx(Ls,{present:s||m,children:({present:x})=>a.jsx(Yt.div,{"data-state":m?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":u,hidden:!x,id:h,tabIndex:0,...l,ref:e,style:{...n.style,animationDuration:p.current?"0s":void 0},children:x&&i})})});$C.displayName=QC;function HC(n,e){return`${n}-trigger-${e}`}function UC(n,e){return`${n}-content-${e}`}var b$=LC,VC=IC,WC=qC,GC=$C;const dl=b$,va=S.forwardRef(({className:n,...e},t)=>a.jsx(VC,{ref:t,className:ve("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",n),...e}));va.displayName=VC.displayName;const $t=S.forwardRef(({className:n,...e},t)=>a.jsx(WC,{ref:t,className:ve("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",n),...e}));$t.displayName=WC.displayName;const On=S.forwardRef(({className:n,...e},t)=>a.jsx(GC,{ref:t,className:ve("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",n),...e}));On.displayName=GC.displayName;function w$(n,e){return S.useReducer((t,r)=>e[t][r]??t,n)}var lw="ScrollArea",[XC]=Hi(lw),[S$,Ai]=XC(lw),YC=S.forwardRef((n,e)=>{const{__scopeScrollArea:t,type:r="hover",dir:s,scrollHideDelay:i=600,...l}=n,[c,u]=S.useState(null),[h,m]=S.useState(null),[p,x]=S.useState(null),[v,b]=S.useState(null),[O,k]=S.useState(null),[j,T]=S.useState(0),[M,_]=S.useState(0),[D,E]=S.useState(!1),[z,Q]=S.useState(!1),q=Cn(e,U=>u(U)),B=Wf(s);return a.jsx(S$,{scope:t,type:r,dir:B,scrollHideDelay:i,scrollArea:c,viewport:h,onViewportChange:m,content:p,onContentChange:x,scrollbarX:v,onScrollbarXChange:b,scrollbarXEnabled:D,onScrollbarXEnabledChange:E,scrollbarY:O,onScrollbarYChange:k,scrollbarYEnabled:z,onScrollbarYEnabledChange:Q,onCornerWidthChange:T,onCornerHeightChange:_,children:a.jsx(Yt.div,{dir:B,...l,ref:q,style:{position:"relative","--radix-scroll-area-corner-width":j+"px","--radix-scroll-area-corner-height":M+"px",...n.style}})})});YC.displayName=lw;var KC="ScrollAreaViewport",ZC=S.forwardRef((n,e)=>{const{__scopeScrollArea:t,children:r,nonce:s,...i}=n,l=Ai(KC,t),c=S.useRef(null),u=Cn(e,c,l.onViewportChange);return a.jsxs(a.Fragment,{children:[a.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:s}),a.jsx(Yt.div,{"data-radix-scroll-area-viewport":"",...i,ref:u,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...n.style},children:a.jsx("div",{ref:l.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});ZC.displayName=KC;var wa="ScrollAreaScrollbar",ow=S.forwardRef((n,e)=>{const{forceMount:t,...r}=n,s=Ai(wa,n.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:l}=s,c=n.orientation==="horizontal";return S.useEffect(()=>(c?i(!0):l(!0),()=>{c?i(!1):l(!1)}),[c,i,l]),s.type==="hover"?a.jsx(O$,{...r,ref:e,forceMount:t}):s.type==="scroll"?a.jsx(k$,{...r,ref:e,forceMount:t}):s.type==="auto"?a.jsx(JC,{...r,ref:e,forceMount:t}):s.type==="always"?a.jsx(cw,{...r,ref:e}):null});ow.displayName=wa;var O$=S.forwardRef((n,e)=>{const{forceMount:t,...r}=n,s=Ai(wa,n.__scopeScrollArea),[i,l]=S.useState(!1);return S.useEffect(()=>{const c=s.scrollArea;let u=0;if(c){const h=()=>{window.clearTimeout(u),l(!0)},m=()=>{u=window.setTimeout(()=>l(!1),s.scrollHideDelay)};return c.addEventListener("pointerenter",h),c.addEventListener("pointerleave",m),()=>{window.clearTimeout(u),c.removeEventListener("pointerenter",h),c.removeEventListener("pointerleave",m)}}},[s.scrollArea,s.scrollHideDelay]),a.jsx(Ls,{present:t||i,children:a.jsx(JC,{"data-state":i?"visible":"hidden",...r,ref:e})})}),k$=S.forwardRef((n,e)=>{const{forceMount:t,...r}=n,s=Ai(wa,n.__scopeScrollArea),i=n.orientation==="horizontal",l=xx(()=>u("SCROLL_END"),100),[c,u]=w$("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 S.useEffect(()=>{if(c==="idle"){const h=window.setTimeout(()=>u("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(h)}},[c,s.scrollHideDelay,u]),S.useEffect(()=>{const h=s.viewport,m=i?"scrollLeft":"scrollTop";if(h){let p=h[m];const x=()=>{const v=h[m];p!==v&&(u("SCROLL"),l()),p=v};return h.addEventListener("scroll",x),()=>h.removeEventListener("scroll",x)}},[s.viewport,i,u,l]),a.jsx(Ls,{present:t||c!=="hidden",children:a.jsx(cw,{"data-state":c==="hidden"?"hidden":"visible",...r,ref:e,onPointerEnter:$e(n.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:$e(n.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),JC=S.forwardRef((n,e)=>{const t=Ai(wa,n.__scopeScrollArea),{forceMount:r,...s}=n,[i,l]=S.useState(!1),c=n.orientation==="horizontal",u=xx(()=>{if(t.viewport){const h=t.viewport.offsetWidth{const{orientation:t="vertical",...r}=n,s=Ai(wa,n.__scopeScrollArea),i=S.useRef(null),l=S.useRef(0),[c,u]=S.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),h=sT(c.viewport,c.content),m={...r,sizes:c,onSizesChange:u,hasThumb:h>0&&h<1,onThumbChange:x=>i.current=x,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:x=>l.current=x};function p(x,v){return A$(x,l.current,c,v)}return t==="horizontal"?a.jsx(j$,{...m,ref:e,onThumbPositionChange:()=>{if(s.viewport&&i.current){const x=s.viewport.scrollLeft,v=qk(x,c,s.dir);i.current.style.transform=`translate3d(${v}px, 0, 0)`}},onWheelScroll:x=>{s.viewport&&(s.viewport.scrollLeft=x)},onDragScroll:x=>{s.viewport&&(s.viewport.scrollLeft=p(x,s.dir))}}):t==="vertical"?a.jsx(N$,{...m,ref:e,onThumbPositionChange:()=>{if(s.viewport&&i.current){const x=s.viewport.scrollTop,v=qk(x,c);i.current.style.transform=`translate3d(0, ${v}px, 0)`}},onWheelScroll:x=>{s.viewport&&(s.viewport.scrollTop=x)},onDragScroll:x=>{s.viewport&&(s.viewport.scrollTop=p(x))}}):null}),j$=S.forwardRef((n,e)=>{const{sizes:t,onSizesChange:r,...s}=n,i=Ai(wa,n.__scopeScrollArea),[l,c]=S.useState(),u=S.useRef(null),h=Cn(e,u,i.onScrollbarXChange);return S.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),a.jsx(tT,{"data-orientation":"horizontal",...s,ref:h,sizes:t,style:{bottom:0,left:i.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:i.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":gx(t)+"px",...n.style},onThumbPointerDown:m=>n.onThumbPointerDown(m.x),onDragScroll:m=>n.onDragScroll(m.x),onWheelScroll:(m,p)=>{if(i.viewport){const x=i.viewport.scrollLeft+m.deltaX;n.onWheelScroll(x),aT(x,p)&&m.preventDefault()}},onResize:()=>{u.current&&i.viewport&&l&&r({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:bg(l.paddingLeft),paddingEnd:bg(l.paddingRight)}})}})}),N$=S.forwardRef((n,e)=>{const{sizes:t,onSizesChange:r,...s}=n,i=Ai(wa,n.__scopeScrollArea),[l,c]=S.useState(),u=S.useRef(null),h=Cn(e,u,i.onScrollbarYChange);return S.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),a.jsx(tT,{"data-orientation":"vertical",...s,ref:h,sizes:t,style:{top:0,right:i.dir==="ltr"?0:void 0,left:i.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":gx(t)+"px",...n.style},onThumbPointerDown:m=>n.onThumbPointerDown(m.y),onDragScroll:m=>n.onDragScroll(m.y),onWheelScroll:(m,p)=>{if(i.viewport){const x=i.viewport.scrollTop+m.deltaY;n.onWheelScroll(x),aT(x,p)&&m.preventDefault()}},onResize:()=>{u.current&&i.viewport&&l&&r({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:bg(l.paddingTop),paddingEnd:bg(l.paddingBottom)}})}})}),[C$,eT]=XC(wa),tT=S.forwardRef((n,e)=>{const{__scopeScrollArea:t,sizes:r,hasThumb:s,onThumbChange:i,onThumbPointerUp:l,onThumbPointerDown:c,onThumbPositionChange:u,onDragScroll:h,onWheelScroll:m,onResize:p,...x}=n,v=Ai(wa,t),[b,O]=S.useState(null),k=Cn(e,q=>O(q)),j=S.useRef(null),T=S.useRef(""),M=v.viewport,_=r.content-r.viewport,D=es(m),E=es(u),z=xx(p,10);function Q(q){if(j.current){const B=q.clientX-j.current.left,U=q.clientY-j.current.top;h({x:B,y:U})}}return S.useEffect(()=>{const q=B=>{const U=B.target;b?.contains(U)&&D(B,_)};return document.addEventListener("wheel",q,{passive:!1}),()=>document.removeEventListener("wheel",q,{passive:!1})},[M,b,_,D]),S.useEffect(E,[r,E]),ad(b,z),ad(v.content,z),a.jsx(C$,{scope:t,scrollbar:b,hasThumb:s,onThumbChange:es(i),onThumbPointerUp:es(l),onThumbPositionChange:E,onThumbPointerDown:es(c),children:a.jsx(Yt.div,{...x,ref:k,style:{position:"absolute",...x.style},onPointerDown:$e(n.onPointerDown,q=>{q.button===0&&(q.target.setPointerCapture(q.pointerId),j.current=b.getBoundingClientRect(),T.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),Q(q))}),onPointerMove:$e(n.onPointerMove,Q),onPointerUp:$e(n.onPointerUp,q=>{const B=q.target;B.hasPointerCapture(q.pointerId)&&B.releasePointerCapture(q.pointerId),document.body.style.webkitUserSelect=T.current,v.viewport&&(v.viewport.style.scrollBehavior=""),j.current=null})})})}),yg="ScrollAreaThumb",nT=S.forwardRef((n,e)=>{const{forceMount:t,...r}=n,s=eT(yg,n.__scopeScrollArea);return a.jsx(Ls,{present:t||s.hasThumb,children:a.jsx(T$,{ref:e,...r})})}),T$=S.forwardRef((n,e)=>{const{__scopeScrollArea:t,style:r,...s}=n,i=Ai(yg,t),l=eT(yg,t),{onThumbPositionChange:c}=l,u=Cn(e,p=>l.onThumbChange(p)),h=S.useRef(void 0),m=xx(()=>{h.current&&(h.current(),h.current=void 0)},100);return S.useEffect(()=>{const p=i.viewport;if(p){const x=()=>{if(m(),!h.current){const v=E$(p,c);h.current=v,c()}};return c(),p.addEventListener("scroll",x),()=>p.removeEventListener("scroll",x)}},[i.viewport,m,c]),a.jsx(Yt.div,{"data-state":l.hasThumb?"visible":"hidden",...s,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:$e(n.onPointerDownCapture,p=>{const v=p.target.getBoundingClientRect(),b=p.clientX-v.left,O=p.clientY-v.top;l.onThumbPointerDown({x:b,y:O})}),onPointerUp:$e(n.onPointerUp,l.onThumbPointerUp)})});nT.displayName=yg;var uw="ScrollAreaCorner",rT=S.forwardRef((n,e)=>{const t=Ai(uw,n.__scopeScrollArea),r=!!(t.scrollbarX&&t.scrollbarY);return t.type!=="scroll"&&r?a.jsx(M$,{...n,ref:e}):null});rT.displayName=uw;var M$=S.forwardRef((n,e)=>{const{__scopeScrollArea:t,...r}=n,s=Ai(uw,t),[i,l]=S.useState(0),[c,u]=S.useState(0),h=!!(i&&c);return ad(s.scrollbarX,()=>{const m=s.scrollbarX?.offsetHeight||0;s.onCornerHeightChange(m),u(m)}),ad(s.scrollbarY,()=>{const m=s.scrollbarY?.offsetWidth||0;s.onCornerWidthChange(m),l(m)}),h?a.jsx(Yt.div,{...r,ref:e,style:{width:i,height:c,position:"absolute",right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:0,...n.style}}):null});function bg(n){return n?parseInt(n,10):0}function sT(n,e){const t=n/e;return isNaN(t)?0:t}function gx(n){const e=sT(n.viewport,n.content),t=n.scrollbar.paddingStart+n.scrollbar.paddingEnd,r=(n.scrollbar.size-t)*e;return Math.max(r,18)}function A$(n,e,t,r="ltr"){const s=gx(t),i=s/2,l=e||i,c=s-l,u=t.scrollbar.paddingStart+l,h=t.scrollbar.size-t.scrollbar.paddingEnd-c,m=t.content-t.viewport,p=r==="ltr"?[0,m]:[m*-1,0];return iT([u,h],p)(n)}function qk(n,e,t="ltr"){const r=gx(e),s=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,i=e.scrollbar.size-s,l=e.content-e.viewport,c=i-r,u=t==="ltr"?[0,l]:[l*-1,0],h=$4(n,u);return iT([0,l],[0,c])(h)}function iT(n,e){return t=>{if(n[0]===n[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(n[1]-n[0]);return e[0]+r*(t-n[0])}}function aT(n,e){return n>0&&n{})=>{let t={left:n.scrollLeft,top:n.scrollTop},r=0;return(function s(){const i={left:n.scrollLeft,top:n.scrollTop},l=t.left!==i.left,c=t.top!==i.top;(l||c)&&e(),t=i,r=window.requestAnimationFrame(s)})(),()=>window.cancelAnimationFrame(r)};function xx(n,e){const t=es(n),r=S.useRef(0);return S.useEffect(()=>()=>window.clearTimeout(r.current),[]),S.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(t,e)},[t,e])}function ad(n,e){const t=es(e);b9(()=>{let r=0;if(n){const s=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return s.observe(n),()=>{window.cancelAnimationFrame(r),s.unobserve(n)}}},[n,t])}var lT=YC,_$=ZC,D$=rT;const fn=S.forwardRef(({className:n,children:e,viewportRef:t,...r},s)=>a.jsxs(lT,{ref:s,className:ve("relative overflow-hidden",n),...r,children:[a.jsx(_$,{ref:t,className:"h-full w-full rounded-[inherit]",children:e}),a.jsx(c2,{}),a.jsx(c2,{orientation:"horizontal"}),a.jsx(D$,{})]}));fn.displayName=lT.displayName;const c2=S.forwardRef(({className:n,orientation:e="vertical",...t},r)=>a.jsx(ow,{ref:r,orientation:e,className:ve("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",n),...t,children:a.jsx(nT,{className:"relative flex-1 rounded-full bg-border"})}));c2.displayName=ow.displayName;function Qk({className:n,...e}){return a.jsx("div",{className:ve("animate-pulse rounded-md bg-primary/10",n),...e})}function R$(n,e=[]){let t=[];function r(i,l){const c=S.createContext(l);c.displayName=i+"Context";const u=t.length;t=[...t,l];const h=p=>{const{scope:x,children:v,...b}=p,O=x?.[n]?.[u]||c,k=S.useMemo(()=>b,Object.values(b));return a.jsx(O.Provider,{value:k,children:v})};h.displayName=i+"Provider";function m(p,x){const v=x?.[n]?.[u]||c,b=S.useContext(v);if(b)return b;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${i}\``)}return[h,m]}const s=()=>{const i=t.map(l=>S.createContext(l));return function(c){const u=c?.[n]||i;return S.useMemo(()=>({[`__scope${n}`]:{...c,[n]:u}}),[c,u])}};return s.scopeName=n,[r,z$(s,...e)]}function z$(...n){const e=n[0];if(n.length===1)return e;const t=()=>{const r=n.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(i){const l=r.reduce((c,{useScope:u,scopeName:h})=>{const p=u(i)[`__scope${h}`];return{...c,...p}},{});return S.useMemo(()=>({[`__scope${e.scopeName}`]:l}),[l])}};return t.scopeName=e.scopeName,t}var P$=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],oT=P$.reduce((n,e)=>{const t=H4(`Primitive.${e}`),r=S.forwardRef((s,i)=>{const{asChild:l,...c}=s,u=l?t:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(u,{...c,ref:i})});return r.displayName=`Primitive.${e}`,{...n,[e]:r}},{}),dw="Progress",hw=100,[L$]=R$(dw),[B$,I$]=L$(dw),cT=S.forwardRef((n,e)=>{const{__scopeProgress:t,value:r=null,max:s,getValueLabel:i=F$,...l}=n;(s||s===0)&&!$k(s)&&console.error(q$(`${s}`,"Progress"));const c=$k(s)?s:hw;r!==null&&!Hk(r,c)&&console.error(Q$(`${r}`,"Progress"));const u=Hk(r,c)?r:null,h=wg(u)?i(u,c):void 0;return a.jsx(B$,{scope:t,value:u,max:c,children:a.jsx(oT.div,{"aria-valuemax":c,"aria-valuemin":0,"aria-valuenow":wg(u)?u:void 0,"aria-valuetext":h,role:"progressbar","data-state":hT(u,c),"data-value":u??void 0,"data-max":c,...l,ref:e})})});cT.displayName=dw;var uT="ProgressIndicator",dT=S.forwardRef((n,e)=>{const{__scopeProgress:t,...r}=n,s=I$(uT,t);return a.jsx(oT.div,{"data-state":hT(s.value,s.max),"data-value":s.value??void 0,"data-max":s.max,...r,ref:e})});dT.displayName=uT;function F$(n,e){return`${Math.round(n/e*100)}%`}function hT(n,e){return n==null?"indeterminate":n===e?"complete":"loading"}function wg(n){return typeof n=="number"}function $k(n){return wg(n)&&!isNaN(n)&&n>0}function Hk(n,e){return wg(n)&&!isNaN(n)&&n<=e&&n>=0}function q$(n,e){return`Invalid prop \`max\` of value \`${n}\` supplied to \`${e}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${hw}\`.`}function Q$(n,e){return`Invalid prop \`value\` of value \`${n}\` supplied to \`${e}\`. The \`value\` prop must be: - - a positive number - - less than the value passed to \`max\` (or ${hw} if no \`max\` prop is set) - - \`null\` or \`undefined\` if the progress is indeterminate. - -Defaulting to \`null\`.`}var fT=cT,$$=dT;const r0=S.forwardRef(({className:n,value:e,...t},r)=>a.jsx(fT,{ref:r,className:ve("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",n),...t,children:a.jsx($$,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(e||0)}%)`}})}));r0.displayName=fT.displayName;const H$={light:"",dark:".dark"},mT=S.createContext(null);function pT(){const n=S.useContext(mT);if(!n)throw new Error("useChart must be used within a ");return n}const _u=S.forwardRef(({id:n,className:e,children:t,config:r,...s},i)=>{const l=S.useId(),c=`chart-${n||l.replace(/:/g,"")}`;return a.jsx(mT.Provider,{value:{config:r},children:a.jsxs("div",{"data-chart":c,ref:i,className:ve("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",e),...s,children:[a.jsx(U$,{id:c,config:r}),a.jsx(UI,{children:t})]})})});_u.displayName="Chart";const U$=({id:n,config:e})=>{const t=Object.entries(e).filter(([,r])=>r.theme||r.color);return t.length?a.jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(H$).map(([r,s])=>` -${s} [data-chart=${n}] { -${t.map(([i,l])=>{const c=l.theme?.[r]||l.color;return c?` --color-${i}: ${c};`:null}).join(` -`)} -} -`).join(` -`)}}):null},_h=VI,Du=S.forwardRef(({active:n,payload:e,className:t,indicator:r="dot",hideLabel:s=!1,hideIndicator:i=!1,label:l,labelFormatter:c,labelClassName:u,formatter:h,color:m,nameKey:p,labelKey:x},v)=>{const{config:b}=pT(),O=S.useMemo(()=>{if(s||!e?.length)return null;const[j]=e,T=`${x||j?.dataKey||j?.name||"value"}`,M=u2(b,j,T),_=!x&&typeof l=="string"?b[l]?.label||l:M?.label;return c?a.jsx("div",{className:ve("font-medium",u),children:c(_,e)}):_?a.jsx("div",{className:ve("font-medium",u),children:_}):null},[l,c,e,s,u,b,x]);if(!n||!e?.length)return null;const k=e.length===1&&r!=="dot";return a.jsxs("div",{ref:v,className:ve("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",t),children:[k?null:O,a.jsx("div",{className:"grid gap-1.5",children:e.filter(j=>j.type!=="none").map((j,T)=>{const M=`${p||j.name||j.dataKey||"value"}`,_=u2(b,j,M),D=m||j.payload.fill||j.color;return a.jsx("div",{className:ve("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:h&&j?.value!==void 0&&j.name?h(j.value,j.name,j,T,j.payload):a.jsxs(a.Fragment,{children:[_?.icon?a.jsx(_.icon,{}):!i&&a.jsx("div",{className:ve("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":k&&r==="dashed"}),style:{"--color-bg":D,"--color-border":D}}),a.jsxs("div",{className:ve("flex flex-1 justify-between leading-none",k?"items-end":"items-center"),children:[a.jsxs("div",{className:"grid gap-1.5",children:[k?O:null,a.jsx("span",{className:"text-muted-foreground",children:_?.label||j.name})]}),j.value&&a.jsx("span",{className:"font-mono font-medium tabular-nums text-foreground",children:j.value.toLocaleString()})]})]})},j.dataKey)})})]})});Du.displayName="ChartTooltip";const V$=WI,gT=S.forwardRef(({className:n,hideIcon:e=!1,payload:t,verticalAlign:r="bottom",nameKey:s},i)=>{const{config:l}=pT();return t?.length?a.jsx("div",{ref:i,className:ve("flex items-center justify-center gap-4",r==="top"?"pb-3":"pt-3",n),children:t.filter(c=>c.type!=="none").map(c=>{const u=`${s||c.dataKey||"value"}`,h=u2(l,c,u);return a.jsxs("div",{className:ve("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[h?.icon&&!e?a.jsx(h.icon,{}):a.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:c.color}}),h?.label]},c.value)})}):null});gT.displayName="ChartLegend";function u2(n,e,t){if(typeof e!="object"||e===null)return;const r="payload"in e&&typeof e.payload=="object"&&e.payload!==null?e.payload:void 0;let s=t;return t in e&&typeof e[t]=="string"?s=e[t]:r&&t in r&&typeof r[t]=="string"&&(s=r[t]),s in n?n[s]:n[t]}const Uk=n=>typeof n=="boolean"?`${n}`:n===0?"0":n,Vk=y9,Cd=(n,e)=>t=>{var r;if(e?.variants==null)return Vk(n,t?.class,t?.className);const{variants:s,defaultVariants:i}=e,l=Object.keys(s).map(h=>{const m=t?.[h],p=i?.[h];if(m===null)return null;const x=Uk(m)||Uk(p);return s[h][x]}),c=t&&Object.entries(t).reduce((h,m)=>{let[p,x]=m;return x===void 0||(h[p]=x),h},{}),u=e==null||(r=e.compoundVariants)===null||r===void 0?void 0:r.reduce((h,m)=>{let{class:p,className:x,...v}=m;return Object.entries(v).every(b=>{let[O,k]=b;return Array.isArray(k)?k.includes({...i,...c}[O]):{...i,...c}[O]===k})?[...h,p,x]:h},[]);return Vk(n,l,u,t?.class,t?.className)},mf=Cd("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"}}),ie=S.forwardRef(({className:n,variant:e,size:t,asChild:r=!1,...s},i)=>{const l=r?tF:"button";return a.jsx(l,{className:ve(mf({variant:e,size:t,className:n})),ref:i,...s})});ie.displayName="Button";function W$(){const[n,e]=S.useState(null),[t,r]=S.useState(!0),[s,i]=S.useState(0),[l,c]=S.useState(24),[u,h]=S.useState(!0),[m,p]=S.useState(null),[x,v]=S.useState(!0),b=S.useCallback(async()=>{try{v(!0);const q=await Zn.get("https://v1.hitokoto.cn/?c=a&c=b&c=c&c=d&c=h&c=i&c=k");p({hitokoto:q.data.hitokoto,from:q.data.from||q.data.from_who||"未知"})}catch(q){console.error("获取一言失败:",q),p({hitokoto:"人生就像一盒巧克力,你永远不知道下一颗是什么味道。",from:"阿甘正传"})}finally{v(!1)}},[]),O=S.useCallback(async()=>{try{const q=localStorage.getItem("access-token"),B=await Zn.get(`/api/webui/statistics/dashboard?hours=${l}`,{headers:{Authorization:`Bearer ${q}`}});e(B.data),r(!1),i(100)}catch(q){console.error("Failed to fetch dashboard data:",q),r(!1),i(100)}},[l]);if(S.useEffect(()=>{if(!t)return;i(0);const q=setTimeout(()=>i(15),200),B=setTimeout(()=>i(30),800),U=setTimeout(()=>i(45),2e3),V=setTimeout(()=>i(60),4e3),ce=setTimeout(()=>i(75),6500),W=setTimeout(()=>i(85),9e3),J=setTimeout(()=>i(92),11e3);return()=>{clearTimeout(q),clearTimeout(B),clearTimeout(U),clearTimeout(V),clearTimeout(ce),clearTimeout(W),clearTimeout(J)}},[t]),S.useEffect(()=>{O(),b()},[O,b]),S.useEffect(()=>{if(!u)return;const q=setInterval(()=>{O()},3e4);return()=>clearInterval(q)},[u,O]),t||!n)return a.jsx("div",{className:"flex items-center justify-center h-[calc(100vh-200px)]",children:a.jsxs("div",{className:"text-center space-y-6 w-full max-w-md px-4",children:[a.jsx(Ii,{className:"h-12 w-12 animate-spin mx-auto text-primary"}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-lg font-medium",children:"加载统计数据中..."}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"正在获取麦麦运行数据"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(r0,{value:s,className:"h-2"}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:[s,"%"]})]})]})});const{summary:k,model_stats:j,hourly_data:T,daily_data:M,recent_activity:_}=n,D=q=>{const B=Math.floor(q/3600),U=Math.floor(q%3600/60);return`${B}小时${U}分钟`},E=q=>new Date(q).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),z=j.slice(0,6).map(q=>({name:q.model_name,value:q.request_count,fill:`hsl(var(--chart-${j.indexOf(q)%5+1}))`})),Q={requests:{label:"请求数",color:"hsl(var(--chart-1))"},cost:{label:"花费(¥)",color:"hsl(var(--chart-2))"},tokens:{label:"Tokens",color:"hsl(var(--chart-3))"}};return a.jsx(fn,{className:"h-full",children:a.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"实时监控面板"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"麦麦运行状态和统计数据一览"})]}),a.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[a.jsx(dl,{value:l.toString(),onValueChange:q=>c(Number(q)),children:a.jsxs(va,{className:"grid grid-cols-3 w-full sm:w-auto",children:[a.jsx($t,{value:"24",children:"24小时"}),a.jsx($t,{value:"168",children:"7天"}),a.jsx($t,{value:"720",children:"30天"})]})}),a.jsxs(ie,{variant:u?"default":"outline",size:"sm",onClick:()=>h(!u),className:"gap-2",children:[a.jsx(Ii,{className:`h-4 w-4 ${u?"animate-spin":""}`}),a.jsx("span",{className:"hidden sm:inline",children:"自动刷新"})]}),a.jsx(ie,{variant:"outline",size:"sm",onClick:O,children:a.jsx(Ii,{className:"h-4 w-4"})})]})]}),a.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"总请求数"}),a.jsx(mF,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(vn,{children:[a.jsx("div",{className:"text-2xl font-bold",children:k.total_requests.toLocaleString()}),a.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["最近",l<48?l+"小时":Math.floor(l/24)+"天"]})]})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"总花费"}),a.jsx(pF,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(vn,{children:[a.jsxs("div",{className:"text-2xl font-bold",children:["¥",k.total_cost.toFixed(2)]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:k.cost_per_hour>0?`¥${k.cost_per_hour.toFixed(2)}/小时`:"暂无数据"})]})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"Token消耗"}),a.jsx(gF,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(vn,{children:[a.jsxs("div",{className:"text-2xl font-bold",children:[(k.total_tokens/1e3).toFixed(1),"K"]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:k.tokens_per_hour>0?`${(k.tokens_per_hour/1e3).toFixed(1)}K/小时`:"暂无数据"})]})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"平均响应"}),a.jsx(df,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(vn,{children:[a.jsxs("div",{className:"text-2xl font-bold",children:[k.avg_response_time.toFixed(2),"s"]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"API平均耗时"})]})]})]}),a.jsxs("div",{className:"grid gap-4 grid-cols-1 sm:grid-cols-3",children:[a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"在线时长"}),a.jsx(uc,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsx(vn,{children:a.jsx("div",{className:"text-xl font-bold",children:D(k.online_time)})})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"消息处理"}),a.jsx(Gf,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(vn,{children:[a.jsx("div",{className:"text-xl font-bold",children:k.total_messages.toLocaleString()}),a.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["回复 ",k.total_replies.toLocaleString()," 条"]})]})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"成本效率"}),a.jsx(xF,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(vn,{children:[a.jsx("div",{className:"text-xl font-bold",children:k.total_messages>0?`¥${(k.total_cost/k.total_messages*100).toFixed(2)}`:"¥0.00"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"每100条消息"})]})]})]}),a.jsxs(dl,{defaultValue:"trends",className:"space-y-4",children:[a.jsxs(va,{className:"grid w-full grid-cols-2 sm:grid-cols-4",children:[a.jsx($t,{value:"trends",children:"趋势"}),a.jsx($t,{value:"models",children:"模型"}),a.jsx($t,{value:"activity",children:"活动"}),a.jsx($t,{value:"daily",children:"日统计"})]}),a.jsxs(On,{value:"trends",className:"space-y-4",children:[a.jsxs(yt,{children:[a.jsxs(Jt,{children:[a.jsx(en,{children:"请求趋势"}),a.jsxs(Sr,{children:["最近",l,"小时的请求量变化"]})]}),a.jsx(vn,{children:a.jsx(_u,{config:Q,className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:a.jsxs(GI,{data:T,children:[a.jsx(Wm,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),a.jsx(Gm,{dataKey:"timestamp",tickFormatter:q=>E(q),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),a.jsx(Th,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),a.jsx(_h,{content:a.jsx(Du,{labelFormatter:q=>E(q)})}),a.jsx(XI,{type:"monotone",dataKey:"requests",stroke:"var(--color-requests)",strokeWidth:2})]})})})]}),a.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[a.jsxs(yt,{children:[a.jsxs(Jt,{children:[a.jsx(en,{children:"花费趋势"}),a.jsx(Sr,{children:"API调用成本变化"})]}),a.jsx(vn,{children:a.jsx(_u,{config:Q,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:a.jsxs(my,{data:T,children:[a.jsx(Wm,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),a.jsx(Gm,{dataKey:"timestamp",tickFormatter:q=>E(q),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),a.jsx(Th,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),a.jsx(_h,{content:a.jsx(Du,{labelFormatter:q=>E(q)})}),a.jsx(Xm,{dataKey:"cost",fill:"var(--color-cost)"})]})})})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{children:[a.jsx(en,{children:"Token消耗"}),a.jsx(Sr,{children:"Token使用量变化"})]}),a.jsx(vn,{children:a.jsx(_u,{config:Q,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:a.jsxs(my,{data:T,children:[a.jsx(Wm,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),a.jsx(Gm,{dataKey:"timestamp",tickFormatter:q=>E(q),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),a.jsx(Th,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),a.jsx(_h,{content:a.jsx(Du,{labelFormatter:q=>E(q)})}),a.jsx(Xm,{dataKey:"tokens",fill:"var(--color-tokens)"})]})})})]})]})]}),a.jsx(On,{value:"models",className:"space-y-4",children:a.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[a.jsxs(yt,{children:[a.jsxs(Jt,{children:[a.jsx(en,{children:"模型请求分布"}),a.jsx(Sr,{children:"各模型使用占比"})]}),a.jsx(vn,{children:a.jsx(_u,{config:Object.fromEntries(j.slice(0,6).map((q,B)=>[q.model_name,{label:q.model_name,color:`hsl(var(--chart-${B%5+1}))`}])),className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:a.jsxs(YI,{children:[a.jsx(_h,{content:a.jsx(Du,{})}),a.jsx(KI,{data:z,cx:"50%",cy:"50%",labelLine:!1,label:({name:q,percent:B})=>`${q} ${B?(B*100).toFixed(0):0}%`,outerRadius:100,dataKey:"value",children:z.map((q,B)=>a.jsx(ZI,{fill:q.fill},`cell-${B}`))})]})})})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{children:[a.jsx(en,{children:"模型详细统计"}),a.jsx(Sr,{children:"请求数、花费和性能"})]}),a.jsx(vn,{children:a.jsx(fn,{className:"h-[300px] sm:h-[400px]",children:a.jsx("div",{className:"space-y-3",children:j.map((q,B)=>a.jsxs("div",{className:"p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("h4",{className:"font-semibold text-sm truncate flex-1 min-w-0",children:q.model_name}),a.jsx("div",{className:"w-3 h-3 rounded-full ml-2 flex-shrink-0",style:{backgroundColor:`hsl(var(--chart-${B%5+1}))`}})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"请求数:"}),a.jsx("span",{className:"ml-1 font-medium",children:q.request_count.toLocaleString()})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"花费:"}),a.jsxs("span",{className:"ml-1 font-medium",children:["¥",q.total_cost.toFixed(2)]})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),a.jsxs("span",{className:"ml-1 font-medium",children:[(q.total_tokens/1e3).toFixed(1),"K"]})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"平均耗时:"}),a.jsxs("span",{className:"ml-1 font-medium",children:[q.avg_response_time.toFixed(2),"s"]})]})]})]},B))})})})]})]})}),a.jsx(On,{value:"activity",children:a.jsxs(yt,{children:[a.jsxs(Jt,{children:[a.jsx(en,{children:"最近活动"}),a.jsx(Sr,{children:"最新的API调用记录"})]}),a.jsx(vn,{children:a.jsx(fn,{className:"h-[400px] sm:h-[500px]",children:a.jsx("div",{className:"space-y-2",children:_.map((q,B)=>a.jsxs("div",{className:"p-3 sm:p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-2 mb-2",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("div",{className:"font-medium text-sm truncate",children:q.model}),a.jsx("div",{className:"text-xs text-muted-foreground",children:q.request_type})]}),a.jsx("div",{className:"text-xs text-muted-foreground flex-shrink-0",children:E(q.timestamp)})]}),a.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2 text-xs",children:[a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),a.jsx("span",{className:"ml-1",children:q.tokens})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"花费:"}),a.jsxs("span",{className:"ml-1",children:["¥",q.cost.toFixed(4)]})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"耗时:"}),a.jsxs("span",{className:"ml-1",children:[q.time_cost.toFixed(2),"s"]})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground",children:"状态:"}),a.jsx("span",{className:`ml-1 ${q.status==="success"?"text-green-600":"text-red-600"}`,children:q.status})]})]})]},B))})})})]})}),a.jsx(On,{value:"daily",children:a.jsxs(yt,{children:[a.jsxs(Jt,{children:[a.jsx(en,{children:"每日统计"}),a.jsx(Sr,{children:"最近7天的数据汇总"})]}),a.jsx(vn,{children:a.jsx(_u,{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:a.jsxs(my,{data:M,children:[a.jsx(Wm,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),a.jsx(Gm,{dataKey:"timestamp",tickFormatter:q=>{const B=new Date(q);return`${B.getMonth()+1}/${B.getDate()}`},stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),a.jsx(Th,{yAxisId:"left",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),a.jsx(Th,{yAxisId:"right",orientation:"right",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),a.jsx(_h,{content:a.jsx(Du,{labelFormatter:q=>new Date(q).toLocaleDateString("zh-CN")})}),a.jsx(V$,{content:a.jsx(gT,{})}),a.jsx(Xm,{yAxisId:"left",dataKey:"requests",fill:"var(--color-requests)"}),a.jsx(Xm,{yAxisId:"right",dataKey:"cost",fill:"var(--color-cost)"})]})})})]})})]}),a.jsxs(yt,{className:"border-2 border-primary/20",children:[a.jsx(Jt,{className:"pb-3",children:a.jsx(en,{className:"text-lg",children:"每日一言"})}),a.jsx(vn,{children:x?a.jsxs("div",{className:"space-y-2",children:[a.jsx(Qk,{className:"h-6 w-3/4"}),a.jsx(Qk,{className:"h-4 w-1/4"})]}):m?a.jsxs("div",{className:"space-y-2",children:[a.jsxs("p",{className:"text-lg font-medium leading-relaxed italic",children:['"',m.hitokoto,'"']}),a.jsxs("p",{className:"text-sm text-muted-foreground text-right",children:["—— ",m.from]})]}):null})]})]})})}const G$={theme:"system",setTheme:()=>null},xT=S.createContext(G$),fw=()=>{const n=S.useContext(xT);if(n===void 0)throw new Error("useTheme must be used within a ThemeProvider");return n},X$=(n,e,t)=>{const r=document.documentElement.classList.contains("no-animations");if(!document.startViewTransition||r){e(n);return}const s=t.clientX,i=t.clientY,l=Math.hypot(Math.max(s,innerWidth-s),Math.max(i,innerHeight-i));document.startViewTransition(()=>{e(n)}).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${s}px ${i}px)`,`circle(${l}px at ${s}px ${i}px)`]},{duration:500,easing:"ease-in-out",pseudoElement:"::view-transition-new(root)"})})},vT=S.createContext(void 0),yT=()=>{const n=S.useContext(vT);if(n===void 0)throw new Error("useAnimation must be used within an AnimationProvider");return n};var vx="Switch",[Y$]=Hi(vx),[K$,Z$]=Y$(vx),bT=S.forwardRef((n,e)=>{const{__scopeSwitch:t,name:r,checked:s,defaultChecked:i,required:l,disabled:c,value:u="on",onCheckedChange:h,form:m,...p}=n,[x,v]=S.useState(null),b=Cn(e,M=>v(M)),O=S.useRef(!1),k=x?m||!!x.closest("form"):!0,[j,T]=So({prop:s,defaultProp:i??!1,onChange:h,caller:vx});return a.jsxs(K$,{scope:t,checked:j,disabled:c,children:[a.jsx(Yt.button,{type:"button",role:"switch","aria-checked":j,"aria-required":l,"data-state":kT(j),"data-disabled":c?"":void 0,disabled:c,value:u,...p,ref:b,onClick:$e(n.onClick,M=>{T(_=>!_),k&&(O.current=M.isPropagationStopped(),O.current||M.stopPropagation())})}),k&&a.jsx(OT,{control:x,bubbles:!O.current,name:r,value:u,checked:j,required:l,disabled:c,form:m,style:{transform:"translateX(-100%)"}})]})});bT.displayName=vx;var wT="SwitchThumb",ST=S.forwardRef((n,e)=>{const{__scopeSwitch:t,...r}=n,s=Z$(wT,t);return a.jsx(Yt.span,{"data-state":kT(s.checked),"data-disabled":s.disabled?"":void 0,...r,ref:e})});ST.displayName=wT;var J$="SwitchBubbleInput",OT=S.forwardRef(({__scopeSwitch:n,control:e,checked:t,bubbles:r=!0,...s},i)=>{const l=S.useRef(null),c=Cn(l,i),u=w9(t),h=S9(e);return S.useEffect(()=>{const m=l.current;if(!m)return;const p=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(p,"checked").set;if(u!==t&&v){const b=new Event("click",{bubbles:r});v.call(m,t),m.dispatchEvent(b)}},[u,t,r]),a.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:t,...s,tabIndex:-1,ref:c,style:{...s.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});OT.displayName=J$;function kT(n){return n?"checked":"unchecked"}var jT=bT,eH=ST;const jt=S.forwardRef(({className:n,...e},t)=>a.jsx(jT,{className:ve("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",n),...e,ref:t,children:a.jsx(eH,{className:ve("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")})}));jt.displayName=jT.displayName;const tH=Cd("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),te=S.forwardRef(({className:n,...e},t)=>a.jsx(O9,{ref:t,className:ve(tH(),n),...e}));te.displayName=O9.displayName;const Ae=S.forwardRef(({className:n,type:e,...t},r)=>a.jsx("input",{type:e,className:ve("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",n),ref:r,...t}));Ae.displayName="Input";const nH=1,rH=1e6;let jy=0;function sH(){return jy=(jy+1)%Number.MAX_SAFE_INTEGER,jy.toString()}const Ny=new Map,Wk=n=>{if(Ny.has(n))return;const e=setTimeout(()=>{Ny.delete(n),Zh({type:"REMOVE_TOAST",toastId:n})},rH);Ny.set(n,e)},iH=(n,e)=>{switch(e.type){case"ADD_TOAST":return{...n,toasts:[e.toast,...n.toasts].slice(0,nH)};case"UPDATE_TOAST":return{...n,toasts:n.toasts.map(t=>t.id===e.toast.id?{...t,...e.toast}:t)};case"DISMISS_TOAST":{const{toastId:t}=e;return t?Wk(t):n.toasts.forEach(r=>{Wk(r.id)}),{...n,toasts:n.toasts.map(r=>r.id===t||t===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return e.toastId===void 0?{...n,toasts:[]}:{...n,toasts:n.toasts.filter(t=>t.id!==e.toastId)}}},Wp=[];let Gp={toasts:[]};function Zh(n){Gp=iH(Gp,n),Wp.forEach(e=>{e(Gp)})}function aH({...n}){const e=sH(),t=s=>Zh({type:"UPDATE_TOAST",toast:{...s,id:e}}),r=()=>Zh({type:"DISMISS_TOAST",toastId:e});return Zh({type:"ADD_TOAST",toast:{...n,id:e,open:!0,onOpenChange:s=>{s||r()}}}),{id:e,dismiss:r,update:t}}function Pr(){const[n,e]=S.useState(Gp);return S.useEffect(()=>(Wp.push(e),()=>{const t=Wp.indexOf(e);t>-1&&Wp.splice(t,1)}),[n]),{...n,toast:aH,dismiss:t=>Zh({type:"DISMISS_TOAST",toastId:t})}}const lH=[{id:"minLength",label:"长度至少 10 位",description:"Token 长度必须大于等于 10 个字符",validate:n=>n.length>=10},{id:"hasUppercase",label:"包含大写字母",description:"至少包含一个大写字母 (A-Z)",validate:n=>/[A-Z]/.test(n)},{id:"hasLowercase",label:"包含小写字母",description:"至少包含一个小写字母 (a-z)",validate:n=>/[a-z]/.test(n)},{id:"hasSpecialChar",label:"包含特殊符号",description:"至少包含一个特殊符号 (!@#$%^&*()_+-=[]{}|;:,.<>?/)",validate:n=>/[!@#$%^&*()_+\-=[\]{}|;:,.<>?/]/.test(n)}];function oH(n){const e=lH.map(r=>({id:r.id,label:r.label,description:r.description,passed:r.validate(n)}));return{isValid:e.every(r=>r.passed),rules:e}}const mw="0.11.5",pw="MaiBot Dashboard",cH=`${pw} v${mw}`,uH=(n="v")=>`${n}${mw}`,Rr=X4,gw=k9,dH=U4,NT=S.forwardRef(({className:n,...e},t)=>a.jsx(rx,{ref:t,className:ve("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",n),...e}));NT.displayName=rx.displayName;const Nr=S.forwardRef(({className:n,children:e,...t},r)=>a.jsxs(dH,{children:[a.jsx(NT,{}),a.jsxs(sx,{ref:r,className:ve("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",n),...t,children:[e,a.jsxs(V4,{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:[a.jsx(Xf,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Nr.displayName=sx.displayName;const Cr=({className:n,...e})=>a.jsx("div",{className:ve("flex flex-col space-y-1.5 text-center sm:text-left",n),...e});Cr.displayName="DialogHeader";const ps=({className:n,...e})=>a.jsx("div",{className:ve("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",n),...e});ps.displayName="DialogFooter";const Tr=S.forwardRef(({className:n,...e},t)=>a.jsx(W4,{ref:t,className:ve("text-lg font-semibold leading-none tracking-tight",n),...e}));Tr.displayName=W4.displayName;const Gr=S.forwardRef(({className:n,...e},t)=>a.jsx(G4,{ref:t,className:ve("text-sm text-muted-foreground",n),...e}));Gr.displayName=G4.displayName;var hH=Symbol("radix.slottable");function fH(n){const e=({children:t})=>a.jsx(a.Fragment,{children:t});return e.displayName=`${n}.Slottable`,e.__radixId=hH,e}var CT="AlertDialog",[mH]=Hi(CT,[j9]),yl=j9(),TT=n=>{const{__scopeAlertDialog:e,...t}=n,r=yl(e);return a.jsx(X4,{...r,...t,modal:!0})};TT.displayName=CT;var pH="AlertDialogTrigger",MT=S.forwardRef((n,e)=>{const{__scopeAlertDialog:t,...r}=n,s=yl(t);return a.jsx(k9,{...s,...r,ref:e})});MT.displayName=pH;var gH="AlertDialogPortal",AT=n=>{const{__scopeAlertDialog:e,...t}=n,r=yl(e);return a.jsx(U4,{...r,...t})};AT.displayName=gH;var xH="AlertDialogOverlay",ET=S.forwardRef((n,e)=>{const{__scopeAlertDialog:t,...r}=n,s=yl(t);return a.jsx(rx,{...s,...r,ref:e})});ET.displayName=xH;var Vu="AlertDialogContent",[vH,yH]=mH(Vu),bH=fH("AlertDialogContent"),_T=S.forwardRef((n,e)=>{const{__scopeAlertDialog:t,children:r,...s}=n,i=yl(t),l=S.useRef(null),c=Cn(e,l),u=S.useRef(null);return a.jsx(nF,{contentName:Vu,titleName:DT,docsSlug:"alert-dialog",children:a.jsx(vH,{scope:t,cancelRef:u,children:a.jsxs(sx,{role:"alertdialog",...i,...s,ref:c,onOpenAutoFocus:$e(s.onOpenAutoFocus,h=>{h.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:h=>h.preventDefault(),onInteractOutside:h=>h.preventDefault(),children:[a.jsx(bH,{children:r}),a.jsx(SH,{contentRef:l})]})})})});_T.displayName=Vu;var DT="AlertDialogTitle",RT=S.forwardRef((n,e)=>{const{__scopeAlertDialog:t,...r}=n,s=yl(t);return a.jsx(W4,{...s,...r,ref:e})});RT.displayName=DT;var zT="AlertDialogDescription",PT=S.forwardRef((n,e)=>{const{__scopeAlertDialog:t,...r}=n,s=yl(t);return a.jsx(G4,{...s,...r,ref:e})});PT.displayName=zT;var wH="AlertDialogAction",LT=S.forwardRef((n,e)=>{const{__scopeAlertDialog:t,...r}=n,s=yl(t);return a.jsx(V4,{...s,...r,ref:e})});LT.displayName=wH;var BT="AlertDialogCancel",IT=S.forwardRef((n,e)=>{const{__scopeAlertDialog:t,...r}=n,{cancelRef:s}=yH(BT,t),i=yl(t),l=Cn(e,s);return a.jsx(V4,{...i,...r,ref:l})});IT.displayName=BT;var SH=({contentRef:n})=>{const e=`\`${Vu}\` requires a description for the component to be accessible for screen reader users. - -You can add a description to the \`${Vu}\` by passing a \`${zT}\` 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 \`${Vu}\`. 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 S.useEffect(()=>{document.getElementById(n.current?.getAttribute("aria-describedby"))||console.warn(e)},[e,n]),null},OH=TT,kH=MT,jH=AT,FT=ET,qT=_T,QT=LT,$T=IT,HT=RT,UT=PT;const mn=OH,jr=kH,NH=jH,VT=S.forwardRef(({className:n,...e},t)=>a.jsx(FT,{className:ve("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",n),...e,ref:t}));VT.displayName=FT.displayName;const an=S.forwardRef(({className:n,...e},t)=>a.jsxs(NH,{children:[a.jsx(VT,{}),a.jsx(qT,{ref:t,className:ve("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",n),...e})]}));an.displayName=qT.displayName;const ln=({className:n,...e})=>a.jsx("div",{className:ve("flex flex-col space-y-2 text-center sm:text-left",n),...e});ln.displayName="AlertDialogHeader";const on=({className:n,...e})=>a.jsx("div",{className:ve("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",n),...e});on.displayName="AlertDialogFooter";const cn=S.forwardRef(({className:n,...e},t)=>a.jsx(HT,{ref:t,className:ve("text-lg font-semibold",n),...e}));cn.displayName=HT.displayName;const un=S.forwardRef(({className:n,...e},t)=>a.jsx(UT,{ref:t,className:ve("text-sm text-muted-foreground",n),...e}));un.displayName=UT.displayName;const dn=S.forwardRef(({className:n,...e},t)=>a.jsx(QT,{ref:t,className:ve(mf(),n),...e}));dn.displayName=QT.displayName;const hn=S.forwardRef(({className:n,...e},t)=>a.jsx($T,{ref:t,className:ve(mf({variant:"outline"}),"mt-2 sm:mt-0",n),...e}));hn.displayName=$T.displayName;function CH(){return a.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[a.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"系统设置"}),a.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理您的应用偏好设置"})]})}),a.jsxs(dl,{defaultValue:"appearance",className:"w-full",children:[a.jsxs(va,{className:"grid w-full grid-cols-2 sm:grid-cols-4 gap-0.5 sm:gap-1 h-auto p-1",children:[a.jsxs($t,{value:"appearance",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[a.jsx(F9,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),a.jsx("span",{children:"外观"})]}),a.jsxs($t,{value:"security",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[a.jsx(vF,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),a.jsx("span",{children:"安全"})]}),a.jsxs($t,{value:"other",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[a.jsx(dc,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),a.jsx("span",{children:"其他"})]}),a.jsxs($t,{value:"about",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[a.jsx(oo,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),a.jsx("span",{children:"关于"})]})]}),a.jsxs(fn,{className:"h-[calc(100vh-240px)] sm:h-[calc(100vh-280px)] mt-4 sm:mt-6",children:[a.jsx(On,{value:"appearance",className:"mt-0",children:a.jsx(TH,{})}),a.jsx(On,{value:"security",className:"mt-0",children:a.jsx(MH,{})}),a.jsx(On,{value:"other",className:"mt-0",children:a.jsx(AH,{})}),a.jsx(On,{value:"about",className:"mt-0",children:a.jsx(EH,{})})]})]})]})}function Gk(n){const e=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%)"}}[n];if(r)e.style.setProperty("--primary",r.hsl),r.gradient?(e.style.setProperty("--primary-gradient",r.gradient),e.classList.add("has-gradient")):(e.style.removeProperty("--primary-gradient"),e.classList.remove("has-gradient"));else if(n.startsWith("#")){const s=i=>{i=i.replace("#","");const l=parseInt(i.substring(0,2),16)/255,c=parseInt(i.substring(2,4),16)/255,u=parseInt(i.substring(4,6),16)/255,h=Math.max(l,c,u),m=Math.min(l,c,u);let p=0,x=0;const v=(h+m)/2;if(h!==m){const b=h-m;switch(x=v>.5?b/(2-h-m):b/(h+m),h){case l:p=((c-u)/b+(clocalStorage.getItem("accent-color")||"blue");S.useEffect(()=>{const h=localStorage.getItem("accent-color")||"blue";Gk(h)},[]);const u=h=>{c(h),localStorage.setItem("accent-color",h),Gk(h)};return a.jsxs("div",{className:"space-y-6 sm:space-y-8",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题模式"}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 sm:gap-4",children:[a.jsx(Cy,{value:"light",current:n,onChange:e,label:"浅色",description:"始终使用浅色主题"}),a.jsx(Cy,{value:"dark",current:n,onChange:e,label:"深色",description:"始终使用深色主题"}),a.jsx(Cy,{value:"system",current:n,onChange:e,label:"跟随系统",description:"根据系统设置自动切换"})]})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题色"}),a.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"单色"}),a.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[a.jsx(xi,{value:"blue",current:l,onChange:u,label:"蓝色",colorClass:"bg-blue-500"}),a.jsx(xi,{value:"purple",current:l,onChange:u,label:"紫色",colorClass:"bg-purple-500"}),a.jsx(xi,{value:"green",current:l,onChange:u,label:"绿色",colorClass:"bg-green-500"}),a.jsx(xi,{value:"orange",current:l,onChange:u,label:"橙色",colorClass:"bg-orange-500"}),a.jsx(xi,{value:"pink",current:l,onChange:u,label:"粉色",colorClass:"bg-pink-500"}),a.jsx(xi,{value:"red",current:l,onChange:u,label:"红色",colorClass:"bg-red-500"})]})]}),a.jsxs("div",{children:[a.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"渐变色"}),a.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[a.jsx(xi,{value:"gradient-sunset",current:l,onChange:u,label:"日落",colorClass:"bg-gradient-to-r from-orange-500 to-pink-500"}),a.jsx(xi,{value:"gradient-ocean",current:l,onChange:u,label:"海洋",colorClass:"bg-gradient-to-r from-blue-500 to-cyan-500"}),a.jsx(xi,{value:"gradient-forest",current:l,onChange:u,label:"森林",colorClass:"bg-gradient-to-r from-green-500 to-emerald-500"}),a.jsx(xi,{value:"gradient-aurora",current:l,onChange:u,label:"极光",colorClass:"bg-gradient-to-r from-purple-500 to-pink-500"}),a.jsx(xi,{value:"gradient-fire",current:l,onChange:u,label:"烈焰",colorClass:"bg-gradient-to-r from-red-500 to-orange-500"}),a.jsx(xi,{value:"gradient-twilight",current:l,onChange:u,label:"暮光",colorClass:"bg-gradient-to-r from-indigo-500 to-purple-500"})]})]}),a.jsxs("div",{children:[a.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"自定义颜色"}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4",children:[a.jsx("div",{className:"flex-1",children:a.jsx("input",{type:"color",value:l.startsWith("#")?l:"#3b82f6",onChange:h=>u(h.target.value),className:"h-10 sm:h-12 w-full rounded-lg border-2 border-border cursor-pointer",title:"选择自定义颜色"})}),a.jsx("div",{className:"flex-1",children:a.jsx(Ae,{type:"text",value:l,onChange:h=>u(h.target.value),placeholder:"#3b82f6",className:"font-mono text-sm"})})]}),a.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground mt-2",children:"点击色块选择颜色,或手动输入 HEX 颜色代码"})]})]})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"动画效果"}),a.jsxs("div",{className:"space-y-2 sm:space-y-3",children:[a.jsx("div",{className:"rounded-lg border bg-card p-3 sm:p-4",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-0.5 flex-1",children:[a.jsx(te,{htmlFor:"animations",className:"text-base font-medium cursor-pointer",children:"启用动画效果"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后将禁用所有过渡动画和特效,提升性能"})]}),a.jsx(jt,{id:"animations",checked:t,onCheckedChange:r})]})}),a.jsx("div",{className:"rounded-lg border bg-card p-4",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-0.5 flex-1",children:[a.jsx(te,{htmlFor:"waves-background",className:"text-base font-medium cursor-pointer",children:"登录页波浪背景"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后登录页将使用纯色背景,适合低性能设备"})]}),a.jsx(jt,{id:"waves-background",checked:s,onCheckedChange:i})]})})]})]})]})}function MH(){const n=ba(),[e,t]=S.useState(""),[r,s]=S.useState(""),[i,l]=S.useState(!1),[c,u]=S.useState(!1),[h,m]=S.useState(!1),[p,x]=S.useState(!1),[v,b]=S.useState(!1),[O,k]=S.useState(!1),[j,T]=S.useState(""),[M,_]=S.useState(!1),{toast:D}=Pr(),E=S.useMemo(()=>oH(r),[r]),z=()=>localStorage.getItem("access-token")||"",Q=async W=>{try{await navigator.clipboard.writeText(W),b(!0),D({title:"复制成功",description:"Token 已复制到剪贴板"}),setTimeout(()=>b(!1),2e3)}catch{D({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},q=async()=>{if(!r.trim()){D({title:"输入错误",description:"请输入新的 Token",variant:"destructive"});return}if(!E.isValid){const W=E.rules.filter(J=>!J.passed).map(J=>J.label).join(", ");D({title:"格式错误",description:`Token 不符合要求: ${W}`,variant:"destructive"});return}m(!0);try{const W=z(),J=await fetch("/api/webui/auth/update",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${W}`},body:JSON.stringify({new_token:r.trim()})}),H=await J.json();J.ok&&H.success?(localStorage.setItem("access-token",r.trim()),s(""),e&&t(r.trim()),D({title:"更新成功",description:"Access Token 已更新,即将跳转到登录页"}),setTimeout(()=>{localStorage.removeItem("access-token"),n({to:"/auth"})},1500)):D({title:"更新失败",description:H.message||"无法更新 Token",variant:"destructive"})}catch(W){console.error("更新 Token 错误:",W),D({title:"更新失败",description:"连接服务器失败",variant:"destructive"})}finally{m(!1)}},B=async()=>{x(!0);try{const W=z(),J=await fetch("/api/webui/auth/regenerate",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${W}`}}),H=await J.json();J.ok&&H.success?(localStorage.setItem("access-token",H.token),t(H.token),T(H.token),k(!0),_(!1),D({title:"生成成功",description:"新的 Access Token 已生成,请及时保存"})):D({title:"生成失败",description:H.message||"无法生成新 Token",variant:"destructive"})}catch(W){console.error("生成 Token 错误:",W),D({title:"生成失败",description:"连接服务器失败",variant:"destructive"})}finally{x(!1)}},U=async()=>{try{await navigator.clipboard.writeText(j),_(!0),D({title:"复制成功",description:"Token 已复制到剪贴板"})}catch{D({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},V=()=>{k(!1),setTimeout(()=>{T(""),_(!1)},300),setTimeout(()=>{localStorage.removeItem("access-token"),n({to:"/auth"})},500)},ce=W=>{W||V()};return a.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[a.jsx(Rr,{open:O,onOpenChange:ce,children:a.jsxs(Nr,{className:"sm:max-w-md",children:[a.jsxs(Cr,{children:[a.jsxs(Tr,{className:"flex items-center gap-2",children:[a.jsx(Uu,{className:"h-5 w-5 text-yellow-500"}),"新的 Access Token"]}),a.jsx(Gr,{children:"这是您的新 Token,请立即保存。关闭此窗口后将跳转到登录页面。"})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"rounded-lg border-2 border-primary/20 bg-primary/5 p-4",children:[a.jsx(te,{className:"text-xs text-muted-foreground mb-2 block",children:"您的新 Token (64位安全令牌)"}),a.jsx("div",{className:"font-mono text-sm break-all select-all bg-background p-3 rounded border",children:j})]}),a.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Uu,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5"}),a.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[a.jsx("p",{className:"font-semibold",children:"重要提示"}),a.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[a.jsx("li",{children:"此 Token 仅显示一次,关闭后无法再查看"}),a.jsx("li",{children:"请立即复制并保存到安全的位置"}),a.jsx("li",{children:"关闭窗口后将自动跳转到登录页面"}),a.jsx("li",{children:"请使用新 Token 重新登录系统"})]})]})]})})]}),a.jsxs(ps,{className:"gap-2 sm:gap-0",children:[a.jsx(ie,{variant:"outline",onClick:U,className:"gap-2",children:M?a.jsxs(a.Fragment,{children:[a.jsx(hc,{className:"h-4 w-4 text-green-500"}),"已复制"]}):a.jsxs(a.Fragment,{children:[a.jsx(Yb,{className:"h-4 w-4"}),"复制 Token"]})}),a.jsx(ie,{onClick:V,children:"我已保存,关闭"})]})]})}),a.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[a.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"当前 Access Token"}),a.jsx("div",{className:"space-y-3 sm:space-y-4",children:a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"current-token",className:"text-sm",children:"您的访问令牌"}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[a.jsxs("div",{className:"relative flex-1",children:[a.jsx(Ae,{id:"current-token",type:i?"text":"password",value:e||z(),readOnly:!0,className:"pr-10 font-mono text-sm",placeholder:"点击查看按钮显示 Token"}),a.jsx("button",{onClick:()=>{e||t(z()),l(!i)},className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:i?"隐藏":"显示",children:i?a.jsx(Kb,{className:"h-4 w-4 text-muted-foreground"}):a.jsx(qi,{className:"h-4 w-4 text-muted-foreground"})})]}),a.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[a.jsx(ie,{variant:"outline",size:"icon",onClick:()=>Q(z()),title:"复制到剪贴板",className:"flex-shrink-0",children:v?a.jsx(hc,{className:"h-4 w-4 text-green-500"}):a.jsx(Yb,{className:"h-4 w-4"})}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsxs(ie,{variant:"outline",disabled:p,className:"gap-2 flex-1 sm:flex-none",children:[a.jsx(Ii,{className:ve("h-4 w-4",p&&"animate-spin")}),a.jsx("span",{className:"hidden sm:inline",children:"重新生成"}),a.jsx("span",{className:"sm:hidden",children:"生成"})]})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认重新生成 Token"}),a.jsx(un,{children:"这将生成一个新的 64 位安全令牌,并使当前 Token 立即失效。 您需要使用新 Token 重新登录系统。此操作不可撤销,确定要继续吗?"})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:B,children:"确认生成"})]})]})]})]})]}),a.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground",children:"请妥善保管您的 Access Token,不要泄露给他人"})]})})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[a.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"自定义 Access Token"}),a.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"new-token",className:"text-sm",children:"新的访问令牌"}),a.jsxs("div",{className:"relative",children:[a.jsx(Ae,{id:"new-token",type:c?"text":"password",value:r,onChange:W=>s(W.target.value),className:"pr-10 font-mono text-sm",placeholder:"输入自定义 Token"}),a.jsx("button",{onClick:()=>u(!c),className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:c?"隐藏":"显示",children:c?a.jsx(Kb,{className:"h-4 w-4 text-muted-foreground"}):a.jsx(qi,{className:"h-4 w-4 text-muted-foreground"})})]}),r&&a.jsxs("div",{className:"mt-3 space-y-2 p-3 rounded-lg bg-muted/50",children:[a.jsx("p",{className:"text-sm font-medium text-foreground",children:"Token 安全要求:"}),a.jsx("div",{className:"space-y-1.5",children:E.rules.map(W=>a.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[W.passed?a.jsx(ua,{className:"h-4 w-4 text-green-500 flex-shrink-0"}):a.jsx(Zb,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),a.jsx("span",{className:ve(W.passed?"text-green-600 dark:text-green-400":"text-muted-foreground"),children:W.label})]},W.id))}),E.isValid&&a.jsx("div",{className:"mt-2 pt-2 border-t border-border",children:a.jsxs("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[a.jsx(hc,{className:"h-4 w-4"}),a.jsx("span",{className:"font-medium",children:"Token 格式正确,可以使用"})]})})]})]}),a.jsx(ie,{onClick:q,disabled:h||!E.isValid||!r,className:"w-full sm:w-auto",children:h?"更新中...":"更新自定义 Token"})]})]}),a.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:[a.jsx("h4",{className:"text-sm sm:text-base font-semibold text-yellow-900 dark:text-yellow-200 mb-2",children:"安全提示"}),a.jsxs("ul",{className:"text-xs sm:text-sm text-yellow-800 dark:text-yellow-300 space-y-1 list-disc list-inside",children:[a.jsx("li",{children:"重新生成 Token 会创建系统随机生成的 64 位安全令牌"}),a.jsx("li",{children:"自定义 Token 必须满足所有安全要求才能使用"}),a.jsx("li",{children:"更新 Token 后,旧的 Token 将立即失效"}),a.jsx("li",{children:"请在安全的环境下查看和复制 Token"}),a.jsx("li",{children:"如果怀疑 Token 泄露,请立即重新生成或更新"}),a.jsx("li",{children:"建议使用系统生成的 Token 以获得最高安全性"})]})]})]})}function AH(){const n=ba(),{toast:e}=Pr(),[t,r]=S.useState(!1),s=async()=>{r(!0);try{const i=localStorage.getItem("access-token"),l=await fetch("/api/webui/setup/reset",{method:"POST",headers:{Authorization:`Bearer ${i}`}}),c=await l.json();l.ok&&c.success?(e({title:"重置成功",description:"即将进入初次配置向导"}),setTimeout(()=>{n({to:"/setup"})},1e3)):e({title:"重置失败",description:c.message||"无法重置配置状态",variant:"destructive"})}catch(i){console.error("重置配置状态错误:",i),e({title:"重置失败",description:"连接服务器失败",variant:"destructive"})}finally{r(!1)}};return a.jsx("div",{className:"space-y-4 sm:space-y-6",children:a.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[a.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"配置向导"}),a.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[a.jsx("div",{className:"space-y-2",children:a.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"重新进行初次配置向导,可以帮助您重新设置系统的基础配置。"})}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsxs(ie,{variant:"outline",disabled:t,className:"gap-2",children:[a.jsx(yF,{className:ve("h-4 w-4",t&&"animate-spin")}),"重新进行初次配置"]})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认重新配置"}),a.jsx(un,{children:"这将带您重新进入初次配置向导。您可以重新设置系统的基础配置项。确定要继续吗?"})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:s,children:"确认重置"})]})]})]})]})]})})}function EH(){return a.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[a.jsx("div",{className:"rounded-lg border-2 border-primary/30 bg-gradient-to-r from-primary/5 to-primary/10 p-4 sm:p-6",children:a.jsxs("div",{className:"flex items-start gap-3 sm:gap-4",children:[a.jsx("div",{className:"flex-shrink-0 rounded-lg bg-primary/10 p-2 sm:p-3",children:a.jsx("svg",{className:"h-6 w-6 sm:h-8 sm:w-8 text-primary",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{fillRule:"evenodd",d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z",clipRule:"evenodd"})})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"text-lg sm:text-xl font-bold text-foreground mb-2",children:"开源项目"}),a.jsx("p",{className:"text-sm sm:text-base text-muted-foreground mb-3",children:"本项目在 GitHub 开源,欢迎 Star ⭐ 支持!"}),a.jsxs("a",{href:"https://github.com/Mai-with-u/MaiBot-Dashboard",target:"_blank",rel:"noopener noreferrer",className:ve("inline-flex items-center gap-2 px-4 py-2 rounded-lg","bg-primary text-primary-foreground font-medium text-sm","hover:bg-primary/90 transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"),children:[a.jsx("svg",{className:"h-4 w-4",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:a.jsx("path",{fillRule:"evenodd",d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z",clipRule:"evenodd"})}),"前往 GitHub",a.jsx("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})]})]})}),a.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[a.jsxs("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:["关于 ",pw]}),a.jsxs("div",{className:"space-y-2 text-xs sm:text-sm text-muted-foreground",children:[a.jsxs("p",{children:["版本: ",mw]}),a.jsx("p",{children:"麦麦(MaiBot)的现代化 Web 管理界面"})]})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[a.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"作者"}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-sm font-medium",children:"MaiBot 核心"}),a.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"Mai-with-u"})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-sm font-medium",children:"WebUI"}),a.jsxs("p",{className:"text-xs sm:text-sm text-muted-foreground",children:["Mai-with-u ",a.jsx("a",{href:"https://github.com/DrSmoothl",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"@MotricSeven"})]})]})]})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[a.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"技术栈"}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 text-xs sm:text-sm text-muted-foreground",children:[a.jsxs("div",{className:"space-y-1.5",children:[a.jsx("p",{className:"font-medium text-foreground",children:"前端框架"}),a.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[a.jsx("li",{children:"React 19.2.0"}),a.jsx("li",{children:"TypeScript 5.7.2"}),a.jsx("li",{children:"Vite 6.0.7"}),a.jsx("li",{children:"TanStack Router 1.94.2"})]})]}),a.jsxs("div",{className:"space-y-1.5",children:[a.jsx("p",{className:"font-medium text-foreground",children:"UI 组件"}),a.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[a.jsx("li",{children:"shadcn/ui"}),a.jsx("li",{children:"Radix UI"}),a.jsx("li",{children:"Tailwind CSS 3.4.17"}),a.jsx("li",{children:"Lucide Icons"})]})]}),a.jsxs("div",{className:"space-y-1.5",children:[a.jsx("p",{className:"font-medium text-foreground",children:"后端"}),a.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[a.jsx("li",{children:"Python 3.12+"}),a.jsx("li",{children:"FastAPI"}),a.jsx("li",{children:"Uvicorn"}),a.jsx("li",{children:"WebSocket"})]})]}),a.jsxs("div",{className:"space-y-1.5",children:[a.jsx("p",{className:"font-medium text-foreground",children:"构建工具"}),a.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[a.jsx("li",{children:"Bun / npm"}),a.jsx("li",{children:"ESLint 9.17.0"}),a.jsx("li",{children:"PostCSS"})]})]})]})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[a.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源库感谢"}),a.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mb-3",children:"本项目使用了以下优秀的开源库,感谢他们的贡献:"}),a.jsx(fn,{className:"h-[300px] sm:h-[400px]",children:a.jsxs("div",{className:"space-y-4 pr-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-sm font-medium text-foreground",children:"UI 框架与组件"}),a.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[a.jsx(Gn,{name:"React",description:"用户界面构建库",license:"MIT"}),a.jsx(Gn,{name:"shadcn/ui",description:"优雅的 React 组件库",license:"MIT"}),a.jsx(Gn,{name:"Radix UI",description:"无样式的可访问组件库",license:"MIT"}),a.jsx(Gn,{name:"Tailwind CSS",description:"实用优先的 CSS 框架",license:"MIT"}),a.jsx(Gn,{name:"Lucide React",description:"精美的图标库",license:"ISC"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-sm font-medium text-foreground",children:"路由与状态管理"}),a.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[a.jsx(Gn,{name:"TanStack Router",description:"类型安全的路由库",license:"MIT"}),a.jsx(Gn,{name:"Zustand",description:"轻量级状态管理",license:"MIT"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-sm font-medium text-foreground",children:"表单处理"}),a.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[a.jsx(Gn,{name:"React Hook Form",description:"高性能表单库",license:"MIT"}),a.jsx(Gn,{name:"Zod",description:"TypeScript 优先的 schema 验证",license:"MIT"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-sm font-medium text-foreground",children:"工具库"}),a.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[a.jsx(Gn,{name:"clsx",description:"条件 className 构建工具",license:"MIT"}),a.jsx(Gn,{name:"tailwind-merge",description:"Tailwind 类名合并工具",license:"MIT"}),a.jsx(Gn,{name:"class-variance-authority",description:"组件变体管理",license:"Apache-2.0"}),a.jsx(Gn,{name:"date-fns",description:"现代化日期处理库",license:"MIT"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-sm font-medium text-foreground",children:"动画效果"}),a.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[a.jsx(Gn,{name:"Framer Motion",description:"React 动画库",license:"MIT"}),a.jsx(Gn,{name:"vaul",description:"抽屉组件动画",license:"MIT"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-sm font-medium text-foreground",children:"后端框架"}),a.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[a.jsx(Gn,{name:"FastAPI",description:"现代化 Python Web 框架",license:"MIT"}),a.jsx(Gn,{name:"Uvicorn",description:"ASGI 服务器",license:"BSD-3-Clause"}),a.jsx(Gn,{name:"Pydantic",description:"数据验证库",license:"MIT"}),a.jsx(Gn,{name:"python-multipart",description:"文件上传支持",license:"Apache-2.0"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-sm font-medium text-foreground",children:"开发工具"}),a.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[a.jsx(Gn,{name:"TypeScript",description:"JavaScript 的超集",license:"Apache-2.0"}),a.jsx(Gn,{name:"Vite",description:"下一代前端构建工具",license:"MIT"}),a.jsx(Gn,{name:"ESLint",description:"JavaScript 代码检查工具",license:"MIT"}),a.jsx(Gn,{name:"PostCSS",description:"CSS 转换工具",license:"MIT"})]})]})]})})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[a.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源许可"}),a.jsxs("div",{className:"space-y-3",children:[a.jsx("div",{className:"rounded-lg bg-primary/5 border border-primary/20 p-3 sm:p-4",children:a.jsxs("div",{className:"flex items-start gap-2 sm:gap-3",children:[a.jsx("div",{className:"flex-shrink-0 mt-0.5",children:a.jsx("div",{className:"rounded-md bg-primary/10 px-2 py-1",children:a.jsx("span",{className:"text-xs sm:text-sm font-bold text-primary",children:"GPLv3"})})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-sm sm:text-base font-semibold text-foreground mb-1",children:"MaiBot WebUI"}),a.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目采用 GNU General Public License v3.0 开源许可证。 您可以自由地使用、修改和分发本软件,但必须保持相同的开源许可。"})]})]})}),a.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目依赖的所有开源库均遵循各自的开源许可证(MIT、Apache-2.0、BSD 等)。 感谢所有开源贡献者的无私奉献。"})]})]})]})}function Gn({name:n,description:e,license:t}){return a.jsxs("div",{className:"flex items-start justify-between gap-2 rounded-lg border bg-muted/30 p-2.5 sm:p-3",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"font-medium text-foreground truncate",children:n}),a.jsx("p",{className:"text-muted-foreground text-xs mt-0.5",children:e})]}),a.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:t})]})}function Cy({value:n,current:e,onChange:t,label:r,description:s}){const i=e===n;return a.jsxs("button",{onClick:()=>t(n),className:ve("relative rounded-lg border-2 p-3 sm:p-4 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",i?"border-primary bg-accent":"border-border"),children:[i&&a.jsx("div",{className:"absolute top-2 right-2 sm:top-3 sm:right-3 h-2 w-2 rounded-full bg-primary"}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("div",{className:"text-sm sm:text-base font-medium",children:r}),a.jsx("div",{className:"text-[10px] sm:text-xs text-muted-foreground",children:s})]}),a.jsxs("div",{className:"mt-2 sm:mt-3 flex gap-1",children:[n==="light"&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-200"}),a.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-300"}),a.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-400"})]}),n==="dark"&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-700"}),a.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-800"}),a.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-900"})]}),n==="system"&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-200 to-slate-700"}),a.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-300 to-slate-800"}),a.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-400 to-slate-900"})]})]})]})}function xi({value:n,current:e,onChange:t,label:r,colorClass:s}){const i=e===n;return a.jsxs("button",{onClick:()=>t(n),className:ve("relative rounded-lg border-2 p-2 sm:p-3 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",i?"border-primary bg-accent":"border-border"),children:[i&&a.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"}),a.jsxs("div",{className:"flex flex-col items-center gap-1.5 sm:gap-2",children:[a.jsx("div",{className:ve("h-8 w-8 sm:h-10 sm:w-10 rounded-full",s)}),a.jsx("div",{className:"text-[10px] sm:text-xs font-medium text-center",children:r})]})]})}class _H{grad3;p;perm;constructor(e=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 t=0;t<256;t++)this.p[t]=Math.floor(Math.random()*256);this.perm=[];for(let t=0;t<512;t++)this.perm[t]=this.p[t&255]}dot(e,t,r){return e[0]*t+e[1]*r}mix(e,t,r){return(1-r)*e+r*t}fade(e){return e*e*e*(e*(e*6-15)+10)}perlin2(e,t){const r=Math.floor(e)&255,s=Math.floor(t)&255;e-=Math.floor(e),t-=Math.floor(t);const i=this.fade(e),l=this.fade(t),c=this.perm[r]+s,u=this.perm[c],h=this.perm[c+1],m=this.perm[r+1]+s,p=this.perm[m],x=this.perm[m+1];return this.mix(this.mix(this.dot(this.grad3[u%12],e,t),this.dot(this.grad3[p%12],e-1,t),i),this.mix(this.dot(this.grad3[h%12],e,t-1),this.dot(this.grad3[x%12],e-1,t-1),i),l)}}function DH(){const n=S.useRef(null),e=S.useRef(null),t=S.useRef(void 0),r=S.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 _H(Math.random()),bounding:null});return S.useEffect(()=>{const s=e.current,i=n.current;if(!s||!i)return;const l=r.current,c=()=>{const O=s.getBoundingClientRect();l.bounding=O,i.style.width=`${O.width}px`,i.style.height=`${O.height}px`},u=()=>{if(!l.bounding)return;const{width:O,height:k}=l.bounding;l.lines=[],l.paths.forEach(q=>q.remove()),l.paths=[];const j=10,T=32,M=O+200,_=k+30,D=Math.ceil(M/j),E=Math.ceil(_/T),z=(O-j*D)/2,Q=(k-T*E)/2;for(let q=0;q<=D;q++){const B=[];for(let V=0;V<=E;V++){const ce={x:z+j*q,y:Q+T*V,wave:{x:0,y:0},cursor:{x:0,y:0,vx:0,vy:0}};B.push(ce)}const U=document.createElementNS("http://www.w3.org/2000/svg","path");i.appendChild(U),l.paths.push(U),l.lines.push(B)}},h=O=>{const{lines:k,mouse:j,noise:T}=l;k.forEach(M=>{M.forEach(_=>{const D=T.perlin2((_.x+O*.0125)*.002,(_.y+O*.005)*.0015)*12;_.wave.x=Math.cos(D)*32,_.wave.y=Math.sin(D)*16;const E=_.x-j.sx,z=_.y-j.sy,Q=Math.hypot(E,z),q=Math.max(175,j.vs);if(Q{const j={x:O.x+O.wave.x+(k?O.cursor.x:0),y:O.y+O.wave.y+(k?O.cursor.y:0)};return j.x=Math.round(j.x*10)/10,j.y=Math.round(j.y*10)/10,j},p=()=>{const{lines:O,paths:k}=l;O.forEach((j,T)=>{let M=m(j[0],!1),_=`M ${M.x} ${M.y}`;j.forEach((D,E)=>{const z=E===j.length-1;M=m(D,!z),_+=`L ${M.x} ${M.y}`}),k[T].setAttribute("d",_)})},x=O=>{const{mouse:k}=l;k.sx+=(k.x-k.sx)*.1,k.sy+=(k.y-k.sy)*.1;const j=k.x-k.lx,T=k.y-k.ly,M=Math.hypot(j,T);k.v=M,k.vs+=(M-k.vs)*.1,k.vs=Math.min(100,k.vs),k.lx=k.x,k.ly=k.y,k.a=Math.atan2(T,j),s&&(s.style.setProperty("--x",`${k.sx}px`),s.style.setProperty("--y",`${k.sy}px`)),h(O),p(),t.current=requestAnimationFrame(x)},v=O=>{if(!l.bounding)return;const{mouse:k}=l;k.x=O.pageX-l.bounding.left,k.y=O.pageY-l.bounding.top+window.scrollY,k.set||(k.sx=k.x,k.sy=k.y,k.lx=k.x,k.ly=k.y,k.set=!0)},b=()=>{c(),u()};return c(),u(),window.addEventListener("resize",b),window.addEventListener("mousemove",v),t.current=requestAnimationFrame(x),()=>{window.removeEventListener("resize",b),window.removeEventListener("mousemove",v),t.current&&cancelAnimationFrame(t.current)}},[]),a.jsxs("div",{ref:e,className:"waves-background",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none"},children:[a.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"}}),a.jsx("svg",{ref:n,style:{display:"block",width:"100%",height:"100%"},children:a.jsx("style",{children:` - path { - fill: none; - stroke: hsl(var(--primary) / 0.20); - stroke-width: 1px; - } - `})})]})}function RH(){const n=ba();S.useEffect(()=>{localStorage.getItem("access-token")||n({to:"/auth"})},[n])}function WT(){return!!localStorage.getItem("access-token")}function zH(){const[n,e]=S.useState(""),[t,r]=S.useState(!1),[s,i]=S.useState(""),l=ba(),{enableWavesBackground:c,setEnableWavesBackground:u}=yT(),{theme:h,setTheme:m}=fw();S.useEffect(()=>{WT()&&l({to:"/"})},[l]);const x=h==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":h,v=()=>{m(x==="dark"?"light":"dark")},b=async O=>{if(O.preventDefault(),i(""),!n.trim()){i("请输入 Access Token");return}r(!0);try{const k=await fetch("/api/webui/auth/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:n.trim()})}),j=await k.json();if(k.ok&&j.valid){localStorage.setItem("access-token",n.trim());const T=await fetch("/api/webui/setup/status",{method:"GET",headers:{Authorization:`Bearer ${n.trim()}`}}),M=await T.json();T.ok&&M.is_first_setup?l({to:"/setup"}):l({to:"/"})}else i(j.message||"Token 验证失败,请检查后重试")}catch(k){console.error("Token 验证错误:",k),i("连接服务器失败,请检查网络连接")}finally{r(!1)}};return a.jsxs("div",{className:"relative flex min-h-screen items-center justify-center overflow-hidden bg-background p-4",children:[c&&a.jsx(DH,{}),a.jsxs(yt,{className:"relative z-10 w-full max-w-md shadow-2xl backdrop-blur-xl bg-card/80 border-border/50",children:[a.jsx("button",{onClick:v,className:"absolute right-4 top-4 rounded-lg p-2 hover:bg-accent transition-colors z-10 text-foreground",title:x==="dark"?"切换到浅色模式":"切换到深色模式",children:x==="dark"?a.jsx(Jb,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"}):a.jsx(e2,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"})}),a.jsxs(Jt,{className:"space-y-4 text-center",children:[a.jsx("div",{className:"mx-auto flex h-16 w-16 items-center justify-center rounded-2xl bg-primary/10",children:a.jsx(ck,{className:"h-8 w-8 text-primary",strokeWidth:2,fill:"none"})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(en,{className:"text-2xl font-bold",children:"欢迎使用 MaiBot"}),a.jsx(Sr,{className:"text-base",children:"请输入您的 Access Token 以继续访问系统"})]})]}),a.jsx(vn,{children:a.jsxs("form",{onSubmit:b,className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"token",className:"text-sm font-medium",children:"Access Token"}),a.jsxs("div",{className:"relative",children:[a.jsx(bF,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground",strokeWidth:2,fill:"none"}),a.jsx(Ae,{id:"token",type:"password",placeholder:"请输入您的 Access Token",value:n,onChange:O=>e(O.target.value),className:ve("pl-10",s&&"border-red-500 focus-visible:ring-red-500"),disabled:t,autoFocus:!0,autoComplete:"off"})]})]}),s&&a.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:[a.jsx(xc,{className:"h-4 w-4 flex-shrink-0",strokeWidth:2,fill:"none"}),a.jsx("span",{children:s})]}),a.jsx(ie,{type:"submit",className:"w-full",disabled:t,children:t?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"mr-2 h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}),"验证中..."]}):"验证并进入"}),a.jsxs(Rr,{children:[a.jsx(gw,{asChild:!0,children:a.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:[a.jsx(wF,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我没有 Token,我该去哪里获得 Token?"]})}),a.jsxs(Nr,{className:"sm:max-w-md",children:[a.jsxs(Cr,{children:[a.jsxs(Tr,{className:"flex items-center gap-2",children:[a.jsx(ck,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"如何获取 Access Token"]}),a.jsx(Gr,{children:"Access Token 是访问 MaiBot WebUI 的唯一凭证,请按以下方式获取"})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(SF,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx("h4",{className:"font-semibold text-sm",children:"方式一:查看启动日志"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"在 MaiBot 启动时,控制台会显示 WebUI Access Token。"}),a.jsxs("div",{className:"rounded bg-background p-2 font-mono text-xs",children:[a.jsx("p",{className:"text-muted-foreground",children:"🔑 WebUI Access Token: abc123..."}),a.jsx("p",{className:"text-muted-foreground",children:"💡 请使用此 Token 登录 WebUI"})]})]})]})}),a.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(io,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx("h4",{className:"font-semibold text-sm",children:"方式二:查看配置文件"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Token 保存在项目根目录的配置文件中:"}),a.jsx("div",{className:"rounded bg-background p-2 font-mono text-xs break-all",children:a.jsx("code",{className:"text-primary",children:"data/webui.json"})}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:["打开此文件,复制 ",a.jsx("code",{className:"px-1 py-0.5 bg-background rounded",children:"access_token"})," 字段的值"]})]})]})}),a.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:a.jsxs("div",{className:"flex gap-2",children:[a.jsx(xc,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),a.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[a.jsx("p",{className:"font-semibold",children:"安全提示"}),a.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[a.jsx("li",{children:"请妥善保管您的 Token,不要泄露给他人"}),a.jsx("li",{children:"如需重置 Token,请在登录后前往系统设置"})]})]})]})})]})]})]}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.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:[a.jsx(df,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我觉得这个界面很卡怎么办?"]})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsxs(cn,{className:"flex items-center gap-2",children:[a.jsx(df,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"关闭背景动画"]}),a.jsx(un,{children:"背景动画可能会在低性能设备上造成卡顿。关闭动画可以显著提升界面流畅度。"})]}),a.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:a.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭动画后,背景将变为纯色,但不影响任何功能的使用。您可以随时在系统设置中重新开启动画。"})}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>u(!1),children:"关闭动画"})]})]})]})]})})]}),a.jsx("div",{className:"absolute bottom-4 left-0 right-0 text-center text-xs text-muted-foreground",children:a.jsx("p",{children:cH})})]})}const kn=S.forwardRef(({className:n,...e},t)=>a.jsx("textarea",{className:ve("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",n),ref:t,...e}));kn.displayName="Textarea";var PH=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],LH=PH.reduce((n,e)=>{const t=H4(`Primitive.${e}`),r=S.forwardRef((s,i)=>{const{asChild:l,...c}=s,u=l?t:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(u,{...c,ref:i})});return r.displayName=`Primitive.${e}`,{...n,[e]:r}},{}),BH="Separator",Xk="horizontal",IH=["horizontal","vertical"],GT=S.forwardRef((n,e)=>{const{decorative:t,orientation:r=Xk,...s}=n,i=FH(r)?r:Xk,c=t?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return a.jsx(LH.div,{"data-orientation":i,...c,...s,ref:e})});GT.displayName=BH;function FH(n){return IH.includes(n)}var XT=GT;const pf=S.forwardRef(({className:n,orientation:e="horizontal",decorative:t=!0,...r},s)=>a.jsx(XT,{ref:s,decorative:t,orientation:e,className:ve("shrink-0 bg-border",e==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",n),...r}));pf.displayName=XT.displayName;const qH=Cd("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 $n({className:n,variant:e,...t}){return a.jsx("div",{className:ve(qH({variant:e}),n),...t})}function QH({config:n,onChange:e}){const t=s=>{s.trim()&&!n.alias_names.includes(s.trim())&&e({...n,alias_names:[...n.alias_names,s.trim()]})},r=s=>{e({...n,alias_names:n.alias_names.filter((i,l)=>l!==s)})};return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"qq_account",children:"QQ账号 *"}),a.jsx(Ae,{id:"qq_account",type:"number",placeholder:"请输入机器人的QQ账号",value:n.qq_account||"",onChange:s=>e({...n,qq_account:Number(s.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人登录使用的QQ账号"})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"nickname",children:"昵称 *"}),a.jsx(Ae,{id:"nickname",placeholder:"请输入机器人的昵称",value:n.nickname,onChange:s=>e({...n,nickname:s.target.value})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的主要称呼名称"})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{children:"别名"}),a.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:n.alias_names.map((s,i)=>a.jsxs($n,{variant:"secondary",className:"gap-1",children:[s,a.jsx("button",{type:"button",onClick:()=>r(i),className:"ml-1 hover:text-destructive",children:a.jsx(Xf,{className:"h-3 w-3"})})]},i))}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Ae,{id:"alias_input",placeholder:"输入别名后按回车添加",onKeyPress:s=>{s.key==="Enter"&&(t(s.target.value),s.target.value="")}}),a.jsx(ie,{type:"button",variant:"outline",onClick:()=>{const s=document.getElementById("alias_input");s&&(t(s.value),s.value="")},children:"添加"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的其他称呼,可以添加多个"})]})]})}function $H({config:n,onChange:e}){return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"personality",children:"人格特征 *"}),a.jsx(kn,{id:"personality",placeholder:"描述机器人的人格特质和身份特征(建议120字以内)",value:n.personality,onChange:t=>e({...n,personality:t.target.value}),rows:3}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:是一个女大学生,现在在读大二,会刷贴吧"})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"reply_style",children:"表达风格 *"}),a.jsx(kn,{id:"reply_style",placeholder:"描述机器人说话的表达风格、表达习惯",value:n.reply_style,onChange:t=>e({...n,reply_style:t.target.value}),rows:3}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:回复平淡一些,简短一些,说中文,参考贴吧、知乎和微博的回复风格"})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"interest",children:"兴趣 *"}),a.jsx(kn,{id:"interest",placeholder:"描述机器人感兴趣的话题",value:n.interest,onChange:t=>e({...n,interest:t.target.value}),rows:2}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"会影响机器人对什么话题进行回复"})]}),a.jsx(pf,{}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"plan_style",children:"群聊说话规则 *"}),a.jsx(kn,{id:"plan_style",placeholder:"机器人在群聊中的行为风格和规则",value:n.plan_style,onChange:t=>e({...n,plan_style:t.target.value}),rows:4}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在群聊中如何行动,例如回复频率、条件等"})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"private_plan_style",children:"私聊说话规则 *"}),a.jsx(kn,{id:"private_plan_style",placeholder:"机器人在私聊中的行为风格和规则",value:n.private_plan_style,onChange:t=>e({...n,private_plan_style:t.target.value}),rows:3}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在私聊中的行为方式"})]})]})}function HH({config:n,onChange:e}){return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(te,{htmlFor:"emoji_chance",children:"表情包激活概率"}),a.jsxs("span",{className:"text-sm text-muted-foreground",children:[(n.emoji_chance*100).toFixed(0),"%"]})]}),a.jsx(Ae,{id:"emoji_chance",type:"range",min:"0",max:"1",step:"0.1",value:n.emoji_chance,onChange:t=>e({...n,emoji_chance:Number(t.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人发送表情包的概率"})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"max_reg_num",children:"最大表情包数量"}),a.jsx(Ae,{id:"max_reg_num",type:"number",min:"1",max:"200",value:n.max_reg_num,onChange:t=>e({...n,max_reg_num:Number(t.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人最多保存的表情包数量"})]}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx(te,{htmlFor:"do_replace",children:"达到最大数量时替换"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"开启后会删除旧表情包,关闭则不再收集新表情包"})]}),a.jsx(jt,{id:"do_replace",checked:n.do_replace,onCheckedChange:t=>e({...n,do_replace:t})})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),a.jsx(Ae,{id:"check_interval",type:"number",min:"1",max:"120",value:n.check_interval,onChange:t=>e({...n,check_interval:Number(t.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包注册、破损、删除的时间间隔"})]}),a.jsx(pf,{}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx(te,{htmlFor:"steal_emoji",children:"偷取表情包"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人将一些表情包据为己有"})]}),a.jsx(jt,{id:"steal_emoji",checked:n.steal_emoji,onCheckedChange:t=>e({...n,steal_emoji:t})})]}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx(te,{htmlFor:"content_filtration",children:"启用表情包过滤"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"只保存符合要求的表情包"})]}),a.jsx(jt,{id:"content_filtration",checked:n.content_filtration,onCheckedChange:t=>e({...n,content_filtration:t})})]}),n.content_filtration&&a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"filtration_prompt",children:"过滤要求"}),a.jsx(Ae,{id:"filtration_prompt",placeholder:"例如:符合公序良俗",value:n.filtration_prompt,onChange:t=>e({...n,filtration_prompt:t.target.value})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"描述表情包应该符合的要求"})]})]})}function UH({config:n,onChange:e}){return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx(te,{htmlFor:"enable_tool",children:"启用工具系统"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人使用各种工具增强功能"})]}),a.jsx(jt,{id:"enable_tool",checked:n.enable_tool,onCheckedChange:t=>e({...n,enable_tool:t})})]}),a.jsx(pf,{}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx(te,{htmlFor:"enable_mood",children:"启用情绪系统"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"让机器人具有情绪变化能力"})]}),a.jsx(jt,{id:"enable_mood",checked:n.enable_mood,onCheckedChange:t=>e({...n,enable_mood:t})})]}),n.enable_mood&&a.jsxs("div",{className:"ml-6 space-y-6 border-l-2 border-primary/20 pl-6",children:[a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"mood_update_threshold",children:"情绪更新阈值"}),a.jsx(Ae,{id:"mood_update_threshold",type:"number",min:"0.1",max:"10",step:"0.1",value:n.mood_update_threshold||1,onChange:t=>e({...n,mood_update_threshold:Number(t.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"值越高,情绪更新越慢"})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(te,{htmlFor:"emotion_style",children:"情感特征"}),a.jsx(kn,{id:"emotion_style",placeholder:"描述情绪的变化情况,例如:情绪较为稳定,但遭遇特定事件时起伏较大",value:n.emotion_style||"",onChange:t=>e({...n,emotion_style:t.target.value}),rows:2}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"影响机器人的情绪变化方式"})]})]}),a.jsx(pf,{}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx(te,{htmlFor:"all_global",children:"启用全局黑话模式"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人学习和使用群组黑话"})]}),a.jsx(jt,{id:"all_global",checked:n.all_global,onCheckedChange:t=>e({...n,all_global:t})})]})]})}async function ot(n,e){const t=await fetch(n,e);if(t.status===401)throw localStorage.removeItem("access-token"),window.location.href="/auth",new Error("认证失败,请重新登录");return t}function bt(){return{"Content-Type":"application/json",Authorization:`Bearer ${localStorage.getItem("access-token")}`}}async function VH(){const n=await ot("/api/webui/config/bot",{method:"GET",headers:bt()});if(!n.ok)throw new Error("读取Bot配置失败");const t=(await n.json()).config.bot||{};return{qq_account:t.qq_account||0,nickname:t.nickname||"",alias_names:t.alias_names||[]}}async function WH(){const n=await ot("/api/webui/config/bot",{method:"GET",headers:bt()});if(!n.ok)throw new Error("读取人格配置失败");const t=(await n.json()).config.personality||{};return{personality:t.personality||"",reply_style:t.reply_style||"",interest:t.interest||"",plan_style:t.plan_style||"",private_plan_style:t.private_plan_style||""}}async function GH(){const n=await ot("/api/webui/config/bot",{method:"GET",headers:bt()});if(!n.ok)throw new Error("读取表情包配置失败");const t=(await n.json()).config.emoji||{};return{emoji_chance:t.emoji_chance??.4,max_reg_num:t.max_reg_num??40,do_replace:t.do_replace??!0,check_interval:t.check_interval??10,steal_emoji:t.steal_emoji??!0,content_filtration:t.content_filtration??!1,filtration_prompt:t.filtration_prompt||""}}async function XH(){const n=await ot("/api/webui/config/bot",{method:"GET",headers:bt()});if(!n.ok)throw new Error("读取其他配置失败");const t=(await n.json()).config,r=t.tool||{},s=t.mood||{},i=t.jargon||{};return{enable_tool:r.enable_tool??!0,enable_mood:s.enable_mood??!1,mood_update_threshold:s.mood_update_threshold,emotion_style:s.emotion_style,all_global:i.all_global??!0}}async function YH(n){const e=await ot("/api/webui/config/bot/section/bot",{method:"POST",headers:bt(),body:JSON.stringify(n)});if(!e.ok){const t=await e.json();throw new Error(t.detail||"保存Bot基础配置失败")}return await e.json()}async function KH(n){const e=await ot("/api/webui/config/bot/section/personality",{method:"POST",headers:bt(),body:JSON.stringify(n)});if(!e.ok){const t=await e.json();throw new Error(t.detail||"保存人格配置失败")}return await e.json()}async function ZH(n){const e=await ot("/api/webui/config/bot/section/emoji",{method:"POST",headers:bt(),body:JSON.stringify(n)});if(!e.ok){const t=await e.json();throw new Error(t.detail||"保存表情包配置失败")}return await e.json()}async function JH(n){const e=[];e.push(ot("/api/webui/config/bot/section/tool",{method:"POST",headers:bt(),body:JSON.stringify({enable_tool:n.enable_tool})})),e.push(ot("/api/webui/config/bot/section/jargon",{method:"POST",headers:bt(),body:JSON.stringify({all_global:n.all_global})}));const t={enable_mood:n.enable_mood};n.enable_mood&&(t.mood_update_threshold=n.mood_update_threshold||1,t.emotion_style=n.emotion_style||""),e.push(ot("/api/webui/config/bot/section/mood",{method:"POST",headers:bt(),body:JSON.stringify(t)}));const r=await Promise.all(e);for(const s of r)if(!s.ok){const i=await s.json();throw new Error(i.detail||"保存其他配置失败")}return{success:!0}}async function Yk(){const n=localStorage.getItem("access-token"),e=await ot("/api/webui/setup/complete",{method:"POST",headers:{Authorization:`Bearer ${n}`}});if(!e.ok){const t=await e.json();throw new Error(t.message||"标记配置完成失败")}return await e.json()}function eU(){const n=ba(),{toast:e}=Pr(),[t,r]=S.useState(0),[s,i]=S.useState(!1),[l,c]=S.useState(!1),[u,h]=S.useState(!0),[m,p]=S.useState({qq_account:0,nickname:"",alias_names:[]}),[x,v]=S.useState({personality:"是一个女大学生,现在在读大二,会刷贴吧。",reply_style:"请回复的平淡一些,简短一些,说中文,不要刻意突出自身学科背景。可以参考贴吧,知乎和微博的回复风格。",interest:"对技术相关话题,游戏和动漫相关话题感兴趣,也对日常话题感兴趣,不喜欢太过沉重严肃的话题",plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 -2.如果相同的内容已经被执行,请不要重复执行 -3.请控制你的发言频率,不要太过频繁的发言 -4.如果有人对你感到厌烦,请减少回复 -5.如果有人对你进行攻击,或者情绪激动,请你以合适的方法应对`,private_plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 -2.如果相同的内容已经被执行,请不要重复执行 -3.某句话如果已经被回复过,不要重复回复`}),[b,O]=S.useState({emoji_chance:.4,max_reg_num:40,do_replace:!0,check_interval:10,steal_emoji:!0,content_filtration:!1,filtration_prompt:"符合公序良俗"}),[k,j]=S.useState({enable_tool:!0,enable_mood:!1,mood_update_threshold:1,emotion_style:"情绪较为稳定,但遭遇特定事件的时候起伏较大",all_global:!0}),T=[{id:"bot-basic",title:"Bot基础",description:"配置机器人的基本信息",icon:kF},{id:"personality",title:"人格配置",description:"定义机器人的性格和说话风格",icon:q9},{id:"emoji",title:"表情包",description:"配置表情包相关设置",icon:J4},{id:"other",title:"其他设置",description:"工具、情绪系统等配置",icon:dc},{id:"complete",title:"完成设置",description:"后续配置提示",icon:df}],M=(t+1)/T.length*100;S.useEffect(()=>{(async()=>{try{h(!0);const[U,V,ce,W]=await Promise.all([VH(),WH(),GH(),XH()]);p(U),v(V),O(ce),j(W)}catch(U){e({title:"加载配置失败",description:U instanceof Error?U.message:"无法加载现有配置,将使用默认值",variant:"destructive"})}finally{h(!1)}})()},[e]);const _=async()=>{c(!0);try{switch(t){case 0:await YH(m);break;case 1:await KH(x);break;case 2:await ZH(b);break;case 3:await JH(k);break}return e({title:"保存成功",description:`${T[t].title}配置已保存`}),!0}catch(B){return e({title:"保存失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"}),!1}finally{c(!1)}},D=async()=>{await _()&&t{t>0&&r(t-1)},z=async()=>{i(!0);try{if(!await _()){i(!1);return}await Yk(),e({title:"配置完成",description:"所有配置已保存,正在跳转..."}),setTimeout(()=>{n({to:"/"})},500)}catch(B){e({title:"完成失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}finally{i(!1)}},Q=async()=>{try{await Yk(),n({to:"/"})}catch(B){e({title:"跳过失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}},q=()=>{switch(t){case 0:return a.jsx(QH,{config:m,onChange:p});case 1:return a.jsx($H,{config:x,onChange:v});case 2:return a.jsx(HH,{config:b,onChange:O});case 3:return a.jsx(UH,{config:k,onChange:j});case 4:return a.jsxs("div",{className:"space-y-6 text-center py-8",children:[a.jsx("div",{className:"mx-auto w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx(df,{className:"h-8 w-8 text-primary",strokeWidth:2})}),a.jsxs("div",{className:"space-y-3",children:[a.jsx("h3",{className:"text-xl font-semibold",children:"模型配置"}),a.jsx("p",{className:"text-muted-foreground max-w-md mx-auto",children:"为了让机器人正常工作,您需要配置 AI 模型提供商和模型。"})]}),a.jsxs("div",{className:"rounded-lg border bg-muted/50 p-6 max-w-md mx-auto text-left space-y-4",children:[a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx("div",{className:"mt-0.5",children:a.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"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-medium",children:"配置 API 提供商"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → API 提供商"中添加您的 API 提供商信息'})]})]}),a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx("div",{className:"mt-0.5",children:a.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"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-medium",children:"添加模型"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型列表"中添加需要使用的模型'})]})]}),a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx("div",{className:"mt-0.5",children:a.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"})}),a.jsxs("div",{children:[a.jsx("p",{className:"font-medium",children:"配置模型任务"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型任务配置"中为不同任务分配模型'})]})]})]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"💡 提示:完成向导后,您可以在系统设置中进行详细的模型配置"})]});default:return null}};return a.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:[a.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[a.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"}),a.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"})]}),u?a.jsxs("div",{className:"relative z-10 text-center",children:[a.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center",children:a.jsx("div",{className:"h-12 w-12 animate-spin rounded-full border-4 border-primary border-t-transparent"})}),a.jsx("p",{className:"text-lg font-medium",children:"加载配置中..."}),a.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"正在读取现有配置"})]}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"relative z-10 w-full max-w-4xl",children:[a.jsxs("div",{className:"mb-6 md:mb-8 text-center",children:[a.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:a.jsx(OF,{className:"h-6 w-6 md:h-8 md:w-8 text-primary",strokeWidth:2,fill:"none"})}),a.jsx("h1",{className:"mb-2 text-2xl md:text-3xl font-bold",children:"首次配置向导"}),a.jsxs("p",{className:"text-sm md:text-base text-muted-foreground",children:["让我们一起完成 ",pw," 的初始配置"]})]}),a.jsxs("div",{className:"mb-6 md:mb-8",children:[a.jsxs("div",{className:"mb-2 flex items-center justify-between text-xs md:text-sm",children:[a.jsxs("span",{className:"text-muted-foreground",children:["步骤 ",t+1," / ",T.length]}),a.jsxs("span",{className:"font-medium text-primary",children:[Math.round(M),"%"]})]}),a.jsx(r0,{value:M,className:"h-2"})]}),a.jsx("div",{className:"mb-6 md:mb-8 flex justify-between",children:T.map((B,U)=>{const V=B.icon;return a.jsxs("div",{className:ve("flex flex-1 flex-col items-center gap-1 md:gap-2",Un({to:"/"}),className:"gap-2 w-full sm:w-auto",children:[a.jsx(fg,{className:"h-4 w-4"}),"返回首页"]}),a.jsxs(ie,{size:"lg",variant:"outline",onClick:()=>window.history.back(),className:"gap-2 w-full sm:w-auto",children:[a.jsx(Q9,{className:"h-4 w-4"}),"返回上一页"]})]}),a.jsx("div",{className:"mt-12 pt-8 border-t border-border",children:a.jsx("p",{className:"text-sm text-muted-foreground",children:"如果您认为这是一个错误,请联系系统管理员"})})]})})}var KT=["PageUp","PageDown"],ZT=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],JT={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Td="Slider",[d2,tU,nU]=nx(Td),[eM]=Hi(Td,[nU]),[rU,yx]=eM(Td),tM=S.forwardRef((n,e)=>{const{name:t,min:r=0,max:s=100,step:i=1,orientation:l="horizontal",disabled:c=!1,minStepsBetweenThumbs:u=0,defaultValue:h=[r],value:m,onValueChange:p=()=>{},onValueCommit:x=()=>{},inverted:v=!1,form:b,...O}=n,k=S.useRef(new Set),j=S.useRef(0),M=l==="horizontal"?sU:iU,[_=[],D]=So({prop:m,defaultProp:h,onChange:U=>{[...k.current][j.current]?.focus(),p(U)}}),E=S.useRef(_);function z(U){const V=uU(_,U);B(U,V)}function Q(U){B(U,j.current)}function q(){const U=E.current[j.current];_[j.current]!==U&&x(_)}function B(U,V,{commit:ce}={commit:!1}){const W=mU(i),J=pU(Math.round((U-r)/i)*i+r,W),H=$4(J,[r,s]);D((ae=[])=>{const ne=oU(ae,H,V);if(fU(ne,u*i)){j.current=ne.indexOf(H);const ue=String(ne)!==String(ae);return ue&&ce&&x(ne),ue?ne:ae}else return ae})}return a.jsx(rU,{scope:n.__scopeSlider,name:t,disabled:c,min:r,max:s,valueIndexToChangeRef:j,thumbs:k.current,values:_,orientation:l,form:b,children:a.jsx(d2.Provider,{scope:n.__scopeSlider,children:a.jsx(d2.Slot,{scope:n.__scopeSlider,children:a.jsx(M,{"aria-disabled":c,"data-disabled":c?"":void 0,...O,ref:e,onPointerDown:$e(O.onPointerDown,()=>{c||(E.current=_)}),min:r,max:s,inverted:v,onSlideStart:c?void 0:z,onSlideMove:c?void 0:Q,onSlideEnd:c?void 0:q,onHomeKeyDown:()=>!c&&B(r,0,{commit:!0}),onEndKeyDown:()=>!c&&B(s,_.length-1,{commit:!0}),onStepKeyDown:({event:U,direction:V})=>{if(!c){const J=KT.includes(U.key)||U.shiftKey&&ZT.includes(U.key)?10:1,H=j.current,ae=_[H],ne=i*J*V;B(ae+ne,H,{commit:!0})}}})})})})});tM.displayName=Td;var[nM,rM]=eM(Td,{startEdge:"left",endEdge:"right",size:"width",direction:1}),sU=S.forwardRef((n,e)=>{const{min:t,max:r,dir:s,inverted:i,onSlideStart:l,onSlideMove:c,onSlideEnd:u,onStepKeyDown:h,...m}=n,[p,x]=S.useState(null),v=Cn(e,M=>x(M)),b=S.useRef(void 0),O=Wf(s),k=O==="ltr",j=k&&!i||!k&&i;function T(M){const _=b.current||p.getBoundingClientRect(),D=[0,_.width],z=xw(D,j?[t,r]:[r,t]);return b.current=_,z(M-_.left)}return a.jsx(nM,{scope:n.__scopeSlider,startEdge:j?"left":"right",endEdge:j?"right":"left",direction:j?1:-1,size:"width",children:a.jsx(sM,{dir:O,"data-orientation":"horizontal",...m,ref:v,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:M=>{const _=T(M.clientX);l?.(_)},onSlideMove:M=>{const _=T(M.clientX);c?.(_)},onSlideEnd:()=>{b.current=void 0,u?.()},onStepKeyDown:M=>{const D=JT[j?"from-left":"from-right"].includes(M.key);h?.({event:M,direction:D?-1:1})}})})}),iU=S.forwardRef((n,e)=>{const{min:t,max:r,inverted:s,onSlideStart:i,onSlideMove:l,onSlideEnd:c,onStepKeyDown:u,...h}=n,m=S.useRef(null),p=Cn(e,m),x=S.useRef(void 0),v=!s;function b(O){const k=x.current||m.current.getBoundingClientRect(),j=[0,k.height],M=xw(j,v?[r,t]:[t,r]);return x.current=k,M(O-k.top)}return a.jsx(nM,{scope:n.__scopeSlider,startEdge:v?"bottom":"top",endEdge:v?"top":"bottom",size:"height",direction:v?1:-1,children:a.jsx(sM,{"data-orientation":"vertical",...h,ref:p,style:{...h.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:O=>{const k=b(O.clientY);i?.(k)},onSlideMove:O=>{const k=b(O.clientY);l?.(k)},onSlideEnd:()=>{x.current=void 0,c?.()},onStepKeyDown:O=>{const j=JT[v?"from-bottom":"from-top"].includes(O.key);u?.({event:O,direction:j?-1:1})}})})}),sM=S.forwardRef((n,e)=>{const{__scopeSlider:t,onSlideStart:r,onSlideMove:s,onSlideEnd:i,onHomeKeyDown:l,onEndKeyDown:c,onStepKeyDown:u,...h}=n,m=yx(Td,t);return a.jsx(Yt.span,{...h,ref:e,onKeyDown:$e(n.onKeyDown,p=>{p.key==="Home"?(l(p),p.preventDefault()):p.key==="End"?(c(p),p.preventDefault()):KT.concat(ZT).includes(p.key)&&(u(p),p.preventDefault())}),onPointerDown:$e(n.onPointerDown,p=>{const x=p.target;x.setPointerCapture(p.pointerId),p.preventDefault(),m.thumbs.has(x)?x.focus():r(p)}),onPointerMove:$e(n.onPointerMove,p=>{p.target.hasPointerCapture(p.pointerId)&&s(p)}),onPointerUp:$e(n.onPointerUp,p=>{const x=p.target;x.hasPointerCapture(p.pointerId)&&(x.releasePointerCapture(p.pointerId),i(p))})})}),iM="SliderTrack",aM=S.forwardRef((n,e)=>{const{__scopeSlider:t,...r}=n,s=yx(iM,t);return a.jsx(Yt.span,{"data-disabled":s.disabled?"":void 0,"data-orientation":s.orientation,...r,ref:e})});aM.displayName=iM;var h2="SliderRange",lM=S.forwardRef((n,e)=>{const{__scopeSlider:t,...r}=n,s=yx(h2,t),i=rM(h2,t),l=S.useRef(null),c=Cn(e,l),u=s.values.length,h=s.values.map(x=>uM(x,s.min,s.max)),m=u>1?Math.min(...h):0,p=100-Math.max(...h);return a.jsx(Yt.span,{"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,...r,ref:c,style:{...n.style,[i.startEdge]:m+"%",[i.endEdge]:p+"%"}})});lM.displayName=h2;var f2="SliderThumb",oM=S.forwardRef((n,e)=>{const t=tU(n.__scopeSlider),[r,s]=S.useState(null),i=Cn(e,c=>s(c)),l=S.useMemo(()=>r?t().findIndex(c=>c.ref.current===r):-1,[t,r]);return a.jsx(aU,{...n,ref:i,index:l})}),aU=S.forwardRef((n,e)=>{const{__scopeSlider:t,index:r,name:s,...i}=n,l=yx(f2,t),c=rM(f2,t),[u,h]=S.useState(null),m=Cn(e,T=>h(T)),p=u?l.form||!!u.closest("form"):!0,x=S9(u),v=l.values[r],b=v===void 0?0:uM(v,l.min,l.max),O=cU(r,l.values.length),k=x?.[c.size],j=k?dU(k,b,c.direction):0;return S.useEffect(()=>{if(u)return l.thumbs.add(u),()=>{l.thumbs.delete(u)}},[u,l.thumbs]),a.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[c.startEdge]:`calc(${b}% + ${j}px)`},children:[a.jsx(d2.ItemSlot,{scope:n.__scopeSlider,children:a.jsx(Yt.span,{role:"slider","aria-label":n["aria-label"]||O,"aria-valuemin":l.min,"aria-valuenow":v,"aria-valuemax":l.max,"aria-orientation":l.orientation,"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,tabIndex:l.disabled?void 0:0,...i,ref:m,style:v===void 0?{display:"none"}:n.style,onFocus:$e(n.onFocus,()=>{l.valueIndexToChangeRef.current=r})})}),p&&a.jsx(cM,{name:s??(l.name?l.name+(l.values.length>1?"[]":""):void 0),form:l.form,value:v},r)]})});oM.displayName=f2;var lU="RadioBubbleInput",cM=S.forwardRef(({__scopeSlider:n,value:e,...t},r)=>{const s=S.useRef(null),i=Cn(s,r),l=w9(e);return S.useEffect(()=>{const c=s.current;if(!c)return;const u=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(u,"value").set;if(l!==e&&m){const p=new Event("input",{bubbles:!0});m.call(c,e),c.dispatchEvent(p)}},[l,e]),a.jsx(Yt.input,{style:{display:"none"},...t,ref:i,defaultValue:e})});cM.displayName=lU;function oU(n=[],e,t){const r=[...n];return r[t]=e,r.sort((s,i)=>s-i)}function uM(n,e,t){const i=100/(t-e)*(n-e);return $4(i,[0,100])}function cU(n,e){return e>2?`Value ${n+1} of ${e}`:e===2?["Minimum","Maximum"][n]:void 0}function uU(n,e){if(n.length===1)return 0;const t=n.map(s=>Math.abs(s-e)),r=Math.min(...t);return t.indexOf(r)}function dU(n,e,t){const r=n/2,i=xw([0,50],[0,r]);return(r-i(e)*t)*t}function hU(n){return n.slice(0,-1).map((e,t)=>n[t+1]-e)}function fU(n,e){if(e>0){const t=hU(n);return Math.min(...t)>=e}return!0}function xw(n,e){return t=>{if(n[0]===n[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(n[1]-n[0]);return e[0]+r*(t-n[0])}}function mU(n){return(String(n).split(".")[1]||"").length}function pU(n,e){const t=Math.pow(10,e);return Math.round(n*t)/t}var dM=tM,gU=aM,xU=lM,vU=oM;const bx=S.forwardRef(({className:n,...e},t)=>a.jsxs(dM,{ref:t,className:ve("relative flex w-full touch-none select-none items-center",n),...e,children:[a.jsx(gU,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20",children:a.jsx(xU,{className:"absolute h-full bg-primary"})}),a.jsx(vU,{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"})]}));bx.displayName=dM.displayName;const Bt=oF,It=cF,Dt=S.forwardRef(({className:n,children:e,...t},r)=>a.jsxs(N9,{ref:r,className:ve("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",n),...t,children:[e,a.jsx(rF,{asChild:!0,children:a.jsx(hf,{className:"h-4 w-4 opacity-50"})})]}));Dt.displayName=N9.displayName;const hM=S.forwardRef(({className:n,...e},t)=>a.jsx(C9,{ref:t,className:ve("flex cursor-default items-center justify-center py-1",n),...e,children:a.jsx(t2,{className:"h-4 w-4"})}));hM.displayName=C9.displayName;const fM=S.forwardRef(({className:n,...e},t)=>a.jsx(T9,{ref:t,className:ve("flex cursor-default items-center justify-center py-1",n),...e,children:a.jsx(hf,{className:"h-4 w-4"})}));fM.displayName=T9.displayName;const Rt=S.forwardRef(({className:n,children:e,position:t="popper",...r},s)=>a.jsx(sF,{children:a.jsxs(M9,{ref:s,className:ve("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]",t==="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",n),position:t,...r,children:[a.jsx(hM,{}),a.jsx(iF,{className:ve("p-1",t==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:e}),a.jsx(fM,{})]})}));Rt.displayName=M9.displayName;const yU=S.forwardRef(({className:n,...e},t)=>a.jsx(A9,{ref:t,className:ve("px-2 py-1.5 text-sm font-semibold",n),...e}));yU.displayName=A9.displayName;const Pe=S.forwardRef(({className:n,children:e,...t},r)=>a.jsxs(E9,{ref:r,className:ve("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",n),...t,children:[a.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(aF,{children:a.jsx(hc,{className:"h-4 w-4"})})}),a.jsx(lF,{children:e})]}));Pe.displayName=E9.displayName;const bU=S.forwardRef(({className:n,...e},t)=>a.jsx(_9,{ref:t,className:ve("-mx-1 my-1 h-px bg-muted",n),...e}));bU.displayName=_9.displayName;function wU(n){const e=SU(n),t=S.forwardRef((r,s)=>{const{children:i,...l}=r,c=S.Children.toArray(i),u=c.find(kU);if(u){const h=u.props.children,m=c.map(p=>p===u?S.Children.count(h)>1?S.Children.only(null):S.isValidElement(h)?h.props.children:null:p);return a.jsx(e,{...l,ref:s,children:S.isValidElement(h)?S.cloneElement(h,void 0,m):null})}return a.jsx(e,{...l,ref:s,children:i})});return t.displayName=`${n}.Slot`,t}function SU(n){const e=S.forwardRef((t,r)=>{const{children:s,...i}=t;if(S.isValidElement(s)){const l=NU(s),c=jU(i,s.props);return s.type!==S.Fragment&&(c.ref=r?lo(r,l):l),S.cloneElement(s,c)}return S.Children.count(s)>1?S.Children.only(null):null});return e.displayName=`${n}.SlotClone`,e}var OU=Symbol("radix.slottable");function kU(n){return S.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===OU}function jU(n,e){const t={...e};for(const r in e){const s=n[r],i=e[r];/^on[A-Z]/.test(r)?s&&i?t[r]=(...c)=>{const u=i(...c);return s(...c),u}:s&&(t[r]=s):r==="style"?t[r]={...s,...i}:r==="className"&&(t[r]=[s,i].filter(Boolean).join(" "))}return{...n,...t}}function NU(n){let e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get,t=e&&"isReactWarning"in e&&e.isReactWarning;return t?n.ref:(e=Object.getOwnPropertyDescriptor(n,"ref")?.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?n.props.ref:n.props.ref||n.ref)}var wx="Popover",[mM]=Hi(wx,[Sd]),s0=Sd(),[CU,Oo]=mM(wx),pM=n=>{const{__scopePopover:e,children:t,open:r,defaultOpen:s,onOpenChange:i,modal:l=!1}=n,c=s0(e),u=S.useRef(null),[h,m]=S.useState(!1),[p,x]=So({prop:r,defaultProp:s??!1,onChange:i,caller:wx});return a.jsx(ax,{...c,children:a.jsx(CU,{scope:e,contentId:ki(),triggerRef:u,open:p,onOpenChange:x,onOpenToggle:S.useCallback(()=>x(v=>!v),[x]),hasCustomAnchor:h,onCustomAnchorAdd:S.useCallback(()=>m(!0),[]),onCustomAnchorRemove:S.useCallback(()=>m(!1),[]),modal:l,children:t})})};pM.displayName=wx;var gM="PopoverAnchor",TU=S.forwardRef((n,e)=>{const{__scopePopover:t,...r}=n,s=Oo(gM,t),i=s0(t),{onCustomAnchorAdd:l,onCustomAnchorRemove:c}=s;return S.useEffect(()=>(l(),()=>c()),[l,c]),a.jsx(lx,{...i,...r,ref:e})});TU.displayName=gM;var xM="PopoverTrigger",vM=S.forwardRef((n,e)=>{const{__scopePopover:t,...r}=n,s=Oo(xM,t),i=s0(t),l=Cn(e,s.triggerRef),c=a.jsx(Yt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":OM(s.open),...r,ref:l,onClick:$e(n.onClick,s.onOpenToggle)});return s.hasCustomAnchor?c:a.jsx(lx,{asChild:!0,...i,children:c})});vM.displayName=xM;var vw="PopoverPortal",[MU,AU]=mM(vw,{forceMount:void 0}),yM=n=>{const{__scopePopover:e,forceMount:t,children:r,container:s}=n,i=Oo(vw,e);return a.jsx(MU,{scope:e,forceMount:t,children:a.jsx(Ls,{present:t||i.open,children:a.jsx(ix,{asChild:!0,container:s,children:r})})})};yM.displayName=vw;var ld="PopoverContent",bM=S.forwardRef((n,e)=>{const t=AU(ld,n.__scopePopover),{forceMount:r=t.forceMount,...s}=n,i=Oo(ld,n.__scopePopover);return a.jsx(Ls,{present:r||i.open,children:i.modal?a.jsx(_U,{...s,ref:e}):a.jsx(DU,{...s,ref:e})})});bM.displayName=ld;var EU=wU("PopoverContent.RemoveScroll"),_U=S.forwardRef((n,e)=>{const t=Oo(ld,n.__scopePopover),r=S.useRef(null),s=Cn(e,r),i=S.useRef(!1);return S.useEffect(()=>{const l=r.current;if(l)return D9(l)},[]),a.jsx(R9,{as:EU,allowPinchZoom:!0,children:a.jsx(wM,{...n,ref:s,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:$e(n.onCloseAutoFocus,l=>{l.preventDefault(),i.current||t.triggerRef.current?.focus()}),onPointerDownOutside:$e(n.onPointerDownOutside,l=>{const c=l.detail.originalEvent,u=c.button===0&&c.ctrlKey===!0,h=c.button===2||u;i.current=h},{checkForDefaultPrevented:!1}),onFocusOutside:$e(n.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1})})})}),DU=S.forwardRef((n,e)=>{const t=Oo(ld,n.__scopePopover),r=S.useRef(!1),s=S.useRef(!1);return a.jsx(wM,{...n,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{n.onCloseAutoFocus?.(i),i.defaultPrevented||(r.current||t.triggerRef.current?.focus(),i.preventDefault()),r.current=!1,s.current=!1},onInteractOutside:i=>{n.onInteractOutside?.(i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const l=i.target;t.triggerRef.current?.contains(l)&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&s.current&&i.preventDefault()}})}),wM=S.forwardRef((n,e)=>{const{__scopePopover:t,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:l,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:h,onInteractOutside:m,...p}=n,x=Oo(ld,t),v=s0(t);return z9(),a.jsx(P9,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:i,children:a.jsx(Y4,{asChild:!0,disableOutsidePointerEvents:l,onInteractOutside:m,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:h,onDismiss:()=>x.onOpenChange(!1),children:a.jsx(K4,{"data-state":OM(x.open),role:"dialog",id:x.contentId,...v,...p,ref:e,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)"}})})})}),SM="PopoverClose",RU=S.forwardRef((n,e)=>{const{__scopePopover:t,...r}=n,s=Oo(SM,t);return a.jsx(Yt.button,{type:"button",...r,ref:e,onClick:$e(n.onClick,()=>s.onOpenChange(!1))})});RU.displayName=SM;var zU="PopoverArrow",PU=S.forwardRef((n,e)=>{const{__scopePopover:t,...r}=n,s=s0(t);return a.jsx(Z4,{...s,...r,ref:e})});PU.displayName=zU;function OM(n){return n?"open":"closed"}var LU=pM,BU=vM,IU=yM,kM=bM;const co=LU,uo=BU,hl=S.forwardRef(({className:n,align:e="center",sideOffset:t=4,...r},s)=>a.jsx(IU,{children:a.jsx(kM,{ref:s,align:e,sideOffset:t,className:ve("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]",n),...r})}));hl.displayName=kM.displayName;const ko="/api/webui/config";async function FU(){const e=await(await ot(`${ko}/bot`)).json();if(!e.success)throw new Error("获取配置数据失败");return e.config}async function Wu(){const e=await(await ot(`${ko}/model`)).json();if(!e.success)throw new Error("获取模型配置数据失败");return e.config}async function Kk(n){const t=await(await ot(`${ko}/bot`,{method:"POST",headers:bt(),body:JSON.stringify(n)})).json();if(!t.success)throw new Error(t.message||"保存配置失败")}async function qU(){const e=await(await ot(`${ko}/bot/raw`)).json();if(!e.success)throw new Error("获取配置源代码失败");return e.content}async function QU(n){const t=await(await ot(`${ko}/bot/raw`,{method:"POST",headers:bt(),body:JSON.stringify({raw_content:n})})).json();if(!t.success)throw new Error(t.message||"保存配置失败")}async function Sg(n){const t=await(await ot(`${ko}/model`,{method:"POST",headers:bt(),body:JSON.stringify(n)})).json();if(!t.success)throw new Error(t.message||"保存配置失败")}async function $U(n,e){const r=await(await ot(`${ko}/bot/section/${n}`,{method:"POST",headers:bt(),body:JSON.stringify(e)})).json();if(!r.success)throw new Error(r.message||`保存配置节 ${n} 失败`)}async function m2(n,e){const r=await(await ot(`${ko}/model/section/${n}`,{method:"POST",headers:bt(),body:JSON.stringify(e)})).json();if(!r.success)throw new Error(r.message||`保存配置节 ${n} 失败`)}const HU=Zn.create({baseURL:"",timeout:1e4});async function yw(){try{return(await HU.post("/api/webui/system/restart")).data}catch(n){throw console.error("重启麦麦失败:",n),n}}const UU=Cd("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"}}),od=S.forwardRef(({className:n,variant:e,...t},r)=>a.jsx("div",{ref:r,role:"alert",className:ve(UU({variant:e}),n),...t}));od.displayName="Alert";const VU=S.forwardRef(({className:n,...e},t)=>a.jsx("h5",{ref:t,className:ve("mb-1 font-medium leading-none tracking-tight",n),...e}));VU.displayName="AlertTitle";const cd=S.forwardRef(({className:n,...e},t)=>a.jsx("div",{ref:t,className:ve("text-sm [&_p]:leading-relaxed",n),...e}));cd.displayName="AlertDescription";function bw({onRestartComplete:n,onRestartFailed:e}){const[t,r]=S.useState(0),[s,i]=S.useState("restarting"),[l,c]=S.useState(0),[u,h]=S.useState(0);S.useEffect(()=>{const x=setInterval(()=>{r(O=>O>=90?O:O+1)},200),v=setInterval(()=>{c(O=>O+1)},1e3),b=setTimeout(()=>{i("checking"),m()},3e3);return()=>{clearInterval(x),clearInterval(v),clearTimeout(b)}},[]);const m=()=>{const v=async()=>{try{if(h(O=>O+1),(await fetch("/api/webui/system/status",{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)})).ok)r(100),i("success"),setTimeout(()=>{n?.()},1500);else throw new Error("Status check failed")}catch{u<60?setTimeout(v,2e3):(i("failed"),e?.())}};v()},p=x=>{const v=Math.floor(x/60),b=x%60;return`${v}:${b.toString().padStart(2,"0")}`};return a.jsx("div",{className:"fixed inset-0 bg-background/95 backdrop-blur-sm z-50 flex items-center justify-center",children:a.jsxs("div",{className:"max-w-md w-full mx-4 space-y-8",children:[a.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[s==="restarting"&&a.jsxs(a.Fragment,{children:[a.jsx(ff,{className:"h-16 w-16 text-primary animate-spin"}),a.jsx("h2",{className:"text-2xl font-bold",children:"正在重启麦麦"}),a.jsx("p",{className:"text-muted-foreground text-center",children:"请稍候,麦麦正在重启中..."})]}),s==="checking"&&a.jsxs(a.Fragment,{children:[a.jsx(ff,{className:"h-16 w-16 text-primary animate-spin"}),a.jsx("h2",{className:"text-2xl font-bold",children:"检查服务状态"}),a.jsxs("p",{className:"text-muted-foreground text-center",children:["等待服务恢复... (尝试 ",u,"/60)"]})]}),s==="success"&&a.jsxs(a.Fragment,{children:[a.jsx(ua,{className:"h-16 w-16 text-green-500"}),a.jsx("h2",{className:"text-2xl font-bold",children:"重启成功"}),a.jsx("p",{className:"text-muted-foreground text-center",children:"正在跳转到登录页面..."})]}),s==="failed"&&a.jsxs(a.Fragment,{children:[a.jsx(xc,{className:"h-16 w-16 text-destructive"}),a.jsx("h2",{className:"text-2xl font-bold",children:"重启超时"}),a.jsx("p",{className:"text-muted-foreground text-center",children:"服务未能在预期时间内恢复,请手动检查或刷新页面"})]})]}),s!=="failed"&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(r0,{value:t,className:"h-2"}),a.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground",children:[a.jsxs("span",{children:[t,"%"]}),a.jsxs("span",{children:["已用时: ",p(l)]})]})]}),a.jsx("div",{className:"bg-muted/50 rounded-lg p-4 space-y-2",children:a.jsxs("p",{className:"text-sm text-muted-foreground",children:[s==="restarting"&&"🔄 配置已保存,正在重启主程序...",s==="checking"&&"⏳ 正在等待服务恢复,请勿关闭页面...",s==="success"&&"✅ 配置已生效,服务运行正常",s==="failed"&&"⚠️ 如果长时间无响应,请尝试手动重启"]})}),s==="failed"&&a.jsxs("div",{className:"flex gap-2",children:[a.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:"刷新页面"}),a.jsx("button",{onClick:()=>{i("checking"),h(0),m()},className:"flex-1 px-4 py-2 bg-secondary text-secondary-foreground rounded-md hover:bg-secondary/90",children:"重试检测"})]})]})})}let p2=[],jM=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(n=jM[r])e=r+1;else return!0;if(e==t)return!1}}function Zk(n){return n>=127462&&n<=127487}const Jk=8205;function GU(n,e,t=!0,r=!0){return(t?NM:XU)(n,e,r)}function NM(n,e,t){if(e==n.length)return e;e&&CM(n.charCodeAt(e))&&TM(n.charCodeAt(e-1))&&e--;let r=Ty(n,e);for(e+=ej(r);e=0&&Zk(Ty(n,l));)i++,l-=2;if(i%2==0)break;e+=2}else break}return e}function XU(n,e,t){for(;e>0;){let r=NM(n,e-2,t);if(r=56320&&n<57344}function TM(n){return n>=55296&&n<56320}function ej(n){return n<65536?1:2}class Wt{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,r){[e,t]=ud(this,e,t);let s=[];return this.decompose(0,e,s,2),r.length&&r.decompose(0,r.length,s,3),this.decompose(t,this.length,s,1),Xp.from(s,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=ud(this,e,t);let r=[];return this.decompose(e,t,r,0),Xp.from(r,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),s=new Jh(this),i=new Jh(e);for(let l=t,c=t;;){if(s.next(l),i.next(l),l=0,s.lineBreak!=i.lineBreak||s.done!=i.done||s.value!=i.value)return!1;if(c+=s.value.length,s.done||c>=r)return!0}}iter(e=1){return new Jh(this,e)}iterRange(e,t=this.length){return new MM(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;r=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new AM(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Wt.empty:e.length<=32?new ir(e):Xp.from(ir.split(e,[]))}}class ir extends Wt{constructor(e,t=YU(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,s){for(let i=0;;i++){let l=this.text[i],c=s+l.length;if((t?r:c)>=e)return new KU(s,c,r,l);s=c+1,r++}}decompose(e,t,r,s){let i=e<=0&&t>=this.length?this:new ir(tj(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let l=r.pop(),c=Yp(i.text,l.text.slice(),0,i.length);if(c.length<=32)r.push(new ir(c,l.length+i.length));else{let u=c.length>>1;r.push(new ir(c.slice(0,u)),new ir(c.slice(u)))}}else r.push(i)}replace(e,t,r){if(!(r instanceof ir))return super.replace(e,t,r);[e,t]=ud(this,e,t);let s=Yp(this.text,Yp(r.text,tj(this.text,0,e)),t),i=this.length+r.length-(t-e);return s.length<=32?new ir(s,i):Xp.from(ir.split(s,[]),i)}sliceString(e,t=this.length,r=` -`){[e,t]=ud(this,e,t);let s="";for(let i=0,l=0;i<=t&&le&&l&&(s+=r),ei&&(s+=c.slice(Math.max(0,e-i),t-i)),i=u+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],s=-1;for(let i of e)r.push(i),s+=i.length+1,r.length==32&&(t.push(new ir(r,s)),r=[],s=-1);return s>-1&&t.push(new ir(r,s)),t}}let Xp=class Ru extends Wt{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,s){for(let i=0;;i++){let l=this.children[i],c=s+l.length,u=r+l.lines-1;if((t?u:c)>=e)return l.lineInner(e,t,r,s);s=c+1,r=u+1}}decompose(e,t,r,s){for(let i=0,l=0;l<=t&&i=l){let h=s&((l<=e?1:0)|(u>=t?2:0));l>=e&&u<=t&&!h?r.push(c):c.decompose(e-l,t-l,r,h)}l=u+1}}replace(e,t,r){if([e,t]=ud(this,e,t),r.lines=i&&t<=c){let u=l.replace(e-i,t-i,r),h=this.lines-l.lines+u.lines;if(u.lines>4&&u.lines>h>>6){let m=this.children.slice();return m[s]=u,new Ru(m,this.length-(t-e)+r.length)}return super.replace(i,c,u)}i=c+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=` -`){[e,t]=ud(this,e,t);let s="";for(let i=0,l=0;ie&&i&&(s+=r),el&&(s+=c.sliceString(e-l,t-l,r)),l=u+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Ru))return 0;let r=0,[s,i,l,c]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,i+=t){if(s==l||i==c)return r;let u=this.children[s],h=e.children[i];if(u!=h)return r+u.scanIdentical(h,t);r+=u.length+1}}static from(e,t=e.reduce((r,s)=>r+s.length+1,-1)){let r=0;for(let v of e)r+=v.lines;if(r<32){let v=[];for(let b of e)b.flatten(v);return new ir(v,t)}let s=Math.max(32,r>>5),i=s<<1,l=s>>1,c=[],u=0,h=-1,m=[];function p(v){let b;if(v.lines>i&&v instanceof Ru)for(let O of v.children)p(O);else v.lines>l&&(u>l||!u)?(x(),c.push(v)):v instanceof ir&&u&&(b=m[m.length-1])instanceof ir&&v.lines+b.lines<=32?(u+=v.lines,h+=v.length+1,m[m.length-1]=new ir(b.text.concat(v.text),b.length+1+v.length)):(u+v.lines>s&&x(),u+=v.lines,h+=v.length+1,m.push(v))}function x(){u!=0&&(c.push(m.length==1?m[0]:Ru.from(m,h)),h=-1,u=m.length=0)}for(let v of e)p(v);return x(),c.length==1?c[0]:new Ru(c,t)}};Wt.empty=new ir([""],0);function YU(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Yp(n,e,t=0,r=1e9){for(let s=0,i=0,l=!0;i=t&&(u>r&&(c=c.slice(0,r-s)),s0?1:(e instanceof ir?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,s=this.nodes[r],i=this.offsets[r],l=i>>1,c=s instanceof ir?s.text.length:s.children.length;if(l==(t>0?c:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(s instanceof ir){let u=s.text[l+(t<0?-1:0)];if(this.offsets[r]+=t,u.length>Math.max(0,e))return this.value=e==0?u:t>0?u.slice(e):u.slice(0,u.length-e),this;e-=u.length}else{let u=s.children[l+(t<0?-1:0)];e>u.length?(e-=u.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(u),this.offsets.push(t>0?1:(u instanceof ir?u.text.length:u.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class MM{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new Jh(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=r?s:t<0?s.slice(s.length-r):s.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class AM{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Wt.prototype[Symbol.iterator]=function(){return this.iter()},Jh.prototype[Symbol.iterator]=MM.prototype[Symbol.iterator]=AM.prototype[Symbol.iterator]=function(){return this});class KU{constructor(e,t,r,s){this.from=e,this.to=t,this.number=r,this.text=s}get length(){return this.to-this.from}}function ud(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Vr(n,e,t=!0,r=!0){return GU(n,e,t,r)}function ZU(n){return n>=56320&&n<57344}function JU(n){return n>=55296&&n<56320}function Ms(n,e){let t=n.charCodeAt(e);if(!JU(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return ZU(r)?(t-55296<<10)+(r-56320)+65536:t}function ww(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function aa(n){return n<65536?1:2}const g2=/\r\n?|\n/;var Ur=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(Ur||(Ur={}));class xa{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return i+(e-s);i+=c}else{if(r!=Ur.Simple&&h>=e&&(r==Ur.TrackDel&&se||r==Ur.TrackBefore&&se))return null;if(h>e||h==e&&t<0&&!c)return e==s||t<0?i:i+u;i+=u}s=h}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return i}touchesRange(e,t=e){for(let r=0,s=0;r=0&&s<=t&&c>=e)return st?"cover":!0;s=c}return!1}toString(){let e="";for(let t=0;t=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new xa(e)}static create(e){return new xa(e)}}class Or extends xa{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return x2(this,(t,r,s,i,l)=>e=e.replace(s,s+(r-t),l),!1),e}mapDesc(e,t=!1){return v2(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let s=0,i=0;s=0){t[s]=c,t[s+1]=l;let u=s>>1;for(;r.length0&&no(r,t,i.text),i.forward(m),c+=m}let h=e[l++];for(;c>1].toJSON()))}return e}static of(e,t,r){let s=[],i=[],l=0,c=null;function u(m=!1){if(!m&&!s.length)return;lx||p<0||x>t)throw new RangeError(`Invalid change range ${p} to ${x} (in doc of length ${t})`);let b=v?typeof v=="string"?Wt.of(v.split(r||g2)):v:Wt.empty,O=b.length;if(p==x&&O==0)return;pl&&Jr(s,p-l,-1),Jr(s,x-p,O),no(i,s,b),l=x}}return h(e),u(!c),c}static empty(e){return new Or(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let s=0;sc&&typeof l!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(i.length==1)t.push(i[0],0);else{for(;r.length=0&&t<=0&&t==n[s+1]?n[s]+=e:s>=0&&e==0&&n[s]==0?n[s+1]+=t:r?(n[s]+=e,n[s+1]+=t):n.push(e,t)}function no(n,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r>1])),!(t||l==n.sections.length||n.sections[l+1]<0);)c=n.sections[l++],u=n.sections[l++];e(s,h,i,m,p),s=h,i=m}}}function v2(n,e,t,r=!1){let s=[],i=r?[]:null,l=new gf(n),c=new gf(e);for(let u=-1;;){if(l.done&&c.len||c.done&&l.len)throw new Error("Mismatched change set lengths");if(l.ins==-1&&c.ins==-1){let h=Math.min(l.len,c.len);Jr(s,h,-1),l.forward(h),c.forward(h)}else if(c.ins>=0&&(l.ins<0||u==l.i||l.off==0&&(c.len=0&&u=0){let h=0,m=l.len;for(;m;)if(c.ins==-1){let p=Math.min(m,c.len);h+=p,m-=p,c.forward(p)}else if(c.ins==0&&c.lenu||l.ins>=0&&l.len>u)&&(c||r.length>h),i.forward2(u),l.forward(u)}}}}class gf{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?Wt.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?Wt.empty:t[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class ac{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let r,s;return this.empty?r=s=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),r==this.from&&s==this.to?this:new ac(r,s,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return Ce.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return Ce.range(this.anchor,r)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return Ce.range(e.anchor,e.head)}static create(e,t,r){return new ac(e,t,r)}}class Ce{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:Ce.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;re.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new Ce(e.ranges.map(t=>ac.fromJSON(t)),e.main)}static single(e,t=e){return new Ce([Ce.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,s=0;se?8:0)|i)}static normalized(e,t=0){let r=e[t];e.sort((s,i)=>s.from-i.from),t=e.indexOf(r);for(let s=1;si.head?Ce.range(u,c):Ce.range(c,u))}}return new Ce(e,t)}}function _M(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Sw=0;class He{constructor(e,t,r,s,i){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=s,this.id=Sw++,this.default=e([]),this.extensions=typeof i=="function"?i(this):i}get reader(){return this}static define(e={}){return new He(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:Ow),!!e.static,e.enables)}of(e){return new Kp([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Kp(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Kp(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function Ow(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}class Kp{constructor(e,t,r,s){this.dependencies=e,this.facet=t,this.type=r,this.value=s,this.id=Sw++}dynamicSlot(e){var t;let r=this.value,s=this.facet.compareInput,i=this.id,l=e[i]>>1,c=this.type==2,u=!1,h=!1,m=[];for(let p of this.dependencies)p=="doc"?u=!0:p=="selection"?h=!0:(((t=e[p.id])!==null&&t!==void 0?t:1)&1)==0&&m.push(e[p.id]);return{create(p){return p.values[l]=r(p),1},update(p,x){if(u&&x.docChanged||h&&(x.docChanged||x.selection)||y2(p,m)){let v=r(p);if(c?!nj(v,p.values[l],s):!s(v,p.values[l]))return p.values[l]=v,1}return 0},reconfigure:(p,x)=>{let v,b=x.config.address[i];if(b!=null){let O=kg(x,b);if(this.dependencies.every(k=>k instanceof He?x.facet(k)===p.facet(k):k instanceof Lr?x.field(k,!1)==p.field(k,!1):!0)||(c?nj(v=r(p),O,s):s(v=r(p),O)))return p.values[l]=O,0}else v=r(p);return p.values[l]=v,1}}}}function nj(n,e,t){if(n.length!=e.length)return!1;for(let r=0;rn[u.id]),s=t.map(u=>u.type),i=r.filter(u=>!(u&1)),l=n[e.id]>>1;function c(u){let h=[];for(let m=0;mr===s),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Jm).find(r=>r.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,s)=>{let i=r.values[t],l=this.updateF(i,s);return this.compareF(i,l)?0:(r.values[t]=l,1)},reconfigure:(r,s)=>{let i=r.facet(Jm),l=s.facet(Jm),c;return(c=i.find(u=>u.field==this))&&c!=l.find(u=>u.field==this)?(r.values[t]=c.create(r),1):s.config.address[this.id]!=null?(r.values[t]=s.field(this),0):(r.values[t]=this.create(r),1)}}}init(e){return[this,Jm.of({field:this,create:e})]}get extension(){return this}}const rc={lowest:4,low:3,default:2,high:1,highest:0};function Dh(n){return e=>new DM(e,n)}const jo={highest:Dh(rc.highest),high:Dh(rc.high),default:Dh(rc.default),low:Dh(rc.low),lowest:Dh(rc.lowest)};class DM{constructor(e,t){this.inner=e,this.prec=t}}class Sx{of(e){return new b2(this,e)}reconfigure(e){return Sx.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class b2{constructor(e,t){this.compartment=e,this.inner=t}}class Og{constructor(e,t,r,s,i,l){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=s,this.staticValues=i,this.facets=l,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,r){let s=[],i=Object.create(null),l=new Map;for(let x of tV(e,t,l))x instanceof Lr?s.push(x):(i[x.facet.id]||(i[x.facet.id]=[])).push(x);let c=Object.create(null),u=[],h=[];for(let x of s)c[x.id]=h.length<<1,h.push(v=>x.slot(v));let m=r?.config.facets;for(let x in i){let v=i[x],b=v[0].facet,O=m&&m[x]||[];if(v.every(k=>k.type==0))if(c[b.id]=u.length<<1|1,Ow(O,v))u.push(r.facet(b));else{let k=b.combine(v.map(j=>j.value));u.push(r&&b.compare(k,r.facet(b))?r.facet(b):k)}else{for(let k of v)k.type==0?(c[k.id]=u.length<<1|1,u.push(k.value)):(c[k.id]=h.length<<1,h.push(j=>k.dynamicSlot(j)));c[b.id]=h.length<<1,h.push(k=>eV(k,b,v))}}let p=h.map(x=>x(c));return new Og(e,l,p,c,u,i)}}function tV(n,e,t){let r=[[],[],[],[],[]],s=new Map;function i(l,c){let u=s.get(l);if(u!=null){if(u<=c)return;let h=r[u].indexOf(l);h>-1&&r[u].splice(h,1),l instanceof b2&&t.delete(l.compartment)}if(s.set(l,c),Array.isArray(l))for(let h of l)i(h,c);else if(l instanceof b2){if(t.has(l.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=e.get(l.compartment)||l.inner;t.set(l.compartment,h),i(h,c)}else if(l instanceof DM)i(l.inner,l.prec);else if(l instanceof Lr)r[c].push(l),l.provides&&i(l.provides,c);else if(l instanceof Kp)r[c].push(l),l.facet.extensions&&i(l.facet.extensions,rc.default);else{let h=l.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${l}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);i(h,c)}}return i(n,rc.default),r.reduce((l,c)=>l.concat(c))}function ef(n,e){if(e&1)return 2;let t=e>>1,r=n.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;n.status[t]=4;let s=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|s}function kg(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const RM=He.define(),w2=He.define({combine:n=>n.some(e=>e),static:!0}),zM=He.define({combine:n=>n.length?n[0]:void 0,static:!0}),PM=He.define(),LM=He.define(),BM=He.define(),IM=He.define({combine:n=>n.length?n[0]:!1});class Sa{constructor(e,t){this.type=e,this.value=t}static define(){return new nV}}class nV{of(e){return new Sa(this,e)}}class rV{constructor(e){this.map=e}of(e){return new xt(this,e)}}class xt{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new xt(this.type,t)}is(e){return this.type==e}static define(e={}){return new rV(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let s of e){let i=s.map(t);i&&r.push(i)}return r}}xt.reconfigure=xt.define();xt.appendConfig=xt.define();class gr{constructor(e,t,r,s,i,l){this.startState=e,this.changes=t,this.selection=r,this.effects=s,this.annotations=i,this.scrollIntoView=l,this._doc=null,this._state=null,r&&_M(r,t.newLength),i.some(c=>c.type==gr.time)||(this.annotations=i.concat(gr.time.of(Date.now())))}static create(e,t,r,s,i,l){return new gr(e,t,r,s,i,l)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(gr.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}gr.time=Sa.define();gr.userEvent=Sa.define();gr.addToHistory=Sa.define();gr.remote=Sa.define();function sV(n,e){let t=[];for(let r=0,s=0;;){let i,l;if(r=n[r]))i=n[r++],l=n[r++];else if(s=0;s--){let i=r[s](n);i instanceof gr?n=i:Array.isArray(i)&&i.length==1&&i[0]instanceof gr?n=i[0]:n=qM(e,Gu(i),!1)}return n}function aV(n){let e=n.startState,t=e.facet(BM),r=n;for(let s=t.length-1;s>=0;s--){let i=t[s](n);i&&Object.keys(i).length&&(r=FM(r,S2(e,i,n.changes.newLength),!0))}return r==n?n:gr.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}const lV=[];function Gu(n){return n==null?lV:Array.isArray(n)?n:[n]}var Vn=(function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n})(Vn||(Vn={}));const oV=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let O2;try{O2=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function cV(n){if(O2)return O2.test(n);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||oV.test(t)))return!0}return!1}function uV(n){return e=>{if(!/\S/.test(e))return Vn.Space;if(cV(e))return Vn.Word;for(let t=0;t-1)return Vn.Word;return Vn.Other}}class Vt{constructor(e,t,r,s,i,l){this.config=e,this.doc=t,this.selection=r,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=i,l&&(l._state=this);for(let c=0;cs.set(h,u)),t=null),s.set(c.value.compartment,c.value.extension)):c.is(xt.reconfigure)?(t=null,r=c.value):c.is(xt.appendConfig)&&(t=null,r=Gu(r).concat(c.value));let i;t?i=e.startState.values.slice():(t=Og.resolve(r,s,this),i=new Vt(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(u,h)=>h.reconfigure(u,this),null).values);let l=e.startState.facet(w2)?e.newSelection:e.newSelection.asSingle();new Vt(t,e.newDoc,l,i,(c,u)=>u.update(c,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:Ce.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),s=this.changes(r.changes),i=[r.range],l=Gu(r.effects);for(let c=1;cl.spec.fromJSON(c,u)))}}return Vt.create({doc:e.doc,selection:Ce.fromJSON(e.selection),extensions:t.extensions?s.concat([t.extensions]):s})}static create(e={}){let t=Og.resolve(e.extensions||[],new Map),r=e.doc instanceof Wt?e.doc:Wt.of((e.doc||"").split(t.staticFacet(Vt.lineSeparator)||g2)),s=e.selection?e.selection instanceof Ce?e.selection:Ce.single(e.selection.anchor,e.selection.head):Ce.single(0);return _M(s,r.length),t.staticFacet(w2)||(s=s.asSingle()),new Vt(t,r,s,t.dynamicSlots.map(()=>null),(i,l)=>l.create(i),null)}get tabSize(){return this.facet(Vt.tabSize)}get lineBreak(){return this.facet(Vt.lineSeparator)||` -`}get readOnly(){return this.facet(IM)}phrase(e,...t){for(let r of this.facet(Vt.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,s)=>{if(s=="$")return"$";let i=+(s||1);return!i||i>t.length?r:t[i-1]})),e}languageDataAt(e,t,r=-1){let s=[];for(let i of this.facet(RM))for(let l of i(this,t,r))Object.prototype.hasOwnProperty.call(l,e)&&s.push(l[e]);return s}charCategorizer(e){return uV(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:r,length:s}=this.doc.lineAt(e),i=this.charCategorizer(e),l=e-r,c=e-r;for(;l>0;){let u=Vr(t,l,!1);if(i(t.slice(u,l))!=Vn.Word)break;l=u}for(;cn.length?n[0]:4});Vt.lineSeparator=zM;Vt.readOnly=IM;Vt.phrases=He.define({compare(n,e){let t=Object.keys(n),r=Object.keys(e);return t.length==r.length&&t.every(s=>n[s]==e[s])}});Vt.languageData=RM;Vt.changeFilter=PM;Vt.transactionFilter=LM;Vt.transactionExtender=BM;Sx.reconfigure=xt.define();function Oa(n,e,t={}){let r={};for(let s of n)for(let i of Object.keys(s)){let l=s[i],c=r[i];if(c===void 0)r[i]=l;else if(!(c===l||l===void 0))if(Object.hasOwnProperty.call(t,i))r[i]=t[i](c,l);else throw new Error("Config merge conflict for field "+i)}for(let s in e)r[s]===void 0&&(r[s]=e[s]);return r}class yc{eq(e){return this==e}range(e,t=e){return k2.create(e,t,this)}}yc.prototype.startSide=yc.prototype.endSide=0;yc.prototype.point=!1;yc.prototype.mapMode=Ur.TrackDel;let k2=class QM{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new QM(e,t,r)}};function j2(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class kw{constructor(e,t,r,s){this.from=e,this.to=t,this.value=r,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,s=0){let i=r?this.to:this.from;for(let l=s,c=i.length;;){if(l==c)return l;let u=l+c>>1,h=i[u]-e||(r?this.value[u].endSide:this.value[u].startSide)-t;if(u==l)return h>=0?l:c;h>=0?c=u:l=u+1}}between(e,t,r,s){for(let i=this.findIndex(t,-1e9,!0),l=this.findIndex(r,1e9,!1,i);iv||x==v&&h.startSide>0&&h.endSide<=0)continue;(v-x||h.endSide-h.startSide)<0||(l<0&&(l=x),h.point&&(c=Math.max(c,v-x)),r.push(h),s.push(x-l),i.push(v-l))}return{mapped:r.length?new kw(s,i,r,c):null,pos:l}}}class Gt{constructor(e,t,r,s){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=s}static create(e,t,r,s){return new Gt(e,t,r,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:s=0,filterTo:i=this.length}=e,l=e.filter;if(t.length==0&&!l)return this;if(r&&(t=t.slice().sort(j2)),this.isEmpty)return t.length?Gt.of(t):this;let c=new $M(this,null,-1).goto(0),u=0,h=[],m=new fl;for(;c.value||u=0){let p=t[u++];m.addInner(p.from,p.to,p.value)||h.push(p)}else c.rangeIndex==1&&c.chunkIndexthis.chunkEnd(c.chunkIndex)||ic.to||i=i&&e<=i+l.length&&l.between(i,e-i,t-i,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return xf.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return xf.from(e).goto(t)}static compare(e,t,r,s,i=-1){let l=e.filter(p=>p.maxPoint>0||!p.isEmpty&&p.maxPoint>=i),c=t.filter(p=>p.maxPoint>0||!p.isEmpty&&p.maxPoint>=i),u=rj(l,c,r),h=new Rh(l,u,i),m=new Rh(c,u,i);r.iterGaps((p,x,v)=>sj(h,p,m,x,v,s)),r.empty&&r.length==0&&sj(h,0,m,0,0,s)}static eq(e,t,r=0,s){s==null&&(s=999999999);let i=e.filter(m=>!m.isEmpty&&t.indexOf(m)<0),l=t.filter(m=>!m.isEmpty&&e.indexOf(m)<0);if(i.length!=l.length)return!1;if(!i.length)return!0;let c=rj(i,l),u=new Rh(i,c,0).goto(r),h=new Rh(l,c,0).goto(r);for(;;){if(u.to!=h.to||!N2(u.active,h.active)||u.point&&(!h.point||!u.point.eq(h.point)))return!1;if(u.to>s)return!0;u.next(),h.next()}}static spans(e,t,r,s,i=-1){let l=new Rh(e,null,i).goto(t),c=t,u=l.openStart;for(;;){let h=Math.min(l.to,r);if(l.point){let m=l.activeForPoint(l.to),p=l.pointFromc&&(s.span(c,h,l.active,u),u=l.openEnd(h));if(l.to>r)return u+(l.point&&l.to>r?1:0);c=l.to,l.next()}}static of(e,t=!1){let r=new fl;for(let s of e instanceof k2?[e]:t?dV(e):e)r.add(s.from,s.to,s.value);return r.finish()}static join(e){if(!e.length)return Gt.empty;let t=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let s=e[r];s!=Gt.empty;s=s.nextLayer)t=new Gt(s.chunkPos,s.chunk,t,Math.max(s.maxPoint,t.maxPoint));return t}}Gt.empty=new Gt([],[],null,-1);function dV(n){if(n.length>1)for(let e=n[0],t=1;t0)return n.slice().sort(j2);e=r}return n}Gt.empty.nextLayer=Gt.empty;class fl{finishChunk(e){this.chunks.push(new kw(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new fl)).add(e,t,r)}addInner(e,t,r){let s=e-this.lastTo||r.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(Gt.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=Gt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function rj(n,e,t){let r=new Map;for(let i of n)for(let l=0;l=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=r&&s.push(new $M(l,t,r,i));return s.length==1?s[0]:new xf(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let r=this.heap.length>>1;r>=0;r--)My(this.heap,r);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let r=this.heap.length>>1;r>=0;r--)My(this.heap,r);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),My(this.heap,0)}}}function My(n,e){for(let t=n[e];;){let r=(e<<1)+1;if(r>=n.length)break;let s=n[r];if(r+1=0&&(s=n[r+1],r++),t.compare(s)<0)break;n[r]=t,n[e]=s,e=r}}class Rh{constructor(e,t,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=xf.from(e,t,r)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){ep(this.active,e),ep(this.activeTo,e),ep(this.activeRank,e),this.minActive=ij(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:s,rank:i}=this.cursor;for(;t0;)t++;tp(this.active,t,r),tp(this.activeTo,t,s),tp(this.activeRank,t,i),e&&tp(e,t,this.cursor.from),this.minActive=ij(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),r&&ep(r,s)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let i=this.cursor.value;if(!i.point)this.addActive(r),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&r[s]=0&&!(this.activeRank[r]e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function sj(n,e,t,r,s,i){n.goto(e),t.goto(r);let l=r+s,c=r,u=r-e;for(;;){let h=n.to+u-t.to,m=h||n.endSide-t.endSide,p=m<0?n.to+u:t.to,x=Math.min(p,l);if(n.point||t.point?n.point&&t.point&&(n.point==t.point||n.point.eq(t.point))&&N2(n.activeForPoint(n.to),t.activeForPoint(t.to))||i.comparePoint(c,x,n.point,t.point):x>c&&!N2(n.active,t.active)&&i.compareRange(c,x,n.active,t.active),p>l)break;(h||n.openEnd!=t.openEnd)&&i.boundChange&&i.boundChange(p),c=p,m<=0&&n.next(),m>=0&&t.next()}}function N2(n,e){if(n.length!=e.length)return!1;for(let t=0;t=e;r--)n[r+1]=n[r];n[e]=t}function ij(n,e){let t=-1,r=1e9;for(let s=0;s=e)return s;if(s==n.length)break;i+=n.charCodeAt(s)==9?t-i%t:1,s=Vr(n,s)}return r===!0?-1:n.length}const T2="ͼ",aj=typeof Symbol>"u"?"__"+T2:Symbol.for(T2),M2=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),lj=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class ho{constructor(e,t){this.rules=[];let{finish:r}=t||{};function s(l){return/^@/.test(l)?[l]:l.split(/,\s*/)}function i(l,c,u,h){let m=[],p=/^@(\w+)\b/.exec(l[0]),x=p&&p[1]=="keyframes";if(p&&c==null)return u.push(l[0]+";");for(let v in c){let b=c[v];if(/&/.test(v))i(v.split(/,\s*/).map(O=>l.map(k=>O.replace(/&/,k))).reduce((O,k)=>O.concat(k)),b,u);else if(b&&typeof b=="object"){if(!p)throw new RangeError("The value of a property ("+v+") should be a primitive value.");i(s(v),b,m,x)}else b!=null&&m.push(v.replace(/_.*/,"").replace(/[A-Z]/g,O=>"-"+O.toLowerCase())+": "+b+";")}(m.length||x)&&u.push((r&&!p&&!h?l.map(r):l).join(", ")+" {"+m.join(" ")+"}")}for(let l in e)i(s(l),e[l],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=lj[aj]||1;return lj[aj]=e+1,T2+e.toString(36)}static mount(e,t,r){let s=e[M2],i=r&&r.nonce;s?i&&s.setNonce(i):s=new hV(e,i),s.mount(Array.isArray(t)?t:[t],e)}}let oj=new Map;class hV{constructor(e,t){let r=e.ownerDocument||e,s=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let i=oj.get(r);if(i)return e[M2]=i;this.sheet=new s.CSSStyleSheet,oj.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[M2]=this}mount(e,t){let r=this.sheet,s=0,i=0;for(let l=0;l-1&&(this.modules.splice(u,1),i--,u=-1),u==-1){if(this.modules.splice(i++,0,c),r)for(let h=0;h",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},fV=typeof navigator<"u"&&/Mac/.test(navigator.platform),mV=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Hr=0;Hr<10;Hr++)fo[48+Hr]=fo[96+Hr]=String(Hr);for(var Hr=1;Hr<=24;Hr++)fo[Hr+111]="F"+Hr;for(var Hr=65;Hr<=90;Hr++)fo[Hr]=String.fromCharCode(Hr+32),vf[Hr]=String.fromCharCode(Hr);for(var Ay in fo)vf.hasOwnProperty(Ay)||(vf[Ay]=fo[Ay]);function pV(n){var e=fV&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||mV&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?vf:fo)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function An(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var s=t[r];typeof s=="string"?n.setAttribute(r,s):s!=null&&(n[r]=s)}e++}for(;e2);var qe={mac:uj||/Mac/.test(us.platform),windows:/Win/.test(us.platform),linux:/Linux|X11/.test(us.platform),ie:Ox,ie_version:UM?A2.documentMode||6:_2?+_2[1]:E2?+E2[1]:0,gecko:cj,gecko_version:cj?+(/Firefox\/(\d+)/.exec(us.userAgent)||[0,0])[1]:0,chrome:!!Ey,chrome_version:Ey?+Ey[1]:0,ios:uj,android:/Android\b/.test(us.userAgent),webkit_version:gV?+(/\bAppleWebKit\/(\d+)/.exec(us.userAgent)||[0,0])[1]:0,safari:D2,safari_version:D2?+(/\bVersion\/(\d+(\.\d+)?)/.exec(us.userAgent)||[0,0])[1]:0,tabSize:A2.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function yf(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function R2(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function Zp(n,e){if(!e.anchorNode)return!1;try{return R2(n,e.anchorNode)}catch{return!1}}function dd(n){return n.nodeType==3?wc(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function tf(n,e,t,r){return t?dj(n,e,t,r,-1)||dj(n,e,t,r,1):!1}function bc(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function jg(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function dj(n,e,t,r,s){for(;;){if(n==t&&e==r)return!0;if(e==(s<0?0:ya(n))){if(n.nodeName=="DIV")return!1;let i=n.parentNode;if(!i||i.nodeType!=1)return!1;e=bc(n)+(s<0?0:1),n=i}else if(n.nodeType==1){if(n=n.childNodes[e+(s<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=s<0?ya(n):0}else return!1}}function ya(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function i0(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function xV(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function VM(n,e){let t=e.width/n.offsetWidth,r=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-n.offsetHeight)<1)&&(r=1),{scaleX:t,scaleY:r}}function vV(n,e,t,r,s,i,l,c){let u=n.ownerDocument,h=u.defaultView||window;for(let m=n,p=!1;m&&!p;)if(m.nodeType==1){let x,v=m==u.body,b=1,O=1;if(v)x=xV(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(m).position)&&(p=!0),m.scrollHeight<=m.clientHeight&&m.scrollWidth<=m.clientWidth){m=m.assignedSlot||m.parentNode;continue}let T=m.getBoundingClientRect();({scaleX:b,scaleY:O}=VM(m,T)),x={left:T.left,right:T.left+m.clientWidth*b,top:T.top,bottom:T.top+m.clientHeight*O}}let k=0,j=0;if(s=="nearest")e.top0&&e.bottom>x.bottom+j&&(j=e.bottom-x.bottom+l)):e.bottom>x.bottom&&(j=e.bottom-x.bottom+l,t<0&&e.top-j0&&e.right>x.right+k&&(k=e.right-x.right+i)):e.right>x.right&&(k=e.right-x.right+i,t<0&&e.leftx.bottom||e.leftx.right)&&(e={left:Math.max(e.left,x.left),right:Math.min(e.right,x.right),top:Math.max(e.top,x.top),bottom:Math.min(e.bottom,x.bottom)}),m=m.assignedSlot||m.parentNode}else if(m.nodeType==11)m=m.host;else break}function yV(n){let e=n.ownerDocument,t,r;for(let s=n.parentNode;s&&!(s==e.body||t&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),!t&&s.scrollWidth>s.clientWidth&&(t=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:t,y:r}}class bV{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?ya(t):0),r,Math.min(e.focusOffset,r?ya(r):0))}set(e,t,r,s){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=s}}let tc=null;qe.safari&&qe.safari_version>=26&&(tc=!1);function WM(n){if(n.setActive)return n.setActive();if(tc)return n.focus(tc);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(tc==null?{get preventScroll(){return tc={preventScroll:!0},!0}}:void 0),!tc){tc=!1;for(let t=0;tMath.max(1,n.scrollHeight-n.clientHeight-4)}function YM(n,e){for(let t=n,r=e;;){if(t.nodeType==3&&r>0)return{node:t,offset:r};if(t.nodeType==1&&r>0){if(t.contentEditable=="false")return null;t=t.childNodes[r-1],r=ya(t)}else if(t.parentNode&&!jg(t))r=bc(t),t=t.parentNode;else return null}}function KM(n,e){for(let t=n,r=e;;){if(t.nodeType==3&&rt)return p.domBoundsAround(e,t,h);if(x>=e&&s==-1&&(s=u,i=h),h>t&&p.dom.parentNode==this.dom){l=u,c=m;break}m=x,h=x+p.breakAfter}return{from:i,to:c<0?r+this.length:c,startDOM:(s?this.children[s-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:l=0?this.children[l].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,r=jw){this.markDirty();for(let s=e;sthis.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let r=this.children[--this.i];this.pos-=r.length+r.breakAfter}}}function JM(n,e,t,r,s,i,l,c,u){let{children:h}=n,m=h.length?h[e]:null,p=i.length?i[i.length-1]:null,x=p?p.breakAfter:l;if(!(e==r&&m&&!l&&!x&&i.length<2&&m.merge(t,s,i.length?p:null,t==0,c,u))){if(r0&&(!l&&i.length&&m.merge(t,m.length,i[0],!1,c,0)?m.breakAfter=i.shift().breakAfter:(tOV||r.flags&8)?!1:(this.text=this.text.slice(0,e)+(r?r.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Qi(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new ns(this.dom,e)}domBoundsAround(e,t,r){return{from:r,to:r+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return kV(this.dom,e,t)}}class ml extends jn{constructor(e,t=[],r=0){super(),this.mark=e,this.children=t,this.length=r;for(let s of t)s.setParent(this)}setAttrs(e){if(GM(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,r,s,i,l){return r&&(!(r instanceof ml&&r.mark.eq(this.mark))||e&&i<=0||te&&t.push(r=e&&(s=i),r=u,i++}let l=this.length-e;return this.length=e,s>-1&&(this.children.length=s,this.markDirty()),new ml(this.mark,t,l)}domAtPos(e){return tA(this,e)}coordsAt(e,t){return rA(this,e,t)}}function kV(n,e,t){let r=n.nodeValue.length;e>r&&(e=r);let s=e,i=e,l=0;e==0&&t<0||e==r&&t>=0?qe.chrome||qe.gecko||(e?(s--,l=1):i=0)?0:c.length-1];return qe.safari&&!l&&u.width==0&&(u=Array.prototype.find.call(c,h=>h.width)||u),l?i0(u,l<0):u||null}class il extends jn{static create(e,t,r){return new il(e,t,r)}constructor(e,t,r){super(),this.widget=e,this.length=t,this.side=r,this.prevWidget=null}split(e){let t=il.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,r,s,i,l){return r&&(!(r instanceof il)||!this.widget.compare(r.widget)||e>0&&i<=0||t0)?ns.before(this.dom):ns.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;let s=this.dom.getClientRects(),i=null;if(!s.length)return null;let l=this.side?this.side<0:e>0;for(let c=l?s.length-1:0;i=s[c],!(e>0?c==0:c==s.length-1||i.top0?ns.before(this.dom):ns.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return Wt.empty}get isHidden(){return!0}}Qi.prototype.children=il.prototype.children=hd.prototype.children=jw;function tA(n,e){let t=n.dom,{children:r}=n,s=0;for(let i=0;si&&e0;i--){let l=r[i-1];if(l.dom.parentNode==t)return l.domAtPos(l.length)}for(let i=s;i0&&e instanceof ml&&s.length&&(r=s[s.length-1])instanceof ml&&r.mark.eq(e.mark)?nA(r,e.children[0],t-1):(s.push(e),e.setParent(n)),n.length+=e.length}function rA(n,e,t){let r=null,s=-1,i=null,l=-1;function c(h,m){for(let p=0,x=0;p=m&&(v.children.length?c(v,m-x):(!i||i.isHidden&&(t>0||NV(i,v)))&&(b>m||x==b&&v.getSide()>0)?(i=v,l=m-x):(x-1?1:0)!=s.length-(t&&s.indexOf(t)>-1?1:0))return!1;for(let i of r)if(i!=t&&(s.indexOf(i)==-1||n[i]!==e[i]))return!1;return!0}function P2(n,e,t){let r=!1;if(e)for(let s in e)t&&s in t||(r=!0,s=="style"?n.style.cssText="":n.removeAttribute(s));if(t)for(let s in t)e&&e[s]==t[s]||(r=!0,s=="style"?n.style.cssText=t[s]:n.setAttribute(s,t[s]));return r}function CV(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new mo(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,s;if(e.isBlockGap)r=-5e8,s=4e8;else{let{start:i,end:l}=sA(e,t);r=(i?t?-3e8:-1:5e8)-1,s=(l?t?2e8:1:-6e8)+1}return new mo(e,r,s,t,e.widget||null,!0)}static line(e){return new l0(e)}static set(e,t=!1){return Gt.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Je.none=Gt.empty;class a0 extends Je{constructor(e){let{start:t,end:r}=sA(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,r;return this==e||e instanceof a0&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((r=e.attrs)===null||r===void 0?void 0:r.class))&&Ng(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}a0.prototype.point=!1;class l0 extends Je{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof l0&&this.spec.class==e.spec.class&&Ng(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}l0.prototype.mapMode=Ur.TrackBefore;l0.prototype.point=!0;class mo extends Je{constructor(e,t,r,s,i,l){super(t,r,i,e),this.block=s,this.isReplace=l,this.mapMode=s?t<=0?Ur.TrackBefore:Ur.TrackAfter:Ur.TrackDel}get type(){return this.startSide!=this.endSide?fs.WidgetRange:this.startSide<=0?fs.WidgetBefore:fs.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof mo&&TV(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}mo.prototype.point=!0;function sA(n,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=n;return t==null&&(t=n.inclusive),r==null&&(r=n.inclusive),{start:t??e,end:r??e}}function TV(n,e){return n==e||!!(n&&e&&n.compare(e))}function Jp(n,e,t,r=0){let s=t.length-1;s>=0&&t[s]+r>=n?t[s]=Math.max(t[s],e):t.push(n,e)}class pr extends jn{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,r,s,i,l){if(r){if(!(r instanceof pr))return!1;this.dom||r.transferDOM(this)}return s&&this.setDeco(r?r.attrs:null),eA(this,e,t,r?r.children.slice():[],i,l),!0}split(e){let t=new pr;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:r,off:s}=this.childPos(e);s&&(t.append(this.children[r].split(s),0),this.children[r].merge(s,this.children[r].length,null,!1,0,0),r++);for(let i=r;i0&&this.children[r-1].length==0;)this.children[--r].destroy();return this.children.length=r,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){Ng(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){nA(this,e,t)}addLineDeco(e){let t=e.spec.attributes,r=e.spec.class;t&&(this.attrs=z2(t,this.attrs||{})),r&&(this.attrs=z2({class:r},this.attrs||{}))}domAtPos(e){return tA(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var r;this.dom?this.flags&4&&(GM(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(P2(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let s=this.dom.lastChild;for(;s&&jn.get(s)instanceof ml;)s=s.lastChild;if(!s||!this.length||s.nodeName!="BR"&&((r=jn.get(s))===null||r===void 0?void 0:r.isEditable)==!1&&(!qe.ios||!this.children.some(i=>i instanceof Qi))){let i=document.createElement("BR");i.cmIgnore=!0,this.dom.appendChild(i)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let r of this.children){if(!(r instanceof Qi)||/[^ -~]/.test(r.text))return null;let s=dd(r.dom);if(s.length!=1)return null;e+=s[0].width,t=s[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let r=rA(this,e,t);if(!this.children.length&&r&&this.parent){let{heightOracle:s}=this.parent.view.viewState,i=r.bottom-r.top;if(Math.abs(i-s.lineHeight)<2&&s.textHeight=t){if(i instanceof pr)return i;if(l>t)break}s=l+i.breakAfter}return null}}class ol extends jn{constructor(e,t,r){super(),this.widget=e,this.length=t,this.deco=r,this.breakAfter=0,this.prevWidget=null}merge(e,t,r,s,i,l){return r&&(!(r instanceof ol)||!this.widget.compare(r.widget)||e>0&&i<=0||t0}}class L2 extends ka{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class nf{constructor(e,t,r,s){this.doc=e,this.pos=t,this.end=r,this.disallowBlockEffectsFor=s,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof ol&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new pr),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(np(new hd(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof ol)&&this.getLine()}buildText(e,t,r){for(;e>0;){if(this.textOff==this.text.length){let{value:l,lineBreak:c,done:u}=this.cursor.next(this.skip);if(this.skip=0,u)throw new Error("Ran out of text content when drawing inline views");if(c){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=l,this.textOff=0}let s=Math.min(this.text.length-this.textOff,e),i=Math.min(s,512);this.flushBuffer(t.slice(t.length-r)),this.getLine().append(np(new Qi(this.text.slice(this.textOff,this.textOff+i)),t),r),this.atCursorPos=!0,this.textOff+=i,e-=i,r=s<=i?0:t.length}}span(e,t,r,s){this.buildText(t-e,r,s),this.pos=t,this.openStart<0&&(this.openStart=s)}point(e,t,r,s,i,l){if(this.disallowBlockEffectsFor[l]&&r instanceof mo){if(r.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let c=t-e;if(r instanceof mo)if(r.block)r.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new ol(r.widget||fd.block,c,r));else{let u=il.create(r.widget||fd.inline,c,c?0:r.startSide),h=this.atCursorPos&&!u.isEditable&&i<=s.length&&(e0),m=!u.isEditable&&(es.length||r.startSide<=0),p=this.getLine();this.pendingBuffer==2&&!h&&!u.isEditable&&(this.pendingBuffer=0),this.flushBuffer(s),h&&(p.append(np(new hd(1),s),i),i=s.length+Math.max(0,i-s.length)),p.append(np(u,s),i),this.atCursorPos=m,this.pendingBuffer=m?es.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=s.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(r);c&&(this.textOff+c<=this.text.length?this.textOff+=c:(this.skip+=c-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(e,t,r,s,i){let l=new nf(e,t,r,i);return l.openEnd=Gt.spans(s,t,r,l),l.openStart<0&&(l.openStart=l.openEnd),l.finish(l.openEnd),l}}function np(n,e){for(let t of e)n=new ml(t,[n],n.length);return n}class fd extends ka{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}fd.inline=new fd("span");fd.block=new fd("div");var Hn=(function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n})(Hn||(Hn={}));const Sc=Hn.LTR,Nw=Hn.RTL;function iA(n){let e=[];for(let t=0;t=t){if(c.level==r)return l;(i<0||(s!=0?s<0?c.fromt:e[i].level>c.level))&&(i=l)}}if(i<0)throw new RangeError("Index out of range");return i}}function lA(n,e){if(n.length!=e.length)return!1;for(let t=0;t=0;O-=3)if(Ji[O+1]==-v){let k=Ji[O+2],j=k&2?s:k&4?k&1?i:s:0;j&&(En[p]=En[Ji[O]]=j),c=O;break}}else{if(Ji.length==189)break;Ji[c++]=p,Ji[c++]=x,Ji[c++]=u}else if((b=En[p])==2||b==1){let O=b==s;u=O?0:1;for(let k=c-3;k>=0;k-=3){let j=Ji[k+2];if(j&2)break;if(O)Ji[k+2]|=2;else{if(j&4)break;Ji[k+2]|=4}}}}}function RV(n,e,t,r){for(let s=0,i=r;s<=t.length;s++){let l=s?t[s-1].to:n,c=su;)b==k&&(b=t[--O].from,k=O?t[O-1].to:n),En[--b]=v;u=m}else i=h,u++}}}function I2(n,e,t,r,s,i,l){let c=r%2?2:1;if(r%2==s%2)for(let u=e,h=0;uu&&l.push(new ro(u,O.from,v));let k=O.direction==Sc!=!(v%2);F2(n,k?r+1:r,s,O.inner,O.from,O.to,l),u=O.to}b=O.to}else{if(b==t||(m?En[b]!=c:En[b]==c))break;b++}x?I2(n,u,b,r+1,s,x,l):ue;){let m=!0,p=!1;if(!h||u>i[h-1].to){let O=En[u-1];O!=c&&(m=!1,p=O==16)}let x=!m&&c==1?[]:null,v=m?r:r+1,b=u;e:for(;;)if(h&&b==i[h-1].to){if(p)break e;let O=i[--h];if(!m)for(let k=O.from,j=h;;){if(k==e)break e;if(j&&i[j-1].to==k)k=i[--j].from;else{if(En[k-1]==c)break e;break}}if(x)x.push(O);else{O.toEn.length;)En[En.length]=256;let r=[],s=e==Sc?0:1;return F2(n,s,s,t,0,n.length,r),r}function oA(n){return[new ro(0,n,0)]}let cA="";function PV(n,e,t,r,s){var i;let l=r.head-n.from,c=ro.find(e,l,(i=r.bidiLevel)!==null&&i!==void 0?i:-1,r.assoc),u=e[c],h=u.side(s,t);if(l==h){let x=c+=s?1:-1;if(x<0||x>=e.length)return null;u=e[c=x],l=u.side(!s,t),h=u.side(s,t)}let m=Vr(n.text,l,u.forward(s,t));(mu.to)&&(m=h),cA=n.text.slice(Math.min(l,m),Math.max(l,m));let p=c==(s?e.length-1:0)?null:e[c+(s?1:-1)];return p&&m==h&&p.level+(s?0:1)n.some(e=>e)}),xA=He.define({combine:n=>n.some(e=>e)}),vA=He.define();class Yu{constructor(e,t="nearest",r="nearest",s=5,i=5,l=!1){this.range=e,this.y=t,this.x=r,this.yMargin=s,this.xMargin=i,this.isSnapshot=l}map(e){return e.empty?this:new Yu(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new Yu(Ce.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const rp=xt.define({map:(n,e)=>n.map(e)}),yA=xt.define();function Es(n,e,t){let r=n.facet(fA);r.length?r[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const sl=He.define({combine:n=>n.length?n[0]:!0});let BV=0;const Qu=He.define({combine(n){return n.filter((e,t)=>{for(let r=0;r{let u=[];return l&&u.push(bf.of(h=>{let m=h.plugin(c);return m?l(m):Je.none})),i&&u.push(i(c)),u})}static fromClass(e,t){return lr.define((r,s)=>new e(r,s),t)}}class _y{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(Es(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Es(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(r){Es(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const bA=He.define(),Mw=He.define(),bf=He.define(),wA=He.define(),o0=He.define(),SA=He.define();function pj(n,e){let t=n.state.facet(SA);if(!t.length)return t;let r=t.map(i=>i instanceof Function?i(n):i),s=[];return Gt.spans(r,e.from,e.to,{point(){},span(i,l,c,u){let h=i-e.from,m=l-e.from,p=s;for(let x=c.length-1;x>=0;x--,u--){let v=c[x].spec.bidiIsolate,b;if(v==null&&(v=LV(e.text,h,m)),u>0&&p.length&&(b=p[p.length-1]).to==h&&b.direction==v)b.to=m,p=b.inner;else{let O={from:h,to:m,direction:v,inner:[]};p.push(O),p=O.inner}}}}),s}const OA=He.define();function Aw(n){let e=0,t=0,r=0,s=0;for(let i of n.state.facet(OA)){let l=i(n);l&&(l.left!=null&&(e=Math.max(e,l.left)),l.right!=null&&(t=Math.max(t,l.right)),l.top!=null&&(r=Math.max(r,l.top)),l.bottom!=null&&(s=Math.max(s,l.bottom)))}return{left:e,right:t,top:r,bottom:s}}const $h=He.define();class ji{constructor(e,t,r,s){this.fromA=e,this.toA=t,this.fromB=r,this.toB=s}join(e){return new ji(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,r=this;for(;t>0;t--){let s=e[t-1];if(!(s.fromA>r.toA)){if(s.toAm)break;i+=2}if(!u)return r;new ji(u.fromA,u.toA,u.fromB,u.toB).addToSet(r),l=u.toA,c=u.toB}}}class Cg{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Or.empty(this.startState.doc.length);for(let i of r)this.changes=this.changes.compose(i.changes);let s=[];this.changes.iterChangedRanges((i,l,c,u)=>s.push(new ji(i,l,c,u))),this.changedRanges=s}static create(e,t,r){return new Cg(e,t,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}class gj extends jn{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=Je.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new pr],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ji(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:h,toA:m})=>mthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?s=this.domChanged.newSel.head:!UV(e.changes,this.hasComposition)&&!e.selectionSet&&(s=e.state.selection.main.head));let i=s>-1?FV(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:h,to:m}=this.hasComposition;r=new ji(h,m,e.changes.mapPos(h,-1),e.changes.mapPos(m,1)).addToSet(r.slice())}this.hasComposition=i?{from:i.range.fromB,to:i.range.toB}:null,(qe.ie||qe.chrome)&&!i&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let l=this.decorations,c=this.updateDeco(),u=$V(l,c,e.changes);return r=ji.extendWithRanges(r,u),!(this.flags&7)&&r.length==0?!1:(this.updateInner(r,e.startState.doc.length,i),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,r){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,r);let{observer:s}=this.view;s.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let l=qe.chrome||qe.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,l),this.flags&=-8,l&&(l.written||s.selectionRange.focusNode!=l.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(l=>l.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to=0?s[l]:null;if(!c)break;let{fromA:u,toA:h,fromB:m,toB:p}=c,x,v,b,O;if(r&&r.range.fromBm){let _=nf.build(this.view.state.doc,m,r.range.fromB,this.decorations,this.dynamicDecorationMap),D=nf.build(this.view.state.doc,r.range.toB,p,this.decorations,this.dynamicDecorationMap);v=_.breakAtStart,b=_.openStart,O=D.openEnd;let E=this.compositionView(r);D.breakAtStart?E.breakAfter=1:D.content.length&&E.merge(E.length,E.length,D.content[0],!1,D.openStart,0)&&(E.breakAfter=D.content[0].breakAfter,D.content.shift()),_.content.length&&E.merge(0,0,_.content[_.content.length-1],!0,0,_.openEnd)&&_.content.pop(),x=_.content.concat(E).concat(D.content)}else({content:x,breakAtStart:v,openStart:b,openEnd:O}=nf.build(this.view.state.doc,m,p,this.decorations,this.dynamicDecorationMap));let{i:k,off:j}=i.findPos(h,1),{i:T,off:M}=i.findPos(u,-1);JM(this,T,M,k,j,x,v,b,O)}r&&this.fixCompositionDOM(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let r of t.effects)r.is(yA)&&(this.editContextFormatting=r.value)}compositionView(e){let t=new Qi(e.text.nodeValue);t.flags|=8;for(let{deco:s}of e.marks)t=new ml(s,[t],t.length);let r=new pr;return r.append(t,0),r}fixCompositionDOM(e){let t=(i,l)=>{l.flags|=8|(l.children.some(u=>u.flags&7)?1:0),this.markedForComposition.add(l);let c=jn.get(i);c&&c!=l&&(c.dom=null),l.setDOM(i)},r=this.childPos(e.range.fromB,1),s=this.children[r.i];t(e.line,s);for(let i=e.marks.length-1;i>=-1;i--)r=s.childPos(r.off,1),s=s.children[r.i],t(i>=0?e.marks[i].node:e.text,s)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let r=this.view.root.activeElement,s=r==this.dom,i=!s&&!(this.view.state.facet(sl)||this.dom.tabIndex>-1)&&Zp(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(s||t||i))return;let l=this.forceSelection;this.forceSelection=!1;let c=this.view.state.selection.main,u=this.moveToLine(this.domAtPos(c.anchor)),h=c.empty?u:this.moveToLine(this.domAtPos(c.head));if(qe.gecko&&c.empty&&!this.hasComposition&&IV(u)){let p=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(p,u.node.childNodes[u.offset]||null)),u=h=new ns(p,0),l=!0}let m=this.view.observer.selectionRange;(l||!m.focusNode||(!tf(u.node,u.offset,m.anchorNode,m.anchorOffset)||!tf(h.node,h.offset,m.focusNode,m.focusOffset))&&!this.suppressWidgetCursorChange(m,c))&&(this.view.observer.ignore(()=>{qe.android&&qe.chrome&&this.dom.contains(m.focusNode)&&HV(m.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let p=yf(this.view.root);if(p)if(c.empty){if(qe.gecko){let x=qV(u.node,u.offset);if(x&&x!=3){let v=(x==1?YM:KM)(u.node,u.offset);v&&(u=new ns(v.node,v.offset))}}p.collapse(u.node,u.offset),c.bidiLevel!=null&&p.caretBidiLevel!==void 0&&(p.caretBidiLevel=c.bidiLevel)}else if(p.extend){p.collapse(u.node,u.offset);try{p.extend(h.node,h.offset)}catch{}}else{let x=document.createRange();c.anchor>c.head&&([u,h]=[h,u]),x.setEnd(h.node,h.offset),x.setStart(u.node,u.offset),p.removeAllRanges(),p.addRange(x)}i&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,h)),this.impreciseAnchor=u.precise?null:new ns(m.anchorNode,m.anchorOffset),this.impreciseHead=h.precise?null:new ns(m.focusNode,m.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&tf(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=yf(e.root),{anchorNode:s,anchorOffset:i}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.modify)return;let l=pr.find(this,t.head);if(!l)return;let c=l.posAtStart;if(t.head==c||t.head==c+l.length)return;let u=this.coordsAt(t.head,-1),h=this.coordsAt(t.head,1);if(!u||!h||u.bottom>h.top)return;let m=this.domAtPos(t.head+t.assoc);r.collapse(m.node,m.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let p=e.observer.selectionRange;e.docView.posFromDOM(p.anchorNode,p.anchorOffset)!=t.from&&r.collapse(s,i)}moveToLine(e){let t=this.dom,r;if(e.node!=t)return e;for(let s=e.offset;!r&&s=0;s--){let i=jn.get(t.childNodes[s]);i instanceof pr&&(r=i.domAtPos(i.length))}return r?new ns(r.node,r.offset,!0):e}nearest(e){for(let t=e;t;){let r=jn.get(t);if(r&&r.rootView==this)return r;t=t.parentNode}return null}posFromDOM(e,t){let r=this.nearest(e);if(!r)throw new RangeError("Trying to find position for a DOM position outside of the document");return r.localPosFromDOM(e,t)+r.posAtStart}domAtPos(e){let{i:t,off:r}=this.childCursor().findPos(e,-1);for(;t=0;l--){let c=this.children[l],u=i-c.breakAfter,h=u-c.length;if(ue||c.covers(1))&&(!r||c instanceof pr&&!(r instanceof pr&&t>=0)))r=c,s=h;else if(r&&h==e&&u==e&&c instanceof ol&&Math.abs(t)<2){if(c.deco.startSide<0)break;l&&(r=null)}i=h}return r?r.coordsAt(e-s,t):null}coordsForChar(e){let{i:t,off:r}=this.childPos(e,1),s=this.children[t];if(!(s instanceof pr))return null;for(;s.children.length;){let{i:c,off:u}=s.childPos(r,1);for(;;c++){if(c==s.children.length)return null;if((s=s.children[c]).length)break}r=u}if(!(s instanceof Qi))return null;let i=Vr(s.text,r);if(i==r)return null;let l=wc(s.dom,r,i).getClientRects();for(let c=0;cMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,c=-1,u=this.view.textDirection==Hn.LTR;for(let h=0,m=0;ms)break;if(h>=r){let v=p.dom.getBoundingClientRect();if(t.push(v.height),l){let b=p.dom.lastChild,O=b?dd(b):[];if(O.length){let k=O[O.length-1],j=u?k.right-v.left:v.right-k.left;j>c&&(c=j,this.minWidth=i,this.minWidthFrom=h,this.minWidthTo=x)}}}h=x+p.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?Hn.RTL:Hn.LTR}measureTextSize(){for(let i of this.children)if(i instanceof pr){let l=i.measureTextSize();if(l)return l}let e=document.createElement("div"),t,r,s;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let i=dd(e.firstChild)[0];t=e.getBoundingClientRect().height,r=i?i.width/27:7,s=i?i.height:t,e.remove()}),{lineHeight:t,charWidth:r,textHeight:s}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new ZM(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,s=0;;s++){let i=s==t.viewports.length?null:t.viewports[s],l=i?i.from-1:this.length;if(l>r){let c=(t.lineBlockAt(l).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(Je.replace({widget:new L2(c),block:!0,inclusive:!0,isBlockGap:!0}).range(r,l))}if(!i)break;r=i.to+1}return Je.set(e)}updateDeco(){let e=1,t=this.view.state.facet(bf).map(i=>(this.dynamicDecorationMap[e++]=typeof i=="function")?i(this.view):i),r=!1,s=this.view.state.facet(wA).map((i,l)=>{let c=typeof i=="function";return c&&(r=!0),c?i(this.view):i});for(s.length&&(this.dynamicDecorationMap[e++]=r,t.push(Gt.join(s))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];et.anchor?-1:1),s;if(!r)return;!t.empty&&(s=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,s.left),top:Math.min(r.top,s.top),right:Math.max(r.right,s.right),bottom:Math.max(r.bottom,s.bottom)});let i=Aw(this.view),l={left:r.left-i.left,top:r.top-i.top,right:r.right+i.right,bottom:r.bottom+i.bottom},{offsetWidth:c,offsetHeight:u}=this.view.scrollDOM;vV(this.view.scrollDOM,l,t.heads instanceof il||s.children.some(r);return r(this.children[t])}}function IV(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function kA(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let r=YM(t.focusNode,t.focusOffset),s=KM(t.focusNode,t.focusOffset),i=r||s;if(s&&r&&s.node!=r.node){let c=jn.get(s.node);if(!c||c instanceof Qi&&c.text!=s.node.nodeValue)i=s;else if(n.docView.lastCompositionAfterCursor){let u=jn.get(r.node);!u||u instanceof Qi&&u.text!=r.node.nodeValue||(i=s)}}if(n.docView.lastCompositionAfterCursor=i!=r,!i)return null;let l=e-i.offset;return{from:l,to:l+i.node.nodeValue.length,node:i.node}}function FV(n,e,t){let r=kA(n,t);if(!r)return null;let{node:s,from:i,to:l}=r,c=s.nodeValue;if(/[\n\r]/.test(c)||n.state.doc.sliceString(r.from,r.to)!=c)return null;let u=e.invertedDesc,h=new ji(u.mapPos(i),u.mapPos(l),i,l),m=[];for(let p=s.parentNode;;p=p.parentNode){let x=jn.get(p);if(x instanceof ml)m.push({node:p,deco:x.mark});else{if(x instanceof pr||p.nodeName=="DIV"&&p.parentNode==n.contentDOM)return{range:h,text:s,marks:m,line:p};if(p!=n.contentDOM)m.push({node:p,deco:new a0({inclusive:!0,attributes:CV(p),tagName:p.tagName.toLowerCase()})});else return null}}}function qV(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e{re.from&&(t=!0)}),t}function VV(n,e,t=1){let r=n.charCategorizer(e),s=n.doc.lineAt(e),i=e-s.from;if(s.length==0)return Ce.cursor(e);i==0?t=1:i==s.length&&(t=-1);let l=i,c=i;t<0?l=Vr(s.text,i,!1):c=Vr(s.text,i);let u=r(s.text.slice(l,c));for(;l>0;){let h=Vr(s.text,l,!1);if(r(s.text.slice(h,l))!=u)break;l=h}for(;cn?e.left-n:Math.max(0,n-e.right)}function GV(n,e){return e.top>n?e.top-n:Math.max(0,n-e.bottom)}function Dy(n,e){return n.tope.top+1}function xj(n,e){return en.bottom?{top:n.top,left:n.left,right:n.right,bottom:e}:n}function Q2(n,e,t){let r,s,i,l,c=!1,u,h,m,p;for(let b=n.firstChild;b;b=b.nextSibling){let O=dd(b);for(let k=0;kM||l==M&&i>T)&&(r=b,s=j,i=T,l=M,c=T?e0:kj.bottom&&(!m||m.bottomj.top)&&(h=b,p=j):m&&Dy(m,j)?m=vj(m,j.bottom):p&&Dy(p,j)&&(p=xj(p,j.top))}}if(m&&m.bottom>=t?(r=u,s=m):p&&p.top<=t&&(r=h,s=p),!r)return{node:n,offset:0};let x=Math.max(s.left,Math.min(s.right,e));if(r.nodeType==3)return yj(r,x,t);if(c&&r.contentEditable!="false")return Q2(r,x,t);let v=Array.prototype.indexOf.call(n.childNodes,r)+(e>=(s.left+s.right)/2?1:0);return{node:n,offset:v}}function yj(n,e,t){let r=n.nodeValue.length,s=-1,i=1e9,l=0;for(let c=0;ct?m.top-t:t-m.bottom)-1;if(m.left-1<=e&&m.right+1>=e&&p=(m.left+m.right)/2,v=x;if(qe.chrome||qe.gecko){let b=wc(n,c).getBoundingClientRect();Math.abs(b.left-m.right)<.1&&(v=!x)}if(p<=0)return{node:n,offset:c+(v?1:0)};s=c+(v?1:0),i=p}}}return{node:n,offset:s>-1?s:l>0?n.nodeValue.length:0}}function jA(n,e,t,r=-1){var s,i;let l=n.contentDOM.getBoundingClientRect(),c=l.top+n.viewState.paddingTop,u,{docHeight:h}=n.viewState,{x:m,y:p}=e,x=p-c;if(x<0)return 0;if(x>h)return n.state.doc.length;for(let _=n.viewState.heightOracle.textHeight/2,D=!1;u=n.elementAtHeight(x),u.type!=fs.Text;)for(;x=r>0?u.bottom+_:u.top-_,!(x>=0&&x<=h);){if(D)return t?null:0;D=!0,r=-r}p=c+x;let v=u.from;if(vn.viewport.to)return n.viewport.to==n.state.doc.length?n.state.doc.length:t?null:bj(n,l,u,m,p);let b=n.dom.ownerDocument,O=n.root.elementFromPoint?n.root:b,k=O.elementFromPoint(m,p);k&&!n.contentDOM.contains(k)&&(k=null),k||(m=Math.max(l.left+1,Math.min(l.right-1,m)),k=O.elementFromPoint(m,p),k&&!n.contentDOM.contains(k)&&(k=null));let j,T=-1;if(k&&((s=n.docView.nearest(k))===null||s===void 0?void 0:s.isEditable)!=!1){if(b.caretPositionFromPoint){let _=b.caretPositionFromPoint(m,p);_&&({offsetNode:j,offset:T}=_)}else if(b.caretRangeFromPoint){let _=b.caretRangeFromPoint(m,p);_&&({startContainer:j,startOffset:T}=_)}j&&(!n.contentDOM.contains(j)||qe.safari&&XV(j,T,m)||qe.chrome&&YV(j,T,m))&&(j=void 0),j&&(T=Math.min(ya(j),T))}if(!j||!n.docView.dom.contains(j)){let _=pr.find(n.docView,v);if(!_)return x>u.top+u.height/2?u.to:u.from;({node:j,offset:T}=Q2(_.dom,m,p))}let M=n.docView.nearest(j);if(!M)return null;if(M.isWidget&&((i=M.dom)===null||i===void 0?void 0:i.nodeType)==1){let _=M.dom.getBoundingClientRect();return e.y<_.top||e.y<=_.bottom&&e.x<=(_.left+_.right)/2?M.posAtStart:M.posAtEnd}else return M.localPosFromDOM(j,T)+M.posAtStart}function bj(n,e,t,r,s){let i=Math.round((r-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let c=n.viewState.heightOracle.textHeight,u=Math.floor((s-t.top-(n.defaultLineHeight-c)*.5)/c);i+=u*n.viewState.heightOracle.lineLength}let l=n.state.sliceDoc(t.from,t.to);return t.from+C2(l,i,n.state.tabSize)}function NA(n,e,t){let r,s=n;if(n.nodeType!=3||e!=(r=n.nodeValue.length))return!1;for(;;){let i=s.nextSibling;if(i){if(i.nodeName=="BR")break;return!1}else{let l=s.parentNode;if(!l||l.nodeName=="DIV")break;s=l}}return wc(n,r-1,r).getBoundingClientRect().right>t}function XV(n,e,t){return NA(n,e,t)}function YV(n,e,t){if(e!=0)return NA(n,e,t);for(let s=n;;){let i=s.parentNode;if(!i||i.nodeType!=1||i.firstChild!=s)return!1;if(i.classList.contains("cm-line"))break;s=i}let r=n.nodeType==1?n.getBoundingClientRect():wc(n,0,Math.max(n.nodeValue.length,1)).getBoundingClientRect();return t-r.left>5}function $2(n,e,t){let r=n.lineBlockAt(e);if(Array.isArray(r.type)){let s;for(let i of r.type){if(i.from>e)break;if(!(i.toe)return i;(!s||i.type==fs.Text&&(s.type!=i.type||(t<0?i.frome)))&&(s=i)}}return s||r}return r}function KV(n,e,t,r){let s=$2(n,e.head,e.assoc||-1),i=!r||s.type!=fs.Text||!(n.lineWrapping||s.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head);if(i){let l=n.dom.getBoundingClientRect(),c=n.textDirectionAt(s.from),u=n.posAtCoords({x:t==(c==Hn.LTR)?l.right-1:l.left+1,y:(i.top+i.bottom)/2});if(u!=null)return Ce.cursor(u,t?-1:1)}return Ce.cursor(t?s.to:s.from,t?-1:1)}function wj(n,e,t,r){let s=n.state.doc.lineAt(e.head),i=n.bidiSpans(s),l=n.textDirectionAt(s.from);for(let c=e,u=null;;){let h=PV(s,i,l,c,t),m=cA;if(!h){if(s.number==(t?n.state.doc.lines:1))return c;m=` -`,s=n.state.doc.line(s.number+(t?1:-1)),i=n.bidiSpans(s),h=n.visualLineSide(s,!t)}if(u){if(!u(m))return c}else{if(!r)return h;u=r(m)}c=h}}function ZV(n,e,t){let r=n.state.charCategorizer(e),s=r(t);return i=>{let l=r(i);return s==Vn.Space&&(s=l),s==l}}function JV(n,e,t,r){let s=e.head,i=t?1:-1;if(s==(t?n.state.doc.length:0))return Ce.cursor(s,e.assoc);let l=e.goalColumn,c,u=n.contentDOM.getBoundingClientRect(),h=n.coordsAtPos(s,e.assoc||-1),m=n.documentTop;if(h)l==null&&(l=h.left-u.left),c=i<0?h.top:h.bottom;else{let v=n.viewState.lineBlockAt(s);l==null&&(l=Math.min(u.right-u.left,n.defaultCharacterWidth*(s-v.from))),c=(i<0?v.top:v.bottom)+m}let p=u.left+l,x=r??n.viewState.heightOracle.textHeight>>1;for(let v=0;;v+=10){let b=c+(x+v)*i,O=jA(n,{x:p,y:b},!1,i);if(bu.bottom||(i<0?Os)){let k=n.docView.coordsForChar(O),j=!k||b{if(e>i&&es(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:Ce.cursor(r,ri)&&!nW(l,t)&&this.lineBreak(),s=l}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,l=1,c;if(this.lineSeparator?(i=t.indexOf(this.lineSeparator,r),l=this.lineSeparator.length):(c=s.exec(t))&&(i=c.index,l=c[0].length),this.append(t.slice(r,i<0?t.length:i)),i<0)break;if(this.lineBreak(),l>1)for(let u of this.points)u.node==e&&u.pos>this.text.length&&(u.pos-=l-1);r=i+l}}readNode(e){if(e.cmIgnore)return;let t=jn.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let s=r.iter();!s.next().done;)s.lineBreak?this.lineBreak():this.append(s.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(tW(e,r.node,r.offset)?t:0))}}function tW(n,e,t){for(;;){if(!e||t-1;let{impreciseHead:i,impreciseAnchor:l}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,r,0))){let c=i||l?[]:iW(e),u=new eW(c,e.state);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=aW(c,this.bounds.from)}else{let c=e.observer.selectionRange,u=i&&i.node==c.focusNode&&i.offset==c.focusOffset||!R2(e.contentDOM,c.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(c.focusNode,c.focusOffset),h=l&&l.node==c.anchorNode&&l.offset==c.anchorOffset||!R2(e.contentDOM,c.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(c.anchorNode,c.anchorOffset),m=e.viewport;if((qe.ios||qe.chrome)&&e.state.selection.main.empty&&u!=h&&(m.from>0||m.to-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(Ce.range(h,u)):this.newSel=Ce.single(h,u)}}}function TA(n,e){let t,{newSel:r}=e,s=n.state.selection.main,i=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:l,to:c}=e.bounds,u=s.from,h=null;(i===8||qe.android&&e.text.length=s.from&&t.to<=s.to&&(t.from!=s.from||t.to!=s.to)&&s.to-s.from-(t.to-t.from)<=4?t={from:s.from,to:s.to,insert:n.state.doc.slice(s.from,t.from).append(t.insert).append(n.state.doc.slice(t.to,s.to))}:n.state.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:n.state.toText(n.inputState.insertingText)}:qe.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` - `&&n.lineWrapping&&(r&&(r=Ce.single(r.main.anchor-1,r.main.head-1)),t={from:s.from,to:s.to,insert:Wt.of([" "])}),t)return Ew(n,t,r,i);if(r&&!r.main.eq(s)){let l=!1,c="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(l=!0),c=n.inputState.lastSelectionOrigin,c=="select.pointer"&&(r=CA(n.state.facet(o0).map(u=>u(n)),r))),n.dispatch({selection:r,scrollIntoView:l,userEvent:c}),!0}else return!1}function Ew(n,e,t,r=-1){if(qe.ios&&n.inputState.flushIOSKey(e))return!0;let s=n.state.selection.main;if(qe.android&&(e.to==s.to&&(e.from==s.from||e.from==s.from-1&&n.state.sliceDoc(e.from,s.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Xu(n.contentDOM,"Enter",13)||(e.from==s.from-1&&e.to==s.to&&e.insert.length==0||r==8&&e.insert.lengths.head)&&Xu(n.contentDOM,"Backspace",8)||e.from==s.from&&e.to==s.to+1&&e.insert.length==0&&Xu(n.contentDOM,"Delete",46)))return!0;let i=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let l,c=()=>l||(l=sW(n,e,t));return n.state.facet(mA).some(u=>u(n,e.from,e.to,i,c))||n.dispatch(c()),!0}function sW(n,e,t){let r,s=n.state,i=s.selection.main,l=-1;if(e.from==e.to&&e.fromi.to){let u=e.fromp(n)),h,u);e.from==m&&(l=m)}if(l>-1)r={changes:e,selection:Ce.cursor(e.from+e.insert.length,-1)};else if(e.from>=i.from&&e.to<=i.to&&e.to-e.from>=(i.to-i.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let u=i.frome.to?s.sliceDoc(e.to,i.to):"";r=s.replaceSelection(n.state.toText(u+e.insert.sliceString(0,void 0,n.state.lineBreak)+h))}else{let u=s.changes(e),h=t&&t.main.to<=u.newLength?t.main:void 0;if(s.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=i.to+10&&e.to>=i.to-10){let m=n.state.sliceDoc(e.from,e.to),p,x=t&&kA(n,t.main.head);if(x){let b=e.insert.length-(e.to-e.from);p={from:x.from,to:x.to-b}}else p=n.state.doc.lineAt(i.head);let v=i.to-e.to;r=s.changeByRange(b=>{if(b.from==i.from&&b.to==i.to)return{changes:u,range:h||b.map(u)};let O=b.to-v,k=O-m.length;if(n.state.sliceDoc(k,O)!=m||O>=p.from&&k<=p.to)return{range:b};let j=s.changes({from:k,to:O,insert:e.insert}),T=b.to-i.to;return{changes:j,range:h?Ce.range(Math.max(0,h.anchor+T),Math.max(0,h.head+T)):b.map(j)}})}else r={changes:u,selection:h&&s.selection.replaceRange(h)}}let c="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,c+=".compose",n.inputState.compositionFirstChange&&(c+=".start",n.inputState.compositionFirstChange=!1)),s.update(r,{userEvent:c,scrollIntoView:!0})}function MA(n,e,t,r){let s=Math.min(n.length,e.length),i=0;for(;i0&&c>0&&n.charCodeAt(l-1)==e.charCodeAt(c-1);)l--,c--;if(r=="end"){let u=Math.max(0,i-Math.min(l,c));t-=l+u-i}if(l=l?i-t:0;i-=u,c=i+(c-l),l=i}else if(c=c?i-t:0;i-=u,l=i+(l-c),c=i}return{from:i,toA:l,toB:c}}function iW(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:s,focusOffset:i}=n.observer.selectionRange;return t&&(e.push(new Sj(t,r)),(s!=t||i!=r)&&e.push(new Sj(s,i))),e}function aW(n,e){if(n.length==0)return null;let t=n[0].pos,r=n.length==2?n[1].pos:t;return t>-1&&r>-1?Ce.single(t+e,r+e):null}class lW{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,qe.safari&&e.contentDOM.addEventListener("input",()=>null),qe.gecko&&OW(e.contentDOM.ownerDocument)}handleEvent(e){!pW(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let s of r.observers)s(this.view,t);for(let s of r.handlers){if(t.defaultPrevented)break;if(s(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=oW(e),r=this.handlers,s=this.view.contentDOM;for(let i in t)if(i!="scroll"){let l=!t[i].handlers.length,c=r[i];c&&l!=!c.handlers.length&&(s.removeEventListener(i,this.handleEvent),c=null),c||s.addEventListener(i,this.handleEvent,{passive:l})}for(let i in r)i!="scroll"&&!t[i]&&s.removeEventListener(i,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&EA.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),qe.android&&qe.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return qe.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=AA.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||cW.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:qe.safari&&!qe.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function Oj(n,e){return(t,r)=>{try{return e.call(n,r,t)}catch(s){Es(t.state,s)}}}function oW(n){let e=Object.create(null);function t(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of n){let s=r.spec,i=s&&s.plugin.domEventHandlers,l=s&&s.plugin.domEventObservers;if(i)for(let c in i){let u=i[c];u&&t(c).handlers.push(Oj(r.value,u))}if(l)for(let c in l){let u=l[c];u&&t(c).observers.push(Oj(r.value,u))}}for(let r in $i)t(r).handlers.push($i[r]);for(let r in Ci)t(r).observers.push(Ci[r]);return e}const AA=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],cW="dthko",EA=[16,17,18,20,91,92,224,225],sp=6;function ip(n){return Math.max(0,n)*.7+8}function uW(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class dW{constructor(e,t,r,s){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=yV(e.contentDOM),this.atoms=e.state.facet(o0).map(l=>l(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(Vt.allowMultipleSelections)&&hW(e,t),this.dragging=mW(e,t)&&RA(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&uW(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,r=0,s=0,i=0,l=this.view.win.innerWidth,c=this.view.win.innerHeight;this.scrollParents.x&&({left:s,right:l}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:i,bottom:c}=this.scrollParents.y.getBoundingClientRect());let u=Aw(this.view);e.clientX-u.left<=s+sp?t=-ip(s-e.clientX):e.clientX+u.right>=l-sp&&(t=ip(e.clientX-l)),e.clientY-u.top<=i+sp?r=-ip(i-e.clientY):e.clientY+u.bottom>=c-sp&&(r=ip(e.clientY-c)),this.setScrollSpeed(t,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,r=CA(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function hW(n,e){let t=n.state.facet(uA);return t.length?t[0](e):qe.mac?e.metaKey:e.ctrlKey}function fW(n,e){let t=n.state.facet(dA);return t.length?t[0](e):qe.mac?!e.altKey:!e.ctrlKey}function mW(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=yf(n.root);if(!r||r.rangeCount==0)return!0;let s=r.getRangeAt(0).getClientRects();for(let i=0;i=e.clientX&&l.top<=e.clientY&&l.bottom>=e.clientY)return!0}return!1}function pW(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=jn.get(t))&&r.ignoreEvent(e))return!1;return!0}const $i=Object.create(null),Ci=Object.create(null),_A=qe.ie&&qe.ie_version<15||qe.ios&&qe.webkit_version<604;function gW(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),DA(n,t.value)},50)}function kx(n,e,t){for(let r of n.facet(e))t=r(t,n);return t}function DA(n,e){e=kx(n.state,Cw,e);let{state:t}=n,r,s=1,i=t.toText(e),l=i.lines==t.selection.ranges.length;if(H2!=null&&t.selection.ranges.every(u=>u.empty)&&H2==i.toString()){let u=-1;r=t.changeByRange(h=>{let m=t.doc.lineAt(h.from);if(m.from==u)return{range:h};u=m.from;let p=t.toText((l?i.line(s++).text:e)+t.lineBreak);return{changes:{from:m.from,insert:p},range:Ce.cursor(h.from+p.length)}})}else l?r=t.changeByRange(u=>{let h=i.line(s++);return{changes:{from:u.from,to:u.to,insert:h.text},range:Ce.cursor(u.from+h.length)}}):r=t.replaceSelection(i);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Ci.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};$i.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Ci.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};Ci.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};$i.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let r of n.state.facet(hA))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=yW(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new dW(n,e,t,r)),r&&n.observer.ignore(()=>{WM(n.contentDOM);let i=n.root.activeElement;i&&!i.contains(n.contentDOM)&&i.blur()});let s=n.inputState.mouseSelection;if(s)return s.start(e),s.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function kj(n,e,t,r){if(r==1)return Ce.cursor(e,t);if(r==2)return VV(n.state,e,t);{let s=pr.find(n.docView,e),i=n.state.doc.lineAt(s?s.posAtEnd:e),l=s?s.posAtStart:i.from,c=s?s.posAtEnd:i.to;return ce>=t.top&&e<=t.bottom&&n>=t.left&&n<=t.right;function xW(n,e,t,r){let s=pr.find(n.docView,e);if(!s)return 1;let i=e-s.posAtStart;if(i==0)return 1;if(i==s.length)return-1;let l=s.coordsAt(i,-1);if(l&&jj(t,r,l))return-1;let c=s.coordsAt(i,1);return c&&jj(t,r,c)?1:l&&l.bottom>=r?-1:1}function Nj(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:xW(n,t,e.clientX,e.clientY)}}const vW=qe.ie&&qe.ie_version<=11;let Cj=null,Tj=0,Mj=0;function RA(n){if(!vW)return n.detail;let e=Cj,t=Mj;return Cj=n,Mj=Date.now(),Tj=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(Tj+1)%3:1}function yW(n,e){let t=Nj(n,e),r=RA(e),s=n.state.selection;return{update(i){i.docChanged&&(t.pos=i.changes.mapPos(t.pos),s=s.map(i.changes))},get(i,l,c){let u=Nj(n,i),h,m=kj(n,u.pos,u.bias,r);if(t.pos!=u.pos&&!l){let p=kj(n,t.pos,t.bias,r),x=Math.min(p.from,m.from),v=Math.max(p.to,m.to);m=x1&&(h=bW(s,u.pos))?h:c?s.addRange(m):Ce.create([m])}}}function bW(n,e){for(let t=0;t=e)return Ce.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}$i.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let s=n.docView.nearest(e.target);if(s&&s.isWidget){let i=s.posAtStart,l=i+s.length;(i>=t.to||l<=t.from)&&(t=Ce.range(i,l))}}let{inputState:r}=n;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",kx(n.state,Tw,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};$i.dragend=n=>(n.inputState.draggedContent=null,!1);function Aj(n,e,t,r){if(t=kx(n.state,Cw,t),!t)return;let s=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:i}=n.inputState,l=r&&i&&fW(n,e)?{from:i.from,to:i.to}:null,c={from:s,insert:t},u=n.state.changes(l?[l,c]:c);n.focus(),n.dispatch({changes:u,selection:{anchor:u.mapPos(s,-1),head:u.mapPos(s,1)},userEvent:l?"move.drop":"input.drop"}),n.inputState.draggedContent=null}$i.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let r=Array(t.length),s=0,i=()=>{++s==t.length&&Aj(n,e,r.filter(l=>l!=null).join(n.state.lineBreak),!1)};for(let l=0;l{/[\x00-\x08\x0e-\x1f]{2}/.test(c.result)||(r[l]=c.result),i()},c.readAsText(t[l])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return Aj(n,e,r,!0),!0}return!1};$i.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=_A?null:e.clipboardData;return t?(DA(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(gW(n),!1)};function wW(n,e){let t=n.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),n.focus()},50)}function SW(n){let e=[],t=[],r=!1;for(let s of n.selection.ranges)s.empty||(e.push(n.sliceDoc(s.from,s.to)),t.push(s));if(!e.length){let s=-1;for(let{from:i}of n.selection.ranges){let l=n.doc.lineAt(i);l.number>s&&(e.push(l.text),t.push({from:l.from,to:Math.min(n.doc.length,l.to+1)})),s=l.number}r=!0}return{text:kx(n,Tw,e.join(n.lineBreak)),ranges:t,linewise:r}}let H2=null;$i.copy=$i.cut=(n,e)=>{let{text:t,ranges:r,linewise:s}=SW(n.state);if(!t&&!s)return!1;H2=s?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let i=_A?null:e.clipboardData;return i?(i.clearData(),i.setData("text/plain",t),!0):(wW(n,t),!1)};const zA=Sa.define();function PA(n,e){let t=[];for(let r of n.facet(pA)){let s=r(n,e);s&&t.push(s)}return t.length?n.update({effects:t,annotations:zA.of(!0)}):null}function LA(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=PA(n.state,e);t?n.dispatch(t):n.update([])}},10)}Ci.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),LA(n)};Ci.blur=n=>{n.observer.clearSelectionRange(),LA(n)};Ci.compositionstart=Ci.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Ci.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,qe.chrome&&qe.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Ci.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};$i.beforeinput=(n,e)=>{var t,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let i=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),l=e.getTargetRanges();if(i&&l.length){let c=l[0],u=n.posAtDOM(c.startContainer,c.startOffset),h=n.posAtDOM(c.endContainer,c.endOffset);return Ew(n,{from:u,to:h,insert:n.state.toText(i)},null),!0}}let s;if(qe.chrome&&qe.android&&(s=AA.find(i=>i.inputType==e.inputType))&&(n.observer.delayAndroidKey(s.key,s.keyCode),s.key=="Backspace"||s.key=="Delete")){let i=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var l;(((l=window.visualViewport)===null||l===void 0?void 0:l.height)||0)>i+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return qe.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),qe.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Ci.compositionend(n,e),20),!1};const Ej=new Set;function OW(n){Ej.has(n)||(Ej.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const _j=["pre-wrap","normal","pre-line","break-spaces"];let md=!1;function Dj(){md=!1}class kW{constructor(e){this.lineWrapping=e,this.doc=Wt.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return _j.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r-1,u=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=c;if(this.lineWrapping=c,this.lineHeight=t,this.charWidth=r,this.textHeight=s,this.lineLength=i,u){this.heightSamples={};for(let h=0;h0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>eg&&(md=!0),this.height=e)}replace(e,t,r){return ms.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,s){let i=this,l=r.doc;for(let c=s.length-1;c>=0;c--){let{fromA:u,toA:h,fromB:m,toB:p}=s[c],x=i.lineAt(u,Qn.ByPosNoHeight,r.setDoc(t),0,0),v=x.to>=h?x:i.lineAt(h,Qn.ByPosNoHeight,r,0,0);for(p+=v.to-h,h=v.to;c>0&&x.from<=s[c-1].toA;)u=s[c-1].fromA,m=s[c-1].fromB,c--,ui*2){let c=e[t-1];c.break?e.splice(--t,1,c.left,null,c.right):e.splice(--t,1,c.left,c.right),r+=1+c.break,s-=c.size}else if(i>s*2){let c=e[r];c.break?e.splice(r,1,c.left,null,c.right):e.splice(r,1,c.left,c.right),r+=2+c.break,i-=c.size}else break;else if(s=i&&l(this.blockAt(0,r,s,i))}updateHeight(e,t=0,r=!1,s){return s&&s.from<=t&&s.more&&this.setHeight(s.heights[s.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Js extends BA{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,r,s){return new la(s,this.length,r,this.height,this.breaks)}replace(e,t,r){let s=r[0];return r.length==1&&(s instanceof Js||s instanceof $r&&s.flags&4)&&Math.abs(this.length-s.length)<10?(s instanceof $r?s=new Js(s.length,this.height):s.height=this.height,this.outdated||(s.outdated=!1),s):ms.of(r)}updateHeight(e,t=0,r=!1,s){return s&&s.from<=t&&s.more?this.setHeight(s.heights[s.index++]):(r||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class $r extends ms{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,s=e.doc.lineAt(t+this.length).number,i=s-r+1,l,c=0;if(e.lineWrapping){let u=Math.min(this.height,e.lineHeight*i);l=u/i,this.length>i+1&&(c=(this.height-u)/(this.length-i-1))}else l=this.height/i;return{firstLine:r,lastLine:s,perLine:l,perChar:c}}blockAt(e,t,r,s){let{firstLine:i,lastLine:l,perLine:c,perChar:u}=this.heightMetrics(t,s);if(t.lineWrapping){let h=s+(e0){let i=r[r.length-1];i instanceof $r?r[r.length-1]=new $r(i.length+s):r.push(null,new $r(s-1))}if(e>0){let i=r[0];i instanceof $r?r[0]=new $r(e+i.length):r.unshift(new $r(e-1),null)}return ms.of(r)}decomposeLeft(e,t){t.push(new $r(e-1),null)}decomposeRight(e,t){t.push(null,new $r(this.length-e-1))}updateHeight(e,t=0,r=!1,s){let i=t+this.length;if(s&&s.from<=t+this.length&&s.more){let l=[],c=Math.max(t,s.from),u=-1;for(s.from>t&&l.push(new $r(s.from-t-1).updateHeight(e,t));c<=i&&s.more;){let m=e.doc.lineAt(c).length;l.length&&l.push(null);let p=s.heights[s.index++];u==-1?u=p:Math.abs(p-u)>=eg&&(u=-2);let x=new Js(m,p);x.outdated=!1,l.push(x),c+=m+1}c<=i&&l.push(null,new $r(i-c).updateHeight(e,c));let h=ms.of(l);return(u<0||Math.abs(h.height-this.height)>=eg||Math.abs(u-this.heightMetrics(e,t).perLine)>=eg)&&(md=!0),Tg(this,h)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class NW extends ms{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,s){let i=r+this.left.height;return ec))return h;let m=t==Qn.ByPosNoHeight?Qn.ByPosNoHeight:Qn.ByPos;return u?h.join(this.right.lineAt(c,m,r,l,c)):this.left.lineAt(c,m,r,s,i).join(h)}forEachLine(e,t,r,s,i,l){let c=s+this.left.height,u=i+this.left.length+this.break;if(this.break)e=u&&this.right.forEachLine(e,t,r,c,u,l);else{let h=this.lineAt(u,Qn.ByPos,r,s,i);e=e&&h.from<=t&&l(h),t>h.to&&this.right.forEachLine(h.to+1,t,r,c,u,l)}}replace(e,t,r){let s=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-s,t-s,r));let i=[];e>0&&this.decomposeLeft(e,i);let l=i.length;for(let c of r)i.push(c);if(e>0&&Rj(i,l-1),t=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,s=r+this.break;if(e>=s)return this.right.decomposeRight(e-s,t);e2*t.size||t.size>2*e.size?ms.of(this.break?[e,null,t]:[e,t]):(this.left=Tg(this.left,e),this.right=Tg(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,r=!1,s){let{left:i,right:l}=this,c=t+i.length+this.break,u=null;return s&&s.from<=t+i.length&&s.more?u=i=i.updateHeight(e,t,r,s):i.updateHeight(e,t,r),s&&s.from<=c+l.length&&s.more?u=l=l.updateHeight(e,c,r,s):l.updateHeight(e,c,r),u?this.balanced(i,l):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Rj(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof $r&&(r=n[e+1])instanceof $r&&n.splice(e-1,3,new $r(t.length+1+r.length))}const CW=5;class _w{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let r=Math.min(t,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof Js?s.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new Js(r-this.pos,-1)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e=CW)&&this.addLineDeco(s,i,l)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Js(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let r=new $r(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Js)return e;let t=new Js(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,r){let s=this.ensureLine();s.length+=r,s.collapsed+=r,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Js)&&!this.isCovered?this.nodes.push(new Js(0,-1)):(this.writtenTom.clientHeight||m.scrollWidth>m.clientWidth)&&p.overflow!="visible"){let x=m.getBoundingClientRect();i=Math.max(i,x.left),l=Math.min(l,x.right),c=Math.max(c,x.top),u=Math.min(h==n.parentNode?s.innerHeight:u,x.bottom)}h=p.position=="absolute"||p.position=="fixed"?m.offsetParent:m.parentNode}else if(h.nodeType==11)h=h.host;else break;return{left:i-t.left,right:Math.max(i,l)-t.left,top:c-(t.top+e),bottom:Math.max(c,u)-(t.top+e)}}function EW(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left0&&e.top0}function _W(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class zy{constructor(e,t,r,s){this.from=e,this.to=t,this.size=r,this.displaySize=s}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;rtypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new kW(t),this.stateDeco=e.facet(bf).filter(r=>typeof r!="function"),this.heightMap=ms.empty().applyChanges(this.stateDeco,Wt.empty,this.heightOracle.setDoc(e.doc),[new ji(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Je.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let s=r?t.head:t.anchor;if(!e.some(({from:i,to:l})=>s>=i&&s<=l)){let{from:i,to:l}=this.lineBlockAt(s);e.push(new ap(i,l))}}return this.viewports=e.sort((r,s)=>r.from-s.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Pj:new Dw(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Uh(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(bf).filter(m=>typeof m!="function");let s=e.changedRanges,i=ji.extendWithRanges(s,TW(r,this.stateDeco,e?e.changes:Or.empty(this.state.doc.length))),l=this.heightMap.height,c=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Dj(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=l||md)&&(e.flags|=2),c?(this.scrollAnchorPos=e.changes.mapPos(c.from,-1),this.scrollAnchorHeight=c.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=l);let u=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headu.to)||!this.viewportIsAppropriate(u))&&(u=this.getViewport(0,t));let h=u.from!=this.viewport.from||u.to!=this.viewport.to;this.viewport=u,e.flags|=this.updateForViewport(),(h||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(xA)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),s=this.heightOracle,i=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Hn.RTL:Hn.LTR;let l=this.heightOracle.mustRefreshForWrapping(i),c=t.getBoundingClientRect(),u=l||this.mustMeasureContent||this.contentDOMHeight!=c.height;this.contentDOMHeight=c.height,this.mustMeasureContent=!1;let h=0,m=0;if(c.width&&c.height){let{scaleX:_,scaleY:D}=VM(t,c);(_>.005&&Math.abs(this.scaleX-_)>.005||D>.005&&Math.abs(this.scaleY-D)>.005)&&(this.scaleX=_,this.scaleY=D,h|=16,l=u=!0)}let p=(parseInt(r.paddingTop)||0)*this.scaleY,x=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=p||this.paddingBottom!=x)&&(this.paddingTop=p,this.paddingBottom=x,h|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(u=!0),this.editorWidth=e.scrollDOM.clientWidth,h|=16);let v=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=v&&(this.scrollAnchorHeight=-1,this.scrollTop=v),this.scrolledToBottom=XM(e.scrollDOM);let b=(this.printing?_W:AW)(t,this.paddingTop),O=b.top-this.pixelViewport.top,k=b.bottom-this.pixelViewport.bottom;this.pixelViewport=b;let j=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(j!=this.inView&&(this.inView=j,j&&(u=!0)),!this.inView&&!this.scrollTarget&&!EW(e.dom))return 0;let T=c.width;if((this.contentDOMWidth!=T||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=c.width,this.editorHeight=e.scrollDOM.clientHeight,h|=16),u){let _=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(_)&&(l=!0),l||s.lineWrapping&&Math.abs(T-this.contentDOMWidth)>s.charWidth){let{lineHeight:D,charWidth:E,textHeight:z}=e.docView.measureTextSize();l=D>0&&s.refresh(i,D,E,z,Math.max(5,T/E),_),l&&(e.docView.minWidth=0,h|=16)}O>0&&k>0?m=Math.max(O,k):O<0&&k<0&&(m=Math.min(O,k)),Dj();for(let D of this.viewports){let E=D.from==this.viewport.from?_:e.docView.measureVisibleLineHeights(D);this.heightMap=(l?ms.empty().applyChanges(this.stateDeco,Wt.empty,this.heightOracle,[new ji(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,l,new jW(D.from,E))}md&&(h|=2)}let M=!this.viewportIsAppropriate(this.viewport,m)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return M&&(h&2&&(h|=this.updateScaler()),this.viewport=this.getViewport(m,this.scrollTarget),h|=this.updateForViewport()),(h&2||M)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(l?[]:this.lineGaps,e)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,i=this.heightOracle,{visibleTop:l,visibleBottom:c}=this,u=new ap(s.lineAt(l-r*1e3,Qn.ByHeight,i,0,0).from,s.lineAt(c+(1-r)*1e3,Qn.ByHeight,i,0,0).to);if(t){let{head:h}=t.range;if(hu.to){let m=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),p=s.lineAt(h,Qn.ByPos,i,0,0),x;t.y=="center"?x=(p.top+p.bottom)/2-m/2:t.y=="start"||t.y=="nearest"&&h=c+Math.max(10,Math.min(r,250)))&&s>l-2*1e3&&i>1,l=s<<1;if(this.defaultTextDirection!=Hn.LTR&&!r)return[];let c=[],u=(m,p,x,v)=>{if(p-mm&&jj.from>=x.from&&j.to<=x.to&&Math.abs(j.from-m)j.fromT));if(!k){if(pM.from<=p&&M.to>=p)){let M=t.moveToLineBoundary(Ce.cursor(p),!1,!0).head;M>m&&(p=M)}let j=this.gapSize(x,m,p,v),T=r||j<2e6?j:2e6;k=new zy(m,p,j,T)}c.push(k)},h=m=>{if(m.length2e6)for(let E of e)E.from>=m.from&&E.fromm.from&&u(m.from,v,m,p),bt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let r=[];Gt.spans(t,this.viewport.from,this.viewport.to,{span(i,l){r.push({from:i,to:l})},point(){}},20);let s=0;if(r.length!=this.visibleRanges.length)s=12;else for(let i=0;i=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Uh(this.heightMap.lineAt(e,Qn.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Uh(this.heightMap.lineAt(this.scaler.fromDOM(e),Qn.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Uh(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}let ap=class{constructor(e,t){this.from=e,this.to=t}};function RW(n,e,t){let r=[],s=n,i=0;return Gt.spans(t,n,e,{span(){},point(l,c){l>s&&(r.push({from:s,to:l}),i+=l-s),s=c}},20),s=1)return e[e.length-1].to;let r=Math.floor(n*t);for(let s=0;;s++){let{from:i,to:l}=e[s],c=l-i;if(r<=c)return i+r;r-=c}}function op(n,e){let t=0;for(let{from:r,to:s}of n.ranges){if(e<=s){t+=e-r;break}t+=s-r}return t/n.total}function zW(n,e){for(let t of n)if(e(t))return t}const Pj={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};class Dw{constructor(e,t,r){let s=0,i=0,l=0;this.viewports=r.map(({from:c,to:u})=>{let h=t.lineAt(c,Qn.ByPos,e,0,0).top,m=t.lineAt(u,Qn.ByPos,e,0,0).bottom;return s+=m-h,{from:c,to:u,top:h,bottom:m,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(t.height-s);for(let c of this.viewports)c.domTop=l+(c.top-i)*this.scale,l=c.domBottom=c.domTop+(c.bottom-c.top),i=c.bottom}toDOM(e){for(let t=0,r=0,s=0;;t++){let i=tt.from==e.viewports[r].from&&t.to==e.viewports[r].to):!1}}function Uh(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),r=e.toDOM(n.bottom);return new la(n.from,n.length,t,r-t,Array.isArray(n._content)?n._content.map(s=>Uh(s,e)):n._content)}const cp=He.define({combine:n=>n.join(" ")}),U2=He.define({combine:n=>n.indexOf(!0)>-1}),V2=ho.newName(),IA=ho.newName(),FA=ho.newName(),qA={"&light":"."+IA,"&dark":"."+FA};function W2(n,e,t){return new ho(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,s=>{if(s=="&")return n;if(!t||!t[s])throw new RangeError(`Unsupported selector: ${s}`);return t[s]}):n+" "+r}})}const PW=W2("."+V2,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},qA),LW={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Py=qe.ie&&qe.ie_version<=11;class BW{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new bV,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let r of t)this.queue.push(r);(qe.ie&&qe.ie_version<=11||qe.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&qe.android&&e.constructor.EDIT_CONTEXT!==!1&&!(qe.chrome&&qe.chrome_version<126)&&(this.editContext=new FW(e),e.state.facet(sl)&&(e.contentDOM.editContext=this.editContext.editContext)),Py&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,r)=>t!=e[r]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,s=this.selectionRange;if(r.state.facet(sl)?r.root.activeElement!=this.dom:!Zp(this.dom,s))return;let i=s.anchorNode&&r.docView.nearest(s.anchorNode);if(i&&i.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(qe.ie&&qe.ie_version<=11||qe.android&&qe.chrome)&&!r.state.selection.main.empty&&s.focusNode&&tf(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=yf(e.root);if(!t)return!1;let r=qe.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&IW(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let s=Zp(this.dom,r);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let i=this.delayedAndroidKey;i&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=i.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&i.force&&Xu(this.dom,i.key,i.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(s)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,r=-1,s=!1;for(let i of e){let l=this.readMutation(i);l&&(l.typeOver&&(s=!0),t==-1?{from:t,to:r}=l:(t=Math.min(l.from,t),r=Math.max(l.to,r)))}return{from:t,to:r,typeOver:s}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),s=this.selectionChanged&&Zp(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new rW(this.view,e,t,r);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let r=this.view.state,s=TA(this.view,t);return this.view.state==r&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),s}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let r=Lj(t,e.previousSibling||e.target.previousSibling,-1),s=Lj(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:s?t.posBefore(s):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(sl)!=e.state.facet(sl)&&(e.view.contentDOM.editContext=e.state.facet(sl)?this.editContext.editContext:null))}destroy(){var e,t,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let s of this.scrollTargets)s.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function Lj(n,e,t){for(;e;){let r=jn.get(e);if(r&&r.parent==n)return r;let s=e.parentNode;e=s!=n.dom?s:t>0?e.nextSibling:e.previousSibling}return null}function Bj(n,e){let t=e.startContainer,r=e.startOffset,s=e.endContainer,i=e.endOffset,l=n.docView.domAtPos(n.state.selection.main.anchor);return tf(l.node,l.offset,s,i)&&([t,r,s,i]=[s,i,t,r]),{anchorNode:t,anchorOffset:r,focusNode:s,focusOffset:i}}function IW(n,e){if(e.getComposedRanges){let s=e.getComposedRanges(n.root)[0];if(s)return Bj(n,s)}let t=null;function r(s){s.preventDefault(),s.stopImmediatePropagation(),t=s.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",r,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",r,!0),t?Bj(n,t):null}class FW{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let s=e.state.selection.main,{anchor:i,head:l}=s,c=this.toEditorPos(r.updateRangeStart),u=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:c,drifted:!1});let h=u-c>r.text.length;c==this.from&&ithis.to&&(u=i);let m=MA(e.state.sliceDoc(c,u),r.text,(h?s.from:s.to)-c,h?"end":null);if(!m){let x=Ce.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));x.main.eq(s)||e.dispatch({selection:x,userEvent:"select"});return}let p={from:m.from+c,to:m.toA+c,insert:Wt.of(r.text.slice(m.from,m.toB).split(` -`))};if((qe.mac||qe.android)&&p.from==l-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(p={from:c,to:u,insert:Wt.of([r.text.replace("."," ")])}),this.pendingContextChange=p,!e.state.readOnly){let x=this.to-this.from+(p.to-p.from+p.insert.length);Ew(e,p,Ce.single(this.toEditorPos(r.selectionStart,x),this.toEditorPos(r.selectionEnd,x)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),p.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(t.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let s=[],i=null;for(let l=this.toEditorPos(r.rangeStart),c=this.toEditorPos(r.rangeEnd);l{let s=[];for(let i of r.getTextFormats()){let l=i.underlineStyle,c=i.underlineThickness;if(!/none/i.test(l)&&!/none/i.test(c)){let u=this.toEditorPos(i.rangeStart),h=this.toEditorPos(i.rangeEnd);if(u{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let s=yf(r.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,s=this.pendingContextChange;return e.changes.iterChanges((i,l,c,u,h)=>{if(r)return;let m=h.length-(l-i);if(s&&l>=s.to)if(s.from==i&&s.to==l&&s.insert.eq(h)){s=this.pendingContextChange=null,t+=m,this.to+=m;return}else s=null,this.revertPending(e.state);if(i+=t,l+=t,l<=this.from)this.from+=m,this.to+=m;else if(ithis.to||this.to-this.from+h.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(i),this.toContextPos(l),h.toString()),this.to+=m}t+=m}),s&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(s=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),s=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(r,s)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class Fe{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(s=>s.forEach(i=>r(i,this)))||(s=>this.update(s)),this.dispatch=this.dispatch.bind(this),this._root=e.root||wV(e.parent)||document,this.viewState=new zj(e.state||Vt.create(e)),e.scrollTo&&e.scrollTo.is(rp)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Qu).map(s=>new _y(s));for(let s of this.plugins)s.update(this);this.observer=new BW(this),this.inputState=new lW(this),this.inputState.ensureHandlers(this.plugins),this.docView=new gj(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof gr?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,r=!1,s,i=this.state;for(let x of e){if(x.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=x.state}if(this.destroyed){this.viewState.state=i;return}let l=this.hasFocus,c=0,u=null;e.some(x=>x.annotation(zA))?(this.inputState.notifiedFocused=l,c=1):l!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=l,u=PA(i,l),u||(c=1));let h=this.observer.delayedAndroidKey,m=null;if(h?(this.observer.clearDelayedAndroidKey(),m=this.observer.readChange(),(m&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(m=null)):this.observer.clear(),i.facet(Vt.phrases)!=this.state.facet(Vt.phrases))return this.setState(i);s=Cg.create(this,i,e),s.flags|=c;let p=this.viewState.scrollTarget;try{this.updateState=2;for(let x of e){if(p&&(p=p.map(x.changes)),x.scrollIntoView){let{main:v}=x.state.selection;p=new Yu(v.empty?v:Ce.cursor(v.head,v.head>v.anchor?-1:1))}for(let v of x.effects)v.is(rp)&&(p=v.value.clip(this.state))}this.viewState.update(s,p),this.bidiCache=Mg.update(this.bidiCache,s.changes),s.empty||(this.updatePlugins(s),this.inputState.update(s)),t=this.docView.update(s),this.state.facet($h)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(x=>x.isUserEvent("select.pointer")))}finally{this.updateState=0}if(s.startState.facet(cp)!=s.state.facet(cp)&&(this.viewState.mustMeasureContent=!0),(t||r||p||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!s.empty)for(let x of this.state.facet(q2))try{x(s)}catch(v){Es(this.state,v,"update listener")}(u||m)&&Promise.resolve().then(()=>{u&&this.state==u.startState&&this.dispatch(u),m&&!TA(this,m)&&h.force&&Xu(this.contentDOM,h.key,h.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new zj(e),this.plugins=e.facet(Qu).map(r=>new _y(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new gj(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Qu),r=e.state.facet(Qu);if(t!=r){let s=[];for(let i of r){let l=t.indexOf(i);if(l<0)s.push(new _y(i));else{let c=this.plugins[l];c.mustUpdate=e,s.push(c)}}for(let i of this.plugins)i.mustUpdate!=e&&i.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let s of this.plugins)s.mustUpdate=e;for(let s=0;s-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.scrollDOM,s=r.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:l}=this.viewState;Math.abs(s-this.viewState.scrollTop)>1&&(l=-1),this.viewState.scrollAnchorHeight=-1;try{for(let c=0;;c++){if(l<0)if(XM(r))i=-1,l=this.viewState.heightMap.height;else{let v=this.viewState.scrollAnchorAt(s);i=v.from,l=v.top}this.updateState=1;let u=this.viewState.measure(this);if(!u&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(c>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];u&4||([this.measureRequests,h]=[h,this.measureRequests]);let m=h.map(v=>{try{return v.read(this)}catch(b){return Es(this.state,b),Ij}}),p=Cg.create(this,this.state,[]),x=!1;p.flags|=u,t?t.flags|=u:t=p,this.updateState=2,p.empty||(this.updatePlugins(p),this.inputState.update(p),this.updateAttrs(),x=this.docView.update(p),x&&this.docViewUpdate());for(let v=0;v1||b<-1){s=s+b,r.scrollTop=s/this.scaleY,l=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let c of this.state.facet(q2))c(t)}get themeClasses(){return V2+" "+(this.state.facet(U2)?FA:IA)+" "+this.state.facet(cp)}updateAttrs(){let e=Fj(this,bA,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(sl)?"true":"false",class:"cm-content",style:`${qe.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Fj(this,Mw,t);let r=this.observer.ignore(()=>{let s=P2(this.contentDOM,this.contentAttrs,t),i=P2(this.dom,this.editorAttrs,e);return s||i});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let s of r.effects)if(s.is(Fe.announce)){t&&(this.announceDOM.textContent=""),t=!1;let i=this.announceDOM.appendChild(document.createElement("div"));i.textContent=s.value}}mountStyles(){this.styleModules=this.state.facet($h);let e=this.state.facet(Fe.cspNonce);ho.mount(this.root,this.styleModules.concat(PW).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tr.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,r){return Ry(this,e,wj(this,e,t,r))}moveByGroup(e,t){return Ry(this,e,wj(this,e,t,r=>ZV(this,e.head,r)))}visualLineSide(e,t){let r=this.bidiSpans(e),s=this.textDirectionAt(e.from),i=r[t?r.length-1:0];return Ce.cursor(i.side(t,s)+e.from,i.forward(!t,s)?1:-1)}moveToLineBoundary(e,t,r=!0){return KV(this,e,t,r)}moveVertically(e,t,r){return Ry(this,e,JV(this,e,t,r))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),jA(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let s=this.state.doc.lineAt(e),i=this.bidiSpans(s),l=i[ro.find(i,e-s.from,-1,t)];return i0(r,l.dir==Hn.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(gA)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>qW)return oA(e.length);let t=this.textDirectionAt(e.from),r;for(let i of this.bidiCache)if(i.from==e.from&&i.dir==t&&(i.fresh||lA(i.isolates,r=pj(this,e))))return i.order;r||(r=pj(this,e));let s=zV(e.text,t,r);return this.bidiCache.push(new Mg(e.from,e.to,t,r,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||qe.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{WM(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return rp.of(new Yu(typeof e=="number"?Ce.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return rp.of(new Yu(Ce.cursor(r.from),"start","start",r.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return lr.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return lr.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=ho.newName(),s=[cp.of(r),$h.of(W2(`.${r}`,e))];return t&&t.dark&&s.push(U2.of(!0)),s}static baseTheme(e){return jo.lowest($h.of(W2("."+V2,e,qA)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),s=r&&jn.get(r)||jn.get(e);return((t=s?.rootView)===null||t===void 0?void 0:t.view)||null}}Fe.styleModule=$h;Fe.inputHandler=mA;Fe.clipboardInputFilter=Cw;Fe.clipboardOutputFilter=Tw;Fe.scrollHandler=vA;Fe.focusChangeEffect=pA;Fe.perLineTextDirection=gA;Fe.exceptionSink=fA;Fe.updateListener=q2;Fe.editable=sl;Fe.mouseSelectionStyle=hA;Fe.dragMovesSelection=dA;Fe.clickAddsSelectionRange=uA;Fe.decorations=bf;Fe.outerDecorations=wA;Fe.atomicRanges=o0;Fe.bidiIsolatedRanges=SA;Fe.scrollMargins=OA;Fe.darkTheme=U2;Fe.cspNonce=He.define({combine:n=>n.length?n[0]:""});Fe.contentAttributes=Mw;Fe.editorAttributes=bA;Fe.lineWrapping=Fe.contentAttributes.of({class:"cm-lineWrapping"});Fe.announce=xt.define();const qW=4096,Ij={};class Mg{constructor(e,t,r,s,i,l){this.from=e,this.to=t,this.dir=r,this.isolates=s,this.fresh=i,this.order=l}static update(e,t){if(t.empty&&!e.some(i=>i.fresh))return e;let r=[],s=e.length?e[e.length-1].dir:Hn.LTR;for(let i=Math.max(0,e.length-10);i=0;s--){let i=r[s],l=typeof i=="function"?i(n):i;l&&z2(l,t)}return t}const QW=qe.mac?"mac":qe.windows?"win":qe.linux?"linux":"key";function $W(n,e){const t=n.split(/-(?!$)/);let r=t[t.length-1];r=="Space"&&(r=" ");let s,i,l,c;for(let u=0;ur.concat(s),[]))),t}function UW(n,e,t){return $A(QA(n.state),e,n,t)}let to=null;const VW=4e3;function WW(n,e=QW){let t=Object.create(null),r=Object.create(null),s=(l,c)=>{let u=r[l];if(u==null)r[l]=c;else if(u!=c)throw new Error("Key binding "+l+" is used both as a regular binding and as a multi-stroke prefix")},i=(l,c,u,h,m)=>{var p,x;let v=t[l]||(t[l]=Object.create(null)),b=c.split(/ (?!$)/).map(j=>$W(j,e));for(let j=1;j{let _=to={view:M,prefix:T,scope:l};return setTimeout(()=>{to==_&&(to=null)},VW),!0}]})}let O=b.join(" ");s(O,!1);let k=v[O]||(v[O]={preventDefault:!1,stopPropagation:!1,run:((x=(p=v._any)===null||p===void 0?void 0:p.run)===null||x===void 0?void 0:x.slice())||[]});u&&k.run.push(u),h&&(k.preventDefault=!0),m&&(k.stopPropagation=!0)};for(let l of n){let c=l.scope?l.scope.split(" "):["editor"];if(l.any)for(let h of c){let m=t[h]||(t[h]=Object.create(null));m._any||(m._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:p}=l;for(let x in m)m[x].run.push(v=>p(v,G2))}let u=l[e]||l.key;if(u)for(let h of c)i(h,u,l.run,l.preventDefault,l.stopPropagation),l.shift&&i(h,"Shift-"+u,l.shift,l.preventDefault,l.stopPropagation)}return t}let G2=null;function $A(n,e,t,r){G2=e;let s=pV(e),i=Ms(s,0),l=aa(i)==s.length&&s!=" ",c="",u=!1,h=!1,m=!1;to&&to.view==t&&to.scope==r&&(c=to.prefix+" ",EA.indexOf(e.keyCode)<0&&(h=!0,to=null));let p=new Set,x=k=>{if(k){for(let j of k.run)if(!p.has(j)&&(p.add(j),j(t)))return k.stopPropagation&&(m=!0),!0;k.preventDefault&&(k.stopPropagation&&(m=!0),h=!0)}return!1},v=n[r],b,O;return v&&(x(v[c+up(s,e,!l)])?u=!0:l&&(e.altKey||e.metaKey||e.ctrlKey)&&!(qe.windows&&e.ctrlKey&&e.altKey)&&!(qe.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(b=fo[e.keyCode])&&b!=s?(x(v[c+up(b,e,!0)])||e.shiftKey&&(O=vf[e.keyCode])!=s&&O!=b&&x(v[c+up(O,e,!1)]))&&(u=!0):l&&e.shiftKey&&x(v[c+up(s,e,!0)])&&(u=!0),!u&&x(v._any)&&(u=!0)),h&&(u=!0),u&&m&&e.stopPropagation(),G2=null,u}class u0{constructor(e,t,r,s,i){this.className=e,this.left=t,this.top=r,this.width=s,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,r){if(r.empty){let s=e.coordsAtPos(r.head,r.assoc||1);if(!s)return[];let i=HA(e);return[new u0(t,s.left-i.left,s.top-i.top,null,s.bottom-s.top)]}else return GW(e,t,r)}}function HA(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Hn.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function Qj(n,e,t,r){let s=n.coordsAtPos(e,t*2);if(!s)return r;let i=n.dom.getBoundingClientRect(),l=(s.top+s.bottom)/2,c=n.posAtCoords({x:i.left+1,y:l}),u=n.posAtCoords({x:i.right-1,y:l});return c==null||u==null?r:{from:Math.max(r.from,Math.min(c,u)),to:Math.min(r.to,Math.max(c,u))}}function GW(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let r=Math.max(t.from,n.viewport.from),s=Math.min(t.to,n.viewport.to),i=n.textDirection==Hn.LTR,l=n.contentDOM,c=l.getBoundingClientRect(),u=HA(n),h=l.querySelector(".cm-line"),m=h&&window.getComputedStyle(h),p=c.left+(m?parseInt(m.paddingLeft)+Math.min(0,parseInt(m.textIndent)):0),x=c.right-(m?parseInt(m.paddingRight):0),v=$2(n,r,1),b=$2(n,s,-1),O=v.type==fs.Text?v:null,k=b.type==fs.Text?b:null;if(O&&(n.lineWrapping||v.widgetLineBreaks)&&(O=Qj(n,r,1,O)),k&&(n.lineWrapping||b.widgetLineBreaks)&&(k=Qj(n,s,-1,k)),O&&k&&O.from==k.from&&O.to==k.to)return T(M(t.from,t.to,O));{let D=O?M(t.from,null,O):_(v,!1),E=k?M(null,t.to,k):_(b,!0),z=[];return(O||v).to<(k||b).from-(O&&k?1:0)||v.widgetLineBreaks>1&&D.bottom+n.defaultLineHeight/2V&&W.from=H)break;R>J&&U(Math.max(ue,J),D==null&&ue<=V,Math.min(R,H),E==null&&R>=ce,ne.dir)}if(J=ae.to+1,J>=H)break}return B.length==0&&U(V,D==null,ce,E==null,n.textDirection),{top:Q,bottom:q,horizontal:B}}function _(D,E){let z=c.top+(E?D.top:D.bottom);return{top:z,bottom:z,horizontal:[]}}}function XW(n,e){return n.constructor==e.constructor&&n.eq(e)}class YW{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(tg)!=e.state.facet(tg)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,r=e.facet(tg);for(;t!XW(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let s of e)s.update&&t&&s.constructor&&this.drawn[r].constructor&&s.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(s.draw(),t);for(;t;){let s=t.nextSibling;t.remove(),t=s}this.drawn=e,qe.safari&&qe.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const tg=He.define();function UA(n){return[lr.define(e=>new YW(e,n)),tg.of(n)]}const wf=He.define({combine(n){return Oa(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function KW(n={}){return[wf.of(n),ZW,JW,eG,xA.of(!0)]}function VA(n){return n.startState.facet(wf)!=n.state.facet(wf)}const ZW=UA({above:!0,markers(n){let{state:e}=n,t=e.facet(wf),r=[];for(let s of e.selection.ranges){let i=s==e.selection.main;if(s.empty||t.drawRangeCursor){let l=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",c=s.empty?s:Ce.cursor(s.head,s.head>s.anchor?-1:1);for(let u of u0.forRange(n,l,c))r.push(u)}}return r},update(n,e){n.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=VA(n);return t&&$j(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){$j(e.state,n)},class:"cm-cursorLayer"});function $j(n,e){e.style.animationDuration=n.facet(wf).cursorBlinkRate+"ms"}const JW=UA({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:u0.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||VA(n)},class:"cm-selectionLayer"}),eG=jo.highest(Fe.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),WA=xt.define({map(n,e){return n==null?null:e.mapPos(n)}}),Vh=Lr.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is(WA)?r.value:t,n)}}),tG=lr.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(Vh);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(Vh)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(Vh),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let r=n.scrollDOM.getBoundingClientRect();return{left:t.left-r.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-r.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(Vh)!=n&&this.view.dispatch({effects:WA.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function nG(){return[Vh,tG]}function Hj(n,e,t,r,s){e.lastIndex=0;for(let i=n.iterRange(t,r),l=t,c;!i.next().done;l+=i.value.length)if(!i.lineBreak)for(;c=e.exec(i.value);)s(l+c.index,c)}function rG(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let r=[];for(let{from:s,to:i}of t)s=Math.max(n.state.doc.lineAt(s).from,s-e),i=Math.min(n.state.doc.lineAt(i).to,i+e),r.length&&r[r.length-1].to>=s?r[r.length-1].to=i:r.push({from:s,to:i});return r}class sG{constructor(e){const{regexp:t,decoration:r,decorate:s,boundary:i,maxLength:l=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,s)this.addMatch=(c,u,h,m)=>s(m,h,h+c[0].length,c,u);else if(typeof r=="function")this.addMatch=(c,u,h,m)=>{let p=r(c,u,h);p&&m(h,h+c[0].length,p)};else if(r)this.addMatch=(c,u,h,m)=>m(h,h+c[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=i,this.maxLength=l}createDeco(e){let t=new fl,r=t.add.bind(t);for(let{from:s,to:i}of rG(e,this.maxLength))Hj(e.state.doc,this.regexp,s,i,(l,c)=>this.addMatch(c,e,l,r));return t.finish()}updateDeco(e,t){let r=1e9,s=-1;return e.docChanged&&e.changes.iterChanges((i,l,c,u)=>{u>=e.view.viewport.from&&c<=e.view.viewport.to&&(r=Math.min(c,r),s=Math.max(u,s))}),e.viewportMoved||s-r>1e3?this.createDeco(e.view):s>-1?this.updateRange(e.view,t.map(e.changes),r,s):t}updateRange(e,t,r,s){for(let i of e.visibleRanges){let l=Math.max(i.from,r),c=Math.min(i.to,s);if(c>=l){let u=e.state.doc.lineAt(l),h=u.tou.from;l--)if(this.boundary.test(u.text[l-1-u.from])){m=l;break}for(;cx.push(j.range(O,k));if(u==h)for(this.regexp.lastIndex=m-u.from;(v=this.regexp.exec(u.text))&&v.indexthis.addMatch(k,e,O,b));t=t.update({filterFrom:m,filterTo:p,filter:(O,k)=>Op,add:x})}}return t}}const X2=/x/.unicode!=null?"gu":"g",iG=new RegExp(`[\0-\b ---Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,X2),aG={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let Ly=null;function lG(){var n;if(Ly==null&&typeof document<"u"&&document.body){let e=document.body.style;Ly=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return Ly||!1}const ng=He.define({combine(n){let e=Oa(n,{render:null,specialChars:iG,addSpecialChars:null});return(e.replaceTabs=!lG())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,X2)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,X2)),e}});function oG(n={}){return[ng.of(n),cG()]}let Uj=null;function cG(){return Uj||(Uj=lr.fromClass(class{constructor(n){this.view=n,this.decorations=Je.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(ng)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new sG({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:s}=t.state,i=Ms(e[0],0);if(i==9){let l=s.lineAt(r),c=t.state.tabSize,u=Md(l.text,c,r-l.from);return Je.replace({widget:new fG((c-u%c)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[i]||(this.decorationCache[i]=Je.replace({widget:new hG(n,i)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(ng);n.startState.facet(ng)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const uG="•";function dG(n){return n>=32?uG:n==10?"␤":String.fromCharCode(9216+n)}class hG extends ka{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=dG(this.code),r=e.state.phrase("Control character")+" "+(aG[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,r,t);if(s)return s;let i=document.createElement("span");return i.textContent=t,i.title=r,i.setAttribute("aria-label",r),i.className="cm-specialChar",i}ignoreEvent(){return!1}}class fG extends ka{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function mG(){return gG}const pG=Je.line({class:"cm-activeLine"}),gG=lr.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let r of n.state.selection.ranges){let s=n.lineBlockAt(r.head);s.from>e&&(t.push(pG.range(s.from)),e=s.from)}return Je.set(t)}},{decorations:n=>n.decorations});class xG extends ka{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?dd(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),s=i0(t[0],r.direction!="rtl"),i=parseInt(r.lineHeight);return s.bottom-s.top>i*1.5?{left:s.left,right:s.right,top:s.top,bottom:s.top+i}:s}ignoreEvent(){return!1}}function vG(n){let e=lr.fromClass(class{constructor(t){this.view=t,this.placeholder=n?Je.set([Je.widget({widget:new xG(n),side:1}).range(0)]):Je.none}get decorations(){return this.view.state.doc.length?Je.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,Fe.contentAttributes.of({"aria-placeholder":n})]:e}const Y2=2e3;function yG(n,e,t){let r=Math.min(e.line,t.line),s=Math.max(e.line,t.line),i=[];if(e.off>Y2||t.off>Y2||e.col<0||t.col<0){let l=Math.min(e.off,t.off),c=Math.max(e.off,t.off);for(let u=r;u<=s;u++){let h=n.doc.line(u);h.length<=c&&i.push(Ce.range(h.from+l,h.to+c))}}else{let l=Math.min(e.col,t.col),c=Math.max(e.col,t.col);for(let u=r;u<=s;u++){let h=n.doc.line(u),m=C2(h.text,l,n.tabSize,!0);if(m<0)i.push(Ce.cursor(h.to));else{let p=C2(h.text,c,n.tabSize);i.push(Ce.range(h.from+m,h.from+p))}}}return i}function bG(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function Vj(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),r=n.state.doc.lineAt(t),s=t-r.from,i=s>Y2?-1:s==r.length?bG(n,e.clientX):Md(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:i,off:s}}function wG(n,e){let t=Vj(n,e),r=n.state.selection;return t?{update(s){if(s.docChanged){let i=s.changes.mapPos(s.startState.doc.line(t.line).from),l=s.state.doc.lineAt(i);t={line:l.number,col:t.col,off:Math.min(t.off,l.length)},r=r.map(s.changes)}},get(s,i,l){let c=Vj(n,s);if(!c)return r;let u=yG(n.state,t,c);return u.length?l?Ce.create(u.concat(r.ranges)):Ce.create(u):r}}:null}function SG(n){let e=(t=>t.altKey&&t.button==0);return Fe.mouseSelectionStyle.of((t,r)=>e(r)?wG(t,r):null)}const OG={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},kG={style:"cursor: crosshair"};function jG(n={}){let[e,t]=OG[n.key||"Alt"],r=lr.fromClass(class{constructor(s){this.view=s,this.isDown=!1}set(s){this.isDown!=s&&(this.isDown=s,this.view.update([]))}},{eventObservers:{keydown(s){this.set(s.keyCode==e||t(s))},keyup(s){(s.keyCode==e||!t(s))&&this.set(!1)},mousemove(s){this.set(t(s))}}});return[r,Fe.contentAttributes.of(s=>{var i;return!((i=s.plugin(r))===null||i===void 0)&&i.isDown?kG:null})]}const dp="-10000px";class GA{constructor(e,t,r,s){this.facet=t,this.createTooltipView=r,this.removeTooltipView=s,this.input=e.state.facet(t),this.tooltips=this.input.filter(l=>l);let i=null;this.tooltipViews=this.tooltips.map(l=>i=r(l,i))}update(e,t){var r;let s=e.state.facet(this.facet),i=s.filter(u=>u);if(s===this.input){for(let u of this.tooltipViews)u.update&&u.update(e);return!1}let l=[],c=t?[]:null;for(let u=0;ut[h]=u),t.length=c.length),this.input=s,this.tooltips=i,this.tooltipViews=l,!0}}function NG(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const By=He.define({combine:n=>{var e,t,r;return{position:qe.ios?"absolute":((e=n.find(s=>s.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(s=>s.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((r=n.find(s=>s.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||NG}}}),Wj=new WeakMap,Rw=lr.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(By);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new GA(n,zw,(t,r)=>this.createTooltip(t,r),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,r=n.state.facet(By);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let s of this.manager.tooltipViews)s.dom.style.position=this.position;t=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let s of this.manager.tooltipViews)this.container.appendChild(s.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),r=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let s=document.createElement("div");s.className="cm-tooltip-arrow",t.dom.appendChild(s)}return t.dom.style.position=this.position,t.dom.style.top=dp,t.dom.style.left="0px",this.container.insertBefore(t.dom,r),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(n=r.destroy)===null||n===void 0||n.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:i}=this.manager.tooltipViews[0];if(qe.safari){let l=i.getBoundingClientRect();t=Math.abs(l.top+1e4)>1||Math.abs(l.left)>1}else t=!!i.offsetParent&&i.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let i=this.parent.getBoundingClientRect();i.width&&i.height&&(n=i.width/this.parent.offsetWidth,e=i.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),s=Aw(this.view);return{visible:{left:r.left+s.left,top:r.top+s.top,right:r.right-s.right,bottom:r.bottom-s.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((i,l)=>{let c=this.manager.tooltipViews[l];return c.getCoords?c.getCoords(i.pos):this.view.coordsAtPos(i.pos)}),size:this.manager.tooltipViews.map(({dom:i})=>i.getBoundingClientRect()),space:this.view.state.facet(By).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let c of this.manager.tooltipViews)c.dom.style.position="absolute"}let{visible:t,space:r,scaleX:s,scaleY:i}=n,l=[];for(let c=0;c=Math.min(t.bottom,r.bottom)||p.rightMath.min(t.right,r.right)+.1)){m.style.top=dp;continue}let v=u.arrow?h.dom.querySelector(".cm-tooltip-arrow"):null,b=v?7:0,O=x.right-x.left,k=(e=Wj.get(h))!==null&&e!==void 0?e:x.bottom-x.top,j=h.offset||TG,T=this.view.textDirection==Hn.LTR,M=x.width>r.right-r.left?T?r.left:r.right-x.width:T?Math.max(r.left,Math.min(p.left-(v?14:0)+j.x,r.right-O)):Math.min(Math.max(r.left,p.left-O+(v?14:0)-j.x),r.right-O),_=this.above[c];!u.strictSide&&(_?p.top-k-b-j.yr.bottom)&&_==r.bottom-p.bottom>p.top-r.top&&(_=this.above[c]=!_);let D=(_?p.top-r.top:r.bottom-p.bottom)-b;if(DM&&Q.topE&&(E=_?Q.top-k-2-b:Q.bottom+b+2);if(this.position=="absolute"?(m.style.top=(E-n.parent.top)/i+"px",Gj(m,(M-n.parent.left)/s)):(m.style.top=E/i+"px",Gj(m,M/s)),v){let Q=p.left+(T?j.x:-j.x)-(M+14-7);v.style.left=Q/s+"px"}h.overlap!==!0&&l.push({left:M,top:E,right:z,bottom:E+k}),m.classList.toggle("cm-tooltip-above",_),m.classList.toggle("cm-tooltip-below",!_),h.positioned&&h.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=dp}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Gj(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const CG=Fe.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),TG={x:0,y:0},zw=He.define({enables:[Rw,CG]}),Ag=He.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class jx{static create(e){return new jx(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new GA(e,Ag,(t,r)=>this.createHostedView(t,r),t=>t.dom.remove())}createHostedView(e,t){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let r of this.manager.tooltipViews){let s=r[e];if(s!==void 0){if(t===void 0)t=s;else if(t!==s)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const MG=zw.compute([Ag],n=>{let e=n.facet(Ag);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var r;return(r=t.end)!==null&&r!==void 0?r:t.pos})),create:jx.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class AG{constructor(e,t,r,s,i){this.view=e,this.source=t,this.field=r,this.setHover=s,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;ec.bottom||t.xc.right+e.defaultCharacterWidth)return;let u=e.bidiSpans(e.state.doc.lineAt(s)).find(m=>m.from<=s&&m.to>=s),h=u&&u.dir==Hn.RTL?-1:1;i=t.x{this.pending==c&&(this.pending=null,u&&!(Array.isArray(u)&&!u.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(u)?u:[u])}))},u=>Es(e.state,u,"hover tooltip"))}else l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])})}get tooltip(){let e=this.view.plugin(Rw),t=e?e.manager.tooltips.findIndex(r=>r.create==jx.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:i}=this;if(s.length&&i&&!EG(i.dom,e)||this.pending){let{pos:l}=s[0]||this.pending,c=(r=(t=s[0])===null||t===void 0?void 0:t.end)!==null&&r!==void 0?r:l;(l==c?this.view.posAtCoords(this.lastMove)!=l:!_G(this.view,l,c,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const hp=4;function EG(n,e){let{left:t,right:r,top:s,bottom:i}=n.getBoundingClientRect(),l;if(l=n.querySelector(".cm-tooltip-arrow")){let c=l.getBoundingClientRect();s=Math.min(c.top,s),i=Math.max(c.bottom,i)}return e.clientX>=t-hp&&e.clientX<=r+hp&&e.clientY>=s-hp&&e.clientY<=i+hp}function _G(n,e,t,r,s,i){let l=n.scrollDOM.getBoundingClientRect(),c=n.documentTop+n.documentPadding.top+n.contentHeight;if(l.left>r||l.rights||Math.min(l.bottom,c)=e&&u<=t}function DG(n,e={}){let t=xt.define(),r=Lr.define({create(){return[]},update(s,i){if(s.length&&(e.hideOnChange&&(i.docChanged||i.selection)?s=[]:e.hideOn&&(s=s.filter(l=>!e.hideOn(i,l))),i.docChanged)){let l=[];for(let c of s){let u=i.changes.mapPos(c.pos,-1,Ur.TrackDel);if(u!=null){let h=Object.assign(Object.create(null),c);h.pos=u,h.end!=null&&(h.end=i.changes.mapPos(h.end)),l.push(h)}}s=l}for(let l of i.effects)l.is(t)&&(s=l.value),l.is(RG)&&(s=[]);return s},provide:s=>Ag.from(s)});return{active:r,extension:[r,lr.define(s=>new AG(s,n,r,t,e.hoverTime||300)),MG]}}function XA(n,e){let t=n.plugin(Rw);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const RG=xt.define(),Xj=He.define({combine(n){let e,t;for(let r of n)e=e||r.topContainer,t=t||r.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Sf(n,e){let t=n.plugin(YA),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const YA=lr.fromClass(class{constructor(n){this.input=n.state.facet(Of),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(Xj);this.top=new fp(n,!0,e.topContainer),this.bottom=new fp(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(Xj);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new fp(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new fp(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(Of);if(t!=this.input){let r=t.filter(u=>u),s=[],i=[],l=[],c=[];for(let u of r){let h=this.specs.indexOf(u),m;h<0?(m=u(n.view),c.push(m)):(m=this.panels[h],m.update&&m.update(n)),s.push(m),(m.top?i:l).push(m)}this.specs=r,this.panels=s,this.top.sync(i),this.bottom.sync(l);for(let u of c)u.dom.classList.add("cm-panel"),u.mount&&u.mount()}else for(let r of this.panels)r.update&&r.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>Fe.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class fp{constructor(e,t,r){this.view=e,this.top=t,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Yj(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Yj(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Yj(n){let e=n.nextSibling;return n.remove(),e}const Of=He.define({enables:YA});class pl extends yc{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}pl.prototype.elementClass="";pl.prototype.toDOM=void 0;pl.prototype.mapMode=Ur.TrackBefore;pl.prototype.startSide=pl.prototype.endSide=-1;pl.prototype.point=!0;const rg=He.define(),zG=He.define(),PG={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Gt.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},sf=He.define();function LG(n){return[KA(),sf.of({...PG,...n})]}const Kj=He.define({combine:n=>n.some(e=>e)});function KA(n){return[BG]}const BG=lr.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(sf).map(e=>new Jj(n,e)),this.fixed=!n.state.facet(Kj);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,r=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(r<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Kj)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=Gt.iter(this.view.state.facet(rg),this.view.viewport.from),r=[],s=this.gutters.map(i=>new IG(i,this.view.viewport,-this.view.documentPadding.top));for(let i of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(i.type)){let l=!0;for(let c of i.type)if(c.type==fs.Text&&l){K2(t,r,c.from);for(let u of s)u.line(this.view,c,r);l=!1}else if(c.widget)for(let u of s)u.widget(this.view,c)}else if(i.type==fs.Text){K2(t,r,i.from);for(let l of s)l.line(this.view,i,r)}else if(i.widget)for(let l of s)l.widget(this.view,i);for(let i of s)i.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(sf),t=n.state.facet(sf),r=n.docChanged||n.heightChanged||n.viewportChanged||!Gt.eq(n.startState.facet(rg),n.state.facet(rg),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let s of this.gutters)s.update(n)&&(r=!0);else{r=!0;let s=[];for(let i of t){let l=e.indexOf(i);l<0?s.push(new Jj(this.view,i)):(this.gutters[l].update(n),s.push(this.gutters[l]))}for(let i of this.gutters)i.dom.remove(),s.indexOf(i)<0&&i.destroy();for(let i of s)i.config.side=="after"?this.getDOMAfter().appendChild(i.dom):this.dom.appendChild(i.dom);this.gutters=s}return r}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>Fe.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let r=t.dom.offsetWidth*e.scaleX,s=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Hn.LTR?{left:r,right:s}:{right:r,left:s}})});function Zj(n){return Array.isArray(n)?n:[n]}function K2(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class IG{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=Gt.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:s}=this,i=(t.top-this.height)/e.scaleY,l=t.height/e.scaleY;if(this.i==s.elements.length){let c=new ZA(e,l,i,r);s.elements.push(c),s.dom.appendChild(c.dom)}else s.elements[this.i].update(e,l,i,r);this.height=t.bottom,this.i++}line(e,t,r){let s=[];K2(this.cursor,s,t.from),r.length&&(s=s.concat(r));let i=this.gutter.config.lineMarker(e,t,s);i&&s.unshift(i);let l=this.gutter;s.length==0&&!l.config.renderEmptyElements||this.addElement(e,t,s)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t),s=r?[r]:null;for(let i of e.state.facet(zG)){let l=i(e,t.widget,t);l&&(s||(s=[])).push(l)}s&&this.addElement(e,t,s)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Jj{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in t.domEventHandlers)this.dom.addEventListener(r,s=>{let i=s.target,l;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let u=i.getBoundingClientRect();l=(u.top+u.bottom)/2}else l=s.clientY;let c=e.lineBlockAtHeight(l-e.documentTop);t.domEventHandlers[r](e,c,s)&&s.preventDefault()});this.markers=Zj(t.markers(e)),t.initialSpacer&&(this.spacer=new ZA(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Zj(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let s=this.config.updateSpacer(this.spacer.markers[0],e);s!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[s])}let r=e.view.viewport;return!Gt.eq(this.markers,t,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class ZA{constructor(e,t,r,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,s)}update(e,t,r,s){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),FG(this.markers,s)||this.setMarkers(e,s)}setMarkers(e,t){let r="cm-gutterElement",s=this.dom.firstChild;for(let i=0,l=0;;){let c=l,u=ii(c,u,h)||l(c,u,h):l}return r}})}});class Iy extends pl{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Fy(n,e){return n.state.facet($u).formatNumber(e,n.state)}const $G=sf.compute([$u],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(qG)},lineMarker(e,t,r){return r.some(s=>s.toDOM)?null:new Iy(Fy(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let s of e.state.facet(QG)){let i=s(e,t,r);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet($u)!=e.state.facet($u),initialSpacer(e){return new Iy(Fy(e,e7(e.state.doc.lines)))},updateSpacer(e,t){let r=Fy(t.view,e7(t.view.state.doc.lines));return r==e.number?e:new Iy(r)},domEventHandlers:n.facet($u).domEventHandlers,side:"before"}));function HG(n={}){return[$u.of(n),KA(),$G]}function e7(n){let e=9;for(;e{let e=[],t=-1;for(let r of n.selection.ranges){let s=n.doc.lineAt(r.head).from;s>t&&(t=s,e.push(UG.range(s)))}return Gt.of(e)});function WG(){return VG}const JA=1024;let GG=0;class qy{constructor(e,t){this.from=e,this.to=t}}class Et{constructor(e={}){this.id=GG++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=gs.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}}Et.closedBy=new Et({deserialize:n=>n.split(" ")});Et.openedBy=new Et({deserialize:n=>n.split(" ")});Et.group=new Et({deserialize:n=>n.split(" ")});Et.isolate=new Et({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});Et.contextHash=new Et({perNode:!0});Et.lookAhead=new Et({perNode:!0});Et.mounted=new Et({perNode:!0});class Eg{constructor(e,t,r){this.tree=e,this.overlay=t,this.parser=r}static get(e){return e&&e.props&&e.props[Et.mounted.id]}}const XG=Object.create(null);class gs{constructor(e,t,r,s=0){this.name=e,this.props=t,this.id=r,this.flags=s}static define(e){let t=e.props&&e.props.length?Object.create(null):XG,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),s=new gs(e.name||"",t,e.id,r);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(s)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}}return s}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Et.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let s of r.split(" "))t[s]=e[r];return r=>{for(let s=r.prop(Et.group),i=-1;i<(s?s.length:0);i++){let l=t[i<0?r.name:s[i]];if(l)return l}}}}gs.none=new gs("",Object.create(null),0,8);class Nx{constructor(e){this.types=e;for(let t=0;t0;for(let u=this.cursor(l|kr.IncludeAnonymous);;){let h=!1;if(u.from<=i&&u.to>=s&&(!c&&u.type.isAnonymous||t(u)!==!1)){if(u.firstChild())continue;h=!0}for(;h&&r&&(c||!u.type.isAnonymous)&&r(u),!u.nextSibling();){if(!u.parent())return;h=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Bw(gs.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,s)=>new _n(this.type,t,r,s,this.propValues),e.makeTree||((t,r,s)=>new _n(gs.none,t,r,s)))}static build(e){return JG(e)}}_n.empty=new _n(gs.none,[],[],0);class Pw{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Pw(this.buffer,this.index)}}class po{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return gs.none}toString(){let e=[];for(let t=0;t0));u=l[u+3]);return c}slice(e,t,r){let s=this.buffer,i=new Uint16Array(t-e),l=0;for(let c=e,u=0;c=e&&te;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function kf(n,e,t,r){for(var s;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to0?c.length:-1;e!=h;e+=t){let m=c[e],p=u[e]+l.from;if(eE(s,r,p,p+m.length)){if(m instanceof po){if(i&kr.ExcludeBuffers)continue;let x=m.findChild(0,m.buffer.length,t,r-p,s);if(x>-1)return new da(new YG(l,m,e,p),null,x)}else if(i&kr.IncludeAnonymous||!m.type.isAnonymous||Lw(m)){let x;if(!(i&kr.IgnoreMounts)&&(x=Eg.get(m))&&!x.overlay)return new zs(x.tree,p,e,l);let v=new zs(m,p,e,l);return i&kr.IncludeAnonymous||!v.type.isAnonymous?v:v.nextChild(t<0?m.children.length-1:0,t,r,s)}}}if(i&kr.IncludeAnonymous||!l.type.isAnonymous||(l.index>=0?e=l.index+t:e=t<0?-1:l._parent._tree.children.length,l=l._parent,!l))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,r=0){let s;if(!(r&kr.IgnoreOverlays)&&(s=Eg.get(this._tree))&&s.overlay){let i=e-this.from;for(let{from:l,to:c}of s.overlay)if((t>0?l<=i:l=i:c>i))return new zs(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function n7(n,e,t,r){let s=n.cursor(),i=[];if(!s.firstChild())return i;if(t!=null){for(let l=!1;!l;)if(l=s.type.is(t),!s.nextSibling())return i}for(;;){if(r!=null&&s.type.is(r))return i;if(s.type.is(e)&&i.push(s.node),!s.nextSibling())return r==null?i:[]}}function Z2(n,e,t=e.length-1){for(let r=n;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}class YG{constructor(e,t,r,s){this.parent=e,this.buffer=t,this.index=r,this.start=s}}class da extends tE{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.context.start,r);return i<0?null:new da(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,r=0){if(r&kr.ExcludeBuffers)return null;let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return i<0?null:new da(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new da(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new da(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,s=this.index+4,i=r.buffer[this.index+3];if(i>s){let l=r.buffer[this.index+1];e.push(r.slice(s,i,l)),t.push(0)}return new _n(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function nE(n){if(!n.length)return null;let e=0,t=n[0];for(let i=1;it.from||l.to=e){let c=new zs(l.tree,l.overlay[0].from+i.from,-1,i);(s||(s=[r])).push(kf(c,e,t,!1))}}return s?nE(s):r}class J2{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof zs)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:r,buffer:s}=this.buffer;return this.type=t||s.set.types[s.buffer[e]],this.from=r+s.buffer[e+1],this.to=r+s.buffer[e+2],!0}yield(e){return e?e instanceof zs?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:s}=this.buffer,i=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.buffer.start,r);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?r&kr.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&kr.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&kr.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let s=r<0?0:this.stack[r]+4;if(this.index!=s)return this.yieldBuf(t.findChild(s,this.index,-1,0,4))}else{let s=t.buffer[this.index+3];if(s<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(s)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:s}=this;if(s){if(e>0){if(this.index-1)for(let i=t+e,l=e<0?-1:r._tree.children.length;i!=l;i+=e){let c=r._tree.children[i];if(this.mode&kr.IncludeAnonymous||c instanceof po||!c.type.isAnonymous||Lw(c))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let l=e;l;l=l._parent)if(l.index==s){if(s==this.index)return l;t=l,r=i+1;break e}s=this.stack[--i]}for(let s=r;s=0;i--){if(i<0)return Z2(this._tree,e,s);let l=r[t.buffer[this.stack[i]]];if(!l.isAnonymous){if(e[s]&&e[s]!=l.name)return!1;s--}}return!0}}function Lw(n){return n.children.some(e=>e instanceof po||!e.type.isAnonymous||Lw(e))}function JG(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:s=JA,reused:i=[],minRepeatType:l=r.types.length}=n,c=Array.isArray(t)?new Pw(t,t.length):t,u=r.types,h=0,m=0;function p(D,E,z,Q,q,B){let{id:U,start:V,end:ce,size:W}=c,J=m,H=h;if(W<0)if(c.next(),W==-1){let me=i[U];z.push(me),Q.push(V-D);return}else if(W==-3){h=U;return}else if(W==-4){m=U;return}else throw new RangeError(`Unrecognized record size: ${W}`);let ae=u[U],ne,ue,R=V-D;if(ce-V<=s&&(ue=k(c.pos-E,q))){let me=new Uint16Array(ue.size-ue.skip),Y=c.pos-ue.size,P=me.length;for(;c.pos>Y;)P=j(ue.start,me,P);ne=new po(me,ce-ue.start,r),R=ue.start-D}else{let me=c.pos-W;c.next();let Y=[],P=[],K=U>=l?U:-1,$=0,fe=ce;for(;c.pos>me;)K>=0&&c.id==K&&c.size>=0?(c.end<=fe-s&&(b(Y,P,V,$,c.end,fe,K,J,H),$=Y.length,fe=c.end),c.next()):B>2500?x(V,me,Y,P):p(V,me,Y,P,K,B+1);if(K>=0&&$>0&&$-1&&$>0){let ye=v(ae,H);ne=Bw(ae,Y,P,0,Y.length,0,ce-V,ye,ye)}else ne=O(ae,Y,P,ce-V,J-ce,H)}z.push(ne),Q.push(R)}function x(D,E,z,Q){let q=[],B=0,U=-1;for(;c.pos>E;){let{id:V,start:ce,end:W,size:J}=c;if(J>4)c.next();else{if(U>-1&&ce=0;W-=3)V[J++]=q[W],V[J++]=q[W+1]-ce,V[J++]=q[W+2]-ce,V[J++]=J;z.push(new po(V,q[2]-ce,r)),Q.push(ce-D)}}function v(D,E){return(z,Q,q)=>{let B=0,U=z.length-1,V,ce;if(U>=0&&(V=z[U])instanceof _n){if(!U&&V.type==D&&V.length==q)return V;(ce=V.prop(Et.lookAhead))&&(B=Q[U]+V.length+ce)}return O(D,z,Q,q,B,E)}}function b(D,E,z,Q,q,B,U,V,ce){let W=[],J=[];for(;D.length>Q;)W.push(D.pop()),J.push(E.pop()+z-q);D.push(O(r.types[U],W,J,B-q,V-B,ce)),E.push(q-z)}function O(D,E,z,Q,q,B,U){if(B){let V=[Et.contextHash,B];U=U?[V].concat(U):[V]}if(q>25){let V=[Et.lookAhead,q];U=U?[V].concat(U):[V]}return new _n(D,E,z,Q,U)}function k(D,E){let z=c.fork(),Q=0,q=0,B=0,U=z.end-s,V={size:0,start:0,skip:0};e:for(let ce=z.pos-D;z.pos>ce;){let W=z.size;if(z.id==E&&W>=0){V.size=Q,V.start=q,V.skip=B,B+=4,Q+=4,z.next();continue}let J=z.pos-W;if(W<0||J=l?4:0,ae=z.start;for(z.next();z.pos>J;){if(z.size<0)if(z.size==-3)H+=4;else break e;else z.id>=l&&(H+=4);z.next()}q=ae,Q+=W,B+=H}return(E<0||Q==D)&&(V.size=Q,V.start=q,V.skip=B),V.size>4?V:void 0}function j(D,E,z){let{id:Q,start:q,end:B,size:U}=c;if(c.next(),U>=0&&Q4){let ce=c.pos-(U-4);for(;c.pos>ce;)z=j(D,E,z)}E[--z]=V,E[--z]=B-D,E[--z]=q-D,E[--z]=Q}else U==-3?h=Q:U==-4&&(m=Q);return z}let T=[],M=[];for(;c.pos>0;)p(n.start||0,n.bufferStart||0,T,M,-1,0);let _=(e=n.length)!==null&&e!==void 0?e:T.length?M[0]+T[0].length:0;return new _n(u[n.topID],T.reverse(),M.reverse(),_)}const r7=new WeakMap;function sg(n,e){if(!n.isAnonymous||e instanceof po||e.type!=n)return 1;let t=r7.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof _n)){t=1;break}t+=sg(n,r)}r7.set(e,t)}return t}function Bw(n,e,t,r,s,i,l,c,u){let h=0;for(let b=r;b=m)break;E+=z}if(M==_+1){if(E>m){let z=b[_];v(z.children,z.positions,0,z.children.length,O[_]+T);continue}p.push(b[_])}else{let z=O[M-1]+b[M-1].length-D;p.push(Bw(n,b,O,_,M,D,z,null,u))}x.push(D+T-i)}}return v(e,t,r,s,0),(c||u)(p,x,l)}class eX{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let s=this.map.get(e);s||this.map.set(e,s=new Map),s.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof da?this.setBuffer(e.context.buffer,e.index,t):e instanceof zs&&this.map.set(e.tree,t)}get(e){return e instanceof da?this.getBuffer(e.context.buffer,e.index):e instanceof zs?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class pc{constructor(e,t,r,s,i=!1,l=!1){this.from=e,this.to=t,this.tree=r,this.offset=s,this.open=(i?1:0)|(l?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let s=[new pc(0,e.length,e,0,!1,r)];for(let i of t)i.to>e.length&&s.push(i);return s}static applyChanges(e,t,r=128){if(!t.length)return e;let s=[],i=1,l=e.length?e[0]:null;for(let c=0,u=0,h=0;;c++){let m=c=r)for(;l&&l.from=x.from||p<=x.to||h){let v=Math.max(x.from,u)-h,b=Math.min(x.to,p)-h;x=v>=b?null:new pc(v,b,x.tree,x.offset+h,c>0,!!m)}if(x&&s.push(x),l.to>p)break;l=inew qy(s.from,s.to)):[new qy(0,0)]:[new qy(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let s=this.startParse(e,t,r);for(;;){let i=s.advance();if(i)return i}}};class tX{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new Et({perNode:!0});let nX=0;class vi{constructor(e,t,r,s){this.name=e,this.set=t,this.base=r,this.modified=s,this.id=nX++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r=typeof e=="string"?e:"?";if(e instanceof vi&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let s=new vi(r,[],null,[]);if(s.set.push(s),t)for(let i of t.set)s.set.push(i);return s}static defineModifier(e){let t=new _g(e);return r=>r.modified.indexOf(t)>-1?r:_g.get(r.base||r,r.modified.concat(t).sort((s,i)=>s.id-i.id))}}let rX=0;class _g{constructor(e){this.name=e,this.instances=[],this.id=rX++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(c=>c.base==e&&sX(t,c.modified));if(r)return r;let s=[],i=new vi(e.name,s,e,t);for(let c of t)c.instances.push(i);let l=iX(t);for(let c of e.set)if(!c.modified.length)for(let u of l)s.push(_g.get(c,u));return i}}function sX(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function iX(n){let e=[[]];for(let t=0;tr.length-t.length)}function Fw(n){let e=Object.create(null);for(let t in n){let r=n[t];Array.isArray(r)||(r=[r]);for(let s of t.split(" "))if(s){let i=[],l=2,c=s;for(let p=0;;){if(c=="..."&&p>0&&p+3==s.length){l=1;break}let x=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(c);if(!x)throw new RangeError("Invalid path: "+s);if(i.push(x[0]=="*"?"":x[0][0]=='"'?JSON.parse(x[0]):x[0]),p+=x[0].length,p==s.length)break;let v=s[p++];if(p==s.length&&v=="!"){l=0;break}if(v!="/")throw new RangeError("Invalid path: "+s);c=s.slice(p)}let u=i.length-1,h=i[u];if(!h)throw new RangeError("Invalid path: "+s);let m=new jf(r,l,u>0?i.slice(0,u):null);e[h]=m.sort(e[h])}}return rE.add(e)}const rE=new Et({combine(n,e){let t,r,s;for(;n||e;){if(!n||e&&n.depth>=e.depth?(s=e,e=e.next):(s=n,n=n.next),t&&t.mode==s.mode&&!s.context&&!t.context)continue;let i=new jf(s.tags,s.mode,s.context);t?t.next=i:r=i,t=i}return r}});class jf{constructor(e,t,r,s){this.tags=e,this.mode=t,this.context=r,this.next=s}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let l=s;for(let c of i)for(let u of c.set){let h=t[u.id];if(h){l=l?l+" "+h:h;break}}return l},scope:r}}function aX(n,e){let t=null;for(let r of n){let s=r.style(e);s&&(t=t?t+" "+s:s)}return t}function lX(n,e,t,r=0,s=n.length){let i=new oX(r,Array.isArray(e)?e:[e],t);i.highlightRange(n.cursor(),r,s,"",i.highlighters),i.flush(s)}class oX{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,s,i){let{type:l,from:c,to:u}=e;if(c>=r||u<=t)return;l.isTop&&(i=this.highlighters.filter(v=>!v.scope||v.scope(l)));let h=s,m=cX(e)||jf.empty,p=aX(i,m.tags);if(p&&(h&&(h+=" "),h+=p,m.mode==1&&(s+=(s?" ":"")+p)),this.startSpan(Math.max(t,c),h),m.opaque)return;let x=e.tree&&e.tree.prop(Et.mounted);if(x&&x.overlay){let v=e.node.enter(x.overlay[0].from+c,1),b=this.highlighters.filter(k=>!k.scope||k.scope(x.tree.type)),O=e.firstChild();for(let k=0,j=c;;k++){let T=k=M||!e.nextSibling())););if(!T||M>r)break;j=T.to+c,j>t&&(this.highlightRange(v.cursor(),Math.max(t,T.from+c),Math.min(r,j),"",b),this.startSpan(Math.min(r,j),h))}O&&e.parent()}else if(e.firstChild()){x&&(s="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,s,i),this.startSpan(Math.min(r,e.to),h)}while(e.nextSibling());e.parent()}}}function cX(n){let e=n.type.prop(rE);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const Ie=vi.define,pp=Ie(),Jl=Ie(),s7=Ie(Jl),i7=Ie(Jl),eo=Ie(),gp=Ie(eo),Qy=Ie(eo),na=Ie(),Ko=Ie(na),ea=Ie(),ta=Ie(),e4=Ie(),zh=Ie(e4),xp=Ie(),he={comment:pp,lineComment:Ie(pp),blockComment:Ie(pp),docComment:Ie(pp),name:Jl,variableName:Ie(Jl),typeName:s7,tagName:Ie(s7),propertyName:i7,attributeName:Ie(i7),className:Ie(Jl),labelName:Ie(Jl),namespace:Ie(Jl),macroName:Ie(Jl),literal:eo,string:gp,docString:Ie(gp),character:Ie(gp),attributeValue:Ie(gp),number:Qy,integer:Ie(Qy),float:Ie(Qy),bool:Ie(eo),regexp:Ie(eo),escape:Ie(eo),color:Ie(eo),url:Ie(eo),keyword:ea,self:Ie(ea),null:Ie(ea),atom:Ie(ea),unit:Ie(ea),modifier:Ie(ea),operatorKeyword:Ie(ea),controlKeyword:Ie(ea),definitionKeyword:Ie(ea),moduleKeyword:Ie(ea),operator:ta,derefOperator:Ie(ta),arithmeticOperator:Ie(ta),logicOperator:Ie(ta),bitwiseOperator:Ie(ta),compareOperator:Ie(ta),updateOperator:Ie(ta),definitionOperator:Ie(ta),typeOperator:Ie(ta),controlOperator:Ie(ta),punctuation:e4,separator:Ie(e4),bracket:zh,angleBracket:Ie(zh),squareBracket:Ie(zh),paren:Ie(zh),brace:Ie(zh),content:na,heading:Ko,heading1:Ie(Ko),heading2:Ie(Ko),heading3:Ie(Ko),heading4:Ie(Ko),heading5:Ie(Ko),heading6:Ie(Ko),contentSeparator:Ie(na),list:Ie(na),quote:Ie(na),emphasis:Ie(na),strong:Ie(na),link:Ie(na),monospace:Ie(na),strikethrough:Ie(na),inserted:Ie(),deleted:Ie(),changed:Ie(),invalid:Ie(),meta:xp,documentMeta:Ie(xp),annotation:Ie(xp),processingInstruction:Ie(xp),definition:vi.defineModifier("definition"),constant:vi.defineModifier("constant"),function:vi.defineModifier("function"),standard:vi.defineModifier("standard"),local:vi.defineModifier("local"),special:vi.defineModifier("special")};for(let n in he){let e=he[n];e instanceof vi&&(e.name=n)}sE([{tag:he.link,class:"tok-link"},{tag:he.heading,class:"tok-heading"},{tag:he.emphasis,class:"tok-emphasis"},{tag:he.strong,class:"tok-strong"},{tag:he.keyword,class:"tok-keyword"},{tag:he.atom,class:"tok-atom"},{tag:he.bool,class:"tok-bool"},{tag:he.url,class:"tok-url"},{tag:he.labelName,class:"tok-labelName"},{tag:he.inserted,class:"tok-inserted"},{tag:he.deleted,class:"tok-deleted"},{tag:he.literal,class:"tok-literal"},{tag:he.string,class:"tok-string"},{tag:he.number,class:"tok-number"},{tag:[he.regexp,he.escape,he.special(he.string)],class:"tok-string2"},{tag:he.variableName,class:"tok-variableName"},{tag:he.local(he.variableName),class:"tok-variableName tok-local"},{tag:he.definition(he.variableName),class:"tok-variableName tok-definition"},{tag:he.special(he.variableName),class:"tok-variableName2"},{tag:he.definition(he.propertyName),class:"tok-propertyName tok-definition"},{tag:he.typeName,class:"tok-typeName"},{tag:he.namespace,class:"tok-namespace"},{tag:he.className,class:"tok-className"},{tag:he.macroName,class:"tok-macroName"},{tag:he.propertyName,class:"tok-propertyName"},{tag:he.operator,class:"tok-operator"},{tag:he.comment,class:"tok-comment"},{tag:he.meta,class:"tok-meta"},{tag:he.invalid,class:"tok-invalid"},{tag:he.punctuation,class:"tok-punctuation"}]);var $y;const lc=new Et;function iE(n){return He.define({combine:n?e=>e.concat(n):void 0})}const uX=new Et;class bi{constructor(e,t,r=[],s=""){this.data=e,this.name=s,Vt.prototype.hasOwnProperty("tree")||Object.defineProperty(Vt.prototype,"tree",{get(){return zr(this)}}),this.parser=t,this.extension=[go.of(this),Vt.languageData.of((i,l,c)=>{let u=a7(i,l,c),h=u.type.prop(lc);if(!h)return[];let m=i.facet(h),p=u.type.prop(uX);if(p){let x=u.resolve(l-u.from,c);for(let v of p)if(v.test(x,i)){let b=i.facet(v.facet);return v.type=="replace"?b:b.concat(m)}}return m})].concat(r)}isActiveAt(e,t,r=-1){return a7(e,t,r).type.prop(lc)==this.data}findRegions(e){let t=e.facet(go);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],s=(i,l)=>{if(i.prop(lc)==this.data){r.push({from:l,to:l+i.length});return}let c=i.prop(Et.mounted);if(c){if(c.tree.prop(lc)==this.data){if(c.overlay)for(let u of c.overlay)r.push({from:u.from+l,to:u.to+l});else r.push({from:l,to:l+i.length});return}else if(c.overlay){let u=r.length;if(s(c.tree,c.overlay[0].from+l),r.length>u)return}}for(let u=0;ur.isTop?t:void 0)]}),e.name)}configure(e,t){return new Nf(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function zr(n){let e=n.field(bi.state,!1);return e?e.tree:_n.empty}class dX{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let Ph=null;class pd{constructor(e,t,r=[],s,i,l,c,u){this.parser=e,this.state=t,this.fragments=r,this.tree=s,this.treeLen=i,this.viewport=l,this.skipped=c,this.scheduleOn=u,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new pd(e,t,[],_n.empty,0,r,[],null)}startParse(){return this.parser.startParse(new dX(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=_n.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let s=Date.now()+e;e=()=>Date.now()>s}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(pc.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Ph;Ph=this;try{return e()}finally{Ph=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=l7(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:s,treeLen:i,viewport:l,skipped:c}=this;if(this.takeTree(),!e.empty){let u=[];if(e.iterChangedRanges((h,m,p,x)=>u.push({fromA:h,toA:m,fromB:p,toB:x})),r=pc.applyChanges(r,u),s=_n.empty,i=0,l={from:e.mapPos(l.from,-1),to:e.mapPos(l.to,1)},this.skipped.length){c=[];for(let h of this.skipped){let m=e.mapPos(h.from,1),p=e.mapPos(h.to,-1);me.from&&(this.fragments=l7(this.fragments,s,i),this.skipped.splice(r--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Iw{createParse(t,r,s){let i=s[0].from,l=s[s.length-1].to;return{parsedPos:i,advance(){let u=Ph;if(u){for(let h of s)u.tempSkipped.push(h);e&&(u.scheduleOn=u.scheduleOn?Promise.all([u.scheduleOn,e]):e)}return this.parsedPos=l,new _n(gs.none,[],[],l-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Ph}}function l7(n,e,t){return pc.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class gd{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new gd(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=pd.create(e.facet(go).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new gd(r)}}bi.state=Lr.define({create:gd.init,update(n,e){for(let t of e.effects)if(t.is(bi.setState))return t.value;return e.startState.facet(go)!=e.state.facet(go)?gd.init(e.state):n.apply(e)}});let aE=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(aE=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Hy=typeof navigator<"u"&&(!(($y=navigator.scheduling)===null||$y===void 0)&&$y.isInputPending)?()=>navigator.scheduling.isInputPending():null,hX=lr.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(bi.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(bi.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=aE(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnds+1e3,u=i.context.work(()=>Hy&&Hy()||Date.now()>l,s+(c?0:1e5));this.chunkBudget-=Date.now()-t,(u||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:bi.setState.of(new gd(i.context))})),this.chunkBudget>0&&!(u&&!c)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Es(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),go=He.define({combine(n){return n.length?n[0]:null},enables:n=>[bi.state,hX,Fe.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class lE{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const fX=He.define(),d0=He.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function Oc(n){let e=n.facet(d0);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Cf(n,e){let t="",r=n.tabSize,s=n.facet(d0)[0];if(s==" "){for(;e>=r;)t+=" ",e-=r;s=" "}for(let i=0;i=e?mX(n,t,e):null}class Cx{constructor(e,t={}){this.state=e,this.options=t,this.unit=Oc(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:i}=this.options;return s!=null&&s>=r.from&&s<=r.to?i&&s==e?{text:"",from:e}:(t<0?s-1&&(i+=l-this.countColumn(r,r.search(/\S|$/))),i}countColumn(e,t=e.length){return Md(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:s}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let l=i(s);if(l>-1)return l}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Tx=new Et;function mX(n,e,t){let r=e.resolveStack(t),s=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(s!=r.node){let i=[];for(let l=s;l&&!(l.fromr.node.to||l.from==r.node.from&&l.type==r.node.type);l=l.parent)i.push(l);for(let l=i.length-1;l>=0;l--)r={node:i[l],next:r}}return oE(r,n,t)}function oE(n,e,t){for(let r=n;r;r=r.next){let s=gX(r.node);if(s)return s(Qw.create(e,t,r))}return 0}function pX(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function gX(n){let e=n.type.prop(Tx);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(Et.closedBy))){let s=n.lastChild,i=s&&r.indexOf(s.name)>-1;return l=>cE(l,!0,1,void 0,i&&!pX(l)?s.from:void 0)}return n.parent==null?xX:null}function xX(){return 0}class Qw extends Cx{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new Qw(e,t,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(vX(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return oE(this.context.next,this.base,this.pos)}}function vX(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function yX(n){let e=n.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let s=n.options.simulateBreak,i=n.state.doc.lineAt(t.from),l=s==null||s<=i.from?i.to:Math.min(i.to,s);for(let c=t.to;;){let u=e.childAfter(c);if(!u||u==r)return null;if(!u.type.isSkipped){if(u.from>=l)return null;let h=/^ */.exec(i.text.slice(t.to-i.from))[0].length;return{from:t.from,to:t.to+h}}c=u.to}}function Uy({closing:n,align:e=!0,units:t=1}){return r=>cE(r,e,t,n)}function cE(n,e,t,r,s){let i=n.textAfter,l=i.match(/^\s*/)[0].length,c=r&&i.slice(l,l+r.length)==r||s==n.pos+l,u=e?yX(n):null;return u?c?n.column(u.from):n.column(u.to):n.baseIndent+(c?0:n.unit*t)}function o7({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const bX=200;function wX(){return Vt.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:r}=n.newSelection.main,s=t.lineAt(r);if(r>s.from+bX)return n;let i=t.sliceString(s.from,r);if(!e.some(h=>h.test(i)))return n;let{state:l}=n,c=-1,u=[];for(let{head:h}of l.selection.ranges){let m=l.doc.lineAt(h);if(m.from==c)continue;c=m.from;let p=qw(l,m.from);if(p==null)continue;let x=/^\s*/.exec(m.text)[0],v=Cf(l,p);x!=v&&u.push({from:m.from,to:m.from+x.length,insert:v})}return u.length?[n,{changes:u,sequential:!0}]:n})}const SX=He.define(),$w=new Et;function uE(n){let e=n.firstChild,t=n.lastChild;return e&&e.tot)continue;if(i&&c.from=e&&h.to>t&&(i=h)}}return i}function kX(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function Dg(n,e,t){for(let r of n.facet(SX)){let s=r(n,e,t);if(s)return s}return OX(n,e,t)}function dE(n,e){let t=e.mapPos(n.from,1),r=e.mapPos(n.to,-1);return t>=r?void 0:{from:t,to:r}}const Mx=xt.define({map:dE}),h0=xt.define({map:dE});function hE(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(r=>r.from<=t&&r.to>=t)||e.push(n.lineBlockAt(t));return e}const kc=Lr.define({create(){return Je.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,r)=>n=c7(n,t,r)),n=n.map(e.changes);for(let t of e.effects)if(t.is(Mx)&&!jX(n,t.value.from,t.value.to)){let{preparePlaceholder:r}=e.state.facet(pE),s=r?Je.replace({widget:new _X(r(e.state,t.value))}):u7;n=n.update({add:[s.range(t.value.from,t.value.to)]})}else t.is(h0)&&(n=n.update({filter:(r,s)=>t.value.from!=r||t.value.to!=s,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(n=c7(n,e.selection.main.head)),n},provide:n=>Fe.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(r,s)=>{t.push(r,s)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{se&&(r=!0)}),r?n.update({filterFrom:e,filterTo:t,filter:(s,i)=>s>=t||i<=e}):n}function Rg(n,e,t){var r;let s=null;return(r=n.field(kc,!1))===null||r===void 0||r.between(e,t,(i,l)=>{(!s||s.from>i)&&(s={from:i,to:l})}),s}function jX(n,e,t){let r=!1;return n.between(e,e,(s,i)=>{s==e&&i==t&&(r=!0)}),r}function fE(n,e){return n.field(kc,!1)?e:e.concat(xt.appendConfig.of(gE()))}const NX=n=>{for(let e of hE(n)){let t=Dg(n.state,e.from,e.to);if(t)return n.dispatch({effects:fE(n.state,[Mx.of(t),mE(n,t)])}),!0}return!1},CX=n=>{if(!n.state.field(kc,!1))return!1;let e=[];for(let t of hE(n)){let r=Rg(n.state,t.from,t.to);r&&e.push(h0.of(r),mE(n,r,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function mE(n,e,t=!0){let r=n.state.doc.lineAt(e.from).number,s=n.state.doc.lineAt(e.to).number;return Fe.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${n.state.phrase("to")} ${s}.`)}const TX=n=>{let{state:e}=n,t=[];for(let r=0;r{let e=n.state.field(kc,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(r,s)=>{t.push(h0.of({from:r,to:s}))}),n.dispatch({effects:t}),!0},AX=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:NX},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:CX},{key:"Ctrl-Alt-[",run:TX},{key:"Ctrl-Alt-]",run:MX}],EX={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},pE=He.define({combine(n){return Oa(n,EX)}});function gE(n){return[kc,zX]}function xE(n,e){let{state:t}=n,r=t.facet(pE),s=l=>{let c=n.lineBlockAt(n.posAtDOM(l.target)),u=Rg(n.state,c.from,c.to);u&&n.dispatch({effects:h0.of(u)}),l.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(n,s,e);let i=document.createElement("span");return i.textContent=r.placeholderText,i.setAttribute("aria-label",t.phrase("folded code")),i.title=t.phrase("unfold"),i.className="cm-foldPlaceholder",i.onclick=s,i}const u7=Je.replace({widget:new class extends ka{toDOM(n){return xE(n,null)}}});class _X extends ka{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return xE(e,this.value)}}const DX={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Vy extends pl{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function RX(n={}){let e={...DX,...n},t=new Vy(e,!0),r=new Vy(e,!1),s=lr.fromClass(class{constructor(l){this.from=l.viewport.from,this.markers=this.buildMarkers(l)}update(l){(l.docChanged||l.viewportChanged||l.startState.facet(go)!=l.state.facet(go)||l.startState.field(kc,!1)!=l.state.field(kc,!1)||zr(l.startState)!=zr(l.state)||e.foldingChanged(l))&&(this.markers=this.buildMarkers(l.view))}buildMarkers(l){let c=new fl;for(let u of l.viewportLineBlocks){let h=Rg(l.state,u.from,u.to)?r:Dg(l.state,u.from,u.to)?t:null;h&&c.add(u.from,u.from,h)}return c.finish()}}),{domEventHandlers:i}=e;return[s,LG({class:"cm-foldGutter",markers(l){var c;return((c=l.plugin(s))===null||c===void 0?void 0:c.markers)||Gt.empty},initialSpacer(){return new Vy(e,!1)},domEventHandlers:{...i,click:(l,c,u)=>{if(i.click&&i.click(l,c,u))return!0;let h=Rg(l.state,c.from,c.to);if(h)return l.dispatch({effects:h0.of(h)}),!0;let m=Dg(l.state,c.from,c.to);return m?(l.dispatch({effects:Mx.of(m)}),!0):!1}}}),gE()]}const zX=Fe.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class f0{constructor(e,t){this.specs=e;let r;function s(c){let u=ho.newName();return(r||(r=Object.create(null)))["."+u]=c,u}const i=typeof t.all=="string"?t.all:t.all?s(t.all):void 0,l=t.scope;this.scope=l instanceof bi?c=>c.prop(lc)==l.data:l?c=>c==l:void 0,this.style=sE(e.map(c=>({tag:c.tag,class:c.class||s(Object.assign({},c,{tag:null}))})),{all:i}).style,this.module=r?new ho(r):null,this.themeType=t.themeType}static define(e,t){return new f0(e,t||{})}}const t4=He.define(),vE=He.define({combine(n){return n.length?[n[0]]:null}});function Wy(n){let e=n.facet(t4);return e.length?e:n.facet(vE)}function yE(n,e){let t=[LX],r;return n instanceof f0&&(n.module&&t.push(Fe.styleModule.of(n.module)),r=n.themeType),e?.fallback?t.push(vE.of(n)):r?t.push(t4.computeN([Fe.darkTheme],s=>s.facet(Fe.darkTheme)==(r=="dark")?[n]:[])):t.push(t4.of(n)),t}class PX{constructor(e){this.markCache=Object.create(null),this.tree=zr(e.state),this.decorations=this.buildDeco(e,Wy(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=zr(e.state),r=Wy(e.state),s=r!=Wy(e.startState),{viewport:i}=e.view,l=e.changes.mapPos(this.decoratedTo,1);t.length=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=l):(t!=this.tree||e.viewportChanged||s)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=i.to)}buildDeco(e,t){if(!t||!this.tree.length)return Je.none;let r=new fl;for(let{from:s,to:i}of e.visibleRanges)lX(this.tree,t,(l,c,u)=>{r.add(l,c,this.markCache[u]||(this.markCache[u]=Je.mark({class:u})))},s,i);return r.finish()}}const LX=jo.high(lr.fromClass(PX,{decorations:n=>n.decorations})),BX=f0.define([{tag:he.meta,color:"#404740"},{tag:he.link,textDecoration:"underline"},{tag:he.heading,textDecoration:"underline",fontWeight:"bold"},{tag:he.emphasis,fontStyle:"italic"},{tag:he.strong,fontWeight:"bold"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:he.keyword,color:"#708"},{tag:[he.atom,he.bool,he.url,he.contentSeparator,he.labelName],color:"#219"},{tag:[he.literal,he.inserted],color:"#164"},{tag:[he.string,he.deleted],color:"#a11"},{tag:[he.regexp,he.escape,he.special(he.string)],color:"#e40"},{tag:he.definition(he.variableName),color:"#00f"},{tag:he.local(he.variableName),color:"#30a"},{tag:[he.typeName,he.namespace],color:"#085"},{tag:he.className,color:"#167"},{tag:[he.special(he.variableName),he.macroName],color:"#256"},{tag:he.definition(he.propertyName),color:"#00c"},{tag:he.comment,color:"#940"},{tag:he.invalid,color:"#f00"}]),IX=Fe.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),bE=1e4,wE="()[]{}",SE=He.define({combine(n){return Oa(n,{afterCursor:!0,brackets:wE,maxScanDistance:bE,renderMatch:QX})}}),FX=Je.mark({class:"cm-matchingBracket"}),qX=Je.mark({class:"cm-nonmatchingBracket"});function QX(n){let e=[],t=n.matched?FX:qX;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}const $X=Lr.define({create(){return Je.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],r=e.state.facet(SE);for(let s of e.state.selection.ranges){if(!s.empty)continue;let i=ha(e.state,s.head,-1,r)||s.head>0&&ha(e.state,s.head-1,1,r)||r.afterCursor&&(ha(e.state,s.head,1,r)||s.headFe.decorations.from(n)}),HX=[$X,IX];function UX(n={}){return[SE.of(n),HX]}const VX=new Et;function n4(n,e,t){let r=n.prop(e<0?Et.openedBy:Et.closedBy);if(r)return r;if(n.name.length==1){let s=t.indexOf(n.name);if(s>-1&&s%2==(e<0?1:0))return[t[s+e]]}return null}function r4(n){let e=n.type.prop(VX);return e?e(n.node):n}function ha(n,e,t,r={}){let s=r.maxScanDistance||bE,i=r.brackets||wE,l=zr(n),c=l.resolveInner(e,t);for(let u=c;u;u=u.parent){let h=n4(u.type,t,i);if(h&&u.from0?e>=m.from&&em.from&&e<=m.to))return WX(n,e,t,u,m,h,i)}}return GX(n,e,t,l,c.type,s,i)}function WX(n,e,t,r,s,i,l){let c=r.parent,u={from:s.from,to:s.to},h=0,m=c?.cursor();if(m&&(t<0?m.childBefore(r.from):m.childAfter(r.to)))do if(t<0?m.to<=r.from:m.from>=r.to){if(h==0&&i.indexOf(m.type.name)>-1&&m.from0)return null;let h={from:t<0?e-1:e,to:t>0?e+1:e},m=n.doc.iterRange(e,t>0?n.doc.length:0),p=0;for(let x=0;!m.next().done&&x<=i;){let v=m.value;t<0&&(x+=v.length);let b=e+x*t;for(let O=t>0?0:v.length-1,k=t>0?v.length:-1;O!=k;O+=t){let j=l.indexOf(v[O]);if(!(j<0||r.resolveInner(b+O,1).type!=s))if(j%2==0==t>0)p++;else{if(p==1)return{start:h,end:{from:b+O,to:b+O+1},matched:j>>1==u>>1};p--}}t>0&&(x+=v.length)}return m.done?{start:h,matched:!1}:null}function d7(n,e,t,r=0,s=0){e==null&&(e=n.search(/[^\s\u00a0]/),e==-1&&(e=n.length));let i=s;for(let l=r;l=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosr?l.toLowerCase():l,i=this.string.substr(this.pos,e.length);return s(i)==s(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let s=this.string.slice(this.pos).match(e);return s&&s.index>0?null:(s&&t!==!1&&(this.pos+=s[0].length),s)}}current(){return this.string.slice(this.start,this.pos)}}function XX(n){return{name:n.name||"",token:n.token,blankLine:n.blankLine||(()=>{}),startState:n.startState||(()=>!0),copyState:n.copyState||YX,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||Vw,mergeTokens:n.mergeTokens!==!1}}function YX(n){if(typeof n!="object")return n;let e={};for(let t in n){let r=n[t];e[t]=r instanceof Array?r.slice():r}return e}const h7=new WeakMap;class Hw extends bi{constructor(e){let t=iE(e.languageData),r=XX(e),s,i=new class extends Iw{createParse(l,c,u){return new ZX(s,l,c,u)}};super(t,i,[],e.name),this.topNode=tY(t,this),s=this,this.streamParser=r,this.stateAfter=new Et({perNode:!0}),this.tokenTable=e.tokenTable?new CE(r.tokenTable):eY}static define(e){return new Hw(e)}getIndent(e){let t,{overrideIndentation:r}=e.options;r&&(t=h7.get(e.state),t!=null&&t1e4)return null;for(;i=r&&t+e.length<=s&&e.prop(n.stateAfter);if(i)return{state:n.streamParser.copyState(i),pos:t+e.length};for(let l=e.children.length-1;l>=0;l--){let c=e.children[l],u=t+e.positions[l],h=c instanceof _n&&u=e.length)return e;!s&&t==0&&e.type==n.topNode&&(s=!0);for(let i=e.children.length-1;i>=0;i--){let l=e.positions[i],c=e.children[i],u;if(lt&&Uw(n,i.tree,0-i.offset,t,c),h;if(u&&u.pos<=r&&(h=kE(n,i.tree,t+i.offset,u.pos+i.offset,!1)))return{state:u.state,tree:h}}return{state:n.streamParser.startState(s?Oc(s):4),tree:_n.empty}}let ZX=class{constructor(e,t,r,s){this.lang=e,this.input=t,this.fragments=r,this.ranges=s,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=s[s.length-1].to;let i=pd.get(),l=s[0].from,{state:c,tree:u}=KX(e,r,l,this.to,i?.state);this.state=c,this.parsedPos=this.chunkStart=l+u.length;for(let h=0;hh.from<=i.viewport.from&&h.to>=i.viewport.from)&&(this.state=this.lang.streamParser.startState(Oc(i.state)),i.skipUntilInView(this.parsedPos,i.viewport.from),this.parsedPos=i.viewport.from),this.moveRangeIndex()}advance(){let e=pd.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),r=Math.min(t,this.chunkStart+512);for(e&&(r=Math.min(r,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` -`&&(t="");else{let r=t.indexOf(` -`);r>-1&&(t=t.slice(0,r))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),r=e+t.length;for(let s=this.rangeIndex;;){let i=this.ranges[s].to;if(i>=r||(t=t.slice(0,i-(r-t.length)),s++,s==this.ranges.length))break;let l=this.ranges[s].from,c=this.lineAfter(l);t+=c,r=l+c.length}return{line:t,end:r}}skipGapsTo(e,t,r){for(;;){let s=this.ranges[this.rangeIndex].to,i=e+t;if(r>0?s>i:s>=i)break;let l=this.ranges[++this.rangeIndex].from;t+=l-s}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){s=this.skipGapsTo(t,s,1),t+=s;let c=this.chunk.length;s=this.skipGapsTo(r,s,-1),r+=s,i+=this.chunk.length-c}let l=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&i==4&&l>=0&&this.chunk[l]==e&&this.chunk[l+2]==t?this.chunk[l+2]=r:this.chunk.push(e,t,r,i),s}parseLine(e){let{line:t,end:r}=this.nextLine(),s=0,{streamParser:i}=this.lang,l=new OE(t,e?e.state.tabSize:4,e?Oc(e.state):2);if(l.eol())i.blankLine(this.state,l.indentUnit);else for(;!l.eol();){let c=jE(i.token,l,this.state);if(c&&(s=this.emitToken(this.lang.tokenTable.resolve(c),this.parsedPos+l.start,this.parsedPos+l.pos,s)),l.start>1e4)break}this.parsedPos=r,this.moveRangeIndex(),this.parsedPose.start)return s}throw new Error("Stream parser failed to advance stream.")}const Vw=Object.create(null),Tf=[gs.none],JX=new Nx(Tf),f7=[],m7=Object.create(null),NE=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])NE[n]=TE(Vw,e);class CE{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),NE)}resolve(e){return e?this.table[e]||(this.table[e]=TE(this.extra,e)):0}}const eY=new CE(Vw);function Gy(n,e){f7.indexOf(n)>-1||(f7.push(n),console.warn(e))}function TE(n,e){let t=[];for(let c of e.split(" ")){let u=[];for(let h of c.split(".")){let m=n[h]||he[h];m?typeof m=="function"?u.length?u=u.map(m):Gy(h,`Modifier ${h} used at start of tag`):u.length?Gy(h,`Tag ${h} used as modifier`):u=Array.isArray(m)?m:[m]:Gy(h,`Unknown highlighting tag ${h}`)}for(let h of u)t.push(h)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),s=r+" "+t.map(c=>c.id),i=m7[s];if(i)return i.id;let l=m7[s]=gs.define({id:Tf.length,name:r,props:[Fw({[r]:t})]});return Tf.push(l),l.id}function tY(n,e){let t=gs.define({id:Tf.length,name:"Document",props:[lc.add(()=>n),Tx.add(()=>r=>e.getIndent(r))],top:!0});return Tf.push(t),t}Hn.RTL,Hn.LTR;const nY=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=Gw(n.state,t.from);return r.line?rY(n):r.block?iY(n):!1};function Ww(n,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let s=n(e,t);return s?(r(t.update(s)),!0):!1}}const rY=Ww(oY,0),sY=Ww(ME,0),iY=Ww((n,e)=>ME(n,e,lY(e)),0);function Gw(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const Lh=50;function aY(n,{open:e,close:t},r,s){let i=n.sliceDoc(r-Lh,r),l=n.sliceDoc(s,s+Lh),c=/\s*$/.exec(i)[0].length,u=/^\s*/.exec(l)[0].length,h=i.length-c;if(i.slice(h-e.length,h)==e&&l.slice(u,u+t.length)==t)return{open:{pos:r-c,margin:c&&1},close:{pos:s+u,margin:u&&1}};let m,p;s-r<=2*Lh?m=p=n.sliceDoc(r,s):(m=n.sliceDoc(r,r+Lh),p=n.sliceDoc(s-Lh,s));let x=/^\s*/.exec(m)[0].length,v=/\s*$/.exec(p)[0].length,b=p.length-v-t.length;return m.slice(x,x+e.length)==e&&p.slice(b,b+t.length)==t?{open:{pos:r+x+e.length,margin:/\s/.test(m.charAt(x+e.length))?1:0},close:{pos:s-v-t.length,margin:/\s/.test(p.charAt(b-1))?1:0}}:null}function lY(n){let e=[];for(let t of n.selection.ranges){let r=n.doc.lineAt(t.from),s=t.to<=r.to?r:n.doc.lineAt(t.to);s.from>r.from&&s.from==t.to&&(s=t.to==r.to+1?r:n.doc.lineAt(t.to-1));let i=e.length-1;i>=0&&e[i].to>r.from?e[i].to=s.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:s.to})}return e}function ME(n,e,t=e.selection.ranges){let r=t.map(i=>Gw(e,i.from).block);if(!r.every(i=>i))return null;let s=t.map((i,l)=>aY(e,r[l],i.from,i.to));if(n!=2&&!s.every(i=>i))return{changes:e.changes(t.map((i,l)=>s[l]?[]:[{from:i.from,insert:r[l].open+" "},{from:i.to,insert:" "+r[l].close}]))};if(n!=1&&s.some(i=>i)){let i=[];for(let l=0,c;ls&&(i==l||l>p.from)){s=p.from;let x=/^\s*/.exec(p.text)[0].length,v=x==p.length,b=p.text.slice(x,x+h.length)==h?x:-1;xi.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:c,token:u,indent:h,empty:m,single:p}of r)(p||!m)&&i.push({from:c.from+h,insert:u+" "});let l=e.changes(i);return{changes:l,selection:e.selection.map(l,1)}}else if(n!=1&&r.some(i=>i.comment>=0)){let i=[];for(let{line:l,comment:c,token:u}of r)if(c>=0){let h=l.from+c,m=h+u.length;l.text[m-l.from]==" "&&m++,i.push({from:h,to:m})}return{changes:i}}return null}const s4=Sa.define(),cY=Sa.define(),uY=He.define(),AE=He.define({combine(n){return Oa(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,s)=>e(r,s)||t(r,s)})}}),EE=Lr.define({create(){return fa.empty},update(n,e){let t=e.state.facet(AE),r=e.annotation(s4);if(r){let u=_s.fromTransaction(e,r.selection),h=r.side,m=h==0?n.undone:n.done;return u?m=zg(m,m.length,t.minDepth,u):m=RE(m,e.startState.selection),new fa(h==0?r.rest:m,h==0?m:r.rest)}let s=e.annotation(cY);if((s=="full"||s=="before")&&(n=n.isolate()),e.annotation(gr.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let i=_s.fromTransaction(e),l=e.annotation(gr.time),c=e.annotation(gr.userEvent);return i?n=n.addChanges(i,l,c,t,e):e.selection&&(n=n.addSelection(e.startState.selection,l,c,t.newGroupDelay)),(s=="full"||s=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new fa(n.done.map(_s.fromJSON),n.undone.map(_s.fromJSON))}});function dY(n={}){return[EE,AE.of(n),Fe.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?_E:e.inputType=="historyRedo"?i4:null;return r?(e.preventDefault(),r(t)):!1}})]}function Ax(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let s=t.field(EE,!1);if(!s)return!1;let i=s.pop(n,t,e);return i?(r(i),!0):!1}}const _E=Ax(0,!1),i4=Ax(1,!1),hY=Ax(0,!0),fY=Ax(1,!0);class _s{constructor(e,t,r,s,i){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=s,this.selectionsAfter=i}setSelAfter(e){return new _s(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(e){return new _s(e.changes&&Or.fromJSON(e.changes),[],e.mapped&&xa.fromJSON(e.mapped),e.startSelection&&Ce.fromJSON(e.startSelection),e.selectionsAfter.map(Ce.fromJSON))}static fromTransaction(e,t){let r=wi;for(let s of e.startState.facet(uY)){let i=s(e);i.length&&(r=r.concat(i))}return!r.length&&e.changes.empty?null:new _s(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,wi)}static selection(e){return new _s(void 0,wi,void 0,void 0,e)}}function zg(n,e,t,r){let s=e+1>t+20?e-t-1:0,i=n.slice(s,e);return i.push(r),i}function mY(n,e){let t=[],r=!1;return n.iterChangedRanges((s,i)=>t.push(s,i)),e.iterChangedRanges((s,i,l,c)=>{for(let u=0;u=h&&l<=m&&(r=!0)}}),r}function pY(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function DE(n,e){return n.length?e.length?n.concat(e):n:e}const wi=[],gY=200;function RE(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-gY));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),zg(n,n.length-1,1e9,t.setSelAfter(r)))}else return[_s.selection([e])]}function xY(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Xy(n,e){if(!n.length)return n;let t=n.length,r=wi;for(;t;){let s=vY(n[t-1],e,r);if(s.changes&&!s.changes.empty||s.effects.length){let i=n.slice(0,t);return i[t-1]=s,i}else e=s.mapped,t--,r=s.selectionsAfter}return r.length?[_s.selection(r)]:wi}function vY(n,e,t){let r=DE(n.selectionsAfter.length?n.selectionsAfter.map(c=>c.map(e)):wi,t);if(!n.changes)return _s.selection(r);let s=n.changes.map(e),i=e.mapDesc(n.changes,!0),l=n.mapped?n.mapped.composeDesc(i):i;return new _s(s,xt.mapEffects(n.effects,e),l,n.startSelection.map(i),r)}const yY=/^(input\.type|delete)($|\.)/;class fa{constructor(e,t,r=0,s=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=s}isolate(){return this.prevTime?new fa(this.done,this.undone):this}addChanges(e,t,r,s,i){let l=this.done,c=l[l.length-1];return c&&c.changes&&!c.changes.empty&&e.changes&&(!r||yY.test(r))&&(!c.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):Ex(t,e))}function is(n){return n.textDirectionAt(n.state.selection.main.head)==Hn.LTR}const PE=n=>zE(n,!is(n)),LE=n=>zE(n,is(n));function BE(n,e){return Wi(n,t=>t.empty?n.moveByGroup(t,e):Ex(t,e))}const wY=n=>BE(n,!is(n)),SY=n=>BE(n,is(n));function OY(n,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function _x(n,e,t){let r=zr(n).resolveInner(e.head),s=t?Et.closedBy:Et.openedBy;for(let u=e.head;;){let h=t?r.childAfter(u):r.childBefore(u);if(!h)break;OY(n,h,s)?r=h:u=t?h.to:h.from}let i=r.type.prop(s),l,c;return i&&(l=t?ha(n,r.from,1):ha(n,r.to,-1))&&l.matched?c=t?l.end.to:l.end.from:c=t?r.to:r.from,Ce.cursor(c,t?-1:1)}const kY=n=>Wi(n,e=>_x(n.state,e,!is(n))),jY=n=>Wi(n,e=>_x(n.state,e,is(n)));function IE(n,e){return Wi(n,t=>{if(!t.empty)return Ex(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}const FE=n=>IE(n,!1),qE=n=>IE(n,!0);function QE(n){let e=n.scrollDOM.clientHeightl.empty?n.moveVertically(l,e,t.height):Ex(l,e));if(s.eq(r.selection))return!1;let i;if(t.selfScroll){let l=n.coordsAtPos(r.selection.main.head),c=n.scrollDOM.getBoundingClientRect(),u=c.top+t.marginTop,h=c.bottom-t.marginBottom;l&&l.top>u&&l.bottom$E(n,!1),a4=n=>$E(n,!0);function No(n,e,t){let r=n.lineBlockAt(e.head),s=n.moveToLineBoundary(e,t);if(s.head==e.head&&s.head!=(t?r.to:r.from)&&(s=n.moveToLineBoundary(e,t,!1)),!t&&s.head==r.from&&r.length){let i=/^\s*/.exec(n.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;i&&e.head!=r.from+i&&(s=Ce.cursor(r.from+i))}return s}const NY=n=>Wi(n,e=>No(n,e,!0)),CY=n=>Wi(n,e=>No(n,e,!1)),TY=n=>Wi(n,e=>No(n,e,!is(n))),MY=n=>Wi(n,e=>No(n,e,is(n))),AY=n=>Wi(n,e=>Ce.cursor(n.lineBlockAt(e.head).from,1)),EY=n=>Wi(n,e=>Ce.cursor(n.lineBlockAt(e.head).to,-1));function _Y(n,e,t){let r=!1,s=Ad(n.selection,i=>{let l=ha(n,i.head,-1)||ha(n,i.head,1)||i.head>0&&ha(n,i.head-1,1)||i.head_Y(n,e);function Ei(n,e){let t=Ad(n.state.selection,r=>{let s=e(r);return Ce.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(Vi(n.state,t)),!0)}function HE(n,e){return Ei(n,t=>n.moveByChar(t,e))}const UE=n=>HE(n,!is(n)),VE=n=>HE(n,is(n));function WE(n,e){return Ei(n,t=>n.moveByGroup(t,e))}const RY=n=>WE(n,!is(n)),zY=n=>WE(n,is(n)),PY=n=>Ei(n,e=>_x(n.state,e,!is(n))),LY=n=>Ei(n,e=>_x(n.state,e,is(n)));function GE(n,e){return Ei(n,t=>n.moveVertically(t,e))}const XE=n=>GE(n,!1),YE=n=>GE(n,!0);function KE(n,e){return Ei(n,t=>n.moveVertically(t,e,QE(n).height))}const g7=n=>KE(n,!1),x7=n=>KE(n,!0),BY=n=>Ei(n,e=>No(n,e,!0)),IY=n=>Ei(n,e=>No(n,e,!1)),FY=n=>Ei(n,e=>No(n,e,!is(n))),qY=n=>Ei(n,e=>No(n,e,is(n))),QY=n=>Ei(n,e=>Ce.cursor(n.lineBlockAt(e.head).from)),$Y=n=>Ei(n,e=>Ce.cursor(n.lineBlockAt(e.head).to)),v7=({state:n,dispatch:e})=>(e(Vi(n,{anchor:0})),!0),y7=({state:n,dispatch:e})=>(e(Vi(n,{anchor:n.doc.length})),!0),b7=({state:n,dispatch:e})=>(e(Vi(n,{anchor:n.selection.main.anchor,head:0})),!0),w7=({state:n,dispatch:e})=>(e(Vi(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),HY=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),UY=({state:n,dispatch:e})=>{let t=Dx(n).map(({from:r,to:s})=>Ce.range(r,Math.min(s+1,n.doc.length)));return e(n.update({selection:Ce.create(t),userEvent:"select"})),!0},VY=({state:n,dispatch:e})=>{let t=Ad(n.selection,r=>{let s=zr(n),i=s.resolveStack(r.from,1);if(r.empty){let l=s.resolveStack(r.from,-1);l.node.from>=i.node.from&&l.node.to<=i.node.to&&(i=l)}for(let l=i;l;l=l.next){let{node:c}=l;if((c.from=r.to||c.to>r.to&&c.from<=r.from)&&l.next)return Ce.range(c.to,c.from)}return r});return t.eq(n.selection)?!1:(e(Vi(n,t)),!0)};function ZE(n,e){let{state:t}=n,r=t.selection,s=t.selection.ranges.slice();for(let i of t.selection.ranges){let l=t.doc.lineAt(i.head);if(e?l.to0)for(let c=i;;){let u=n.moveVertically(c,e);if(u.headl.to){s.some(h=>h.head==u.head)||s.push(u);break}else{if(u.head==c.head)break;c=u}}}return s.length==r.ranges.length?!1:(n.dispatch(Vi(t,Ce.create(s,s.length-1))),!0)}const WY=n=>ZE(n,!1),GY=n=>ZE(n,!0),XY=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=Ce.create([t.main]):t.main.empty||(r=Ce.create([Ce.cursor(t.main.head)])),r?(e(Vi(n,r)),!0):!1};function m0(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:r}=n,s=r.changeByRange(i=>{let{from:l,to:c}=i;if(l==c){let u=e(i);ul&&(t="delete.forward",u=vp(n,u,!0)),l=Math.min(l,u),c=Math.max(c,u)}else l=vp(n,l,!1),c=vp(n,c,!0);return l==c?{range:i}:{changes:{from:l,to:c},range:Ce.cursor(l,ls(n)))r.between(e,e,(s,i)=>{se&&(e=t?i:s)});return e}const JE=(n,e,t)=>m0(n,r=>{let s=r.from,{state:i}=n,l=i.doc.lineAt(s),c,u;if(t&&!e&&s>l.from&&sJE(n,!1,!0),e_=n=>JE(n,!0,!1),t_=(n,e)=>m0(n,t=>{let r=t.head,{state:s}=n,i=s.doc.lineAt(r),l=s.charCategorizer(r);for(let c=null;;){if(r==(e?i.to:i.from)){r==t.head&&i.number!=(e?s.doc.lines:1)&&(r+=e?1:-1);break}let u=Vr(i.text,r-i.from,e)+i.from,h=i.text.slice(Math.min(r,u)-i.from,Math.max(r,u)-i.from),m=l(h);if(c!=null&&m!=c)break;(h!=" "||r!=t.head)&&(c=m),r=u}return r}),n_=n=>t_(n,!1),YY=n=>t_(n,!0),KY=n=>m0(n,e=>{let t=n.lineBlockAt(e.head).to;return e.headm0(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),JY=n=>m0(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:Wt.of(["",""])},range:Ce.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},tK=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>{if(!r.empty||r.from==0||r.from==n.doc.length)return{range:r};let s=r.from,i=n.doc.lineAt(s),l=s==i.from?s-1:Vr(i.text,s-i.from,!1)+i.from,c=s==i.to?s+1:Vr(i.text,s-i.from,!0)+i.from;return{changes:{from:l,to:c,insert:n.doc.slice(s,c).append(n.doc.slice(l,s))},range:Ce.cursor(c)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Dx(n){let e=[],t=-1;for(let r of n.selection.ranges){let s=n.doc.lineAt(r.from),i=n.doc.lineAt(r.to);if(!r.empty&&r.to==i.from&&(i=n.doc.lineAt(r.to-1)),t>=s.number){let l=e[e.length-1];l.to=i.to,l.ranges.push(r)}else e.push({from:s.from,to:i.to,ranges:[r]});t=i.number+1}return e}function r_(n,e,t){if(n.readOnly)return!1;let r=[],s=[];for(let i of Dx(n)){if(t?i.to==n.doc.length:i.from==0)continue;let l=n.doc.lineAt(t?i.to+1:i.from-1),c=l.length+1;if(t){r.push({from:i.to,to:l.to},{from:i.from,insert:l.text+n.lineBreak});for(let u of i.ranges)s.push(Ce.range(Math.min(n.doc.length,u.anchor+c),Math.min(n.doc.length,u.head+c)))}else{r.push({from:l.from,to:i.from},{from:i.to,insert:n.lineBreak+l.text});for(let u of i.ranges)s.push(Ce.range(u.anchor-c,u.head-c))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:Ce.create(s,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const nK=({state:n,dispatch:e})=>r_(n,e,!1),rK=({state:n,dispatch:e})=>r_(n,e,!0);function s_(n,e,t){if(n.readOnly)return!1;let r=[];for(let s of Dx(n))t?r.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):r.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});return e(n.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const sK=({state:n,dispatch:e})=>s_(n,e,!1),iK=({state:n,dispatch:e})=>s_(n,e,!0),aK=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(Dx(e).map(({from:s,to:i})=>(s>0?s--:i{let i;if(n.lineWrapping){let l=n.lineBlockAt(s.head),c=n.coordsAtPos(s.head,s.assoc||1);c&&(i=l.bottom+n.documentTop-c.bottom+n.defaultLineHeight/2)}return n.moveVertically(s,!0,i)}).map(t);return n.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function lK(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=zr(n).resolveInner(e),r=t.childBefore(e),s=t.childAfter(e),i;return r&&s&&r.to<=e&&s.from>=e&&(i=r.type.prop(Et.closedBy))&&i.indexOf(s.name)>-1&&n.doc.lineAt(r.to).from==n.doc.lineAt(s.from).from&&!/\S/.test(n.sliceDoc(r.to,s.from))?{from:r.to,to:s.from}:null}const S7=i_(!1),oK=i_(!0);function i_(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(s=>{let{from:i,to:l}=s,c=e.doc.lineAt(i),u=!n&&i==l&&lK(e,i);n&&(i=l=(l<=c.to?c:e.doc.lineAt(l)).to);let h=new Cx(e,{simulateBreak:i,simulateDoubleBreak:!!u}),m=qw(h,i);for(m==null&&(m=Md(/^\s*/.exec(e.doc.lineAt(i).text)[0],e.tabSize));lc.from&&i{let s=[];for(let l=r.from;l<=r.to;){let c=n.doc.lineAt(l);c.number>t&&(r.empty||r.to>c.from)&&(e(c,s,r),t=c.number),l=c.to+1}let i=n.changes(s);return{changes:s,range:Ce.range(i.mapPos(r.anchor,1),i.mapPos(r.head,1))}})}const cK=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new Cx(n,{overrideIndentation:i=>{let l=t[i];return l??-1}}),s=Xw(n,(i,l,c)=>{let u=qw(r,i.from);if(u==null)return;/\S/.test(i.text)||(u=0);let h=/^\s*/.exec(i.text)[0],m=Cf(n,u);(h!=m||c.fromn.readOnly?!1:(e(n.update(Xw(n,(t,r)=>{r.push({from:t.from,insert:n.facet(d0)})}),{userEvent:"input.indent"})),!0),l_=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Xw(n,(t,r)=>{let s=/^\s*/.exec(t.text)[0];if(!s)return;let i=Md(s,n.tabSize),l=0,c=Cf(n,Math.max(0,i-Oc(n)));for(;l(n.setTabFocusMode(),!0),dK=[{key:"Ctrl-b",run:PE,shift:UE,preventDefault:!0},{key:"Ctrl-f",run:LE,shift:VE},{key:"Ctrl-p",run:FE,shift:XE},{key:"Ctrl-n",run:qE,shift:YE},{key:"Ctrl-a",run:AY,shift:QY},{key:"Ctrl-e",run:EY,shift:$Y},{key:"Ctrl-d",run:e_},{key:"Ctrl-h",run:l4},{key:"Ctrl-k",run:KY},{key:"Ctrl-Alt-h",run:n_},{key:"Ctrl-o",run:eK},{key:"Ctrl-t",run:tK},{key:"Ctrl-v",run:a4}],hK=[{key:"ArrowLeft",run:PE,shift:UE,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:wY,shift:RY,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:TY,shift:FY,preventDefault:!0},{key:"ArrowRight",run:LE,shift:VE,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:SY,shift:zY,preventDefault:!0},{mac:"Cmd-ArrowRight",run:MY,shift:qY,preventDefault:!0},{key:"ArrowUp",run:FE,shift:XE,preventDefault:!0},{mac:"Cmd-ArrowUp",run:v7,shift:b7},{mac:"Ctrl-ArrowUp",run:p7,shift:g7},{key:"ArrowDown",run:qE,shift:YE,preventDefault:!0},{mac:"Cmd-ArrowDown",run:y7,shift:w7},{mac:"Ctrl-ArrowDown",run:a4,shift:x7},{key:"PageUp",run:p7,shift:g7},{key:"PageDown",run:a4,shift:x7},{key:"Home",run:CY,shift:IY,preventDefault:!0},{key:"Mod-Home",run:v7,shift:b7},{key:"End",run:NY,shift:BY,preventDefault:!0},{key:"Mod-End",run:y7,shift:w7},{key:"Enter",run:S7,shift:S7},{key:"Mod-a",run:HY},{key:"Backspace",run:l4,shift:l4,preventDefault:!0},{key:"Delete",run:e_,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:n_,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:YY,preventDefault:!0},{mac:"Mod-Backspace",run:ZY,preventDefault:!0},{mac:"Mod-Delete",run:JY,preventDefault:!0}].concat(dK.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),fK=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:kY,shift:PY},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:jY,shift:LY},{key:"Alt-ArrowUp",run:nK},{key:"Shift-Alt-ArrowUp",run:sK},{key:"Alt-ArrowDown",run:rK},{key:"Shift-Alt-ArrowDown",run:iK},{key:"Mod-Alt-ArrowUp",run:WY},{key:"Mod-Alt-ArrowDown",run:GY},{key:"Escape",run:XY},{key:"Mod-Enter",run:oK},{key:"Alt-l",mac:"Ctrl-l",run:UY},{key:"Mod-i",run:VY,preventDefault:!0},{key:"Mod-[",run:l_},{key:"Mod-]",run:a_},{key:"Mod-Alt-\\",run:cK},{key:"Shift-Mod-k",run:aK},{key:"Shift-Mod-\\",run:DY},{key:"Mod-/",run:nY},{key:"Alt-A",run:sY},{key:"Ctrl-m",mac:"Shift-Alt-m",run:uK}].concat(hK),mK={key:"Tab",run:a_,shift:l_},O7=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class xd{constructor(e,t,r=0,s=e.length,i,l){this.test=l,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,s),this.bufferStart=r,this.normalize=i?c=>i(O7(c)):O7,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Ms(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=ww(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=aa(e);let s=this.normalize(t);if(s.length)for(let i=0,l=r;;i++){let c=s.charCodeAt(i),u=this.match(c,l,this.bufferPos+this.bufferStart);if(i==s.length-1){if(u)return this.value=u,this;break}l==r&&ithis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,s=r+t[0].length;if(this.matchPos=Pg(this.text,s+(r==s?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(rthis.value.to)&&(!this.test||this.test(r,s,t)))return this.value={from:r,to:s,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=r||s.to<=t){let c=new Ku(t,e.sliceString(t,r));return Yy.set(e,c),c}if(s.from==t&&s.to==r)return s;let{text:i,from:l}=s;return l>t&&(i=e.sliceString(t,l)+i,l=t),s.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let r=this.flat.from+t.index,s=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,s,t)))return this.value={from:r,to:s,match:t},this.matchPos=Pg(this.text,s+(r==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ku.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(c_.prototype[Symbol.iterator]=u_.prototype[Symbol.iterator]=function(){return this});function pK(n){try{return new RegExp(n,Yw),!0}catch{return!1}}function Pg(n,e){if(e>=n.length)return e;let t=n.lineAt(e),r;for(;e=56320&&r<57344;)e++;return e}function o4(n){let e=String(n.state.doc.lineAt(n.state.selection.main.head).number),t=An("input",{class:"cm-textfield",name:"line",value:e}),r=An("form",{class:"cm-gotoLine",onkeydown:i=>{i.keyCode==27?(i.preventDefault(),n.dispatch({effects:af.of(!1)}),n.focus()):i.keyCode==13&&(i.preventDefault(),s())},onsubmit:i=>{i.preventDefault(),s()}},An("label",n.state.phrase("Go to line"),": ",t)," ",An("button",{class:"cm-button",type:"submit"},n.state.phrase("go")),An("button",{name:"close",onclick:()=>{n.dispatch({effects:af.of(!1)}),n.focus()},"aria-label":n.state.phrase("close"),type:"button"},["×"]));function s(){let i=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!i)return;let{state:l}=n,c=l.doc.lineAt(l.selection.main.head),[,u,h,m,p]=i,x=m?+m.slice(1):0,v=h?+h:c.number;if(h&&p){let k=v/100;u&&(k=k*(u=="-"?-1:1)+c.number/l.doc.lines),v=Math.round(l.doc.lines*k)}else h&&u&&(v=v*(u=="-"?-1:1)+c.number);let b=l.doc.line(Math.max(1,Math.min(l.doc.lines,v))),O=Ce.cursor(b.from+Math.max(0,Math.min(x,b.length)));n.dispatch({effects:[af.of(!1),Fe.scrollIntoView(O.from,{y:"center"})],selection:O}),n.focus()}return{dom:r}}const af=xt.define(),k7=Lr.define({create(){return!0},update(n,e){for(let t of e.effects)t.is(af)&&(n=t.value);return n},provide:n=>Of.from(n,e=>e?o4:null)}),gK=n=>{let e=Sf(n,o4);if(!e){let t=[af.of(!0)];n.state.field(k7,!1)==null&&t.push(xt.appendConfig.of([k7,xK])),n.dispatch({effects:t}),e=Sf(n,o4)}return e&&e.dom.querySelector("input").select(),!0},xK=Fe.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),vK={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},yK=He.define({combine(n){return Oa(n,vK,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function bK(n){return[jK,kK]}const wK=Je.mark({class:"cm-selectionMatch"}),SK=Je.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function j7(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=Vn.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=Vn.Word)}function OK(n,e,t,r){return n(e.sliceDoc(t,t+1))==Vn.Word&&n(e.sliceDoc(r-1,r))==Vn.Word}const kK=lr.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(yK),{state:t}=n,r=t.selection;if(r.ranges.length>1)return Je.none;let s=r.main,i,l=null;if(s.empty){if(!e.highlightWordAroundCursor)return Je.none;let u=t.wordAt(s.head);if(!u)return Je.none;l=t.charCategorizer(s.head),i=t.sliceDoc(u.from,u.to)}else{let u=s.to-s.from;if(u200)return Je.none;if(e.wholeWords){if(i=t.sliceDoc(s.from,s.to),l=t.charCategorizer(s.head),!(j7(l,t,s.from,s.to)&&OK(l,t,s.from,s.to)))return Je.none}else if(i=t.sliceDoc(s.from,s.to),!i)return Je.none}let c=[];for(let u of n.visibleRanges){let h=new xd(t.doc,i,u.from,u.to);for(;!h.next().done;){let{from:m,to:p}=h.value;if((!l||j7(l,t,m,p))&&(s.empty&&m<=s.from&&p>=s.to?c.push(SK.range(m,p)):(m>=s.to||p<=s.from)&&c.push(wK.range(m,p)),c.length>e.maxMatches))return Je.none}}return Je.set(c)}},{decorations:n=>n.decorations}),jK=Fe.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),NK=({state:n,dispatch:e})=>{let{selection:t}=n,r=Ce.create(t.ranges.map(s=>n.wordAt(s.head)||Ce.cursor(s.head)),t.mainIndex);return r.eq(t)?!1:(e(n.update({selection:r})),!0)};function CK(n,e){let{main:t,ranges:r}=n.selection,s=n.wordAt(t.head),i=s&&s.from==t.from&&s.to==t.to;for(let l=!1,c=new xd(n.doc,e,r[r.length-1].to);;)if(c.next(),c.done){if(l)return null;c=new xd(n.doc,e,0,Math.max(0,r[r.length-1].from-1)),l=!0}else{if(l&&r.some(u=>u.from==c.value.from))continue;if(i){let u=n.wordAt(c.value.from);if(!u||u.from!=c.value.from||u.to!=c.value.to)continue}return c.value}}const TK=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(i=>i.from===i.to))return NK({state:n,dispatch:e});let r=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(i=>n.sliceDoc(i.from,i.to)!=r))return!1;let s=CK(n,r);return s?(e(n.update({selection:n.selection.addRange(Ce.range(s.from,s.to),!1),effects:Fe.scrollIntoView(s.to)})),!0):!1},Ed=He.define({combine(n){return Oa(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new FK(e),scrollToMatch:e=>Fe.scrollIntoView(e)})}});class d_{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||pK(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?` -`:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new _K(this):new AK(this)}getCursor(e,t=0,r){let s=e.doc?e:Vt.create({doc:e});return r==null&&(r=s.doc.length),this.regexp?Pu(this,s,t,r):zu(this,s,t,r)}}class h_{constructor(e){this.spec=e}}function zu(n,e,t,r){return new xd(e.doc,n.unquoted,t,r,n.caseSensitive?void 0:s=>s.toLowerCase(),n.wholeWord?MK(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function MK(n,e){return(t,r,s,i)=>((i>t||i+s.length=t)return null;s.push(r.value)}return s}highlight(e,t,r,s){let i=zu(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}function Pu(n,e,t,r){return new c_(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?EK(e.charCategorizer(e.selection.main.head)):void 0},t,r)}function Lg(n,e){return n.slice(Vr(n,e,!1),e)}function Bg(n,e){return n.slice(e,Vr(n,e))}function EK(n){return(e,t,r)=>!r[0].length||(n(Lg(r.input,r.index))!=Vn.Word||n(Bg(r.input,r.index))!=Vn.Word)&&(n(Bg(r.input,r.index+r[0].length))!=Vn.Word||n(Lg(r.input,r.index+r[0].length))!=Vn.Word)}class _K extends h_{nextMatch(e,t,r){let s=Pu(this.spec,e,r,e.doc.length).next();return s.done&&(s=Pu(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,r){for(let s=1;;s++){let i=Math.max(t,r-s*1e4),l=Pu(this.spec,e,i,r),c=null;for(;!l.next().done;)c=l.value;if(c&&(i==t||c.from>i+10))return c;if(i==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let i=+r.slice(0,s);if(i>0&&i=t)return null;s.push(r.value)}return s}highlight(e,t,r,s){let i=Pu(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}const Mf=xt.define(),Kw=xt.define(),ao=Lr.define({create(n){return new Ky(c4(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Mf)?n=new Ky(t.value.create(),n.panel):t.is(Kw)&&(n=new Ky(n.query,t.value?Zw:null));return n},provide:n=>Of.from(n,e=>e.panel)});class Ky{constructor(e,t){this.query=e,this.panel=t}}const DK=Je.mark({class:"cm-searchMatch"}),RK=Je.mark({class:"cm-searchMatch cm-searchMatch-selected"}),zK=lr.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(ao))}update(n){let e=n.state.field(ao);(e!=n.startState.field(ao)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return Je.none;let{view:t}=this,r=new fl;for(let s=0,i=t.visibleRanges,l=i.length;si[s+1].from-500;)u=i[++s].to;n.highlight(t.state,c,u,(h,m)=>{let p=t.state.selection.ranges.some(x=>x.from==h&&x.to==m);r.add(h,m,p?RK:DK)})}return r.finish()}},{decorations:n=>n.decorations});function p0(n){return e=>{let t=e.state.field(ao,!1);return t&&t.query.spec.valid?n(e,t):p_(e)}}const Ig=p0((n,{query:e})=>{let{to:t}=n.state.selection.main,r=e.nextMatch(n.state,t,t);if(!r)return!1;let s=Ce.single(r.from,r.to),i=n.state.facet(Ed);return n.dispatch({selection:s,effects:[Jw(n,r),i.scrollToMatch(s.main,n)],userEvent:"select.search"}),m_(n),!0}),Fg=p0((n,{query:e})=>{let{state:t}=n,{from:r}=t.selection.main,s=e.prevMatch(t,r,r);if(!s)return!1;let i=Ce.single(s.from,s.to),l=n.state.facet(Ed);return n.dispatch({selection:i,effects:[Jw(n,s),l.scrollToMatch(i.main,n)],userEvent:"select.search"}),m_(n),!0}),PK=p0((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:Ce.create(t.map(r=>Ce.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),LK=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:r,to:s}=t.main,i=[],l=0;for(let c=new xd(n.doc,n.sliceDoc(r,s));!c.next().done;){if(i.length>1e3)return!1;c.value.from==r&&(l=i.length),i.push(Ce.range(c.value.from,c.value.to))}return e(n.update({selection:Ce.create(i,l),userEvent:"select.search.matches"})),!0},N7=p0((n,{query:e})=>{let{state:t}=n,{from:r,to:s}=t.selection.main;if(t.readOnly)return!1;let i=e.nextMatch(t,r,r);if(!i)return!1;let l=i,c=[],u,h,m=[];l.from==r&&l.to==s&&(h=t.toText(e.getReplacement(l)),c.push({from:l.from,to:l.to,insert:h}),l=e.nextMatch(t,l.from,l.to),m.push(Fe.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(r).number)+".")));let p=n.state.changes(c);return l&&(u=Ce.single(l.from,l.to).map(p),m.push(Jw(n,l)),m.push(t.facet(Ed).scrollToMatch(u.main,n))),n.dispatch({changes:p,selection:u,effects:m,userEvent:"input.replace"}),!0}),BK=p0((n,{query:e})=>{if(n.state.readOnly)return!1;let t=e.matchAll(n.state,1e9).map(s=>{let{from:i,to:l}=s;return{from:i,to:l,insert:e.getReplacement(s)}});if(!t.length)return!1;let r=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:Fe.announce.of(r),userEvent:"input.replace.all"}),!0});function Zw(n){return n.state.facet(Ed).createPanel(n)}function c4(n,e){var t,r,s,i,l;let c=n.selection.main,u=c.empty||c.to>c.from+100?"":n.sliceDoc(c.from,c.to);if(e&&!u)return e;let h=n.facet(Ed);return new d_({search:((t=e?.literal)!==null&&t!==void 0?t:h.literal)?u:u.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:h.caseSensitive,literal:(s=e?.literal)!==null&&s!==void 0?s:h.literal,regexp:(i=e?.regexp)!==null&&i!==void 0?i:h.regexp,wholeWord:(l=e?.wholeWord)!==null&&l!==void 0?l:h.wholeWord})}function f_(n){let e=Sf(n,Zw);return e&&e.dom.querySelector("[main-field]")}function m_(n){let e=f_(n);e&&e==n.root.activeElement&&e.select()}const p_=n=>{let e=n.state.field(ao,!1);if(e&&e.panel){let t=f_(n);if(t&&t!=n.root.activeElement){let r=c4(n.state,e.query.spec);r.valid&&n.dispatch({effects:Mf.of(r)}),t.focus(),t.select()}}else n.dispatch({effects:[Kw.of(!0),e?Mf.of(c4(n.state,e.query.spec)):xt.appendConfig.of(QK)]});return!0},g_=n=>{let e=n.state.field(ao,!1);if(!e||!e.panel)return!1;let t=Sf(n,Zw);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Kw.of(!1)}),!0},IK=[{key:"Mod-f",run:p_,scope:"editor search-panel"},{key:"F3",run:Ig,shift:Fg,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Ig,shift:Fg,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:g_,scope:"editor search-panel"},{key:"Mod-Shift-l",run:LK},{key:"Mod-Alt-g",run:gK},{key:"Mod-d",run:TK,preventDefault:!0}];class FK{constructor(e){this.view=e;let t=this.query=e.state.field(ao).query.spec;this.commit=this.commit.bind(this),this.searchField=An("input",{value:t.search,placeholder:Xs(e,"Find"),"aria-label":Xs(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=An("input",{value:t.replace,placeholder:Xs(e,"Replace"),"aria-label":Xs(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=An("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=An("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=An("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(s,i,l){return An("button",{class:"cm-button",name:s,onclick:i,type:"button"},l)}this.dom=An("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>Ig(e),[Xs(e,"next")]),r("prev",()=>Fg(e),[Xs(e,"previous")]),r("select",()=>PK(e),[Xs(e,"all")]),An("label",null,[this.caseField,Xs(e,"match case")]),An("label",null,[this.reField,Xs(e,"regexp")]),An("label",null,[this.wordField,Xs(e,"by word")]),...e.state.readOnly?[]:[An("br"),this.replaceField,r("replace",()=>N7(e),[Xs(e,"replace")]),r("replaceAll",()=>BK(e),[Xs(e,"replace all")])],An("button",{name:"close",onclick:()=>g_(e),"aria-label":Xs(e,"close"),type:"button"},["×"])])}commit(){let e=new d_({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Mf.of(e)}))}keydown(e){UW(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Fg:Ig)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),N7(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is(Mf)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Ed).top}}function Xs(n,e){return n.state.phrase(e)}const yp=30,bp=/[\s\.,:;?!]/;function Jw(n,{from:e,to:t}){let r=n.state.doc.lineAt(e),s=n.state.doc.lineAt(t).to,i=Math.max(r.from,e-yp),l=Math.min(s,t+yp),c=n.state.sliceDoc(i,l);if(i!=r.from){for(let u=0;uc.length-yp;u--)if(!bp.test(c[u-1])&&bp.test(c[u])){c=c.slice(0,u);break}}return Fe.announce.of(`${n.state.phrase("current match")}. ${c} ${n.state.phrase("on line")} ${r.number}.`)}const qK=Fe.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),QK=[ao,jo.low(zK),qK];class x_{constructor(e,t,r,s){this.state=e,this.pos=t,this.explicit=r,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=zr(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),s=t.text.slice(r-t.from,this.pos-t.from),i=s.search(y_(e,!1));return i<0?null:{from:r+i,to:this.pos,text:s.slice(i)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function C7(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function $K(n){let e=Object.create(null),t=Object.create(null);for(let{label:s}of n){e[s[0]]=!0;for(let i=1;itypeof s=="string"?{label:s}:s),[t,r]=e.every(s=>/^\w+$/.test(s.label))?[/\w*$/,/\w+$/]:$K(e);return s=>{let i=s.matchBefore(r);return i||s.explicit?{from:i?i.from:s.pos,options:e,validFor:t}:null}}function HK(n,e){return t=>{for(let r=zr(t.state).resolveInner(t.pos,-1);r;r=r.parent){if(n.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(t)}}let T7=class{constructor(e,t,r,s){this.completion=e,this.source=t,this.match=r,this.score=s}};function gc(n){return n.selection.main.from}function y_(n,e){var t;let{source:r}=n,s=e&&r[0]!="^",i=r[r.length-1]!="$";return!s&&!i?n:new RegExp(`${s?"^":""}(?:${r})${i?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const e5=Sa.define();function UK(n,e,t,r){let{main:s}=n.selection,i=t-s.from,l=r-s.from;return{...n.changeByRange(c=>{if(c!=s&&t!=r&&n.sliceDoc(c.from+i,c.from+l)!=n.sliceDoc(t,r))return{range:c};let u=n.toText(e);return{changes:{from:c.from+i,to:r==s.from?c.to:c.from+l,insert:u},range:Ce.cursor(c.from+i+u.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const M7=new WeakMap;function VK(n){if(!Array.isArray(n))return n;let e=M7.get(n);return e||M7.set(n,e=v_(n)),e}const qg=xt.define(),Af=xt.define();class WK{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&D<=57||D>=97&&D<=122?2:D>=65&&D<=90?1:0:(E=ww(D))!=E.toLowerCase()?1:E!=E.toUpperCase()?2:0;(!T||z==1&&k||_==0&&z!=0)&&(t[p]==D||r[p]==D&&(x=!0)?l[p++]=T:l.length&&(j=!1)),_=z,T+=aa(D)}return p==u&&l[0]==0&&j?this.result(-100+(x?-200:0),l,e):v==u&&b==0?this.ret(-200-e.length+(O==e.length?0:-100),[0,O]):c>-1?this.ret(-700-e.length,[c,c+this.pattern.length]):v==u?this.ret(-900-e.length,[b,O]):p==u?this.result(-100+(x?-200:0)+-700+(j?0:-1100),l,e):t.length==2?null:this.result((s[0]?-700:0)+-200+-1100,s,e)}result(e,t,r){let s=[],i=0;for(let l of t){let c=l+(this.astral?aa(Ms(r,l)):1);i&&s[i-1]==l?s[i-1]=c:(s[i++]=l,s[i++]=c)}return this.ret(e-r.length,s)}}class GK{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:XK,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>A7(e(r),t(r)),optionClass:(e,t)=>r=>A7(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function A7(n,e){return n?e?n+" "+e:n:e}function XK(n,e,t,r,s,i){let l=n.textDirection==Hn.RTL,c=l,u=!1,h="top",m,p,x=e.left-s.left,v=s.right-e.right,b=r.right-r.left,O=r.bottom-r.top;if(c&&x=O||T>e.top?m=t.bottom-e.top:(h="bottom",m=e.bottom-t.top)}let k=(e.bottom-e.top)/i.offsetHeight,j=(e.right-e.left)/i.offsetWidth;return{style:`${h}: ${m/k}px; max-width: ${p/j}px`,class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":c?"left":"right")}}function YK(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(s=>"cm-completionIcon-"+s)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(t,r,s,i){let l=document.createElement("span");l.className="cm-completionLabel";let c=t.displayLabel||t.label,u=0;for(let h=0;hu&&l.appendChild(document.createTextNode(c.slice(u,m)));let x=l.appendChild(document.createElement("span"));x.appendChild(document.createTextNode(c.slice(m,p))),x.className="cm-completionMatchedText",u=p}return ut.position-r.position).map(t=>t.render)}function Zy(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let s=Math.floor(e/t);return{from:s*t,to:(s+1)*t}}let r=Math.floor((n-e)/t);return{from:n-(r+1)*t,to:n-r*t}}class KK{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:u=>this.placeInfo(u),key:this},this.space=null,this.currentClass="";let s=e.state.field(t),{options:i,selected:l}=s.open,c=e.state.facet(Dr);this.optionContent=YK(c),this.optionClass=c.optionClass,this.tooltipClass=c.tooltipClass,this.range=Zy(i.length,l,c.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",u=>{let{options:h}=e.state.field(t).open;for(let m=u.target,p;m&&m!=this.dom;m=m.parentNode)if(m.nodeName=="LI"&&(p=/-(\d+)$/.exec(m.id))&&+p[1]{let h=e.state.field(this.stateField,!1);h&&h.tooltip&&e.state.facet(Dr).closeOnBlur&&u.relatedTarget!=e.contentDOM&&e.dispatch({effects:Af.of(null)})}),this.showOptions(i,s.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let r=e.state.field(this.stateField),s=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=s){let{options:i,selected:l,disabled:c}=r.open;(!s.open||s.open.options!=i)&&(this.range=Zy(i.length,l,e.state.facet(Dr).maxRenderedOptions),this.showOptions(i,r.id)),this.updateSel(),c!=((t=s.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!c)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of t.split(" "))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected=this.range.to)&&(this.range=Zy(t.options.length,t.selected,this.view.state.facet(Dr).maxRenderedOptions),this.showOptions(t.options,e.id));let r=this.updateSelectedOption(t.selected);if(r){this.destroyInfo();let{completion:s}=t.options[t.selected],{info:i}=s;if(!i)return;let l=typeof i=="string"?document.createTextNode(i):i(s);if(!l)return;"then"in l?l.then(c=>{c&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(c,s)}).catch(c=>Es(this.view.state,c,"completion info")):(this.addInfoPane(l,s),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:s,destroy:i}=e;r.appendChild(s),this.infoDestroy=i||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,s=this.range.from;r;r=r.nextSibling,s++)r.nodeName!="LI"||!r.id?s--:s==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return t&&JK(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),s=e.getBoundingClientRect(),i=this.space;if(!i){let l=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:l.clientWidth,bottom:l.clientHeight}}return s.top>Math.min(i.bottom,t.bottom)-10||s.bottom{l.target==s&&l.preventDefault()});let i=null;for(let l=r.from;lr.from||r.from==0))if(i=x,typeof h!="string"&&h.header)s.appendChild(h.header(h));else{let v=s.appendChild(document.createElement("completion-section"));v.textContent=x}}const m=s.appendChild(document.createElement("li"));m.id=t+"-"+l,m.setAttribute("role","option");let p=this.optionClass(c);p&&(m.className=p);for(let x of this.optionContent){let v=x(c,this.view.state,this.view,u);v&&m.appendChild(v)}}return r.from&&s.classList.add("cm-completionListIncompleteTop"),r.tonew KK(t,n,e)}function JK(n,e){let t=n.getBoundingClientRect(),r=e.getBoundingClientRect(),s=t.height/n.offsetHeight;r.topt.bottom&&(n.scrollTop+=(r.bottom-t.bottom)/s)}function E7(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function eZ(n,e){let t=[],r=null,s=null,i=m=>{t.push(m);let{section:p}=m.completion;if(p){r||(r=[]);let x=typeof p=="string"?p:p.name;r.some(v=>v.name==x)||r.push(typeof p=="string"?{name:x}:p)}},l=e.facet(Dr);for(let m of n)if(m.hasResult()){let p=m.result.getMatch;if(m.result.filter===!1)for(let x of m.result.options)i(new T7(x,m.source,p?p(x):[],1e9-t.length));else{let x=e.sliceDoc(m.from,m.to),v,b=l.filterStrict?new GK(x):new WK(x);for(let O of m.result.options)if(v=b.match(O.label)){let k=O.displayLabel?p?p(O,v.matched):[]:v.matched,j=v.score+(O.boost||0);if(i(new T7(O,m.source,k,j)),typeof O.section=="object"&&O.section.rank==="dynamic"){let{name:T}=O.section;s||(s=Object.create(null)),s[T]=Math.max(j,s[T]||-1e9)}}}}if(r){let m=Object.create(null),p=0,x=(v,b)=>(v.rank==="dynamic"&&b.rank==="dynamic"?s[b.name]-s[v.name]:0)||(typeof v.rank=="number"?v.rank:1e9)-(typeof b.rank=="number"?b.rank:1e9)||(v.namex.score-p.score||h(p.completion,x.completion))){let p=m.completion;!u||u.label!=p.label||u.detail!=p.detail||u.type!=null&&p.type!=null&&u.type!=p.type||u.apply!=p.apply||u.boost!=p.boost?c.push(m):E7(m.completion)>E7(u)&&(c[c.length-1]=m),u=m.completion}return c}class Hu{constructor(e,t,r,s,i,l){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=s,this.selected=i,this.disabled=l}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new Hu(this.options,_7(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,s,i,l){if(s&&!l&&e.some(h=>h.isPending))return s.setDisabled();let c=eZ(e,t);if(!c.length)return s&&e.some(h=>h.isPending)?s.setDisabled():null;let u=t.facet(Dr).selectOnOpen?0:-1;if(s&&s.selected!=u&&s.selected!=-1){let h=s.options[s.selected].completion;for(let m=0;mm.hasResult()?Math.min(h,m.from):h,1e8),create:aZ,above:i.aboveCursor},s?s.timestamp:Date.now(),u,!1)}map(e){return new Hu(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new Hu(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Qg{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new Qg(sZ,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(Dr),i=(r.override||t.languageDataAt("autocomplete",gc(t)).map(VK)).map(u=>(this.active.find(m=>m.source==u)||new Si(u,this.active.some(m=>m.state!=0)?1:0)).update(e,r));i.length==this.active.length&&i.every((u,h)=>u==this.active[h])&&(i=this.active);let l=this.open,c=e.effects.some(u=>u.is(t5));l&&e.docChanged&&(l=l.map(e.changes)),e.selection||i.some(u=>u.hasResult()&&e.changes.touchesRange(u.from,u.to))||!tZ(i,this.active)||c?l=Hu.build(i,t,this.id,l,r,c):l&&l.disabled&&!i.some(u=>u.isPending)&&(l=null),!l&&i.every(u=>!u.isPending)&&i.some(u=>u.hasResult())&&(i=i.map(u=>u.hasResult()?new Si(u.source,0):u));for(let u of e.effects)u.is(w_)&&(l=l&&l.setSelected(u.value,this.id));return i==this.active&&l==this.open?this:new Qg(i,this.id,l)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?nZ:rZ}}function tZ(n,e){if(n==e)return!0;for(let t=0,r=0;;){for(;t-1&&(t["aria-activedescendant"]=n+"-"+e),t}const sZ=[];function b_(n,e){if(n.isUserEvent("input.complete")){let r=n.annotation(e5);if(r&&e.activateOnCompletion(r))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class Si{constructor(e,t,r=!1){this.source=e,this.state=t,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let r=b_(e,t),s=this;(r&8||r&16&&this.touches(e))&&(s=new Si(s.source,0)),r&4&&s.state==0&&(s=new Si(this.source,1)),s=s.updateFor(e,r);for(let i of e.effects)if(i.is(qg))s=new Si(s.source,1,i.value);else if(i.is(Af))s=new Si(s.source,0);else if(i.is(t5))for(let l of i.value)l.source==s.source&&(s=l);return s}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(gc(e.state))}}class Zu extends Si{constructor(e,t,r,s,i,l){super(e,3,t),this.limit=r,this.result=s,this.from=i,this.to=l}hasResult(){return!0}updateFor(e,t){var r;if(!(t&3))return this.map(e.changes);let s=this.result;s.map&&!e.changes.empty&&(s=s.map(s,e.changes));let i=e.changes.mapPos(this.from),l=e.changes.mapPos(this.to,1),c=gc(e.state);if(c>l||!s||t&2&&(gc(e.startState)==this.from||ct.map(e))}}),w_=xt.define(),As=Lr.define({create(){return Qg.start()},update(n,e){return n.update(e)},provide:n=>[zw.from(n,e=>e.tooltip),Fe.contentAttributes.from(n,e=>e.attrs)]});function n5(n,e){const t=e.completion.apply||e.completion.label;let r=n.state.field(As).active.find(s=>s.source==e.source);return r instanceof Zu?(typeof t=="string"?n.dispatch({...UK(n.state,t,r.from,r.to),annotations:e5.of(e.completion)}):t(n,e.completion,r.from,r.to),!0):!1}const aZ=ZK(As,n5);function wp(n,e="option"){return t=>{let r=t.state.field(As,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp-1?r.open.selected+s*(n?1:-1):n?0:l-1;return c<0?c=e=="page"?0:l-1:c>=l&&(c=e=="page"?l-1:0),t.dispatch({effects:w_.of(c)}),!0}}const lZ=n=>{let e=n.state.field(As,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampn.state.field(As,!1)?(n.dispatch({effects:qg.of(!0)}),!0):!1,oZ=n=>{let e=n.state.field(As,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Af.of(null)}),!0)};class cZ{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const uZ=50,dZ=1e3,hZ=lr.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(As).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(As),t=n.state.facet(Dr);if(!n.selectionSet&&!n.docChanged&&n.startState.field(As)==e)return;let r=n.transactions.some(i=>{let l=b_(i,t);return l&8||(i.selection||i.docChanged)&&!(l&3)});for(let i=0;iuZ&&Date.now()-l.time>dZ){for(let c of l.context.abortListeners)try{c()}catch(u){Es(this.view.state,u)}l.context.abortListeners=null,this.running.splice(i--,1)}else l.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(i=>i.effects.some(l=>l.is(qg)))&&(this.pendingStart=!0);let s=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(i=>i.isPending&&!this.running.some(l=>l.active.source==i.source))?setTimeout(()=>this.startUpdate(),s):-1,this.composing!=0)for(let i of n.transactions)i.isUserEvent("input.type")?this.composing=2:this.composing==2&&i.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(As);for(let t of e.active)t.isPending&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Dr).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=gc(e),r=new x_(e,t,n.explicit,this.view),s=new cZ(n,r);this.running.push(s),Promise.resolve(n.source(r)).then(i=>{s.context.aborted||(s.done=i||null,this.scheduleAccept())},i=>{this.view.dispatch({effects:Af.of(null)}),Es(this.view.state,i)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Dr).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Dr),r=this.view.state.field(As);for(let s=0;sc.source==i.active.source);if(l&&l.isPending)if(i.done==null){let c=new Si(i.active.source,0);for(let u of i.updates)c=c.update(u,t);c.isPending||e.push(c)}else this.startQuery(l)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:t5.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(As,!1);if(e&&e.tooltip&&this.view.state.facet(Dr).closeOnBlur){let t=e.open&&XA(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Af.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:qg.of(!1)}),20),this.composing=0}}}),fZ=typeof navigator=="object"&&/Win/.test(navigator.platform),mZ=jo.highest(Fe.domEventHandlers({keydown(n,e){let t=e.state.field(As,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(fZ&&n.altKey)||n.metaKey)return!1;let r=t.open.options[t.open.selected],s=t.active.find(l=>l.source==r.source),i=r.completion.commitCharacters||s.result.commitCharacters;return i&&i.indexOf(n.key)>-1&&n5(e,r),!1}})),S_=Fe.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class pZ{constructor(e,t,r,s){this.field=e,this.line=t,this.from=r,this.to=s}}class r5{constructor(e,t,r){this.field=e,this.from=t,this.to=r}map(e){let t=e.mapPos(this.from,-1,Ur.TrackDel),r=e.mapPos(this.to,1,Ur.TrackDel);return t==null||r==null?null:new r5(this.field,t,r)}}class s5{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let r=[],s=[t],i=e.doc.lineAt(t),l=/^\s*/.exec(i.text)[0];for(let u of this.lines){if(r.length){let h=l,m=/^\t*/.exec(u)[0].length;for(let p=0;pnew r5(u.field,s[u.line]+u.from,s[u.line]+u.to));return{text:r,ranges:c}}static parse(e){let t=[],r=[],s=[],i;for(let l of e.split(/\r\n?|\n/)){for(;i=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(l);){let c=i[1]?+i[1]:null,u=i[2]||i[3]||"",h=-1,m=u.replace(/\\[{}]/g,p=>p[1]);for(let p=0;p=h&&x.field++}for(let p of s)if(p.line==r.length&&p.from>i.index){let x=i[2]?3+(i[1]||"").length:2;p.from-=x,p.to-=x}s.push(new pZ(h,r.length,i.index,i.index+m.length)),l=l.slice(0,i.index)+u+l.slice(i.index+i[0].length)}l=l.replace(/\\([{}])/g,(c,u,h)=>{for(let m of s)m.line==r.length&&m.from>h&&(m.from--,m.to--);return u}),r.push(l)}return new s5(r,s)}}let gZ=Je.widget({widget:new class extends ka{toDOM(){let n=document.createElement("span");return n.className="cm-snippetFieldPosition",n}ignoreEvent(){return!1}}}),xZ=Je.mark({class:"cm-snippetField"});class _d{constructor(e,t){this.ranges=e,this.active=t,this.deco=Je.set(e.map(r=>(r.from==r.to?gZ:xZ).range(r.from,r.to)),!0)}map(e){let t=[];for(let r of this.ranges){let s=r.map(e);if(!s)return null;t.push(s)}return new _d(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(r=>r.field==this.active&&r.from<=t.from&&r.to>=t.to))}}const g0=xt.define({map(n,e){return n&&n.map(e)}}),vZ=xt.define(),Ef=Lr.define({create(){return null},update(n,e){for(let t of e.effects){if(t.is(g0))return t.value;if(t.is(vZ)&&n)return new _d(n.ranges,t.value)}return n&&e.docChanged&&(n=n.map(e.changes)),n&&e.selection&&!n.selectionInsideField(e.selection)&&(n=null),n},provide:n=>Fe.decorations.from(n,e=>e?e.deco:Je.none)});function i5(n,e){return Ce.create(n.filter(t=>t.field==e).map(t=>Ce.range(t.from,t.to)))}function yZ(n){let e=s5.parse(n);return(t,r,s,i)=>{let{text:l,ranges:c}=e.instantiate(t.state,s),{main:u}=t.state.selection,h={changes:{from:s,to:i==u.from?u.to:i,insert:Wt.of(l)},scrollIntoView:!0,annotations:r?[e5.of(r),gr.userEvent.of("input.complete")]:void 0};if(c.length&&(h.selection=i5(c,0)),c.some(m=>m.field>0)){let m=new _d(c,0),p=h.effects=[g0.of(m)];t.state.field(Ef,!1)===void 0&&p.push(xt.appendConfig.of([Ef,kZ,jZ,S_]))}t.dispatch(t.state.update(h))}}function O_(n){return({state:e,dispatch:t})=>{let r=e.field(Ef,!1);if(!r||n<0&&r.active==0)return!1;let s=r.active+n,i=n>0&&!r.ranges.some(l=>l.field==s+n);return t(e.update({selection:i5(r.ranges,s),effects:g0.of(i?null:new _d(r.ranges,s)),scrollIntoView:!0})),!0}}const bZ=({state:n,dispatch:e})=>n.field(Ef,!1)?(e(n.update({effects:g0.of(null)})),!0):!1,wZ=O_(1),SZ=O_(-1),OZ=[{key:"Tab",run:wZ,shift:SZ},{key:"Escape",run:bZ}],D7=He.define({combine(n){return n.length?n[0]:OZ}}),kZ=jo.highest(c0.compute([D7],n=>n.facet(D7)));function Xa(n,e){return{...e,apply:yZ(n)}}const jZ=Fe.domEventHandlers({mousedown(n,e){let t=e.state.field(Ef,!1),r;if(!t||(r=e.posAtCoords({x:n.clientX,y:n.clientY}))==null)return!1;let s=t.ranges.find(i=>i.from<=r&&i.to>=r);return!s||s.field==t.active?!1:(e.dispatch({selection:i5(t.ranges,s.field),effects:g0.of(t.ranges.some(i=>i.field>s.field)?new _d(t.ranges,s.field):null),scrollIntoView:!0}),!0)}}),_f={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},oc=xt.define({map(n,e){let t=e.mapPos(n,-1,Ur.TrackAfter);return t??void 0}}),a5=new class extends yc{};a5.startSide=1;a5.endSide=-1;const k_=Lr.define({create(){return Gt.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:r=>r>=t.from&&r<=t.to})}for(let t of e.effects)t.is(oc)&&(n=n.update({add:[a5.range(t.value,t.value+1)]}));return n}});function NZ(){return[TZ,k_]}const eb="()[]{}<>«»»«[]{}";function j_(n){for(let e=0;e{if((CZ?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let s=n.state.selection.main;if(r.length>2||r.length==2&&aa(Ms(r,0))==1||e!=s.from||t!=s.to)return!1;let i=EZ(n.state,r);return i?(n.dispatch(i),!0):!1}),MZ=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=N_(n,n.selection.main.head).brackets||_f.brackets,s=null,i=n.changeByRange(l=>{if(l.empty){let c=_Z(n.doc,l.head);for(let u of r)if(u==c&&Rx(n.doc,l.head)==j_(Ms(u,0)))return{changes:{from:l.head-u.length,to:l.head+u.length},range:Ce.cursor(l.head-u.length)}}return{range:s=l}});return s||e(n.update(i,{scrollIntoView:!0,userEvent:"delete.backward"})),!s},AZ=[{key:"Backspace",run:MZ}];function EZ(n,e){let t=N_(n,n.selection.main.head),r=t.brackets||_f.brackets;for(let s of r){let i=j_(Ms(s,0));if(e==s)return i==s?zZ(n,s,r.indexOf(s+s+s)>-1,t):DZ(n,s,i,t.before||_f.before);if(e==i&&C_(n,n.selection.main.from))return RZ(n,s,i)}return null}function C_(n,e){let t=!1;return n.field(k_).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function Rx(n,e){let t=n.sliceString(e,e+2);return t.slice(0,aa(Ms(t,0)))}function _Z(n,e){let t=n.sliceString(e-2,e);return aa(Ms(t,0))==t.length?t:t.slice(1)}function DZ(n,e,t,r){let s=null,i=n.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:t,from:l.to}],effects:oc.of(l.to+e.length),range:Ce.range(l.anchor+e.length,l.head+e.length)};let c=Rx(n.doc,l.head);return!c||/\s/.test(c)||r.indexOf(c)>-1?{changes:{insert:e+t,from:l.head},effects:oc.of(l.head+e.length),range:Ce.cursor(l.head+e.length)}:{range:s=l}});return s?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function RZ(n,e,t){let r=null,s=n.changeByRange(i=>i.empty&&Rx(n.doc,i.head)==t?{changes:{from:i.head,to:i.head+t.length,insert:t},range:Ce.cursor(i.head+t.length)}:r={range:i});return r?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function zZ(n,e,t,r){let s=r.stringPrefixes||_f.stringPrefixes,i=null,l=n.changeByRange(c=>{if(!c.empty)return{changes:[{insert:e,from:c.from},{insert:e,from:c.to}],effects:oc.of(c.to+e.length),range:Ce.range(c.anchor+e.length,c.head+e.length)};let u=c.head,h=Rx(n.doc,u),m;if(h==e){if(R7(n,u))return{changes:{insert:e+e,from:u},effects:oc.of(u+e.length),range:Ce.cursor(u+e.length)};if(C_(n,u)){let x=t&&n.sliceDoc(u,u+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:u,to:u+x.length,insert:x},range:Ce.cursor(u+x.length)}}}else{if(t&&n.sliceDoc(u-2*e.length,u)==e+e&&(m=z7(n,u-2*e.length,s))>-1&&R7(n,m))return{changes:{insert:e+e+e+e,from:u},effects:oc.of(u+e.length),range:Ce.cursor(u+e.length)};if(n.charCategorizer(u)(h)!=Vn.Word&&z7(n,u,s)>-1&&!PZ(n,u,e,s))return{changes:{insert:e+e,from:u},effects:oc.of(u+e.length),range:Ce.cursor(u+e.length)}}return{range:i=c}});return i?null:n.update(l,{scrollIntoView:!0,userEvent:"input.type"})}function R7(n,e){let t=zr(n).resolveInner(e+1);return t.parent&&t.from==e}function PZ(n,e,t,r){let s=zr(n).resolveInner(e,-1),i=r.reduce((l,c)=>Math.max(l,c.length),0);for(let l=0;l<5;l++){let c=n.sliceDoc(s.from,Math.min(s.to,s.from+t.length+i)),u=c.indexOf(t);if(!u||u>-1&&r.indexOf(c.slice(0,u))>-1){let m=s.firstChild;for(;m&&m.from==s.from&&m.to-m.from>t.length+u;){if(n.sliceDoc(m.to-t.length,m.to)==t)return!1;m=m.firstChild}return!0}let h=s.to==e&&s.parent;if(!h)break;s=h}return!1}function z7(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=Vn.Word)return e;for(let s of t){let i=e-s.length;if(n.sliceDoc(i,e)==s&&r(n.sliceDoc(i-1,i))!=Vn.Word)return i}return-1}function LZ(n={}){return[mZ,As,Dr.of(n),hZ,BZ,S_]}const T_=[{key:"Ctrl-Space",run:Jy},{mac:"Alt-`",run:Jy},{mac:"Alt-i",run:Jy},{key:"Escape",run:oZ},{key:"ArrowDown",run:wp(!0)},{key:"ArrowUp",run:wp(!1)},{key:"PageDown",run:wp(!0,"page")},{key:"PageUp",run:wp(!1,"page")},{key:"Enter",run:lZ}],BZ=jo.highest(c0.computeN([Dr],n=>n.facet(Dr).defaultKeymap?[T_]:[]));class P7{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class sc{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let s=r.facet(Df).markerFilter;s&&(e=s(e,r));let i=e.slice().sort((v,b)=>v.from-b.from||v.to-b.to),l=new fl,c=[],u=0,h=r.doc.iter(),m=0,p=r.doc.length;for(let v=0;;){let b=v==i.length?null:i[v];if(!b&&!c.length)break;let O,k;if(c.length)O=u,k=c.reduce((M,_)=>Math.min(M,_.to),b&&b.from>O?b.from:1e8);else{if(O=b.from,O>p)break;k=b.to,c.push(b),v++}for(;vM.from||M.to==O))c.push(M),v++,k=Math.min(M.to,k);else{k=Math.min(M.from,k);break}}k=Math.min(k,p);let j=!1;if(c.some(M=>M.from==O&&(M.to==k||k==p))&&(j=O==k,!j&&k-O<10)){let M=O-(m+h.value.length);M>0&&(h.next(M),m=O);for(let _=O;;){if(_>=k){j=!0;break}if(!h.lineBreak&&m+h.value.length>_)break;_=m+h.value.length,m+=h.value.length,h.next()}}let T=KZ(c);if(j)l.add(O,O,Je.widget({widget:new WZ(T),diagnostics:c.slice()}));else{let M=c.reduce((_,D)=>D.markClass?_+" "+D.markClass:_,"");l.add(O,k,Je.mark({class:"cm-lintRange cm-lintRange-"+T+M,diagnostics:c.slice(),inclusiveEnd:c.some(_=>_.to>k)}))}if(u=k,u==p)break;for(let M=0;M{if(!(e&&l.diagnostics.indexOf(e)<0))if(!r)r=new P7(s,i,e||l.diagnostics[0]);else{if(l.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new P7(r.from,i,r.diagnostic)}}),r}function IZ(n,e){let t=e.pos,r=e.end||t,s=n.state.facet(Df).hideOn(n,t,r);if(s!=null)return s;let i=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(l=>l.is(M_))||n.changes.touchesRange(i.from,Math.max(i.to,r)))}function FZ(n,e){return n.field(ni,!1)?e:e.concat(xt.appendConfig.of(ZZ))}const M_=xt.define(),l5=xt.define(),A_=xt.define(),ni=Lr.define({create(){return new sc(Je.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),r=null,s=n.panel;if(n.selected){let i=e.changes.mapPos(n.selected.from,1);r=vd(t,n.selected.diagnostic,i)||vd(t,null,i)}!t.size&&s&&e.state.facet(Df).autoPanel&&(s=null),n=new sc(t,s,r)}for(let t of e.effects)if(t.is(M_)){let r=e.state.facet(Df).autoPanel?t.value.length?Rf.open:null:n.panel;n=sc.init(t.value,r,e.state)}else t.is(l5)?n=new sc(n.diagnostics,t.value?Rf.open:null,n.selected):t.is(A_)&&(n=new sc(n.diagnostics,n.panel,t.value));return n},provide:n=>[Of.from(n,e=>e.panel),Fe.decorations.from(n,e=>e.diagnostics)]}),qZ=Je.mark({class:"cm-lintRange cm-lintRange-active"});function QZ(n,e,t){let{diagnostics:r}=n.state.field(ni),s,i=-1,l=-1;r.between(e-(t<0?1:0),e+(t>0?1:0),(u,h,{spec:m})=>{if(e>=u&&e<=h&&(u==h||(e>u||t>0)&&(e__(n,t,!1)))}const HZ=n=>{let e=n.state.field(ni,!1);(!e||!e.panel)&&n.dispatch({effects:FZ(n.state,[l5.of(!0)])});let t=Sf(n,Rf.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},L7=n=>{let e=n.state.field(ni,!1);return!e||!e.panel?!1:(n.dispatch({effects:l5.of(!1)}),!0)},UZ=n=>{let e=n.state.field(ni,!1);if(!e)return!1;let t=n.state.selection.main,r=e.diagnostics.iter(t.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==t.from&&r.to==t.to)?!1:(n.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},VZ=[{key:"Mod-Shift-m",run:HZ,preventDefault:!0},{key:"F8",run:UZ}],Df=He.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...Oa(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:B7,tooltipFilter:B7,needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t,hideOn:(e,t)=>e?t?(r,s,i)=>e(r,s,i)||t(r,s,i):e:t,autoPanel:(e,t)=>e||t})}}});function B7(n,e){return n?e?(t,r)=>e(n(t,r),r):n:e}function E_(n){let e=[];if(n)e:for(let{name:t}of n){for(let r=0;ri.toLowerCase()==s.toLowerCase())){e.push(s);continue e}}e.push("")}return e}function __(n,e,t){var r;let s=t?E_(e.actions):[];return An("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},An("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((i,l)=>{let c=!1,u=v=>{if(v.preventDefault(),c)return;c=!0;let b=vd(n.state.field(ni).diagnostics,e);b&&i.apply(n,b.from,b.to)},{name:h}=i,m=s[l]?h.indexOf(s[l]):-1,p=m<0?h:[h.slice(0,m),An("u",h.slice(m,m+1)),h.slice(m+1)],x=i.markClass?" "+i.markClass:"";return An("button",{type:"button",class:"cm-diagnosticAction"+x,onclick:u,onmousedown:u,"aria-label":` Action: ${h}${m<0?"":` (access key "${s[l]})"`}.`},p)}),e.source&&An("div",{class:"cm-diagnosticSource"},e.source))}class WZ extends ka{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return An("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class I7{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=__(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Rf{constructor(e){this.view=e,this.items=[];let t=s=>{if(s.keyCode==27)L7(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:i}=this.items[this.selectedIndex],l=E_(i.actions);for(let c=0;c{for(let i=0;iL7(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(ni).selected;if(!e)return-1;for(let t=0;t{for(let m of h.diagnostics){if(l.has(m))continue;l.add(m);let p=-1,x;for(let v=r;vr&&(this.items.splice(r,p-r),s=!0)),t&&x.diagnostic==t.diagnostic?x.dom.hasAttribute("aria-selected")||(x.dom.setAttribute("aria-selected","true"),i=x):x.dom.hasAttribute("aria-selected")&&x.dom.removeAttribute("aria-selected"),r++}});r({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:c,panel:u})=>{let h=u.height/this.list.offsetHeight;c.topu.bottom&&(this.list.scrollTop+=(c.bottom-u.bottom)/h)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function t(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(ni),r=vd(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:A_.of(r)})}static open(e){return new Rf(e)}}function GZ(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(n)}')`}function Sp(n){return GZ(``,'width="6" height="3"')}const XZ=Fe.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Sp("#d11")},".cm-lintRange-warning":{backgroundImage:Sp("orange")},".cm-lintRange-info":{backgroundImage:Sp("#999")},".cm-lintRange-hint":{backgroundImage:Sp("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function YZ(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function KZ(n){let e="hint",t=1;for(let r of n){let s=YZ(r.severity);s>t&&(t=s,e=r.severity)}return e}const ZZ=[ni,Fe.decorations.compute([ni],n=>{let{selected:e,panel:t}=n.field(ni);return!e||!t||e.from==e.to?Je.none:Je.set([qZ.range(e.from,e.to)])}),DG(QZ,{hideOn:IZ}),XZ];var F7=function(e){e===void 0&&(e={});var{crosshairCursor:t=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(AZ)),e.defaultKeymap!==!1&&(r=r.concat(fK)),e.searchKeymap!==!1&&(r=r.concat(IK)),e.historyKeymap!==!1&&(r=r.concat(bY)),e.foldKeymap!==!1&&(r=r.concat(AX)),e.completionKeymap!==!1&&(r=r.concat(T_)),e.lintKeymap!==!1&&(r=r.concat(VZ));var s=[];return e.lineNumbers!==!1&&s.push(HG()),e.highlightActiveLineGutter!==!1&&s.push(WG()),e.highlightSpecialChars!==!1&&s.push(oG()),e.history!==!1&&s.push(dY()),e.foldGutter!==!1&&s.push(RX()),e.drawSelection!==!1&&s.push(KW()),e.dropCursor!==!1&&s.push(nG()),e.allowMultipleSelections!==!1&&s.push(Vt.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&s.push(wX()),e.syntaxHighlighting!==!1&&s.push(yE(BX,{fallback:!0})),e.bracketMatching!==!1&&s.push(UX()),e.closeBrackets!==!1&&s.push(NZ()),e.autocompletion!==!1&&s.push(LZ()),e.rectangularSelection!==!1&&s.push(SG()),t!==!1&&s.push(jG()),e.highlightActiveLine!==!1&&s.push(mG()),e.highlightSelectionMatches!==!1&&s.push(bK()),e.tabSize&&typeof e.tabSize=="number"&&s.push(d0.of(" ".repeat(e.tabSize))),s.concat([c0.of(r.flat())]).filter(Boolean)};const JZ="#e5c07b",q7="#e06c75",eJ="#56b6c2",tJ="#ffffff",ig="#abb2bf",u4="#7d8799",nJ="#61afef",rJ="#98c379",Q7="#d19a66",sJ="#c678dd",iJ="#21252b",$7="#2c313a",H7="#282c34",tb="#353a42",aJ="#3E4451",U7="#528bff",lJ=Fe.theme({"&":{color:ig,backgroundColor:H7},".cm-content":{caretColor:U7},".cm-cursor, .cm-dropCursor":{borderLeftColor:U7},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:aJ},".cm-panels":{backgroundColor:iJ,color:ig},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:H7,color:u4,border:"none"},".cm-activeLineGutter":{backgroundColor:$7},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:tb},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:tb,borderBottomColor:tb},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:$7,color:ig}}},{dark:!0}),oJ=f0.define([{tag:he.keyword,color:sJ},{tag:[he.name,he.deleted,he.character,he.propertyName,he.macroName],color:q7},{tag:[he.function(he.variableName),he.labelName],color:nJ},{tag:[he.color,he.constant(he.name),he.standard(he.name)],color:Q7},{tag:[he.definition(he.name),he.separator],color:ig},{tag:[he.typeName,he.className,he.number,he.changed,he.annotation,he.modifier,he.self,he.namespace],color:JZ},{tag:[he.operator,he.operatorKeyword,he.url,he.escape,he.regexp,he.link,he.special(he.string)],color:eJ},{tag:[he.meta,he.comment],color:u4},{tag:he.strong,fontWeight:"bold"},{tag:he.emphasis,fontStyle:"italic"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:he.link,color:u4,textDecoration:"underline"},{tag:he.heading,fontWeight:"bold",color:q7},{tag:[he.atom,he.bool,he.special(he.variableName)],color:Q7},{tag:[he.processingInstruction,he.string,he.inserted],color:rJ},{tag:he.invalid,color:tJ}]),D_=[lJ,yE(oJ)];var cJ=Fe.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),uJ=function(e){e===void 0&&(e={});var{indentWithTab:t=!0,editable:r=!0,readOnly:s=!1,theme:i="light",placeholder:l="",basicSetup:c=!0}=e,u=[];switch(t&&u.unshift(c0.of([mK])),c&&(typeof c=="boolean"?u.unshift(F7()):u.unshift(F7(c))),l&&u.unshift(vG(l)),i){case"light":u.push(cJ);break;case"dark":u.push(D_);break;case"none":break;default:u.push(i);break}return r===!1&&u.push(Fe.editable.of(!1)),s&&u.push(Vt.readOnly.of(!0)),[...u]},dJ=n=>({line:n.state.doc.lineAt(n.state.selection.main.from),lineCount:n.state.doc.lines,lineBreak:n.state.lineBreak,length:n.state.doc.length,readOnly:n.state.readOnly,tabSize:n.state.tabSize,selection:n.state.selection,selectionAsSingle:n.state.selection.asSingle().main,ranges:n.state.selection.ranges,selectionCode:n.state.sliceDoc(n.state.selection.main.from,n.state.selection.main.to),selections:n.state.selection.ranges.map(e=>n.state.sliceDoc(e.from,e.to)),selectedText:n.state.selection.ranges.some(e=>!e.empty)});class hJ{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(t=>{try{t()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class V7{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var nb=null,fJ=()=>typeof window>"u"?new V7:(nb||(nb=new V7),nb),W7=Sa.define(),mJ=200,pJ=[];function gJ(n){var{value:e,selection:t,onChange:r,onStatistics:s,onCreateEditor:i,onUpdate:l,extensions:c=pJ,autoFocus:u,theme:h="light",height:m=null,minHeight:p=null,maxHeight:x=null,width:v=null,minWidth:b=null,maxWidth:O=null,placeholder:k="",editable:j=!0,readOnly:T=!1,indentWithTab:M=!0,basicSetup:_=!0,root:D,initialState:E}=n,[z,Q]=S.useState(),[q,B]=S.useState(),[U,V]=S.useState(),ce=S.useState(()=>({current:null}))[0],W=S.useState(()=>({current:null}))[0],J=Fe.theme({"&":{height:m,minHeight:p,maxHeight:x,width:v,minWidth:b,maxWidth:O},"& .cm-scroller":{height:"100% !important"}}),H=Fe.updateListener.of(ue=>{if(ue.docChanged&&typeof r=="function"&&!ue.transactions.some(Y=>Y.annotation(W7))){ce.current?ce.current.reset():(ce.current=new hJ(()=>{if(W.current){var Y=W.current;W.current=null,Y()}ce.current=null},mJ),fJ().add(ce.current));var R=ue.state.doc,me=R.toString();r(me,ue)}s&&s(dJ(ue))}),ae=uJ({theme:h,editable:j,readOnly:T,placeholder:k,indentWithTab:M,basicSetup:_}),ne=[H,J,...ae];return l&&typeof l=="function"&&ne.push(Fe.updateListener.of(l)),ne=ne.concat(c),S.useLayoutEffect(()=>{if(z&&!U){var ue={doc:e,selection:t,extensions:ne},R=E?Vt.fromJSON(E.json,ue,E.fields):Vt.create(ue);if(V(R),!q){var me=new Fe({state:R,parent:z,root:D});B(me),i&&i(me,R)}}return()=>{q&&(V(void 0),B(void 0))}},[z,U]),S.useEffect(()=>{n.container&&Q(n.container)},[n.container]),S.useEffect(()=>()=>{q&&(q.destroy(),B(void 0)),ce.current&&(ce.current.cancel(),ce.current=null)},[q]),S.useEffect(()=>{u&&q&&q.focus()},[u,q]),S.useEffect(()=>{q&&q.dispatch({effects:xt.reconfigure.of(ne)})},[h,c,m,p,x,v,b,O,k,j,T,M,_,r,l]),S.useEffect(()=>{if(e!==void 0){var ue=q?q.state.doc.toString():"";if(q&&e!==ue){var R=ce.current&&!ce.current.isDone,me=()=>{q&&e!==q.state.doc.toString()&&q.dispatch({changes:{from:0,to:q.state.doc.toString().length,insert:e||""},annotations:[W7.of(!0)]})};R?W.current=me:me()}}},[e,q]),{state:U,setState:V,view:q,setView:B,container:z,setContainer:Q}}var xJ=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],R_=S.forwardRef((n,e)=>{var{className:t,value:r="",selection:s,extensions:i=[],onChange:l,onStatistics:c,onCreateEditor:u,onUpdate:h,autoFocus:m,theme:p="light",height:x,minHeight:v,maxHeight:b,width:O,minWidth:k,maxWidth:j,basicSetup:T,placeholder:M,indentWithTab:_,editable:D,readOnly:E,root:z,initialState:Q}=n,q=JI(n,xJ),B=S.useRef(null),{state:U,view:V,container:ce,setContainer:W}=gJ({root:z,value:r,autoFocus:m,theme:p,height:x,minHeight:v,maxHeight:b,width:O,minWidth:k,maxWidth:j,basicSetup:T,placeholder:M,indentWithTab:_,editable:D,readOnly:E,selection:s,onChange:l,onStatistics:c,onCreateEditor:u,onUpdate:h,extensions:i,initialState:Q});S.useImperativeHandle(e,()=>({editor:B.current,state:U,view:V}),[B,ce,U,V]);var J=S.useCallback(ae=>{B.current=ae,W(ae)},[W]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var H=typeof p=="string"?"cm-theme-"+p:"cm-theme";return a.jsx("div",eF({ref:J,className:""+H+(t?" "+t:"")},q))});R_.displayName="CodeMirror";var G7={};class $g{constructor(e,t,r,s,i,l,c,u,h,m=0,p){this.p=e,this.stack=t,this.state=r,this.reducePos=s,this.pos=i,this.score=l,this.buffer=c,this.bufferBase=u,this.curContext=h,this.lookAhead=m,this.parent=p}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let s=e.parser.context;return new $g(e,[],t,r,r,0,[],0,s?new X7(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,s=e&65535,{parser:i}=this.p,l=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[s])===null||t===void 0)&&t.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=m):this.p.lastBigReductionSizeu;)this.stack.pop();this.reduceContext(s,h)}storeNode(e,t,r,s=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&l.buffer[c-4]==0&&l.buffer[c-1]>-1){if(t==r)return;if(l.buffer[c-2]>=t){l.buffer[c-2]=r;return}}}if(!i||this.pos==r)this.buffer.push(e,t,r,s);else{let l=this.buffer.length;if(l>0&&(this.buffer[l-4]!=0||this.buffer[l-1]<0)){let c=!1;for(let u=l;u>0&&this.buffer[u-2]>r;u-=4)if(this.buffer[u-1]>=0){c=!0;break}if(c)for(;l>0&&this.buffer[l-2]>r;)this.buffer[l]=this.buffer[l-4],this.buffer[l+1]=this.buffer[l-3],this.buffer[l+2]=this.buffer[l-2],this.buffer[l+3]=this.buffer[l-1],l-=4,s>4&&(s-=4)}this.buffer[l]=e,this.buffer[l+1]=t,this.buffer[l+2]=r,this.buffer[l+3]=s}}shift(e,t,r,s){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let i=e,{parser:l}=this.p;(s>this.pos||t<=l.maxNode)&&(this.pos=s,l.stateFlag(i,1)||(this.reducePos=s)),this.pushState(i,r),this.shiftContext(t,r),t<=l.maxNode&&this.buffer.push(t,r,s,4)}else this.pos=s,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,s,4)}apply(e,t,r,s){e&65536?this.reduce(e):this.shift(e,t,r,s)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(t,s),this.buffer.push(r,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),s=e.bufferBase+t;for(;e&&s==e.bufferBase;)e=e.parent;return new $g(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new vJ(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if((r&65536)==0)return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let s=[];for(let i=0,l;iu&1&&c==l)||s.push(t[i],l)}t=s}let r=[];for(let s=0;s>19,s=t&65535,i=this.stack.length-r*3;if(i<0||e.getGoto(this.stack[i],s,!1)<0){let l=this.findForcedReduction();if(l==null)return!1;t=l}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(s,i)=>{if(!t.includes(s))return t.push(s),e.allActions(s,l=>{if(!(l&393216))if(l&65536){let c=(l>>19)-i;if(c>1){let u=l&65535,h=this.stack.length-c*3;if(h>=0&&e.getGoto(this.stack[h],u,!1)>=0)return c<<19|65536|u}}else{let c=r(l,i+1);if(c!=null)return c}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class X7{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class vJ{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=s}}class Hg{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Hg(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Hg(this.stack,this.pos,this.index)}}function Op(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,s=0;r=92&&l--,l>=34&&l--;let u=l-32;if(u>=46&&(u-=46,c=!0),i+=u,c)break;i*=46}t?t[s++]=i:t=new e(i)}return t}class ag{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Y7=new ag;class yJ{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Y7,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,s=this.rangeIndex,i=this.pos+e;for(;ir.to:i>=r.to;){if(s==this.ranges.length-1)return null;let l=this.ranges[++s];i+=l.from-r.to,r=l}return i}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,s;if(t>=0&&t=this.chunk2Pos&&rc.to&&(this.chunk2=this.chunk2.slice(0,c.to-r)),s=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),s}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Y7,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let s of this.ranges){if(s.from>=t)break;s.to>e&&(r+=this.input.read(Math.max(s.from,e),Math.min(s.to,t)))}return r}}class Ju{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;bJ(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}Ju.prototype.contextual=Ju.prototype.fallback=Ju.prototype.extend=!1;Ju.prototype.fallback=Ju.prototype.extend=!1;class zx{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function bJ(n,e,t,r,s,i){let l=0,c=1<0){let b=n[v];if(u.allows(b)&&(e.token.value==-1||e.token.value==b||wJ(b,e.token.value,s,i))){e.acceptToken(b);break}}let m=e.next,p=0,x=n[l+2];if(e.next<0&&x>p&&n[h+x*3-3]==65535){l=n[h+x*3-1];continue e}for(;p>1,b=h+v+(v<<1),O=n[b],k=n[b+1]||65536;if(m=k)p=v+1;else{l=n[b+2],e.advance();continue e}}break}}function K7(n,e,t){for(let r=e,s;(s=n[r])!=65535;r++)if(s==t)return r-e;return-1}function wJ(n,e,t,r){let s=K7(t,r,e);return s<0||K7(t,r,n)e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}class SJ{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Z7(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Z7(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=l,null;if(i instanceof _n){if(l==e){if(l=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(l),this.index.push(0))}else this.index[t]++,this.nextStart=l+i.length}}}class OJ{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new ag)}getActions(e){let t=0,r=null,{parser:s}=e.p,{tokenizers:i}=s,l=s.stateSlot(e.state,3),c=e.curContext?e.curContext.hash:0,u=0;for(let h=0;hp.end+25&&(u=Math.max(p.lookAhead,u)),p.value!=0)){let x=t;if(p.extended>-1&&(t=this.addActions(e,p.extended,p.end,t)),t=this.addActions(e,p.value,p.end,t),!m.extend&&(r=p,t>x))break}}for(;this.actions.length>t;)this.actions.pop();return u&&e.setLookAhead(u),!r&&e.pos==this.stream.end&&(r=new ag,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new ag,{pos:r,p:s}=e;return t.start=r,t.end=Math.min(r+1,s.stream.end),t.value=r==s.stream.end?s.parser.eofTerm:0,t}updateCachedToken(e,t,r){let s=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(s,e),r),e.value>-1){let{parser:i}=r.p;for(let l=0;l=0&&r.p.parser.dialect.allows(c>>1)){(c&1)==0?e.value=c>>1:e.extended=c>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,t,r,s){for(let i=0;ie.bufferLength*4?new SJ(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],s,i;if(this.bigReductionCount>300&&e.length==1){let[l]=e;for(;l.forceReduce()&&l.stack.length&&l.stack[l.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let l=0;lt)r.push(c);else{if(this.advanceStack(c,r,e))continue;{s||(s=[],i=[]),s.push(c);let u=this.tokens.getMainToken(c);i.push(u.value,u.end)}}break}}if(!r.length){let l=s&&CJ(s);if(l)return Ys&&console.log("Finish with "+this.stackID(l)),this.stackToTree(l);if(this.parser.strict)throw Ys&&s&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&s){let l=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,i,r);if(l)return Ys&&console.log("Force-finish "+this.stackID(l)),this.stackToTree(l.forceAll())}if(this.recovering){let l=this.recovering==1?1:this.recovering*3;if(r.length>l)for(r.sort((c,u)=>u.score-c.score);r.length>l;)r.pop();r.some(c=>c.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let l=0;l500&&h.buffer.length>500)if((c.score-h.score||c.buffer.length-h.buffer.length)>0)r.splice(u--,1);else{r.splice(l--,1);continue e}}}r.length>12&&r.splice(12,r.length-12)}this.minStackPos=r[0].pos;for(let l=1;l ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,m=h?e.curContext.hash:0;for(let p=this.fragments.nodeAt(s);p;){let x=this.parser.nodeSet.types[p.type.id]==p.type?i.getGoto(e.state,p.type.id):-1;if(x>-1&&p.length&&(!h||(p.prop(Et.contextHash)||0)==m))return e.useNode(p,x),Ys&&console.log(l+this.stackID(e)+` (via reuse of ${i.getName(p.type.id)})`),!0;if(!(p instanceof _n)||p.children.length==0||p.positions[0]>0)break;let v=p.children[0];if(v instanceof _n&&p.positions[0]==0)p=v;else break}}let c=i.stateSlot(e.state,4);if(c>0)return e.reduce(c),Ys&&console.log(l+this.stackID(e)+` (via always-reduce ${i.getName(c&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let u=this.tokens.getActions(e);for(let h=0;hs?t.push(b):r.push(b)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return J7(e,t),!0}}runRecovery(e,t,r){let s=null,i=!1;for(let l=0;l ":"";if(c.deadEnd&&(i||(i=!0,c.restart(),Ys&&console.log(m+this.stackID(c)+" (restarted)"),this.advanceFully(c,r))))continue;let p=c.split(),x=m;for(let v=0;v<10&&p.forceReduce()&&(Ys&&console.log(x+this.stackID(p)+" (via force-reduce)"),!this.advanceFully(p,r));v++)Ys&&(x=this.stackID(p)+" -> ");for(let v of c.recoverByInsert(u))Ys&&console.log(m+this.stackID(v)+" (via recover-insert)"),this.advanceFully(v,r);this.stream.end>c.pos?(h==c.pos&&(h++,u=0),c.recoverByDelete(u,h),Ys&&console.log(m+this.stackID(c)+` (via recover-delete ${this.parser.getName(u)})`),J7(c,r)):(!s||s.scoren;class NJ{constructor(e){this.start=e.start,this.shift=e.shift||sb,this.reduce=e.reduce||sb,this.reuse=e.reuse||sb,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class zf extends Iw{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let c=0;ce.topRules[c][1]),s=[];for(let c=0;c=0)i(m,u,c[h++]);else{let p=c[h+-m];for(let x=-m;x>0;x--)i(c[h++],u,p);h++}}}this.nodeSet=new Nx(t.map((c,u)=>gs.define({name:u>=this.minRepeatTerm?void 0:c,id:u,props:s[u],top:r.indexOf(u)>-1,error:u==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(u)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=JA;let l=Op(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let c=0;ctypeof c=="number"?new Ju(l,c):c),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let s=new kJ(this,e,t,r);for(let i of this.wrappers)s=i(s,e,t,r);return s}getGoto(e,t,r=!1){let s=this.goto;if(t>=s[0])return-1;for(let i=s[t+1];;){let l=s[i++],c=l&1,u=s[i++];if(c&&r)return u;for(let h=i+(l>>1);i0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),s=r?t(r):void 0;for(let i=this.stateSlot(e,1);s==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=nl(this.data,i+2);else break;s=t(nl(this.data,i+1))}return s}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=nl(this.data,r+2);else break;if((this.data[r+2]&1)==0){let s=this.data[r+1];t.some((i,l)=>l&1&&i==s)||t.push(this.data[r],s)}}return t}configure(e){let t=Object.assign(Object.create(zf.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let s=e.tokenizers.find(i=>i.from==r);return s?s.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,s)=>{let i=e.specializers.find(c=>c.from==r.external);if(!i)return r;let l=Object.assign(Object.assign({},r),{external:i.to});return t.specializers[s]=e8(l),l})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let i of e.split(" ")){let l=t.indexOf(i);l>=0&&(r[l]=!0)}let s=null;for(let i=0;ir)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoren.external(t,r)<<1|e}return n.get}const TJ=1,z_=194,P_=195,MJ=196,t8=197,AJ=198,EJ=199,_J=200,DJ=2,L_=3,n8=201,RJ=24,zJ=25,PJ=49,LJ=50,BJ=55,IJ=56,FJ=57,qJ=59,QJ=60,$J=61,HJ=62,UJ=63,VJ=65,WJ=238,GJ=71,XJ=241,YJ=242,KJ=243,ZJ=244,JJ=245,eee=246,tee=247,nee=248,B_=72,ree=249,see=250,iee=251,aee=252,lee=253,oee=254,cee=255,uee=256,dee=73,hee=77,fee=263,mee=112,pee=130,gee=151,xee=152,vee=155,jc=10,Pf=13,o5=32,Px=9,c5=35,yee=40,bee=46,d4=123,r8=125,I_=39,F_=34,s8=92,wee=111,See=120,Oee=78,kee=117,jee=85,Nee=new Set([zJ,PJ,LJ,fee,VJ,pee,IJ,FJ,WJ,HJ,UJ,B_,dee,hee,QJ,$J,gee,xee,vee,mee]);function ib(n){return n==jc||n==Pf}function ab(n){return n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102}const Cee=new zx((n,e)=>{let t;if(n.next<0)n.acceptToken(EJ);else if(e.context.flags&lg)ib(n.next)&&n.acceptToken(AJ,1);else if(((t=n.peek(-1))<0||ib(t))&&e.canShift(t8)){let r=0;for(;n.next==o5||n.next==Px;)n.advance(),r++;(n.next==jc||n.next==Pf||n.next==c5)&&n.acceptToken(t8,-r)}else ib(n.next)&&n.acceptToken(MJ,1)},{contextual:!0}),Tee=new zx((n,e)=>{let t=e.context;if(t.flags)return;let r=n.peek(-1);if(r==jc||r==Pf){let s=0,i=0;for(;;){if(n.next==o5)s++;else if(n.next==Px)s+=8-s%8;else break;n.advance(),i++}s!=t.indent&&n.next!=jc&&n.next!=Pf&&n.next!=c5&&(s[n,e|q_])),Eee=new NJ({start:Mee,reduce(n,e,t,r){return n.flags&lg&&Nee.has(e)||(e==GJ||e==B_)&&n.flags&q_?n.parent:n},shift(n,e,t,r){return e==z_?new og(n,Aee(r.read(r.pos,t.pos)),0):e==P_?n.parent:e==RJ||e==BJ||e==qJ||e==L_?new og(n,0,lg):i8.has(e)?new og(n,0,i8.get(e)|n.flags&lg):n},hash(n){return n.hash}}),_ee=new zx(n=>{for(let e=0;e<5;e++){if(n.next!="print".charCodeAt(e))return;n.advance()}if(!/\w/.test(String.fromCharCode(n.next)))for(let e=0;;e++){let t=n.peek(e);if(!(t==o5||t==Px)){t!=yee&&t!=bee&&t!=jc&&t!=Pf&&t!=c5&&n.acceptToken(TJ);return}}}),Dee=new zx((n,e)=>{let{flags:t}=e.context,r=t&Za?F_:I_,s=(t&Ja)>0,i=!(t&el),l=(t&tl)>0,c=n.pos;for(;!(n.next<0);)if(l&&n.next==d4)if(n.peek(1)==d4)n.advance(2);else{if(n.pos==c){n.acceptToken(L_,1);return}break}else if(i&&n.next==s8){if(n.pos==c){n.advance();let u=n.next;u>=0&&(n.advance(),Ree(n,u)),n.acceptToken(DJ);return}break}else if(n.next==s8&&!i&&n.peek(1)>-1)n.advance(2);else if(n.next==r&&(!s||n.peek(1)==r&&n.peek(2)==r)){if(n.pos==c){n.acceptToken(n8,s?3:1);return}break}else if(n.next==jc){if(s)n.advance();else if(n.pos==c){n.acceptToken(n8);return}break}else n.advance();n.pos>c&&n.acceptToken(_J)});function Ree(n,e){if(e==wee)for(let t=0;t<2&&n.next>=48&&n.next<=55;t++)n.advance();else if(e==See)for(let t=0;t<2&&ab(n.next);t++)n.advance();else if(e==kee)for(let t=0;t<4&&ab(n.next);t++)n.advance();else if(e==jee)for(let t=0;t<8&&ab(n.next);t++)n.advance();else if(e==Oee&&n.next==d4){for(n.advance();n.next>=0&&n.next!=r8&&n.next!=I_&&n.next!=F_&&n.next!=jc;)n.advance();n.next==r8&&n.advance()}}const zee=Fw({'async "*" "**" FormatConversion FormatSpec':he.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":he.controlKeyword,"in not and or is del":he.operatorKeyword,"from def class global nonlocal lambda":he.definitionKeyword,import:he.moduleKeyword,"with as print":he.keyword,Boolean:he.bool,None:he.null,VariableName:he.variableName,"CallExpression/VariableName":he.function(he.variableName),"FunctionDefinition/VariableName":he.function(he.definition(he.variableName)),"ClassDefinition/VariableName":he.definition(he.className),PropertyName:he.propertyName,"CallExpression/MemberExpression/PropertyName":he.function(he.propertyName),Comment:he.lineComment,Number:he.number,String:he.string,FormatString:he.special(he.string),Escape:he.escape,UpdateOp:he.updateOperator,"ArithOp!":he.arithmeticOperator,BitOp:he.bitwiseOperator,CompareOp:he.compareOperator,AssignOp:he.definitionOperator,Ellipsis:he.punctuation,At:he.meta,"( )":he.paren,"[ ]":he.squareBracket,"{ }":he.brace,".":he.derefOperator,", ;":he.separator}),Pee={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Lee=zf.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[_ee,Tee,Cee,Dee,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:n=>Pee[n]||-1}],tokenPrec:7668}),a8=new eX,Q_=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function kp(n){return(e,t,r)=>{if(r)return!1;let s=e.node.getChild("VariableName");return s&&t(s,n),!0}}const Bee={FunctionDefinition:kp("function"),ClassDefinition:kp("class"),ForStatement(n,e,t){if(t){for(let r=n.node.firstChild;r;r=r.nextSibling)if(r.name=="VariableName")e(r,"variable");else if(r.name=="in")break}},ImportStatement(n,e){var t,r;let{node:s}=n,i=((t=s.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let l=s.getChild("import");l;l=l.nextSibling)l.name=="VariableName"&&((r=l.nextSibling)===null||r===void 0?void 0:r.name)!="as"&&e(l,i?"variable":"namespace")},AssignStatement(n,e){for(let t=n.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(n,e){for(let t=null,r=n.node.firstChild;r;r=r.nextSibling)r.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(r,"variable"),t=r},CapturePattern:kp("variable"),AsPattern:kp("variable"),__proto__:null};function $_(n,e){let t=a8.get(e);if(t)return t;let r=[],s=!0;function i(l,c){let u=n.sliceString(l.from,l.to);r.push({label:u,type:c})}return e.cursor(kr.IncludeAnonymous).iterate(l=>{if(l.name){let c=Bee[l.name];if(c&&c(l,i,s)||!s&&Q_.has(l.name))return!1;s=!1}else if(l.to-l.from>8192){for(let c of $_(n,l.node))r.push(c);return!1}}),a8.set(e,r),r}const l8=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,H_=["String","FormatString","Comment","PropertyName"];function Iee(n){let e=zr(n.state).resolveInner(n.pos,-1);if(H_.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&l8.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let r=[];for(let s=e;s;s=s.parent)Q_.has(s.name)&&(r=r.concat($_(n.state.doc,s)));return{options:r,from:t?e.from:n.pos,validFor:l8}}const Fee=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(n=>({label:n,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(n=>({label:n,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(n=>({label:n,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(n=>({label:n,type:"function"}))),qee=[Xa("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),Xa("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),Xa("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),Xa("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),Xa(`if \${}: - -`,{label:"if",detail:"block",type:"keyword"}),Xa("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),Xa("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),Xa("import ${module}",{label:"import",detail:"statement",type:"keyword"}),Xa("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Qee=HK(H_,v_(Fee.concat(qee)));function lb(n){let{node:e,pos:t}=n,r=n.lineIndent(t,-1),s=null;for(;;){let i=e.childBefore(t);if(i)if(i.name=="Comment")t=i.from;else if(i.name=="Body"||i.name=="MatchBody")n.baseIndentFor(i)+n.unit<=r&&(s=i),e=i;else if(i.name=="MatchClause")e=i;else if(i.type.is("Statement"))e=i;else break;else break}return s}function ob(n,e){let t=n.baseIndentFor(e),r=n.lineAt(n.pos,-1),s=r.from+r.text.length;return/^\s*($|#)/.test(r.text)&&n.node.tot?null:t+n.unit}const cb=Nf.define({name:"python",parser:Lee.configure({props:[Tx.add({Body:n=>{var e;let t=/^\s*(#|$)/.test(n.textAfter)&&lb(n)||n.node;return(e=ob(n,t))!==null&&e!==void 0?e:n.continue()},MatchBody:n=>{var e;let t=lb(n);return(e=ob(n,t||n.node))!==null&&e!==void 0?e:n.continue()},IfStatement:n=>/^\s*(else:|elif )/.test(n.textAfter)?n.baseIndent:n.continue(),"ForStatement WhileStatement":n=>/^\s*else:/.test(n.textAfter)?n.baseIndent:n.continue(),TryStatement:n=>/^\s*(except[ :]|finally:|else:)/.test(n.textAfter)?n.baseIndent:n.continue(),MatchStatement:n=>/^\s*case /.test(n.textAfter)?n.baseIndent+n.unit:n.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":Uy({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":Uy({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":Uy({closing:"]"}),MemberExpression:n=>n.baseIndent+n.unit,"String FormatString":()=>null,Script:n=>{var e;let t=lb(n);return(e=t&&ob(n,t))!==null&&e!==void 0?e:n.continue()}}),$w.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":uE,Body:(n,e)=>({from:n.from+1,to:n.to-(n.to==e.doc.length?0:1)}),"String FormatString":(n,e)=>({from:e.doc.lineAt(n.from).to,to:n.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function $ee(){return new lE(cb,[cb.data.of({autocomplete:Iee}),cb.data.of({autocomplete:Qee})])}const Hee=Fw({String:he.string,Number:he.number,"True False":he.bool,PropertyName:he.propertyName,Null:he.null,", :":he.separator,"[ ]":he.squareBracket,"{ }":he.brace}),Uee=zf.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Hee],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),Vee=()=>n=>{try{JSON.parse(n.state.doc.toString())}catch(e){if(!(e instanceof SyntaxError))throw e;const t=Wee(e,n.state.doc);return[{from:t,message:e.message,severity:"error",to:t}]}return[]};function Wee(n,e){let t;return(t=n.message.match(/at position (\d+)/))?Math.min(+t[1],e.length):(t=n.message.match(/at line (\d+) column (\d+)/))?Math.min(e.line(+t[1]).from+ +t[2]-1,e.length):0}const Gee=Nf.define({name:"json",parser:Uee.configure({props:[Tx.add({Object:o7({except:/^\s*\}/}),Array:o7({except:/^\s*\]/})}),$w.add({"Object Array":uE})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Xee(){return new lE(Gee)}const Yee={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(n,e){let t;if(!e.inString&&(t=n.match(/^('''|"""|'|")/))&&(e.stringType=t[0],e.inString=!0),n.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(n.match(e.stringType))e.inString=!1;else if(n.peek()==="\\")n.next(),n.next();else{if(n.eol())break;n.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&n.peek()==="]")return n.next(),e.inArray--,"bracket";if(e.lhs&&n.peek()==="["&&n.skipTo("]"))return n.next(),n.peek()==="]"&&n.next(),"atom";if(n.peek()==="#")return n.skipToEnd(),"comment";if(n.eatSpace())return null;if(e.lhs&&n.eatWhile(function(r){return r!="="&&r!=" "}))return"property";if(e.lhs&&n.peek()==="=")return n.next(),e.lhs=!1,null;if(!e.lhs&&n.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(n.match("true")||n.match("false")))return"atom";if(!e.lhs&&n.peek()==="[")return e.inArray++,n.next(),"bracket";if(!e.lhs&&n.match(/^\-?\d+(?:\.\d+)?/))return"number";n.eatSpace()||n.next()}return null},languageData:{commentTokens:{line:"#"}}},Kee={python:[$ee()],json:[Xee(),Vee()],toml:[Hw.define(Yee)],text:[]};function Zee({value:n,onChange:e,language:t="text",readOnly:r=!1,height:s="400px",minHeight:i,maxHeight:l,placeholder:c,theme:u="dark",className:h=""}){const[m,p]=S.useState(!1);if(S.useEffect(()=>{p(!0)},[]),!m)return a.jsx("div",{className:`rounded-md border bg-muted animate-pulse ${h}`,style:{height:s,minHeight:i,maxHeight:l}});const x=[...Kee[t]||[],Fe.lineWrapping];return r&&x.push(Fe.editable.of(!1)),a.jsx("div",{className:`rounded-md overflow-hidden border ${h}`,children:a.jsx(R_,{value:n,height:s,minHeight:i,maxHeight:l,theme:u==="dark"?D_:void 0,extensions:x,onChange:e,placeholder:c,basicSetup:{lineNumbers:!0,highlightActiveLineGutter:!0,highlightSpecialChars:!0,history:!0,foldGutter:!0,drawSelection:!0,dropCursor:!0,allowMultipleSelections:!0,indentOnInput:!0,syntaxHighlighting:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!0,rectangularSelection:!0,crosshairCursor:!0,highlightActiveLine:!0,highlightSelectionMatches:!0,closeBracketsKeymap:!0,defaultKeymap:!0,searchKeymap:!0,historyKeymap:!0,foldKeymap:!0,completionKeymap:!0,lintKeymap:!0}})})}function Jee(){const[n,e]=S.useState(!0),[t,r]=S.useState(!1),[s,i]=S.useState(!1),[l,c]=S.useState(!1),[u,h]=S.useState(!1),[m,p]=S.useState(!1),[x,v]=S.useState("visual"),[b,O]=S.useState(""),[k,j]=S.useState(!1),{toast:T}=Pr(),[M,_]=S.useState(null),[D,E]=S.useState(null),[z,Q]=S.useState(null),[q,B]=S.useState(null),[U,V]=S.useState(null),[ce,W]=S.useState(null),[J,H]=S.useState(null),[ae,ne]=S.useState(null),[ue,R]=S.useState(null),[me,Y]=S.useState(null),[P,K]=S.useState(null),[$,fe]=S.useState(null),[ye,Re]=S.useState(null),[de,We]=S.useState(null),[ct,ke]=S.useState(null),[nt,ut]=S.useState(null),[Ct,Bn]=S.useState(null),[Tn,Jn]=S.useState(null),nn=S.useRef(null),_t=S.useRef(!0),Yr=S.useRef({}),In=S.useCallback(async()=>{try{const re=await qU();O(re),j(!1)}catch(re){T({variant:"destructive",title:"加载失败",description:re instanceof Error?re.message:"加载源代码失败"})}},[T]),or=S.useCallback(async()=>{try{e(!0);const re=await FU();Yr.current=re,_(re.bot),E(re.personality);const Me=re.chat;Me.talk_value_rules||(Me.talk_value_rules=[]),Q(Me),B(re.expression),V(re.emoji),W(re.memory),H(re.tool),ne(re.mood),R(re.voice),Y(re.lpmm_knowledge),K(re.keyword_reaction),fe(re.response_post_process),Re(re.chinese_typo),We(re.response_splitter),ke(re.log),ut(re.debug),Bn(re.maim_message),Jn(re.telemetry),c(!1),_t.current=!1,await In()}catch(re){console.error("加载配置失败:",re),T({title:"加载失败",description:"无法加载配置文件",variant:"destructive"})}finally{e(!1)}},[T,In]);S.useEffect(()=>{or()},[or]);const yn=S.useCallback(async(re,Me)=>{if(!_t.current)try{i(!0),await $U(re,Me),c(!1)}catch(pt){console.error(`自动保存 ${re} 失败:`,pt),c(!0)}finally{i(!1)}},[]),ft=S.useCallback((re,Me)=>{_t.current||(c(!0),nn.current&&clearTimeout(nn.current),nn.current=setTimeout(()=>{yn(re,Me)},2e3))},[yn]);S.useEffect(()=>{M&&!_t.current&&ft("bot",M)},[M,ft]),S.useEffect(()=>{D&&!_t.current&&ft("personality",D)},[D,ft]),S.useEffect(()=>{z&&!_t.current&&ft("chat",z)},[z,ft]),S.useEffect(()=>{q&&!_t.current&&ft("expression",q)},[q,ft]),S.useEffect(()=>{U&&!_t.current&&ft("emoji",U)},[U,ft]),S.useEffect(()=>{ce&&!_t.current&&ft("memory",ce)},[ce,ft]),S.useEffect(()=>{J&&!_t.current&&ft("tool",J)},[J,ft]),S.useEffect(()=>{ae&&!_t.current&&ft("mood",ae)},[ae,ft]),S.useEffect(()=>{ue&&!_t.current&&ft("voice",ue)},[ue,ft]),S.useEffect(()=>{me&&!_t.current&&ft("lpmm_knowledge",me)},[me,ft]),S.useEffect(()=>{P&&!_t.current&&ft("keyword_reaction",P)},[P,ft]),S.useEffect(()=>{$&&!_t.current&&ft("response_post_process",$)},[$,ft]),S.useEffect(()=>{ye&&!_t.current&&ft("chinese_typo",ye)},[ye,ft]),S.useEffect(()=>{de&&!_t.current&&ft("response_splitter",de)},[de,ft]),S.useEffect(()=>{ct&&!_t.current&&ft("log",ct)},[ct,ft]),S.useEffect(()=>{nt&&!_t.current&&ft("debug",nt)},[nt,ft]),S.useEffect(()=>{Ct&&!_t.current&&ft("maim_message",Ct)},[Ct,ft]),S.useEffect(()=>{Tn&&!_t.current&&ft("telemetry",Tn)},[Tn,ft]);const ee=async()=>{try{r(!0),await QU(b),c(!1),j(!1),T({title:"保存成功",description:"配置已保存"}),await or()}catch(re){j(!0),T({variant:"destructive",title:"保存失败",description:re instanceof Error?re.message:"保存配置失败"})}finally{r(!1)}},Se=async re=>{if(l){T({variant:"destructive",title:"切换失败",description:"请先保存当前更改"});return}v(re),re==="source"?await In():await or()},Le=async()=>{try{r(!0),nn.current&&clearTimeout(nn.current);const re={...Yr.current,bot:M,personality:D,chat:z,expression:q,emoji:U,memory:ce,tool:J,mood:ae,voice:ue,lpmm_knowledge:me,keyword_reaction:P,response_post_process:$,chinese_typo:ye,response_splitter:de,log:ct,debug:nt,maim_message:Ct,telemetry:Tn};await Kk(re),c(!1),T({title:"保存成功",description:"麦麦主程序配置已保存"})}catch(re){console.error("保存配置失败:",re),T({title:"保存失败",description:re.message,variant:"destructive"})}finally{r(!1)}},rt=async()=>{try{h(!0),yw().catch(()=>{}),p(!0)}catch(re){console.error("重启失败:",re),p(!1),T({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),h(!1)}},Tt=async()=>{try{r(!0),nn.current&&clearTimeout(nn.current);const re={...Yr.current,bot:M,personality:D,chat:z,expression:q,emoji:U,memory:ce,tool:J,mood:ae,voice:ue,lpmm_knowledge:me,keyword_reaction:P,response_post_process:$,chinese_typo:ye,response_splitter:de,log:ct,debug:nt,maim_message:Ct,telemetry:Tn};await Kk(re),c(!1),T({title:"保存成功",description:"配置已保存,即将重启麦麦..."}),await new Promise(Me=>setTimeout(Me,500)),await rt()}catch(re){console.error("保存失败:",re),T({title:"保存失败",description:re.message,variant:"destructive"})}finally{r(!1)}},cr=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},Kr=()=>{p(!1),h(!1),T({title:"重启失败",description:"服务器未能在预期时间内恢复,请手动检查",variant:"destructive"})};return n?a.jsx(fn,{className:"h-full",children:a.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:a.jsx("div",{className:"flex items-center justify-center h-64",children:a.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):a.jsx(fn,{className:"h-full",children:a.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"麦麦主程序配置"}),a.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理麦麦的核心功能和行为设置"})]}),a.jsxs("div",{className:"flex gap-2 w-full sm:w-auto items-center",children:[a.jsx(dl,{value:x,onValueChange:re=>Se(re),className:"w-auto",children:a.jsxs(va,{className:"h-9",children:[a.jsxs($t,{value:"visual",className:"text-xs sm:text-sm px-2 sm:px-3",children:[a.jsx(CF,{className:"h-3 w-3 sm:h-4 sm:w-4 mr-1"}),"可视化"]}),a.jsxs($t,{value:"source",className:"text-xs sm:text-sm px-2 sm:px-3",children:[a.jsx(TF,{className:"h-3 w-3 sm:h-4 sm:w-4 mr-1"}),"源代码"]})]})}),a.jsxs(ie,{onClick:x==="visual"?Le:ee,disabled:t||s||!l||u,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[a.jsx(ox,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),t?"保存中...":s?"自动保存中...":l?"保存配置":"已保存"]}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsxs(ie,{disabled:t||s||u,size:"sm",className:"flex-1 sm:flex-none",children:[a.jsx(ew,{className:"mr-2 h-4 w-4"}),u?"重启中...":l?"保存并重启":"重启麦麦"]})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认重启麦麦?"}),a.jsx(un,{children:l?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:l?Tt:rt,children:l?"保存并重启":"确认重启"})]})]})]})]})]}),a.jsxs(od,{children:[a.jsx(oo,{className:"h-4 w-4"}),a.jsxs(cd,{children:["配置更新后需要",a.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),x==="source"&&a.jsxs("div",{className:"space-y-4",children:[a.jsxs(od,{children:[a.jsx(oo,{className:"h-4 w-4"}),a.jsxs(cd,{children:[a.jsx("strong",{children:"源代码模式(高级功能):"}),"直接编辑 TOML 配置文件。此功能仅适用于熟悉 TOML 语法的高级用户。保存时会在后端验证格式,只有格式完全正确才能保存。",k&&a.jsx("span",{className:"text-destructive font-semibold ml-2",children:"⚠️ 上次保存失败,请检查 TOML 格式"})]})]}),a.jsx(Zee,{value:b,onChange:re=>{O(re),c(!0),k&&j(!1)},language:"toml",theme:"dark",height:"calc(100vh - 280px)",minHeight:"500px",placeholder:"TOML 配置内容"})]}),x==="visual"&&a.jsx(a.Fragment,{children:a.jsxs(dl,{defaultValue:"bot",className:"w-full",children:[a.jsx("div",{className:"overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0",children:a.jsxs(va,{className:"inline-flex w-auto min-w-full sm:grid sm:w-full sm:grid-cols-5 lg:grid-cols-10",children:[a.jsx($t,{value:"bot",className:"flex-shrink-0",children:"基本信息"}),a.jsx($t,{value:"personality",className:"flex-shrink-0",children:"人格"}),a.jsx($t,{value:"chat",className:"flex-shrink-0",children:"聊天"}),a.jsx($t,{value:"expression",className:"flex-shrink-0",children:"表达"}),a.jsx($t,{value:"features",className:"flex-shrink-0",children:"功能"}),a.jsx($t,{value:"processing",className:"flex-shrink-0",children:"处理"}),a.jsx($t,{value:"mood",className:"flex-shrink-0",children:"情绪"}),a.jsx($t,{value:"voice",className:"flex-shrink-0",children:"语音"}),a.jsx($t,{value:"lpmm",className:"flex-shrink-0",children:"知识库"}),a.jsx($t,{value:"other",className:"flex-shrink-0",children:"其他"})]})}),a.jsx(On,{value:"bot",className:"space-y-4",children:M&&a.jsx(ete,{config:M,onChange:_})}),a.jsx(On,{value:"personality",className:"space-y-4",children:D&&a.jsx(tte,{config:D,onChange:E})}),a.jsx(On,{value:"chat",className:"space-y-4",children:z&&a.jsx(nte,{config:z,onChange:Q})}),a.jsx(On,{value:"expression",className:"space-y-4",children:q&&a.jsx(rte,{config:q,onChange:B})}),a.jsx(On,{value:"features",className:"space-y-4",children:U&&ce&&J&&a.jsx(ste,{emojiConfig:U,memoryConfig:ce,toolConfig:J,onEmojiChange:V,onMemoryChange:W,onToolChange:H})}),a.jsx(On,{value:"processing",className:"space-y-4",children:P&&$&&ye&&de&&a.jsx(ite,{keywordReactionConfig:P,responsePostProcessConfig:$,chineseTypoConfig:ye,responseSplitterConfig:de,onKeywordReactionChange:K,onResponsePostProcessChange:fe,onChineseTypoChange:Re,onResponseSplitterChange:We})}),a.jsx(On,{value:"mood",className:"space-y-4",children:ae&&a.jsx(ate,{config:ae,onChange:ne})}),a.jsx(On,{value:"voice",className:"space-y-4",children:ue&&a.jsx(lte,{config:ue,onChange:R})}),a.jsx(On,{value:"lpmm",className:"space-y-4",children:me&&a.jsx(ote,{config:me,onChange:Y})}),a.jsxs(On,{value:"other",className:"space-y-4",children:[ct&&a.jsx(cte,{config:ct,onChange:ke}),nt&&a.jsx(ute,{config:nt,onChange:ut}),Ct&&a.jsx(dte,{config:Ct,onChange:Bn}),Tn&&a.jsx(hte,{config:Tn,onChange:Jn})]})]})}),m&&a.jsx(bw,{onRestartComplete:cr,onRestartFailed:Kr})]})})}function ete({config:n,onChange:e}){const t=()=>{e({...n,platforms:[...n.platforms,""]})},r=u=>{e({...n,platforms:n.platforms.filter((h,m)=>m!==u)})},s=(u,h)=>{const m=[...n.platforms];m[u]=h,e({...n,platforms:m})},i=()=>{e({...n,alias_names:[...n.alias_names,""]})},l=u=>{e({...n,alias_names:n.alias_names.filter((h,m)=>m!==u)})},c=(u,h)=>{const m=[...n.alias_names];m[u]=h,e({...n,alias_names:m})};return a.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"基本信息"}),a.jsxs("div",{className:"grid gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"platform",children:"平台"}),a.jsx(Ae,{id:"platform",value:n.platform,onChange:u=>e({...n,platform:u.target.value}),placeholder:"qq"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"qq_account",children:"QQ账号"}),a.jsx(Ae,{id:"qq_account",value:n.qq_account,onChange:u=>e({...n,qq_account:u.target.value}),placeholder:"123456789"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"nickname",children:"昵称"}),a.jsx(Ae,{id:"nickname",value:n.nickname,onChange:u=>e({...n,nickname:u.target.value}),placeholder:"麦麦"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(te,{children:"其他平台账号"}),a.jsxs(ie,{onClick:t,size:"sm",variant:"outline",children:[a.jsx(Wr,{className:"h-4 w-4 mr-1"}),"添加"]})]}),a.jsxs("div",{className:"space-y-2",children:[n.platforms.map((u,h)=>a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Ae,{value:u,onChange:m=>s(h,m.target.value),placeholder:"wx:114514"}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"icon",variant:"outline",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:['确定要删除平台账号 "',u||"(空)",'" 吗?此操作无法撤销。']})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>r(h),children:"删除"})]})]})]})]},h)),n.platforms.length===0&&a.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无其他平台账号"})]})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(te,{children:"别名"}),a.jsxs(ie,{onClick:i,size:"sm",variant:"outline",children:[a.jsx(Wr,{className:"h-4 w-4 mr-1"}),"添加"]})]}),a.jsxs("div",{className:"space-y-2",children:[n.alias_names.map((u,h)=>a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Ae,{value:u,onChange:m=>c(h,m.target.value),placeholder:"小麦"}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"icon",variant:"outline",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:['确定要删除别名 "',u||"(空)",'" 吗?此操作无法撤销。']})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>l(h),children:"删除"})]})]})]})]},h)),n.alias_names.length===0&&a.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无别名"})]})]})]})]})})}function tte({config:n,onChange:e}){const t=()=>{e({...n,states:[...n.states,""]})},r=i=>{e({...n,states:n.states.filter((l,c)=>c!==i)})},s=(i,l)=>{const c=[...n.states];c[i]=l,e({...n,states:c})};return a.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"人格设置"}),a.jsxs("div",{className:"grid gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"personality",children:"人格特质"}),a.jsx(kn,{id:"personality",value:n.personality,onChange:i=>e({...n,personality:i.target.value}),placeholder:"描述人格特质和身份特征(建议120字以内)",rows:3}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"建议120字以内,描述人格特质和身份特征"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"reply_style",children:"表达风格"}),a.jsx(kn,{id:"reply_style",value:n.reply_style,onChange:i=>e({...n,reply_style:i.target.value}),placeholder:"描述说话的表达风格和习惯",rows:3})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"interest",children:"兴趣"}),a.jsx(kn,{id:"interest",value:n.interest,onChange:i=>e({...n,interest:i.target.value}),placeholder:"会影响麦麦对什么话题进行回复",rows:2})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"plan_style",children:"说话规则与行为风格"}),a.jsx(kn,{id:"plan_style",value:n.plan_style,onChange:i=>e({...n,plan_style:i.target.value}),placeholder:"麦麦的说话规则和行为风格",rows:5})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"visual_style",children:"识图规则"}),a.jsx(kn,{id:"visual_style",value:n.visual_style,onChange:i=>e({...n,visual_style:i.target.value}),placeholder:"识图时的处理规则",rows:3})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"private_plan_style",children:"私聊规则"}),a.jsx(kn,{id:"private_plan_style",value:n.private_plan_style,onChange:i=>e({...n,private_plan_style:i.target.value}),placeholder:"私聊的说话规则和行为风格",rows:4})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(te,{children:"状态列表(人格多样性)"}),a.jsxs(ie,{onClick:t,size:"sm",variant:"outline",children:[a.jsx(Wr,{className:"h-4 w-4 mr-1"}),"添加状态"]})]}),a.jsx("div",{className:"space-y-2",children:n.states.map((i,l)=>a.jsxs("div",{className:"flex gap-2",children:[a.jsx(kn,{value:i,onChange:c=>s(l,c.target.value),placeholder:"描述一个人格状态",rows:2}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"icon",variant:"outline",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsx(un,{children:"确定要删除这个人格状态吗?此操作无法撤销。"})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>r(l),children:"删除"})]})]})]})]},l))})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"state_probability",children:"状态替换概率"}),a.jsx(Ae,{id:"state_probability",type:"number",step:"0.1",min:"0",max:"1",value:n.state_probability,onChange:i=>e({...n,state_probability:parseFloat(i.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"每次构建人格时替换 personality 的概率(0.0-1.0)"})]})]})]})})}function nte({config:n,onChange:e}){const t=()=>{e({...n,talk_value_rules:[...n.talk_value_rules,{target:"",time:"00:00-23:59",value:1}]})},r=c=>{e({...n,talk_value_rules:n.talk_value_rules.filter((u,h)=>h!==c)})},s=(c,u,h)=>{const m=[...n.talk_value_rules];m[c]={...m[c],[u]:h},e({...n,talk_value_rules:m})},i=({value:c,onChange:u})=>{const[h,m]=S.useState("00"),[p,x]=S.useState("00"),[v,b]=S.useState("23"),[O,k]=S.useState("59");S.useEffect(()=>{const T=c.split("-");if(T.length===2){const[M,_]=T,[D,E]=M.split(":"),[z,Q]=_.split(":");D&&m(D.padStart(2,"0")),E&&x(E.padStart(2,"0")),z&&b(z.padStart(2,"0")),Q&&k(Q.padStart(2,"0"))}},[c]);const j=(T,M,_,D)=>{const E=`${T}:${M}-${_}:${D}`;u(E)};return a.jsxs(co,{children:[a.jsx(uo,{asChild:!0,children:a.jsxs(ie,{variant:"outline",className:"w-full justify-start font-mono text-sm",children:[a.jsx(uc,{className:"h-4 w-4 mr-2"}),c||"选择时间段"]})}),a.jsx(hl,{className:"w-80",children:a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"font-medium text-sm mb-3",children:"开始时间"}),a.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-xs",children:"小时"}),a.jsxs(Bt,{value:h,onValueChange:T=>{m(T),j(T,p,v,O)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsx(Rt,{children:Array.from({length:24},(T,M)=>M).map(T=>a.jsx(Pe,{value:T.toString().padStart(2,"0"),children:T.toString().padStart(2,"0")},T))})]})]}),a.jsxs("div",{children:[a.jsx(te,{className:"text-xs",children:"分钟"}),a.jsxs(Bt,{value:p,onValueChange:T=>{x(T),j(h,T,v,O)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsx(Rt,{children:Array.from({length:60},(T,M)=>M).map(T=>a.jsx(Pe,{value:T.toString().padStart(2,"0"),children:T.toString().padStart(2,"0")},T))})]})]})]})]}),a.jsxs("div",{children:[a.jsx("h4",{className:"font-medium text-sm mb-3",children:"结束时间"}),a.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-xs",children:"小时"}),a.jsxs(Bt,{value:v,onValueChange:T=>{b(T),j(h,p,T,O)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsx(Rt,{children:Array.from({length:24},(T,M)=>M).map(T=>a.jsx(Pe,{value:T.toString().padStart(2,"0"),children:T.toString().padStart(2,"0")},T))})]})]}),a.jsxs("div",{children:[a.jsx(te,{className:"text-xs",children:"分钟"}),a.jsxs(Bt,{value:O,onValueChange:T=>{k(T),j(h,p,v,T)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsx(Rt,{children:Array.from({length:60},(T,M)=>M).map(T=>a.jsx(Pe,{value:T.toString().padStart(2,"0"),children:T.toString().padStart(2,"0")},T))})]})]})]})]})]})})]})},l=({rule:c})=>{const u=`{ target = "${c.target}", time = "${c.time}", value = ${c.value.toFixed(1)} }`;return a.jsxs(co,{children:[a.jsx(uo,{asChild:!0,children:a.jsxs(ie,{variant:"outline",size:"sm",children:[a.jsx(qi,{className:"h-4 w-4 mr-1"}),"预览"]})}),a.jsx(hl,{className:"w-96",children:a.jsxs("div",{className:"space-y-2",children:[a.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),a.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:u}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return a.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"聊天设置"}),a.jsxs("div",{className:"grid gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"talk_value",children:"聊天频率(基础值)"}),a.jsx(Ae,{id:"talk_value",type:"number",step:"0.1",min:"0",max:"1",value:n.talk_value,onChange:c=>e({...n,talk_value:parseFloat(c.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"越小越沉默,范围 0-1"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"mentioned_bot_reply",children:"提及回复增幅"}),a.jsx(Ae,{id:"mentioned_bot_reply",type:"number",step:"0.1",min:"0",max:"1",value:n.mentioned_bot_reply,onChange:c=>e({...n,mentioned_bot_reply:parseFloat(c.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"提及时回复概率增幅,1 为 100% 回复"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"max_context_size",children:"上下文长度"}),a.jsx(Ae,{id:"max_context_size",type:"number",min:"1",value:n.max_context_size,onChange:c=>e({...n,max_context_size:parseInt(c.target.value)})})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"planner_smooth",children:"规划器平滑"}),a.jsx(Ae,{id:"planner_smooth",type:"number",step:"1",min:"0",value:n.planner_smooth,onChange:c=>e({...n,planner_smooth:parseFloat(c.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"增大数值会减小 planner 负荷,推荐 1-5,0 为关闭"})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"enable_talk_value_rules",checked:n.enable_talk_value_rules,onCheckedChange:c=>e({...n,enable_talk_value_rules:c})}),a.jsx(te,{htmlFor:"enable_talk_value_rules",className:"cursor-pointer",children:"启用动态发言频率规则"})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"include_planner_reasoning",checked:n.include_planner_reasoning,onCheckedChange:c=>e({...n,include_planner_reasoning:c})}),a.jsx(te,{htmlFor:"include_planner_reasoning",className:"cursor-pointer",children:"将 planner 推理加入 replyer"})]})]})]}),n.enable_talk_value_rules&&a.jsxs("div",{className:"border-t pt-6",children:[a.jsxs("div",{className:"flex items-center justify-between mb-4",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"text-base font-semibold",children:"动态发言频率规则"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"按时段或聊天流ID调整发言频率,优先匹配具体聊天,再匹配全局规则"})]}),a.jsxs(ie,{onClick:t,size:"sm",children:[a.jsx(Wr,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),n.talk_value_rules&&n.talk_value_rules.length>0?a.jsx("div",{className:"space-y-4",children:n.talk_value_rules.map((c,u)=>a.jsxs("div",{className:"rounded-lg border p-4 bg-muted/50 space-y-4",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("span",{className:"text-sm font-medium text-muted-foreground",children:["规则 #",u+1]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(l,{rule:c}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{variant:"ghost",size:"sm",children:a.jsx(Ht,{className:"h-4 w-4 text-destructive"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:["确定要删除规则 #",u+1," 吗?此操作无法撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>r(u),children:"删除"})]})]})]})]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"配置类型"}),a.jsxs(Bt,{value:c.target===""?"global":"specific",onValueChange:h=>{h==="global"?s(u,"target",""):s(u,"target","qq::group")},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"global",children:"全局配置"}),a.jsx(Pe,{value:"specific",children:"详细配置"})]})]})]}),c.target!==""&&(()=>{const h=c.target.split(":"),m=h[0]||"qq",p=h[1]||"",x=h[2]||"group";return a.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[a.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"平台"}),a.jsxs(Bt,{value:m,onValueChange:v=>{s(u,"target",`${v}:${p}:${x}`)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"qq",children:"QQ"}),a.jsx(Pe,{value:"wx",children:"微信"})]})]})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"群 ID"}),a.jsx(Ae,{value:p,onChange:v=>{s(u,"target",`${m}:${v.target.value}:${x}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"类型"}),a.jsxs(Bt,{value:x,onValueChange:v=>{s(u,"target",`${m}:${p}:${v}`)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"group",children:"群组(group)"}),a.jsx(Pe,{value:"private",children:"私聊(private)"})]})]})]})]}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",c.target||"(未设置)"]})]})})(),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"时间段 (Time)"}),a.jsx(i,{value:c.time,onChange:h=>s(u,"time",h)}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"支持跨夜区间,例如 23:00-02:00"})]}),a.jsxs("div",{className:"grid gap-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(te,{htmlFor:`rule-value-${u}`,className:"text-xs font-medium",children:"发言频率值 (Value)"}),a.jsx(Ae,{id:`rule-value-${u}`,type:"number",step:"0.01",min:"0",max:"1",value:c.value,onChange:h=>{const m=parseFloat(h.target.value);isNaN(m)||s(u,"value",Math.max(0,Math.min(1,m)))},className:"w-20 h-8 text-xs"})]}),a.jsx(bx,{value:[c.value],onValueChange:h=>s(u,"value",h[0]),min:0,max:1,step:.01,className:"w-full"}),a.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[a.jsx("span",{children:"0 (完全沉默)"}),a.jsx("span",{children:"0.5"}),a.jsx("span",{children:"1.0 (正常)"})]})]})]})]},u))}):a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:a.jsx("p",{className:"text-sm",children:'暂无规则,点击"添加规则"按钮创建'})}),a.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:[a.jsx("h5",{className:"text-sm font-semibold text-blue-900 dark:text-blue-100 mb-2",children:"📝 规则说明"}),a.jsxs("ul",{className:"text-xs text-blue-800 dark:text-blue-200 space-y-1",children:[a.jsxs("li",{children:["• ",a.jsx("strong",{children:"Target 为空"}),":全局规则,对所有聊天生效"]}),a.jsxs("li",{children:["• ",a.jsx("strong",{children:"Target 指定"}),":仅对特定聊天流生效(格式:platform:id:type)"]}),a.jsxs("li",{children:["• ",a.jsx("strong",{children:"优先级"}),":先匹配具体聊天流规则,再匹配全局规则"]}),a.jsxs("li",{children:["• ",a.jsx("strong",{children:"时间支持跨夜"}),":例如 23:00-02:00 表示晚上11点到次日凌晨2点"]}),a.jsxs("li",{children:["• ",a.jsx("strong",{children:"数值范围"}),":建议 0-1,0 表示完全沉默,1 表示正常发言"]})]})]})]})]})}function rte({config:n,onChange:e}){const t=()=>{e({...n,learning_list:[...n.learning_list,["","enable","enable","1.0"]]})},r=x=>{e({...n,learning_list:n.learning_list.filter((v,b)=>b!==x)})},s=(x,v,b)=>{const O=[...n.learning_list];O[x][v]=b,e({...n,learning_list:O})},i=({rule:x})=>{const v=`["${x[0]}", "${x[1]}", "${x[2]}", "${x[3]}"]`;return a.jsxs(co,{children:[a.jsx(uo,{asChild:!0,children:a.jsxs(ie,{variant:"outline",size:"sm",children:[a.jsx(qi,{className:"h-4 w-4 mr-1"}),"预览"]})}),a.jsx(hl,{className:"w-96",children:a.jsxs("div",{className:"space-y-2",children:[a.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),a.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:v}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},l=({member:x,groupIndex:v,memberIndex:b,availableChatIds:O})=>{const k=O.includes(x)||x==="*",[j,T]=S.useState(!k);return a.jsxs("div",{className:"flex gap-2",children:[a.jsx("div",{className:"flex-1 flex gap-2",children:j?a.jsxs(a.Fragment,{children:[a.jsx(Ae,{value:x,onChange:M=>p(v,b,M.target.value),placeholder:'输入 "*" 或 "qq:123456:group"',className:"flex-1"}),O.length>0&&a.jsx(ie,{size:"sm",variant:"outline",onClick:()=>T(!1),title:"切换到下拉选择",children:"下拉"})]}):a.jsxs(a.Fragment,{children:[a.jsxs(Bt,{value:x,onValueChange:M=>p(v,b,M),children:[a.jsx(Dt,{className:"flex-1",children:a.jsx(It,{placeholder:"选择聊天流"})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"*",children:"* (全局共享)"}),O.map((M,_)=>a.jsx(Pe,{value:M,children:M},_))]})]}),a.jsx(ie,{size:"sm",variant:"outline",onClick:()=>T(!0),title:"切换到手动输入",children:"输入"})]})}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"icon",variant:"outline",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:['确定要删除组成员 "',x||"(空)",'" 吗?此操作无法撤销。']})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>m(v,b),children:"删除"})]})]})]})]})},c=()=>{e({...n,expression_groups:[...n.expression_groups,[]]})},u=x=>{e({...n,expression_groups:n.expression_groups.filter((v,b)=>b!==x)})},h=x=>{const v=[...n.expression_groups];v[x]=[...v[x],""],e({...n,expression_groups:v})},m=(x,v)=>{const b=[...n.expression_groups];b[x]=b[x].filter((O,k)=>k!==v),e({...n,expression_groups:b})},p=(x,v,b)=>{const O=[...n.expression_groups];O[x][v]=b,e({...n,expression_groups:O})};return a.jsxs("div",{className:"space-y-6",children:[a.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center justify-between mb-4",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold",children:"表达学习配置"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置麦麦如何学习和使用表达方式"})]}),a.jsxs(ie,{onClick:t,size:"sm",variant:"outline",children:[a.jsx(Wr,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),a.jsxs("div",{className:"space-y-4",children:[n.learning_list.map((x,v)=>{const b=n.learning_list.some((_,D)=>D!==v&&_[0]===""),O=x[0]==="",k=x[0].split(":"),j=k[0]||"qq",T=k[1]||"",M=k[2]||"group";return a.jsxs("div",{className:"rounded-lg border p-4 space-y-4",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("span",{className:"text-sm font-medium",children:["规则 ",v+1," ",O&&"(全局配置)"]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(i,{rule:x}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"sm",variant:"ghost",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:["确定要删除学习规则 ",v+1," 吗?此操作无法撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>r(v),children:"删除"})]})]})]})]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"配置类型"}),a.jsxs(Bt,{value:O?"global":"specific",onValueChange:_=>{_==="global"?s(v,0,""):s(v,0,"qq::group")},disabled:b&&!O,children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"global",children:"全局配置"}),a.jsx(Pe,{value:"specific",disabled:b&&!O,children:"详细配置"})]})]}),b&&!O&&a.jsx("p",{className:"text-xs text-amber-600",children:"已存在全局配置,无法创建新的全局配置"})]}),!O&&a.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[a.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"平台"}),a.jsxs(Bt,{value:j,onValueChange:_=>{s(v,0,`${_}:${T}:${M}`)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"qq",children:"QQ"}),a.jsx(Pe,{value:"wx",children:"微信"})]})]})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"群 ID"}),a.jsx(Ae,{value:T,onChange:_=>{s(v,0,`${j}:${_.target.value}:${M}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"类型"}),a.jsxs(Bt,{value:M,onValueChange:_=>{s(v,0,`${j}:${T}:${_}`)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"group",children:"群组(group)"}),a.jsx(Pe,{value:"private",children:"私聊(private)"})]})]})]})]}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",x[0]||"(未设置)"]})]}),a.jsx("div",{className:"grid gap-2",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-xs font-medium",children:"使用学到的表达"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦使用从聊天中学到的表达方式"})]}),a.jsx(jt,{checked:x[1]==="enable",onCheckedChange:_=>s(v,1,_?"enable":"disable")})]})}),a.jsx("div",{className:"grid gap-2",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-xs font-medium",children:"学习表达"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦从聊天中学习新的表达方式"})]}),a.jsx(jt,{checked:x[2]==="enable",onCheckedChange:_=>s(v,2,_?"enable":"disable")})]})}),a.jsxs("div",{className:"grid gap-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(te,{className:"text-xs font-medium",children:"学习强度"}),a.jsx(Ae,{type:"number",step:"0.1",min:"0",max:"5",value:x[3],onChange:_=>{const D=parseFloat(_.target.value);isNaN(D)||s(v,3,Math.max(0,Math.min(5,D)).toFixed(1))},className:"w-20 h-8 text-xs"})]}),a.jsx(bx,{value:[parseFloat(x[3])||1],onValueChange:_=>s(v,3,_[0].toFixed(1)),min:0,max:5,step:.1,className:"w-full"}),a.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[a.jsx("span",{children:"0 (不学习)"}),a.jsx("span",{children:"2.5"}),a.jsx("span",{children:"5.0 (快速学习)"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"影响学习频率,最短学习间隔 = 300/学习强度(秒)"})]})]})]},v)}),n.learning_list.length===0&&a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无学习规则,点击"添加规则"开始配置'})]})]})}),a.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center justify-between mb-4",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold",children:"表达共享组配置"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置不同聊天流之间如何共享学到的表达方式"})]}),a.jsxs(ie,{onClick:c,size:"sm",variant:"outline",children:[a.jsx(Wr,{className:"h-4 w-4 mr-1"}),"添加共享组"]})]}),a.jsxs("div",{className:"space-y-4",children:[n.expression_groups.map((x,v)=>{const b=n.learning_list.map(O=>O[0]).filter(O=>O!=="");return a.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("span",{className:"text-sm font-medium",children:["共享组 ",v+1,x.length===1&&x[0]==="*"&&"(全局共享)"]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(ie,{onClick:()=>h(v),size:"sm",variant:"outline",children:a.jsx(Wr,{className:"h-4 w-4"})}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"sm",variant:"ghost",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:["确定要删除共享组 ",v+1," 吗?此操作无法撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>u(v),children:"删除"})]})]})]})]})]}),a.jsx("div",{className:"space-y-2",children:x.map((O,k)=>a.jsx(l,{member:O,groupIndex:v,memberIndex:k,availableChatIds:b},k))}),a.jsx("p",{className:"text-xs text-muted-foreground",children:'提示:可以从下拉框选择已配置的聊天流,或手动输入。输入 "*" 启用全局共享'})]},v)}),n.expression_groups.length===0&&a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无共享组,点击"添加共享组"开始配置'})]})]})})]})}function ste({emojiConfig:n,memoryConfig:e,toolConfig:t,onEmojiChange:r,onMemoryChange:s,onToolChange:i}){return a.jsxs("div",{className:"space-y-6",children:[a.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"工具设置"}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"enable_tool",checked:t.enable_tool,onCheckedChange:l=>i({...t,enable_tool:l})}),a.jsx(te,{htmlFor:"enable_tool",className:"cursor-pointer",children:"启用工具系统"})]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"允许麦麦使用各种工具来增强功能"})]})}),a.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"记忆设置"}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"max_agent_iterations",children:"记忆思考深度"}),a.jsx(Ae,{id:"max_agent_iterations",type:"number",min:"1",value:e.max_agent_iterations,onChange:l=>s({...e,max_agent_iterations:parseInt(l.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"最低为 1(不深入思考)"})]})]})}),a.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"表情包设置"}),a.jsxs("div",{className:"grid gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"emoji_chance",children:"表情包激活概率"}),a.jsx(Ae,{id:"emoji_chance",type:"number",step:"0.1",min:"0",max:"1",value:n.emoji_chance,onChange:l=>r({...n,emoji_chance:parseFloat(l.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"范围 0-1,越大越容易发送表情包"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"max_reg_num",children:"最大注册数量"}),a.jsx(Ae,{id:"max_reg_num",type:"number",min:"1",value:n.max_reg_num,onChange:l=>r({...n,max_reg_num:parseInt(l.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"麦麦最多可以注册的表情包数量"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),a.jsx(Ae,{id:"check_interval",type:"number",min:"1",value:n.check_interval,onChange:l=>r({...n,check_interval:parseInt(l.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包(注册、破损、删除)的时间间隔"})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"do_replace",checked:n.do_replace,onCheckedChange:l=>r({...n,do_replace:l})}),a.jsx(te,{htmlFor:"do_replace",className:"cursor-pointer",children:"达到最大数量时替换表情包"})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"steal_emoji",checked:n.steal_emoji,onCheckedChange:l=>r({...n,steal_emoji:l})}),a.jsx(te,{htmlFor:"steal_emoji",className:"cursor-pointer",children:"偷取表情包"})]}),a.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"允许麦麦将看到的表情包据为己有"}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"content_filtration",checked:n.content_filtration,onCheckedChange:l=>r({...n,content_filtration:l})}),a.jsx(te,{htmlFor:"content_filtration",className:"cursor-pointer",children:"启用表情包过滤"})]}),n.content_filtration&&a.jsxs("div",{className:"grid gap-2 pl-6 border-l-2 border-primary/20",children:[a.jsx(te,{htmlFor:"filtration_prompt",children:"过滤要求"}),a.jsx(Ae,{id:"filtration_prompt",value:n.filtration_prompt,onChange:l=>r({...n,filtration_prompt:l.target.value}),placeholder:"符合公序良俗"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"只有符合此要求的表情包才会被保存"})]})]})]})})]})}function ite({keywordReactionConfig:n,responsePostProcessConfig:e,chineseTypoConfig:t,responseSplitterConfig:r,onKeywordReactionChange:s,onResponsePostProcessChange:i,onChineseTypoChange:l,onResponseSplitterChange:c}){const u=()=>{s({...n,regex_rules:[...n.regex_rules,{regex:[""],reaction:""}]})},h=_=>{s({...n,regex_rules:n.regex_rules.filter((D,E)=>E!==_)})},m=(_,D,E)=>{const z=[...n.regex_rules];D==="regex"&&typeof E=="string"?z[_]={...z[_],regex:[E]}:D==="reaction"&&typeof E=="string"&&(z[_]={...z[_],reaction:E}),s({...n,regex_rules:z})},p=({regex:_,reaction:D,onRegexChange:E,onReactionChange:z})=>{const[Q,q]=S.useState(!1),[B,U]=S.useState(""),[V,ce]=S.useState(null),[W,J]=S.useState(""),[H,ae]=S.useState({}),[ne,ue]=S.useState(""),R=S.useRef(null),[me,Y]=S.useState("build"),P=ye=>ye.replace(/\(\?P<([^>]+)>/g,"(?<$1>"),K=(ye,Re=0)=>{const de=R.current;if(!de)return;const We=de.selectionStart||0,ct=de.selectionEnd||0,ke=_.substring(0,We)+ye+_.substring(ct);E(ke),setTimeout(()=>{const nt=We+ye.length+Re;de.setSelectionRange(nt,nt),de.focus()},0)};S.useEffect(()=>{if(!_||!B){ce(null),ae({}),ue(D),J("");return}try{const ye=P(_),Re=new RegExp(ye,"g"),de=B.match(Re);ce(de),J("");const ct=new RegExp(ye).exec(B);if(ct&&ct.groups){ae(ct.groups);let ke=D;Object.entries(ct.groups).forEach(([nt,ut])=>{ke=ke.replace(new RegExp(`\\[${nt}\\]`,"g"),ut||"")}),ue(ke)}else ae({}),ue(D)}catch(ye){J(ye.message),ce(null),ae({}),ue(D)}},[_,B,D]);const $=()=>{if(!B||!V||V.length===0)return a.jsx("span",{className:"text-muted-foreground",children:B||"请输入测试文本"});try{const ye=P(_),Re=new RegExp(ye,"g");let de=0;const We=[];let ct;for(;(ct=Re.exec(B))!==null;)ct.index>de&&We.push(a.jsx("span",{children:B.substring(de,ct.index)},`text-${de}`)),We.push(a.jsx("span",{className:"bg-yellow-200 dark:bg-yellow-900 font-semibold",children:ct[0]},`match-${ct.index}`)),de=ct.index+ct[0].length;return de)",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 a.jsxs(Rr,{open:Q,onOpenChange:q,children:[a.jsx(gw,{asChild:!0,children:a.jsxs(ie,{variant:"outline",size:"sm",children:[a.jsx(mg,{className:"h-4 w-4 mr-1"}),"正则编辑器"]})}),a.jsxs(Nr,{className:"max-w-[95vw] sm:max-w-[900px] max-h-[90vh]",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"正则表达式编辑器"}),a.jsx(Gr,{className:"text-sm",children:"使用可视化工具构建正则表达式,并实时测试效果"})]}),a.jsx(fn,{className:"max-h-[calc(90vh-120px)]",children:a.jsxs(dl,{value:me,onValueChange:ye=>Y(ye),className:"w-full",children:[a.jsxs(va,{className:"grid w-full grid-cols-2",children:[a.jsx($t,{value:"build",children:"🔧 构建器"}),a.jsx($t,{value:"test",children:"🧪 测试器"})]}),a.jsxs(On,{value:"build",className:"space-y-4 mt-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{className:"text-sm font-medium",children:"正则表达式"}),a.jsx(Ae,{ref:R,value:_,onChange:ye=>E(ye.target.value),className:"font-mono text-sm",placeholder:"点击下方按钮构建正则表达式..."})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{className:"text-sm font-medium",children:"Reaction 内容"}),a.jsx(kn,{value:D,onChange:ye=>z(ye.target.value),placeholder:"使用 [捕获组名] 引用捕获的内容...",rows:3,className:"text-sm"})]}),a.jsxs("div",{className:"space-y-4 border-t pt-4",children:[fe.map(ye=>a.jsxs("div",{className:"space-y-2",children:[a.jsx("h5",{className:"text-xs font-semibold text-primary",children:ye.category}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:ye.items.map(Re=>a.jsx(ie,{variant:"outline",size:"sm",className:"justify-start h-auto py-2 px-3",onClick:()=>K(Re.pattern,Re.moveCursor||0),children:a.jsxs("div",{className:"flex flex-col items-start w-full",children:[a.jsxs("div",{className:"flex items-center gap-2 w-full",children:[a.jsx("span",{className:"text-xs font-medium",children:Re.label}),a.jsx("code",{className:"ml-auto text-xs bg-muted px-1.5 py-0.5 rounded font-mono",children:Re.pattern})]}),a.jsx("span",{className:"text-xs text-muted-foreground mt-0.5",children:Re.desc})]})},Re.label))})]},ye.category)),a.jsxs("div",{className:"space-y-2 border-t pt-4",children:[a.jsx("h5",{className:"text-xs font-semibold text-primary",children:"完整示例模板"}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(ie,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>E("^(?P\\S{1,20})是这样的$"),children:a.jsxs("div",{className:"flex flex-col items-start w-full",children:[a.jsxs("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:["^(?P\\S","{1,20}",")是这样的$"]}),a.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「某事物是这样的」并捕获事物名称"})]})}),a.jsx(ie,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>E("(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"),children:a.jsxs("div",{className:"flex flex-col items-start w-full",children:[a.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"}),a.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「我没要求你做某事」并捕获具体行为"})]})}),a.jsx(ie,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>E("(?P.+?)(?:是|为什么|怎么)"),children:a.jsxs("div",{className:"flex flex-col items-start w-full",children:[a.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?P.+?)(?:是|为什么|怎么)"}),a.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"捕获问题主题词"})]})})]})]})]}),a.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:[a.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 使用提示"}),a.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[a.jsx("li",{children:"点击输入框设置光标位置,然后点击按钮插入模式"}),a.jsxs("li",{children:["命名捕获组格式:",a.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"(?P<名称>模式)"})]}),a.jsxs("li",{children:["在 reaction 中使用 ",a.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"[名称]"})," 引用捕获的内容"]}),a.jsx("li",{children:"切换到测试器标签页验证正则表达式效果"})]})]})]}),a.jsxs(On,{value:"test",className:"space-y-4 mt-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{className:"text-sm font-medium",children:"当前正则表达式"}),a.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:_||"(未设置)"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"test-text",className:"text-sm font-medium",children:"测试文本"}),a.jsx(kn,{id:"test-text",value:B,onChange:ye=>U(ye.target.value),placeholder:`在此输入要测试的文本... -例如:打游戏是这样的`,className:"min-h-[100px] text-sm"})]}),W&&a.jsxs("div",{className:"rounded-md bg-destructive/10 border border-destructive/20 p-3",children:[a.jsx("p",{className:"text-sm text-destructive font-medium",children:"正则表达式错误"}),a.jsx("p",{className:"text-xs text-destructive/80 mt-1",children:W})]}),!W&&B&&a.jsxs("div",{className:"space-y-3",children:[a.jsx("div",{className:"flex items-center gap-2",children:V&&V.length>0?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"h-2 w-2 rounded-full bg-green-500"}),a.jsxs("span",{className:"text-sm font-medium text-green-600 dark:text-green-400",children:["匹配成功 (",V.length," 处)"]})]}):a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"h-2 w-2 rounded-full bg-gray-400"}),a.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"无匹配"})]})}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{className:"text-sm font-medium",children:"匹配高亮"}),a.jsx(fn,{className:"h-40 rounded-md bg-muted p-3",children:a.jsx("div",{className:"text-sm break-words",children:$()})})]}),Object.keys(H).length>0&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{className:"text-sm font-medium",children:"命名捕获组"}),a.jsx(fn,{className:"h-32 rounded-md border p-3",children:a.jsx("div",{className:"space-y-2",children:Object.entries(H).map(([ye,Re])=>a.jsxs("div",{className:"flex items-start gap-2 text-sm",children:[a.jsxs("span",{className:"font-mono font-semibold text-primary min-w-[80px]",children:["[",ye,"]"]}),a.jsx("span",{className:"text-muted-foreground",children:"="}),a.jsx("span",{className:"font-mono bg-muted px-2 py-0.5 rounded",children:Re})]},ye))})})]}),Object.keys(H).length>0&&D&&a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{className:"text-sm font-medium",children:"Reaction 替换预览"}),a.jsx(fn,{className:"h-48 rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3",children:a.jsx("div",{className:"text-sm break-words",children:ne})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"reaction 中的 [name] 已被替换为对应的捕获组值"})]})]}),a.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:[a.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 测试说明"}),a.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[a.jsx("li",{children:"匹配的文本会以黄色背景高亮显示"}),a.jsx("li",{children:"命名捕获组的值会显示在下方列表中"}),a.jsx("li",{children:"Reaction 替换预览显示最终生成的反应内容"}),a.jsx("li",{children:"如需修改正则,切换回构建器标签页"})]})]})]})]})})]})]})},x=()=>{s({...n,keyword_rules:[...n.keyword_rules,{keywords:[],reaction:""}]})},v=_=>{s({...n,keyword_rules:n.keyword_rules.filter((D,E)=>E!==_)})},b=(_,D,E)=>{const z=[...n.keyword_rules];typeof E=="string"&&(z[_]={...z[_],reaction:E}),s({...n,keyword_rules:z})},O=_=>{const D=[...n.keyword_rules];D[_]={...D[_],keywords:[...D[_].keywords||[],""]},s({...n,keyword_rules:D})},k=(_,D)=>{const E=[...n.keyword_rules];E[_]={...E[_],keywords:(E[_].keywords||[]).filter((z,Q)=>Q!==D)},s({...n,keyword_rules:E})},j=(_,D,E)=>{const z=[...n.keyword_rules],Q=[...z[_].keywords||[]];Q[D]=E,z[_]={...z[_],keywords:Q},s({...n,keyword_rules:z})},T=({rule:_})=>{const D=`{ regex = [${(_.regex||[]).map(E=>`"${E}"`).join(", ")}], reaction = "${_.reaction}" }`;return a.jsxs(co,{children:[a.jsx(uo,{asChild:!0,children:a.jsxs(ie,{variant:"outline",size:"sm",children:[a.jsx(qi,{className:"h-4 w-4 mr-1"}),"预览"]})}),a.jsx(hl,{className:"w-[95vw] sm:w-[500px]",children:a.jsxs("div",{className:"space-y-2",children:[a.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),a.jsx(fn,{className:"h-60 rounded-md bg-muted p-3",children:a.jsx("pre",{className:"font-mono text-xs break-all",children:D})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},M=({rule:_})=>{const D=`[[keyword_reaction.keyword_rules]] -keywords = [${(_.keywords||[]).map(E=>`"${E}"`).join(", ")}] -reaction = "${_.reaction}"`;return a.jsxs(co,{children:[a.jsx(uo,{asChild:!0,children:a.jsxs(ie,{variant:"outline",size:"sm",children:[a.jsx(qi,{className:"h-4 w-4 mr-1"}),"预览"]})}),a.jsx(hl,{className:"w-[95vw] sm:w-[500px]",children:a.jsxs("div",{className:"space-y-2",children:[a.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),a.jsx(fn,{className:"h-60 rounded-md bg-muted p-3",children:a.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap break-all",children:D})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-2",children:"关键词反应配置"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"配置触发特定反应的关键词和正则表达式规则"})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"text-base font-semibold",children:"正则表达式规则"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用正则表达式匹配消息内容"})]}),a.jsxs(ie,{onClick:u,size:"sm",variant:"outline",children:[a.jsx(Wr,{className:"h-4 w-4 mr-1"}),"添加正则规则"]})]}),a.jsxs("div",{className:"space-y-3",children:[n.regex_rules.map((_,D)=>a.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("span",{className:"text-sm font-medium",children:["正则规则 ",D+1]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(p,{regex:_.regex&&_.regex[0]||"",reaction:_.reaction,onRegexChange:E=>m(D,"regex",E),onReactionChange:E=>m(D,"reaction",E)}),a.jsx(T,{rule:_}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"sm",variant:"ghost",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:["确定要删除正则规则 ",D+1," 吗?此操作无法撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>h(D),children:"删除"})]})]})]})]})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"正则表达式(Python 语法)"}),a.jsx(Ae,{value:_.regex&&_.regex[0]||"",onChange:E=>m(D,"regex",E.target.value),placeholder:"例如:^(?P\\\\S{1,20})是这样的$ (点击正则编辑器按钮可视化构建)",className:"font-mono text-sm"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:'支持命名捕获组 (?Ppattern),可在 reaction 中使用 [name] 引用。点击"正则编辑器"可视化构建和测试!'})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"反应内容"}),a.jsx(kn,{value:_.reaction,onChange:E=>m(D,"reaction",E.target.value),placeholder:`触发后麦麦的反应... -可以使用 [捕获组名] 来引用正则表达式中的内容`,rows:3,className:"text-sm"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"使用 [捕获组名] 引用正则表达式中的命名捕获组,例如 [n] 会被替换为捕获的内容"})]})]})]},D)),n.regex_rules.length===0&&a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无正则规则,点击"添加正则规则"开始配置'})]})]}),a.jsxs("div",{className:"space-y-4 border-t pt-6",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"text-base font-semibold",children:"关键词规则"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用关键词列表匹配消息内容"})]}),a.jsxs(ie,{onClick:x,size:"sm",variant:"outline",children:[a.jsx(Wr,{className:"h-4 w-4 mr-1"}),"添加关键词规则"]})]}),a.jsxs("div",{className:"space-y-3",children:[n.keyword_rules.map((_,D)=>a.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("span",{className:"text-sm font-medium",children:["关键词规则 ",D+1]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(M,{rule:_}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"sm",variant:"ghost",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:["确定要删除关键词规则 ",D+1," 吗?此操作无法撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>v(D),children:"删除"})]})]})]})]})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(te,{className:"text-xs font-medium",children:"关键词列表"}),a.jsxs(ie,{onClick:()=>O(D),size:"sm",variant:"ghost",children:[a.jsx(Wr,{className:"h-3 w-3 mr-1"}),"添加关键词"]})]}),a.jsxs("div",{className:"space-y-2",children:[(_.keywords||[]).map((E,z)=>a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Ae,{value:E,onChange:Q=>j(D,z,Q.target.value),placeholder:"关键词",className:"flex-1"}),a.jsx(ie,{onClick:()=>k(D,z),size:"sm",variant:"ghost",children:a.jsx(Ht,{className:"h-4 w-4"})})]},z)),(!_.keywords||_.keywords.length===0)&&a.jsx("p",{className:"text-xs text-muted-foreground text-center py-2",children:'暂无关键词,点击"添加关键词"开始配置'})]})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-xs font-medium",children:"反应内容"}),a.jsx(kn,{value:_.reaction,onChange:E=>b(D,"reaction",E.target.value),placeholder:"触发后麦麦的反应...",rows:3,className:"text-sm"})]})]})]},D)),n.keyword_rules.length===0&&a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无关键词规则,点击"添加关键词规则"开始配置'})]})]})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"回复后处理配置"}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"enable_response_post_process",checked:e.enable_response_post_process,onCheckedChange:_=>i({...e,enable_response_post_process:_})}),a.jsx(te,{htmlFor:"enable_response_post_process",className:"cursor-pointer",children:"启用回复后处理"})]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"包括错别字生成器和回复分割器"})]}),e.enable_response_post_process&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"border-t pt-6 space-y-4",children:a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[a.jsx(jt,{id:"enable_chinese_typo",checked:t.enable,onCheckedChange:_=>l({...t,enable:_})}),a.jsx(te,{htmlFor:"enable_chinese_typo",className:"cursor-pointer font-semibold",children:"中文错别字生成器"})]}),a.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"为回复添加随机错别字,让麦麦的回复更自然"}),t.enable&&a.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"error_rate",className:"text-xs font-medium",children:"单字替换概率"}),a.jsx(Ae,{id:"error_rate",type:"number",step:"0.001",min:"0",max:"1",value:t.error_rate,onChange:_=>l({...t,error_rate:parseFloat(_.target.value)})})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"min_freq",className:"text-xs font-medium",children:"最小字频阈值"}),a.jsx(Ae,{id:"min_freq",type:"number",min:"0",value:t.min_freq,onChange:_=>l({...t,min_freq:parseInt(_.target.value)})})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"tone_error_rate",className:"text-xs font-medium",children:"声调错误概率"}),a.jsx(Ae,{id:"tone_error_rate",type:"number",step:"0.01",min:"0",max:"1",value:t.tone_error_rate,onChange:_=>l({...t,tone_error_rate:parseFloat(_.target.value)})})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"word_replace_rate",className:"text-xs font-medium",children:"整词替换概率"}),a.jsx(Ae,{id:"word_replace_rate",type:"number",step:"0.001",min:"0",max:"1",value:t.word_replace_rate,onChange:_=>l({...t,word_replace_rate:parseFloat(_.target.value)})})]})]})]})}),a.jsx("div",{className:"border-t pt-6 space-y-4",children:a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[a.jsx(jt,{id:"enable_response_splitter",checked:r.enable,onCheckedChange:_=>c({...r,enable:_})}),a.jsx(te,{htmlFor:"enable_response_splitter",className:"cursor-pointer font-semibold",children:"回复分割器"})]}),a.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"控制回复的长度和句子数量"}),r.enable&&a.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"max_length",className:"text-xs font-medium",children:"最大长度"}),a.jsx(Ae,{id:"max_length",type:"number",min:"1",value:r.max_length,onChange:_=>c({...r,max_length:parseInt(_.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大字符数"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"max_sentence_num",className:"text-xs font-medium",children:"最大句子数"}),a.jsx(Ae,{id:"max_sentence_num",type:"number",min:"1",value:r.max_sentence_num,onChange:_=>c({...r,max_sentence_num:parseInt(_.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大句子数量"})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"enable_kaomoji_protection",checked:r.enable_kaomoji_protection,onCheckedChange:_=>c({...r,enable_kaomoji_protection:_})}),a.jsx(te,{htmlFor:"enable_kaomoji_protection",className:"cursor-pointer",children:"启用颜文字保护"})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"enable_overflow_return_all",checked:r.enable_overflow_return_all,onCheckedChange:_=>c({...r,enable_overflow_return_all:_})}),a.jsx(te,{htmlFor:"enable_overflow_return_all",className:"cursor-pointer",children:"超出时一次性返回全部"})]}),a.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"当句子数量超出限制时,合并后一次性返回所有内容"})]})]})})]})]})]})}function ate({config:n,onChange:e}){return a.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[a.jsx("h3",{className:"text-lg font-semibold",children:"情绪设置"}),a.jsxs("div",{className:"grid gap-4",children:[a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{checked:n.enable_mood,onCheckedChange:t=>e({...n,enable_mood:t})}),a.jsx(te,{className:"cursor-pointer",children:"启用情绪系统"})]}),n.enable_mood&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"情绪更新阈值"}),a.jsx(Ae,{type:"number",min:"1",value:n.mood_update_threshold,onChange:t=>e({...n,mood_update_threshold:parseInt(t.target.value)})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"越高,更新越慢"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"情感特征"}),a.jsx(kn,{value:n.emotion_style,onChange:t=>e({...n,emotion_style:t.target.value}),placeholder:"影响情绪的变化情况",rows:2})]})]})]})]})}function lte({config:n,onChange:e}){return a.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[a.jsx("h3",{className:"text-lg font-semibold",children:"语音设置"}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{checked:n.enable_asr,onCheckedChange:t=>e({...n,enable_asr:t})}),a.jsx(te,{className:"cursor-pointer",children:"启用语音识别"})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"启用后麦麦可以识别语音消息,需要配置语音识别模型"})]})}function ote({config:n,onChange:e}){return a.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[a.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库设置"}),a.jsxs("div",{className:"grid gap-4",children:[a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{checked:n.enable,onCheckedChange:t=>e({...n,enable:t})}),a.jsx(te,{className:"cursor-pointer",children:"启用 LPMM 知识库"})]}),n.enable&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"LPMM 模式"}),a.jsxs(Bt,{value:n.lpmm_mode,onValueChange:t=>e({...n,lpmm_mode:t}),children:[a.jsx(Dt,{children:a.jsx(It,{placeholder:"选择 LPMM 模式"})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"classic",children:"经典模式"}),a.jsx(Pe,{value:"agent",children:"Agent 模式"})]})]})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"同义词搜索 TopK"}),a.jsx(Ae,{type:"number",min:"1",value:n.rag_synonym_search_top_k,onChange:t=>e({...n,rag_synonym_search_top_k:parseInt(t.target.value)})})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"同义词阈值"}),a.jsx(Ae,{type:"number",step:"0.1",min:"0",max:"1",value:n.rag_synonym_threshold,onChange:t=>e({...n,rag_synonym_threshold:parseFloat(t.target.value)})})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"实体提取线程数"}),a.jsx(Ae,{type:"number",min:"1",value:n.info_extraction_workers,onChange:t=>e({...n,info_extraction_workers:parseInt(t.target.value)})})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"嵌入向量维度"}),a.jsx(Ae,{type:"number",min:"1",value:n.embedding_dimension,onChange:t=>e({...n,embedding_dimension:parseInt(t.target.value)})})]})]})]})]})]})}function cte({config:n,onChange:e}){const[t,r]=S.useState(""),[s,i]=S.useState("WARNING"),l=()=>{t&&!n.suppress_libraries.includes(t)&&(e({...n,suppress_libraries:[...n.suppress_libraries,t]}),r(""))},c=v=>{e({...n,suppress_libraries:n.suppress_libraries.filter(b=>b!==v)})},u=()=>{t&&!n.library_log_levels[t]&&(e({...n,library_log_levels:{...n.library_log_levels,[t]:s}}),r(""),i("WARNING"))},h=v=>{const b={...n.library_log_levels};delete b[v],e({...n,library_log_levels:b})},m=["DEBUG","INFO","WARNING","ERROR","CRITICAL"],p=["FULL","compact","lite"],x=["none","title","full"];return a.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-6",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"日志配置"}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"日期格式"}),a.jsx(Ae,{value:n.date_style,onChange:v=>e({...n,date_style:v.target.value}),placeholder:"例如: m-d H:i:s"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"m=月, d=日, H=时, i=分, s=秒"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"日志级别样式"}),a.jsxs(Bt,{value:n.log_level_style,onValueChange:v=>e({...n,log_level_style:v}),children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsx(Rt,{children:p.map(v=>a.jsx(Pe,{value:v,children:v},v))})]})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"日志文本颜色"}),a.jsxs(Bt,{value:n.color_text,onValueChange:v=>e({...n,color_text:v}),children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsx(Rt,{children:x.map(v=>a.jsx(Pe,{value:v,children:v},v))})]})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"全局日志级别"}),a.jsxs(Bt,{value:n.log_level,onValueChange:v=>e({...n,log_level:v}),children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsx(Rt,{children:m.map(v=>a.jsx(Pe,{value:v,children:v},v))})]})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"控制台日志级别"}),a.jsxs(Bt,{value:n.console_log_level,onValueChange:v=>e({...n,console_log_level:v}),children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsx(Rt,{children:m.map(v=>a.jsx(Pe,{value:v,children:v},v))})]})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"文件日志级别"}),a.jsxs(Bt,{value:n.file_log_level,onValueChange:v=>e({...n,file_log_level:v}),children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsx(Rt,{children:m.map(v=>a.jsx(Pe,{value:v,children:v},v))})]})]})]})]}),a.jsxs("div",{children:[a.jsx(te,{className:"mb-2 block",children:"完全屏蔽的库"}),a.jsxs("div",{className:"flex gap-2 mb-2",children:[a.jsx(Ae,{value:t,onChange:v=>r(v.target.value),placeholder:"输入库名",className:"flex-1",onKeyDown:v=>{v.key==="Enter"&&(v.preventDefault(),l())}}),a.jsx(ie,{onClick:l,size:"sm",className:"flex-shrink-0",children:a.jsx(Wr,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),a.jsx("div",{className:"flex flex-wrap gap-2",children:n.suppress_libraries.map(v=>a.jsxs("div",{className:"flex items-center gap-1 bg-secondary px-3 py-1 rounded-md",children:[a.jsx("span",{className:"text-sm",children:v}),a.jsx(ie,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>c(v),children:a.jsx(Ht,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},v))})]}),a.jsxs("div",{children:[a.jsx(te,{className:"mb-2 block",children:"特定库的日志级别"}),a.jsxs("div",{className:"flex gap-2 mb-2",children:[a.jsx(Ae,{value:t,onChange:v=>r(v.target.value),placeholder:"输入库名",className:"flex-1"}),a.jsxs(Bt,{value:s,onValueChange:i,children:[a.jsx(Dt,{className:"w-32",children:a.jsx(It,{})}),a.jsx(Rt,{children:m.map(v=>a.jsx(Pe,{value:v,children:v},v))})]}),a.jsx(ie,{onClick:u,size:"sm",children:a.jsx(Wr,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),a.jsx("div",{className:"space-y-2",children:Object.entries(n.library_log_levels).map(([v,b])=>a.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[a.jsx("span",{className:"text-sm font-medium",children:v}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-sm text-muted-foreground",children:b}),a.jsx(ie,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>h(v),children:a.jsx(Ht,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]})]},v))})]})]})}function ute({config:n,onChange:e}){return a.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[a.jsx("h3",{className:"text-lg font-semibold",children:"调试配置"}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-0.5",children:[a.jsx(te,{children:"显示 Prompt"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"是否在日志中显示提示词"})]}),a.jsx(jt,{checked:n.show_prompt,onCheckedChange:t=>e({...n,show_prompt:t})})]}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-0.5",children:[a.jsx(te,{children:"显示回复器 Prompt"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的提示词"})]}),a.jsx(jt,{checked:n.show_replyer_prompt,onCheckedChange:t=>e({...n,show_replyer_prompt:t})})]}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-0.5",children:[a.jsx(te,{children:"显示回复器推理"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的推理过程"})]}),a.jsx(jt,{checked:n.show_replyer_reasoning,onCheckedChange:t=>e({...n,show_replyer_reasoning:t})})]}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-0.5",children:[a.jsx(te,{children:"显示 Jargon Prompt"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示术语相关的提示词"})]}),a.jsx(jt,{checked:n.show_jargon_prompt,onCheckedChange:t=>e({...n,show_jargon_prompt:t})})]})]})]})}function dte({config:n,onChange:e}){const[t,r]=S.useState(""),s=()=>{t&&!n.auth_token.includes(t)&&(e({...n,auth_token:[...n.auth_token,t]}),r(""))},i=l=>{e({...n,auth_token:n.auth_token.filter((c,u)=>u!==l)})};return a.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-semibold mb-4",children:"MaimMessage 服务配置"}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-0.5",children:[a.jsx(te,{children:"启用自定义服务器"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"是否使用自定义的 MaimMessage 服务器"})]}),a.jsx(jt,{checked:n.use_custom,onCheckedChange:l=>e({...n,use_custom:l})})]}),n.use_custom&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"主机地址"}),a.jsx(Ae,{value:n.host,onChange:l=>e({...n,host:l.target.value}),placeholder:"127.0.0.1"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"端口号"}),a.jsx(Ae,{type:"number",value:n.port,onChange:l=>e({...n,port:parseInt(l.target.value)}),placeholder:"8090"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"连接模式"}),a.jsxs(Bt,{value:n.mode,onValueChange:l=>e({...n,mode:l}),children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"ws",children:"WebSocket (ws)"}),a.jsx(Pe,{value:"tcp",children:"TCP"})]})]})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{checked:n.use_wss,onCheckedChange:l=>e({...n,use_wss:l}),disabled:n.mode!=="ws"}),a.jsx(te,{children:"使用 WSS 安全连接"})]})]}),n.use_wss&&n.mode==="ws"&&a.jsxs("div",{className:"grid gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"SSL 证书文件路径"}),a.jsx(Ae,{value:n.cert_file,onChange:l=>e({...n,cert_file:l.target.value}),placeholder:"cert.pem"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"SSL 密钥文件路径"}),a.jsx(Ae,{value:n.key_file,onChange:l=>e({...n,key_file:l.target.value}),placeholder:"key.pem"})]})]})]})]})]}),a.jsxs("div",{children:[a.jsx(te,{className:"mb-2 block",children:"认证令牌"}),a.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"用于 API 验证,为空则不启用验证"}),a.jsxs("div",{className:"flex gap-2 mb-2",children:[a.jsx(Ae,{value:t,onChange:l=>r(l.target.value),placeholder:"输入认证令牌",onKeyDown:l=>{l.key==="Enter"&&(l.preventDefault(),s())}}),a.jsx(ie,{onClick:s,size:"sm",children:a.jsx(Wr,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),a.jsx("div",{className:"space-y-2",children:n.auth_token.map((l,c)=>a.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[a.jsx("span",{className:"text-sm font-mono",children:l}),a.jsx(ie,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>i(c),children:a.jsx(Ht,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},c))})]})]})}function hte({config:n,onChange:e}){return a.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[a.jsx("h3",{className:"text-lg font-semibold",children:"统计信息"}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"space-y-0.5",children:[a.jsx(te,{children:"启用统计信息发送"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"发送匿名统计信息,帮助我们了解全球有多少只麦麦在运行"})]}),a.jsx(jt,{checked:n.enable,onCheckedChange:t=>e({...n,enable:t})})]})]})}const Ac=S.forwardRef(({className:n,...e},t)=>a.jsx("div",{className:"relative w-full overflow-auto",children:a.jsx("table",{ref:t,className:ve("w-full caption-bottom text-sm",n),...e})}));Ac.displayName="Table";const Ec=S.forwardRef(({className:n,...e},t)=>a.jsx("thead",{ref:t,className:ve("[&_tr]:border-b",n),...e}));Ec.displayName="TableHeader";const _c=S.forwardRef(({className:n,...e},t)=>a.jsx("tbody",{ref:t,className:ve("[&_tr:last-child]:border-0",n),...e}));_c.displayName="TableBody";const fte=S.forwardRef(({className:n,...e},t)=>a.jsx("tfoot",{ref:t,className:ve("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",n),...e}));fte.displayName="TableFooter";const xr=S.forwardRef(({className:n,...e},t)=>a.jsx("tr",{ref:t,className:ve("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",n),...e}));xr.displayName="TableRow";const gt=S.forwardRef(({className:n,...e},t)=>a.jsx("th",{ref:t,className:ve("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",n),...e}));gt.displayName="TableHead";const it=S.forwardRef(({className:n,...e},t)=>a.jsx("td",{ref:t,className:ve("px-4 py-3 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",n),...e}));it.displayName="TableCell";const mte=S.forwardRef(({className:n,...e},t)=>a.jsx("caption",{ref:t,className:ve("mt-4 text-sm text-muted-foreground",n),...e}));mte.displayName="TableCaption";const ss=S.forwardRef(({className:n,...e},t)=>a.jsx(L9,{ref:t,className:ve("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",n),...e,children:a.jsx(uF,{className:ve("grid place-content-center text-current"),children:a.jsx(hc,{className:"h-4 w-4"})})}));ss.displayName=L9.displayName;function pte(){const[n,e]=S.useState([]),[t,r]=S.useState(!0),[s,i]=S.useState(!1),[l,c]=S.useState(!1),[u,h]=S.useState(!1),[m,p]=S.useState(!1),[x,v]=S.useState(!1),[b,O]=S.useState(!1),[k,j]=S.useState(null),[T,M]=S.useState(null),[_,D]=S.useState(!1),[E,z]=S.useState(null),[Q,q]=S.useState(!1),[B,U]=S.useState(""),[V,ce]=S.useState(new Set),[W,J]=S.useState(!1),[H,ae]=S.useState(1),[ne,ue]=S.useState(20),[R,me]=S.useState(""),{toast:Y}=Pr(),P=S.useRef(null),K=S.useRef(!0);S.useEffect(()=>{$()},[]);const $=async()=>{try{r(!0);const ee=await Wu();e(ee.api_providers||[]),h(!1),K.current=!1}catch(ee){console.error("加载配置失败:",ee)}finally{r(!1)}},fe=async()=>{try{p(!0),yw().catch(()=>{}),v(!0)}catch(ee){console.error("重启失败:",ee),v(!1),Y({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),p(!1)}},ye=async()=>{try{i(!0),P.current&&clearTimeout(P.current);const ee=await Wu();ee.api_providers=n,await Sg(ee),h(!1),Y({title:"保存成功",description:"正在重启麦麦..."}),await fe()}catch(ee){console.error("保存配置失败:",ee),Y({title:"保存失败",description:ee.message,variant:"destructive"}),i(!1)}},Re=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},de=()=>{v(!1),p(!1),Y({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},We=S.useCallback(async ee=>{if(!K.current)try{c(!0),await m2("api_providers",ee),h(!1)}catch(Se){console.error("自动保存失败:",Se),h(!0)}finally{c(!1)}},[]);S.useEffect(()=>{if(!K.current)return h(!0),P.current&&clearTimeout(P.current),P.current=setTimeout(()=>{We(n)},2e3),()=>{P.current&&clearTimeout(P.current)}},[n,We]);const ct=async()=>{try{i(!0),P.current&&clearTimeout(P.current);const ee=await Wu();ee.api_providers=n,await Sg(ee),h(!1),Y({title:"保存成功",description:"模型提供商配置已保存"})}catch(ee){console.error("保存配置失败:",ee),Y({title:"保存失败",description:ee.message,variant:"destructive"})}finally{i(!1)}},ke=(ee,Se)=>{j(ee||{name:"",base_url:"",api_key:"",client_type:"openai",max_retry:2,timeout:30,retry_interval:10}),M(Se),q(!1),O(!0)},nt=async()=>{if(k?.api_key)try{await navigator.clipboard.writeText(k.api_key),Y({title:"复制成功",description:"API Key 已复制到剪贴板"})}catch{Y({title:"复制失败",description:"无法访问剪贴板",variant:"destructive"})}},ut=()=>{if(!k)return;const ee={...k,max_retry:k.max_retry??2,timeout:k.timeout??30,retry_interval:k.retry_interval??10};if(T!==null){const Se=[...n];Se[T]=ee,e(Se)}else e([...n,ee]);O(!1),j(null),M(null)},Ct=ee=>{if(!ee&&k){const Se={...k,max_retry:k.max_retry??2,timeout:k.timeout??30,retry_interval:k.retry_interval??10};j(Se)}O(ee)},Bn=ee=>{z(ee),D(!0)},Tn=()=>{if(E!==null){const ee=n.filter((Se,Le)=>Le!==E);e(ee),Y({title:"删除成功",description:"提供商已从列表中移除"})}D(!1),z(null)},Jn=ee=>{const Se=new Set(V);Se.has(ee)?Se.delete(ee):Se.add(ee),ce(Se)},nn=()=>{if(V.size===In.length)ce(new Set);else{const ee=In.map((Se,Le)=>n.findIndex(rt=>rt===In[Le]));ce(new Set(ee))}},_t=()=>{if(V.size===0){Y({title:"提示",description:"请先选择要删除的提供商",variant:"default"});return}J(!0)},Yr=()=>{const ee=n.filter((Se,Le)=>!V.has(Le));e(ee),ce(new Set),J(!1),Y({title:"批量删除成功",description:`已删除 ${V.size} 个提供商`})},In=n.filter(ee=>{if(!B)return!0;const Se=B.toLowerCase();return ee.name.toLowerCase().includes(Se)||ee.base_url.toLowerCase().includes(Se)||ee.client_type.toLowerCase().includes(Se)}),or=Math.ceil(In.length/ne),yn=In.slice((H-1)*ne,H*ne),ft=()=>{const ee=parseInt(R);ee>=1&&ee<=or&&(ae(ee),me(""))};return t?a.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:a.jsx("div",{className:"flex items-center justify-center h-64",children:a.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})}):a.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型提供商配置"}),a.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理 API 提供商配置"})]}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[V.size>0&&a.jsxs(ie,{onClick:_t,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[a.jsx(Ht,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",V.size,")"]}),a.jsxs(ie,{onClick:()=>ke(null,null),size:"sm",className:"w-full sm:w-auto",children:[a.jsx(Wr,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加提供商"]}),a.jsxs(ie,{onClick:ct,disabled:s||l||!u||m,size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[a.jsx(ox,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),s?"保存中...":l?"自动保存中...":u?"保存配置":"已保存"]}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsxs(ie,{disabled:s||l||m,size:"sm",className:"w-full sm:w-auto",children:[a.jsx(ew,{className:"mr-2 h-4 w-4"}),m?"重启中...":u?"保存并重启":"重启麦麦"]})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认重启麦麦?"}),a.jsx(un,{children:u?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:u?ye:fe,children:u?"保存并重启":"确认重启"})]})]})]})]})]}),a.jsxs(od,{children:[a.jsx(oo,{className:"h-4 w-4"}),a.jsxs(cd,{children:["配置更新后需要",a.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),a.jsxs(fn,{className:"h-[calc(100vh-260px)]",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2 mb-4",children:[a.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[a.jsx(Ps,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Ae,{placeholder:"搜索提供商名称、URL 或类型...",value:B,onChange:ee=>U(ee.target.value),className:"pl-9"})]}),B&&a.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",In.length," 个结果"]})]}),a.jsx("div",{className:"md:hidden space-y-3",children:In.length===0?a.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:B?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'}):yn.map((ee,Se)=>{const Le=n.findIndex(rt=>rt===ee);return a.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h3",{className:"font-semibold text-base truncate",children:ee.name}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1 break-all",children:ee.base_url})]}),a.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>ke(ee,Le),children:[a.jsx(rd,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),a.jsxs(ie,{size:"sm",onClick:()=>Bn(Le),className:"bg-red-600 hover:bg-red-700 text-white",children:[a.jsx(Ht,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"客户端类型"}),a.jsx("p",{className:"font-medium",children:ee.client_type})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"最大重试"}),a.jsx("p",{className:"font-medium",children:ee.max_retry})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"超时(秒)"}),a.jsx("p",{className:"font-medium",children:ee.timeout})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"重试间隔(秒)"}),a.jsx("p",{className:"font-medium",children:ee.retry_interval})]})]})]},Se)})}),a.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:a.jsx("div",{className:"overflow-x-auto",children:a.jsxs(Ac,{children:[a.jsx(Ec,{children:a.jsxs(xr,{children:[a.jsx(gt,{className:"w-12",children:a.jsx(ss,{checked:V.size===In.length&&In.length>0,onCheckedChange:nn})}),a.jsx(gt,{children:"名称"}),a.jsx(gt,{children:"基础URL"}),a.jsx(gt,{children:"客户端类型"}),a.jsx(gt,{className:"text-right",children:"最大重试"}),a.jsx(gt,{className:"text-right",children:"超时(秒)"}),a.jsx(gt,{className:"text-right",children:"重试间隔(秒)"}),a.jsx(gt,{className:"text-right",children:"操作"})]})}),a.jsx(_c,{children:yn.length===0?a.jsx(xr,{children:a.jsx(it,{colSpan:8,className:"text-center text-muted-foreground py-8",children:B?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'})}):yn.map((ee,Se)=>{const Le=n.findIndex(rt=>rt===ee);return a.jsxs(xr,{children:[a.jsx(it,{children:a.jsx(ss,{checked:V.has(Le),onCheckedChange:()=>Jn(Le)})}),a.jsx(it,{className:"font-medium",children:ee.name}),a.jsx(it,{className:"max-w-xs truncate",title:ee.base_url,children:ee.base_url}),a.jsx(it,{children:ee.client_type}),a.jsx(it,{className:"text-right",children:ee.max_retry}),a.jsx(it,{className:"text-right",children:ee.timeout}),a.jsx(it,{className:"text-right",children:ee.retry_interval}),a.jsx(it,{className:"text-right",children:a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>ke(ee,Le),children:[a.jsx(rd,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),a.jsxs(ie,{size:"sm",onClick:()=>Bn(Le),className:"bg-red-600 hover:bg-red-700 text-white",children:[a.jsx(Ht,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})})]},Se)})})]})})}),In.length>0&&a.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 mt-4",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(te,{htmlFor:"page-size-provider",className:"text-sm whitespace-nowrap",children:"每页显示"}),a.jsxs(Bt,{value:ne.toString(),onValueChange:ee=>{ue(parseInt(ee)),ae(1),ce(new Set)},children:[a.jsx(Dt,{id:"page-size-provider",className:"w-20",children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"10",children:"10"}),a.jsx(Pe,{value:"20",children:"20"}),a.jsx(Pe,{value:"50",children:"50"}),a.jsx(Pe,{value:"100",children:"100"})]})]}),a.jsxs("span",{className:"text-sm text-muted-foreground",children:["显示 ",(H-1)*ne+1," 到"," ",Math.min(H*ne,In.length)," 条,共 ",In.length," 条"]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>ae(1),disabled:H===1,className:"hidden sm:flex",children:a.jsx(Yf,{className:"h-4 w-4"})}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>ae(ee=>Math.max(1,ee-1)),disabled:H===1,children:[a.jsx(Tc,{className:"h-4 w-4 sm:mr-1"}),a.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Ae,{type:"number",value:R,onChange:ee=>me(ee.target.value),onKeyDown:ee=>ee.key==="Enter"&&ft(),placeholder:H.toString(),className:"w-16 h-8 text-center",min:1,max:or}),a.jsx(ie,{variant:"outline",size:"sm",onClick:ft,disabled:!R,className:"h-8",children:"跳转"})]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>ae(ee=>ee+1),disabled:H>=or,children:[a.jsx("span",{className:"hidden sm:inline",children:"下一页"}),a.jsx(Mc,{className:"h-4 w-4 sm:ml-1"})]}),a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>ae(or),disabled:H>=or,className:"hidden sm:flex",children:a.jsx(Kf,{className:"h-4 w-4"})})]})]})]}),a.jsx(Rr,{open:b,onOpenChange:Ct,children:a.jsxs(Nr,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:T!==null?"编辑提供商":"添加提供商"}),a.jsx(Gr,{children:"配置 API 提供商的连接信息和参数"})]}),a.jsxs("div",{className:"grid gap-4 py-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"name",children:"名称 *"}),a.jsx(Ae,{id:"name",value:k?.name||"",onChange:ee=>j(Se=>Se?{...Se,name:ee.target.value}:null),placeholder:"例如: DeepSeek, SiliconFlow"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"base_url",children:"基础 URL *"}),a.jsx(Ae,{id:"base_url",value:k?.base_url||"",onChange:ee=>j(Se=>Se?{...Se,base_url:ee.target.value}:null),placeholder:"https://api.example.com/v1"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"api_key",children:"API Key *"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Ae,{id:"api_key",type:Q?"text":"password",value:k?.api_key||"",onChange:ee=>j(Se=>Se?{...Se,api_key:ee.target.value}:null),placeholder:"sk-...",className:"flex-1"}),a.jsx(ie,{type:"button",variant:"outline",size:"icon",onClick:()=>q(!Q),title:Q?"隐藏密钥":"显示密钥",children:Q?a.jsx(Kb,{className:"h-4 w-4"}):a.jsx(qi,{className:"h-4 w-4"})}),a.jsx(ie,{type:"button",variant:"outline",size:"icon",onClick:nt,title:"复制密钥",children:a.jsx(Yb,{className:"h-4 w-4"})})]})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"client_type",children:"客户端类型"}),a.jsxs(Bt,{value:k?.client_type||"openai",onValueChange:ee=>j(Se=>Se?{...Se,client_type:ee}:null),children:[a.jsx(Dt,{id:"client_type",children:a.jsx(It,{placeholder:"选择客户端类型"})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"openai",children:"OpenAI"}),a.jsx(Pe,{value:"gemini",children:"Gemini"})]})]})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"max_retry",children:"最大重试"}),a.jsx(Ae,{id:"max_retry",type:"number",min:"0",value:k?.max_retry??"",onChange:ee=>{const Se=ee.target.value===""?null:parseInt(ee.target.value);j(Le=>Le?{...Le,max_retry:Se}:null)},placeholder:"默认: 2"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"timeout",children:"超时(秒)"}),a.jsx(Ae,{id:"timeout",type:"number",min:"1",value:k?.timeout??"",onChange:ee=>{const Se=ee.target.value===""?null:parseInt(ee.target.value);j(Le=>Le?{...Le,timeout:Se}:null)},placeholder:"默认: 30"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"retry_interval",children:"重试间隔(秒)"}),a.jsx(Ae,{id:"retry_interval",type:"number",min:"1",value:k?.retry_interval??"",onChange:ee=>{const Se=ee.target.value===""?null:parseInt(ee.target.value);j(Le=>Le?{...Le,retry_interval:Se}:null)},placeholder:"默认: 10"})]})]})]}),a.jsxs(ps,{children:[a.jsx(ie,{variant:"outline",onClick:()=>O(!1),children:"取消"}),a.jsx(ie,{onClick:ut,children:"保存"})]})]})}),a.jsx(mn,{open:_,onOpenChange:D,children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:['确定要删除提供商 "',E!==null?n[E]?.name:"",'" 吗? 此操作无法撤销。']})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:Tn,children:"删除"})]})]})}),a.jsx(mn,{open:W,onOpenChange:J,children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认批量删除"}),a.jsxs(un,{children:["确定要删除选中的 ",V.size," 个提供商吗? 此操作无法撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:Yr,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),x&&a.jsx(bw,{onRestartComplete:Re,onRestartFailed:de})]})}var o8=1,gte=.9,xte=.8,vte=.17,ub=.1,db=.999,yte=.9999,bte=.99,wte=/[\\\/_+.#"@\[\(\{&]/,Ste=/[\\\/_+.#"@\[\(\{&]/g,Ote=/[\s-]/,U_=/[\s-]/g;function h4(n,e,t,r,s,i,l){if(i===e.length)return s===n.length?o8:bte;var c=`${s},${i}`;if(l[c]!==void 0)return l[c];for(var u=r.charAt(i),h=t.indexOf(u,s),m=0,p,x,v,b;h>=0;)p=h4(n,e,t,r,h+1,i+1,l),p>m&&(h===s?p*=o8:wte.test(n.charAt(h-1))?(p*=xte,v=n.slice(s,h-1).match(Ste),v&&s>0&&(p*=Math.pow(db,v.length))):Ote.test(n.charAt(h-1))?(p*=gte,b=n.slice(s,h-1).match(U_),b&&s>0&&(p*=Math.pow(db,b.length))):(p*=vte,s>0&&(p*=Math.pow(db,h-s))),n.charAt(h)!==e.charAt(i)&&(p*=yte)),(pp&&(p=x*ub)),p>m&&(m=p),h=t.indexOf(u,h+1);return l[c]=m,m}function c8(n){return n.toLowerCase().replace(U_," ")}function kte(n,e,t){return n=t&&t.length>0?`${n+" "+t.join(" ")}`:n,h4(n,e,c8(n),c8(e),0,0,{})}var jte=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Co=jte.reduce((n,e)=>{const t=H4(`Primitive.${e}`),r=S.forwardRef((s,i)=>{const{asChild:l,...c}=s,u=l?t:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(u,{...c,ref:i})});return r.displayName=`Primitive.${e}`,{...n,[e]:r}},{}),Bh='[cmdk-group=""]',hb='[cmdk-group-items=""]',Nte='[cmdk-group-heading=""]',V_='[cmdk-item=""]',u8=`${V_}:not([aria-disabled="true"])`,f4="cmdk-item-select",Lu="data-value",Cte=(n,e,t)=>kte(n,e,t),W_=S.createContext(void 0),x0=()=>S.useContext(W_),G_=S.createContext(void 0),u5=()=>S.useContext(G_),X_=S.createContext(void 0),Y_=S.forwardRef((n,e)=>{let t=Bu(()=>{var Y,P;return{search:"",value:(P=(Y=n.value)!=null?Y:n.defaultValue)!=null?P:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=Bu(()=>new Set),s=Bu(()=>new Map),i=Bu(()=>new Map),l=Bu(()=>new Set),c=K_(n),{label:u,children:h,value:m,onValueChange:p,filter:x,shouldFilter:v,loop:b,disablePointerSelection:O=!1,vimBindings:k=!0,...j}=n,T=ki(),M=ki(),_=ki(),D=S.useRef(null),E=Bte();Nc(()=>{if(m!==void 0){let Y=m.trim();t.current.value=Y,z.emit()}},[m]),Nc(()=>{E(6,ce)},[]);let z=S.useMemo(()=>({subscribe:Y=>(l.current.add(Y),()=>l.current.delete(Y)),snapshot:()=>t.current,setState:(Y,P,K)=>{var $,fe,ye,Re;if(!Object.is(t.current[Y],P)){if(t.current[Y]=P,Y==="search")V(),B(),E(1,U);else if(Y==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let de=document.getElementById(_);de?de.focus():($=document.getElementById(T))==null||$.focus()}if(E(7,()=>{var de;t.current.selectedItemId=(de=W())==null?void 0:de.id,z.emit()}),K||E(5,ce),((fe=c.current)==null?void 0:fe.value)!==void 0){let de=P??"";(Re=(ye=c.current).onValueChange)==null||Re.call(ye,de);return}}z.emit()}},emit:()=>{l.current.forEach(Y=>Y())}}),[]),Q=S.useMemo(()=>({value:(Y,P,K)=>{var $;P!==(($=i.current.get(Y))==null?void 0:$.value)&&(i.current.set(Y,{value:P,keywords:K}),t.current.filtered.items.set(Y,q(P,K)),E(2,()=>{B(),z.emit()}))},item:(Y,P)=>(r.current.add(Y),P&&(s.current.has(P)?s.current.get(P).add(Y):s.current.set(P,new Set([Y]))),E(3,()=>{V(),B(),t.current.value||U(),z.emit()}),()=>{i.current.delete(Y),r.current.delete(Y),t.current.filtered.items.delete(Y);let K=W();E(4,()=>{V(),K?.getAttribute("id")===Y&&U(),z.emit()})}),group:Y=>(s.current.has(Y)||s.current.set(Y,new Set),()=>{i.current.delete(Y),s.current.delete(Y)}),filter:()=>c.current.shouldFilter,label:u||n["aria-label"],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:T,inputId:_,labelId:M,listInnerRef:D}),[]);function q(Y,P){var K,$;let fe=($=(K=c.current)==null?void 0:K.filter)!=null?$:Cte;return Y?fe(Y,t.current.search,P):0}function B(){if(!t.current.search||c.current.shouldFilter===!1)return;let Y=t.current.filtered.items,P=[];t.current.filtered.groups.forEach($=>{let fe=s.current.get($),ye=0;fe.forEach(Re=>{let de=Y.get(Re);ye=Math.max(de,ye)}),P.push([$,ye])});let K=D.current;J().sort(($,fe)=>{var ye,Re;let de=$.getAttribute("id"),We=fe.getAttribute("id");return((ye=Y.get(We))!=null?ye:0)-((Re=Y.get(de))!=null?Re:0)}).forEach($=>{let fe=$.closest(hb);fe?fe.appendChild($.parentElement===fe?$:$.closest(`${hb} > *`)):K.appendChild($.parentElement===K?$:$.closest(`${hb} > *`))}),P.sort(($,fe)=>fe[1]-$[1]).forEach($=>{var fe;let ye=(fe=D.current)==null?void 0:fe.querySelector(`${Bh}[${Lu}="${encodeURIComponent($[0])}"]`);ye?.parentElement.appendChild(ye)})}function U(){let Y=J().find(K=>K.getAttribute("aria-disabled")!=="true"),P=Y?.getAttribute(Lu);z.setState("value",P||void 0)}function V(){var Y,P,K,$;if(!t.current.search||c.current.shouldFilter===!1){t.current.filtered.count=r.current.size;return}t.current.filtered.groups=new Set;let fe=0;for(let ye of r.current){let Re=(P=(Y=i.current.get(ye))==null?void 0:Y.value)!=null?P:"",de=($=(K=i.current.get(ye))==null?void 0:K.keywords)!=null?$:[],We=q(Re,de);t.current.filtered.items.set(ye,We),We>0&&fe++}for(let[ye,Re]of s.current)for(let de of Re)if(t.current.filtered.items.get(de)>0){t.current.filtered.groups.add(ye);break}t.current.filtered.count=fe}function ce(){var Y,P,K;let $=W();$&&(((Y=$.parentElement)==null?void 0:Y.firstChild)===$&&((K=(P=$.closest(Bh))==null?void 0:P.querySelector(Nte))==null||K.scrollIntoView({block:"nearest"})),$.scrollIntoView({block:"nearest"}))}function W(){var Y;return(Y=D.current)==null?void 0:Y.querySelector(`${V_}[aria-selected="true"]`)}function J(){var Y;return Array.from(((Y=D.current)==null?void 0:Y.querySelectorAll(u8))||[])}function H(Y){let P=J()[Y];P&&z.setState("value",P.getAttribute(Lu))}function ae(Y){var P;let K=W(),$=J(),fe=$.findIndex(Re=>Re===K),ye=$[fe+Y];(P=c.current)!=null&&P.loop&&(ye=fe+Y<0?$[$.length-1]:fe+Y===$.length?$[0]:$[fe+Y]),ye&&z.setState("value",ye.getAttribute(Lu))}function ne(Y){let P=W(),K=P?.closest(Bh),$;for(;K&&!$;)K=Y>0?Pte(K,Bh):Lte(K,Bh),$=K?.querySelector(u8);$?z.setState("value",$.getAttribute(Lu)):ae(Y)}let ue=()=>H(J().length-1),R=Y=>{Y.preventDefault(),Y.metaKey?ue():Y.altKey?ne(1):ae(1)},me=Y=>{Y.preventDefault(),Y.metaKey?H(0):Y.altKey?ne(-1):ae(-1)};return S.createElement(Co.div,{ref:e,tabIndex:-1,...j,"cmdk-root":"",onKeyDown:Y=>{var P;(P=j.onKeyDown)==null||P.call(j,Y);let K=Y.nativeEvent.isComposing||Y.keyCode===229;if(!(Y.defaultPrevented||K))switch(Y.key){case"n":case"j":{k&&Y.ctrlKey&&R(Y);break}case"ArrowDown":{R(Y);break}case"p":case"k":{k&&Y.ctrlKey&&me(Y);break}case"ArrowUp":{me(Y);break}case"Home":{Y.preventDefault(),H(0);break}case"End":{Y.preventDefault(),ue();break}case"Enter":{Y.preventDefault();let $=W();if($){let fe=new Event(f4);$.dispatchEvent(fe)}}}}},S.createElement("label",{"cmdk-label":"",htmlFor:Q.inputId,id:Q.labelId,style:Fte},u),Lx(n,Y=>S.createElement(G_.Provider,{value:z},S.createElement(W_.Provider,{value:Q},Y))))}),Tte=S.forwardRef((n,e)=>{var t,r;let s=ki(),i=S.useRef(null),l=S.useContext(X_),c=x0(),u=K_(n),h=(r=(t=u.current)==null?void 0:t.forceMount)!=null?r:l?.forceMount;Nc(()=>{if(!h)return c.item(s,l?.id)},[h]);let m=Z_(s,i,[n.value,n.children,i],n.keywords),p=u5(),x=xo(E=>E.value&&E.value===m.current),v=xo(E=>h||c.filter()===!1?!0:E.search?E.filtered.items.get(s)>0:!0);S.useEffect(()=>{let E=i.current;if(!(!E||n.disabled))return E.addEventListener(f4,b),()=>E.removeEventListener(f4,b)},[v,n.onSelect,n.disabled]);function b(){var E,z;O(),(z=(E=u.current).onSelect)==null||z.call(E,m.current)}function O(){p.setState("value",m.current,!0)}if(!v)return null;let{disabled:k,value:j,onSelect:T,forceMount:M,keywords:_,...D}=n;return S.createElement(Co.div,{ref:lo(i,e),...D,id:s,"cmdk-item":"",role:"option","aria-disabled":!!k,"aria-selected":!!x,"data-disabled":!!k,"data-selected":!!x,onPointerMove:k||c.getDisablePointerSelection()?void 0:O,onClick:k?void 0:b},n.children)}),Mte=S.forwardRef((n,e)=>{let{heading:t,children:r,forceMount:s,...i}=n,l=ki(),c=S.useRef(null),u=S.useRef(null),h=ki(),m=x0(),p=xo(v=>s||m.filter()===!1?!0:v.search?v.filtered.groups.has(l):!0);Nc(()=>m.group(l),[]),Z_(l,c,[n.value,n.heading,u]);let x=S.useMemo(()=>({id:l,forceMount:s}),[s]);return S.createElement(Co.div,{ref:lo(c,e),...i,"cmdk-group":"",role:"presentation",hidden:p?void 0:!0},t&&S.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:h},t),Lx(n,v=>S.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":t?h:void 0},S.createElement(X_.Provider,{value:x},v))))}),Ate=S.forwardRef((n,e)=>{let{alwaysRender:t,...r}=n,s=S.useRef(null),i=xo(l=>!l.search);return!t&&!i?null:S.createElement(Co.div,{ref:lo(s,e),...r,"cmdk-separator":"",role:"separator"})}),Ete=S.forwardRef((n,e)=>{let{onValueChange:t,...r}=n,s=n.value!=null,i=u5(),l=xo(h=>h.search),c=xo(h=>h.selectedItemId),u=x0();return S.useEffect(()=>{n.value!=null&&i.setState("search",n.value)},[n.value]),S.createElement(Co.input,{ref:e,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":c,id:u.inputId,type:"text",value:s?n.value:l,onChange:h=>{s||i.setState("search",h.target.value),t?.(h.target.value)}})}),_te=S.forwardRef((n,e)=>{let{children:t,label:r="Suggestions",...s}=n,i=S.useRef(null),l=S.useRef(null),c=xo(h=>h.selectedItemId),u=x0();return S.useEffect(()=>{if(l.current&&i.current){let h=l.current,m=i.current,p,x=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let v=h.offsetHeight;m.style.setProperty("--cmdk-list-height",v.toFixed(1)+"px")})});return x.observe(h),()=>{cancelAnimationFrame(p),x.unobserve(h)}}},[]),S.createElement(Co.div,{ref:lo(i,e),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":c,"aria-label":r,id:u.listId},Lx(n,h=>S.createElement("div",{ref:lo(l,u.listInnerRef),"cmdk-list-sizer":""},h)))}),Dte=S.forwardRef((n,e)=>{let{open:t,onOpenChange:r,overlayClassName:s,contentClassName:i,container:l,...c}=n;return S.createElement(X4,{open:t,onOpenChange:r},S.createElement(U4,{container:l},S.createElement(rx,{"cmdk-overlay":"",className:s}),S.createElement(sx,{"aria-label":n.label,"cmdk-dialog":"",className:i},S.createElement(Y_,{ref:e,...c}))))}),Rte=S.forwardRef((n,e)=>xo(t=>t.filtered.count===0)?S.createElement(Co.div,{ref:e,...n,"cmdk-empty":"",role:"presentation"}):null),zte=S.forwardRef((n,e)=>{let{progress:t,children:r,label:s="Loading...",...i}=n;return S.createElement(Co.div,{ref:e,...i,"cmdk-loading":"",role:"progressbar","aria-valuenow":t,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},Lx(n,l=>S.createElement("div",{"aria-hidden":!0},l)))}),Bs=Object.assign(Y_,{List:_te,Item:Tte,Input:Ete,Group:Mte,Separator:Ate,Dialog:Dte,Empty:Rte,Loading:zte});function Pte(n,e){let t=n.nextElementSibling;for(;t;){if(t.matches(e))return t;t=t.nextElementSibling}}function Lte(n,e){let t=n.previousElementSibling;for(;t;){if(t.matches(e))return t;t=t.previousElementSibling}}function K_(n){let e=S.useRef(n);return Nc(()=>{e.current=n}),e}var Nc=typeof window>"u"?S.useEffect:S.useLayoutEffect;function Bu(n){let e=S.useRef();return e.current===void 0&&(e.current=n()),e}function xo(n){let e=u5(),t=()=>n(e.snapshot());return S.useSyncExternalStore(e.subscribe,t,t)}function Z_(n,e,t,r=[]){let s=S.useRef(),i=x0();return Nc(()=>{var l;let c=(()=>{var h;for(let m of t){if(typeof m=="string")return m.trim();if(typeof m=="object"&&"current"in m)return m.current?(h=m.current.textContent)==null?void 0:h.trim():s.current}})(),u=r.map(h=>h.trim());i.value(n,c,u),(l=e.current)==null||l.setAttribute(Lu,c),s.current=c}),s}var Bte=()=>{let[n,e]=S.useState(),t=Bu(()=>new Map);return Nc(()=>{t.current.forEach(r=>r()),t.current=new Map},[n]),(r,s)=>{t.current.set(r,s),e({})}};function Ite(n){let e=n.type;return typeof e=="function"?e(n.props):"render"in e?e.render(n.props):n}function Lx({asChild:n,children:e},t){return n&&S.isValidElement(e)?S.cloneElement(Ite(e),{ref:e.ref},t(e.props.children)):t(e)}var Fte={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const J_=S.forwardRef(({className:n,...e},t)=>a.jsx(Bs,{ref:t,className:ve("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",n),...e}));J_.displayName=Bs.displayName;const eD=S.forwardRef(({className:n,...e},t)=>a.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[a.jsx(Ps,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),a.jsx(Bs.Input,{ref:t,className:ve("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",n),...e})]}));eD.displayName=Bs.Input.displayName;const tD=S.forwardRef(({className:n,...e},t)=>a.jsx(Bs.List,{ref:t,className:ve("max-h-[300px] overflow-y-auto overflow-x-hidden",n),...e}));tD.displayName=Bs.List.displayName;const nD=S.forwardRef((n,e)=>a.jsx(Bs.Empty,{ref:e,className:"py-6 text-center text-sm",...n}));nD.displayName=Bs.Empty.displayName;const rD=S.forwardRef(({className:n,...e},t)=>a.jsx(Bs.Group,{ref:t,className:ve("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",n),...e}));rD.displayName=Bs.Group.displayName;const qte=S.forwardRef(({className:n,...e},t)=>a.jsx(Bs.Separator,{ref:t,className:ve("-mx-1 h-px bg-border",n),...e}));qte.displayName=Bs.Separator.displayName;const sD=S.forwardRef(({className:n,...e},t)=>a.jsx(Bs.Item,{ref:t,className:ve("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",n),...e}));sD.displayName=Bs.Item.displayName;function Qte({options:n,selected:e,onChange:t,placeholder:r="选择选项...",emptyText:s="未找到选项",className:i}){const[l,c]=S.useState(!1),u=m=>{e.includes(m)?t(e.filter(p=>p!==m)):t([...e,m])},h=m=>{t(e.filter(p=>p!==m))};return a.jsxs(co,{open:l,onOpenChange:c,children:[a.jsx(uo,{asChild:!0,children:a.jsxs(ie,{variant:"outline",role:"combobox","aria-expanded":l,className:ve("w-full justify-between min-h-10 h-auto",i),children:[a.jsx("div",{className:"flex gap-1 flex-wrap flex-1",children:e.length===0?a.jsx("span",{className:"text-muted-foreground",children:r}):e.map(m=>{const p=n.find(x=>x.value===m);return a.jsxs($n,{variant:"secondary",className:"cursor-pointer hover:bg-secondary/80",onClick:x=>{x.stopPropagation(),h(m)},children:[p?.label||m,a.jsx(Xf,{className:"ml-1 h-3 w-3",strokeWidth:2,fill:"none"})]},m)})}),a.jsx(MF,{className:"ml-2 h-4 w-4 shrink-0 opacity-50",strokeWidth:2,fill:"none"})]})}),a.jsx(hl,{className:"w-full p-0",align:"start",children:a.jsxs(J_,{children:[a.jsx(eD,{placeholder:"搜索...",className:"h-9"}),a.jsxs(tD,{children:[a.jsx(nD,{children:s}),a.jsx(rD,{children:n.map(m=>{const p=e.includes(m.value);return a.jsxs(sD,{value:m.value,onSelect:()=>u(m.value),children:[a.jsx("div",{className:ve("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:a.jsx(hc,{className:"h-3 w-3",strokeWidth:2,fill:"none"})}),a.jsx("span",{children:m.label})]},m.value)})})]})]})})]})}function $te(){const[n,e]=S.useState([]),[t,r]=S.useState([]),[s,i]=S.useState([]),[l,c]=S.useState(null),[u,h]=S.useState(!0),[m,p]=S.useState(!1),[x,v]=S.useState(!1),[b,O]=S.useState(!1),[k,j]=S.useState(!1),[T,M]=S.useState(!1),[_,D]=S.useState(!1),[E,z]=S.useState(null),[Q,q]=S.useState(null),[B,U]=S.useState(!1),[V,ce]=S.useState(null),[W,J]=S.useState(""),[H,ae]=S.useState(new Set),[ne,ue]=S.useState(!1),[R,me]=S.useState(1),[Y,P]=S.useState(20),[K,$]=S.useState(""),{toast:fe}=Pr(),ye=S.useRef(null),Re=S.useRef(null),de=S.useRef(!0);S.useEffect(()=>{We()},[]);const We=async()=>{try{h(!0);const re=await Wu(),Me=re.models||[];e(Me),i(Me.map(vt=>vt.name));const pt=re.api_providers||[];r(pt.map(vt=>vt.name)),c(re.model_task_config||null),O(!1),de.current=!1}catch(re){console.error("加载配置失败:",re)}finally{h(!1)}},ct=async()=>{try{j(!0),yw().catch(()=>{}),M(!0)}catch(re){console.error("重启失败:",re),M(!1),fe({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),j(!1)}},ke=async()=>{try{p(!0),ye.current&&clearTimeout(ye.current),Re.current&&clearTimeout(Re.current);const re=await Wu();re.models=n,re.model_task_config=l,await Sg(re),O(!1),fe({title:"保存成功",description:"正在重启麦麦..."}),await ct()}catch(re){console.error("保存配置失败:",re),fe({title:"保存失败",description:re.message,variant:"destructive"}),p(!1)}},nt=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},ut=()=>{M(!1),j(!1),fe({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},Ct=S.useCallback(async re=>{if(!de.current)try{v(!0),await m2("models",re),O(!1)}catch(Me){console.error("自动保存模型列表失败:",Me),O(!0)}finally{v(!1)}},[]),Bn=S.useCallback(async re=>{if(!de.current)try{v(!0),await m2("model_task_config",re),O(!1)}catch(Me){console.error("自动保存任务配置失败:",Me),O(!0)}finally{v(!1)}},[]);S.useEffect(()=>{if(!de.current)return O(!0),ye.current&&clearTimeout(ye.current),ye.current=setTimeout(()=>{Ct(n)},2e3),()=>{ye.current&&clearTimeout(ye.current)}},[n,Ct]),S.useEffect(()=>{if(!(de.current||!l))return O(!0),Re.current&&clearTimeout(Re.current),Re.current=setTimeout(()=>{Bn(l)},2e3),()=>{Re.current&&clearTimeout(Re.current)}},[l,Bn]);const Tn=async()=>{try{p(!0),ye.current&&clearTimeout(ye.current),Re.current&&clearTimeout(Re.current);const re=await Wu();re.models=n,re.model_task_config=l,await Sg(re),O(!1),fe({title:"保存成功",description:"模型配置已保存"}),await We()}catch(re){console.error("保存配置失败:",re),fe({title:"保存失败",description:re.message,variant:"destructive"})}finally{p(!1)}},Jn=(re,Me)=>{z(re||{model_identifier:"",name:"",api_provider:t[0]||"",price_in:0,price_out:0,force_stream_mode:!1,extra_params:{}}),q(Me),D(!0)},nn=()=>{if(!E)return;const re={...E,price_in:E.price_in??0,price_out:E.price_out??0};let Me;Q!==null?(Me=[...n],Me[Q]=re):Me=[...n,re],e(Me),i(Me.map(pt=>pt.name)),D(!1),z(null),q(null)},_t=re=>{if(!re&&E){const Me={...E,price_in:E.price_in??0,price_out:E.price_out??0};z(Me)}D(re)},Yr=re=>{ce(re),U(!0)},In=()=>{if(V!==null){const re=n.filter((Me,pt)=>pt!==V);e(re),i(re.map(Me=>Me.name)),fe({title:"删除成功",description:"模型已从列表中移除"})}U(!1),ce(null)},or=re=>{const Me=new Set(H);Me.has(re)?Me.delete(re):Me.add(re),ae(Me)},yn=()=>{if(H.size===Le.length)ae(new Set);else{const re=Le.map((Me,pt)=>n.findIndex(vt=>vt===Le[pt]));ae(new Set(re))}},ft=()=>{if(H.size===0){fe({title:"提示",description:"请先选择要删除的模型",variant:"default"});return}ue(!0)},ee=()=>{const re=n.filter((Me,pt)=>!H.has(pt));e(re),i(re.map(Me=>Me.name)),ae(new Set),ue(!1),fe({title:"批量删除成功",description:`已删除 ${H.size} 个模型`})},Se=(re,Me,pt)=>{l&&c({...l,[re]:{...l[re],[Me]:pt}})},Le=n.filter(re=>{if(!W)return!0;const Me=W.toLowerCase();return re.name.toLowerCase().includes(Me)||re.model_identifier.toLowerCase().includes(Me)||re.api_provider.toLowerCase().includes(Me)}),rt=Math.ceil(Le.length/Y),Tt=Le.slice((R-1)*Y,R*Y),cr=()=>{const re=parseInt(K);re>=1&&re<=rt&&(me(re),$(""))},Kr=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(pt=>pt.includes(re)):!1;return u?a.jsx(fn,{className:"h-full",children:a.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:a.jsx("div",{className:"flex items-center justify-center h-64",children:a.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):a.jsx(fn,{className:"h-full",children:a.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型配置"}),a.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理模型和任务配置"})]}),a.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[a.jsxs(ie,{onClick:Tn,disabled:m||x||!b||k,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[a.jsx(ox,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),m?"保存中...":x?"自动保存中...":b?"保存配置":"已保存"]}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsxs(ie,{disabled:m||x||k,size:"sm",className:"flex-1 sm:flex-none",children:[a.jsx(ew,{className:"mr-2 h-4 w-4"}),k?"重启中...":b?"保存并重启":"重启麦麦"]})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认重启麦麦?"}),a.jsx(un,{children:b?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:b?ke:ct,children:b?"保存并重启":"确认重启"})]})]})]})]})]}),a.jsxs(od,{children:[a.jsx(oo,{className:"h-4 w-4"}),a.jsxs(cd,{children:["配置更新后需要",a.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),a.jsxs(dl,{defaultValue:"models",className:"w-full",children:[a.jsxs(va,{className:"grid w-full max-w-full sm:max-w-md grid-cols-2",children:[a.jsx($t,{value:"models",children:"模型配置"}),a.jsx($t,{value:"tasks",children:"模型任务配置"})]}),a.jsxs(On,{value:"models",className:"space-y-4 mt-0",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-2",children:[a.jsx("p",{className:"text-sm text-muted-foreground",children:"配置可用的模型列表"}),a.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[H.size>0&&a.jsxs(ie,{onClick:ft,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[a.jsx(Ht,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",H.size,")"]}),a.jsxs(ie,{onClick:()=>Jn(null,null),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[a.jsx(Wr,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加模型"]})]})]}),a.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2",children:[a.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[a.jsx(Ps,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Ae,{placeholder:"搜索模型名称、标识符或提供商...",value:W,onChange:re=>J(re.target.value),className:"pl-9"})]}),W&&a.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",Le.length," 个结果"]})]}),a.jsx("div",{className:"md:hidden space-y-3",children:Tt.length===0?a.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:W?"未找到匹配的模型":"暂无模型配置"}):Tt.map((re,Me)=>{const pt=n.findIndex(vs=>vs===re),vt=Kr(re.name);return a.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[a.jsx("h3",{className:"font-semibold text-base",children:re.name}),a.jsx($n,{variant:vt?"default":"secondary",className:vt?"bg-green-600 hover:bg-green-700":"",children:vt?"已使用":"未使用"})]}),a.jsx("p",{className:"text-xs text-muted-foreground break-all",title:re.model_identifier,children:re.model_identifier})]}),a.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>Jn(re,pt),children:[a.jsx(rd,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),a.jsxs(ie,{size:"sm",onClick:()=>Yr(pt),className:"bg-red-600 hover:bg-red-700 text-white",children:[a.jsx(Ht,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"提供商"}),a.jsx("p",{className:"font-medium",children:re.api_provider})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"强制流式"}),a.jsx("p",{className:"font-medium",children:re.force_stream_mode?"是":"否"})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"输入价格"}),a.jsxs("p",{className:"font-medium",children:["¥",re.price_in,"/M"]})]}),a.jsxs("div",{children:[a.jsx("span",{className:"text-muted-foreground text-xs",children:"输出价格"}),a.jsxs("p",{className:"font-medium",children:["¥",re.price_out,"/M"]})]})]})]},Me)})}),a.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:a.jsx("div",{className:"overflow-x-auto",children:a.jsxs(Ac,{children:[a.jsx(Ec,{children:a.jsxs(xr,{children:[a.jsx(gt,{className:"w-12",children:a.jsx(ss,{checked:H.size===Le.length&&Le.length>0,onCheckedChange:yn})}),a.jsx(gt,{className:"w-24",children:"使用状态"}),a.jsx(gt,{children:"模型名称"}),a.jsx(gt,{children:"模型标识符"}),a.jsx(gt,{children:"提供商"}),a.jsx(gt,{className:"text-right",children:"输入价格"}),a.jsx(gt,{className:"text-right",children:"输出价格"}),a.jsx(gt,{className:"text-center",children:"强制流式"}),a.jsx(gt,{className:"text-right",children:"操作"})]})}),a.jsx(_c,{children:Tt.length===0?a.jsx(xr,{children:a.jsx(it,{colSpan:9,className:"text-center text-muted-foreground py-8",children:W?"未找到匹配的模型":"暂无模型配置"})}):Tt.map((re,Me)=>{const pt=n.findIndex(vs=>vs===re),vt=Kr(re.name);return a.jsxs(xr,{children:[a.jsx(it,{children:a.jsx(ss,{checked:H.has(pt),onCheckedChange:()=>or(pt)})}),a.jsx(it,{children:a.jsx($n,{variant:vt?"default":"secondary",className:vt?"bg-green-600 hover:bg-green-700":"",children:vt?"已使用":"未使用"})}),a.jsx(it,{className:"font-medium",children:re.name}),a.jsx(it,{className:"max-w-xs truncate",title:re.model_identifier,children:re.model_identifier}),a.jsx(it,{children:re.api_provider}),a.jsxs(it,{className:"text-right",children:["¥",re.price_in,"/M"]}),a.jsxs(it,{className:"text-right",children:["¥",re.price_out,"/M"]}),a.jsx(it,{className:"text-center",children:re.force_stream_mode?"是":"否"}),a.jsx(it,{className:"text-right",children:a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>Jn(re,pt),children:[a.jsx(rd,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),a.jsxs(ie,{size:"sm",onClick:()=>Yr(pt),className:"bg-red-600 hover:bg-red-700 text-white",children:[a.jsx(Ht,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})})]},Me)})})]})})}),Le.length>0&&a.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 mt-4",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(te,{htmlFor:"page-size-model",className:"text-sm whitespace-nowrap",children:"每页显示"}),a.jsxs(Bt,{value:Y.toString(),onValueChange:re=>{P(parseInt(re)),me(1),ae(new Set)},children:[a.jsx(Dt,{id:"page-size-model",className:"w-20",children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"10",children:"10"}),a.jsx(Pe,{value:"20",children:"20"}),a.jsx(Pe,{value:"50",children:"50"}),a.jsx(Pe,{value:"100",children:"100"})]})]}),a.jsxs("span",{className:"text-sm text-muted-foreground",children:["显示 ",(R-1)*Y+1," 到"," ",Math.min(R*Y,Le.length)," 条,共 ",Le.length," 条"]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>me(1),disabled:R===1,className:"hidden sm:flex",children:a.jsx(Yf,{className:"h-4 w-4"})}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>me(re=>Math.max(1,re-1)),disabled:R===1,children:[a.jsx(Tc,{className:"h-4 w-4 sm:mr-1"}),a.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Ae,{type:"number",value:K,onChange:re=>$(re.target.value),onKeyDown:re=>re.key==="Enter"&&cr(),placeholder:R.toString(),className:"w-16 h-8 text-center",min:1,max:rt}),a.jsx(ie,{variant:"outline",size:"sm",onClick:cr,disabled:!K,className:"h-8",children:"跳转"})]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>me(re=>re+1),disabled:R>=rt,children:[a.jsx("span",{className:"hidden sm:inline",children:"下一页"}),a.jsx(Mc,{className:"h-4 w-4 sm:ml-1"})]}),a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>me(rt),disabled:R>=rt,className:"hidden sm:flex",children:a.jsx(Kf,{className:"h-4 w-4"})})]})]})]}),a.jsxs(On,{value:"tasks",className:"space-y-6 mt-0",children:[a.jsx("p",{className:"text-sm text-muted-foreground",children:"为不同的任务配置使用的模型和参数"}),l&&a.jsxs("div",{className:"grid gap-4 sm:gap-6",children:[a.jsx(zi,{title:"组件模型 (utils)",description:"用于表情包、取名、关系、情绪变化等组件",taskConfig:l.utils,modelNames:s,onChange:(re,Me)=>Se("utils",re,Me)}),a.jsx(zi,{title:"组件小模型 (utils_small)",description:"消耗量较大的组件,建议使用速度较快的小模型",taskConfig:l.utils_small,modelNames:s,onChange:(re,Me)=>Se("utils_small",re,Me)}),a.jsx(zi,{title:"工具调用模型 (tool_use)",description:"需要使用支持工具调用的模型",taskConfig:l.tool_use,modelNames:s,onChange:(re,Me)=>Se("tool_use",re,Me)}),a.jsx(zi,{title:"首要回复模型 (replyer)",description:"用于表达器和表达方式学习",taskConfig:l.replyer,modelNames:s,onChange:(re,Me)=>Se("replyer",re,Me)}),a.jsx(zi,{title:"决策模型 (planner)",description:"负责决定麦麦该什么时候回复",taskConfig:l.planner,modelNames:s,onChange:(re,Me)=>Se("planner",re,Me)}),a.jsx(zi,{title:"图像识别模型 (vlm)",description:"视觉语言模型",taskConfig:l.vlm,modelNames:s,onChange:(re,Me)=>Se("vlm",re,Me),hideTemperature:!0}),a.jsx(zi,{title:"语音识别模型 (voice)",description:"语音转文字",taskConfig:l.voice,modelNames:s,onChange:(re,Me)=>Se("voice",re,Me),hideTemperature:!0,hideMaxTokens:!0}),a.jsx(zi,{title:"嵌入模型 (embedding)",description:"用于向量化",taskConfig:l.embedding,modelNames:s,onChange:(re,Me)=>Se("embedding",re,Me),hideTemperature:!0,hideMaxTokens:!0}),a.jsxs("div",{className:"space-y-4",children:[a.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库模型"}),a.jsx(zi,{title:"实体提取模型 (lpmm_entity_extract)",description:"从文本中提取实体",taskConfig:l.lpmm_entity_extract,modelNames:s,onChange:(re,Me)=>Se("lpmm_entity_extract",re,Me)}),a.jsx(zi,{title:"RDF 构建模型 (lpmm_rdf_build)",description:"构建知识图谱",taskConfig:l.lpmm_rdf_build,modelNames:s,onChange:(re,Me)=>Se("lpmm_rdf_build",re,Me)}),a.jsx(zi,{title:"问答模型 (lpmm_qa)",description:"知识库问答",taskConfig:l.lpmm_qa,modelNames:s,onChange:(re,Me)=>Se("lpmm_qa",re,Me)})]})]})]})]}),a.jsx(Rr,{open:_,onOpenChange:_t,children:a.jsxs(Nr,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:Q!==null?"编辑模型":"添加模型"}),a.jsx(Gr,{children:"配置模型的基本信息和参数"})]}),a.jsxs("div",{className:"grid gap-4 py-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"model_name",children:"模型名称 *"}),a.jsx(Ae,{id:"model_name",value:E?.name||"",onChange:re=>z(Me=>Me?{...Me,name:re.target.value}:null),placeholder:"例如: qwen3-30b"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"用于在任务配置中引用此模型"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"model_identifier",children:"模型标识符 *"}),a.jsx(Ae,{id:"model_identifier",value:E?.model_identifier||"",onChange:re=>z(Me=>Me?{...Me,model_identifier:re.target.value}:null),placeholder:"Qwen/Qwen3-30B-A3B-Instruct-2507"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"API 提供商提供的模型 ID"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"api_provider",children:"API 提供商 *"}),a.jsxs(Bt,{value:E?.api_provider||"",onValueChange:re=>z(Me=>Me?{...Me,api_provider:re}:null),children:[a.jsx(Dt,{id:"api_provider",children:a.jsx(It,{placeholder:"选择提供商"})}),a.jsx(Rt,{children:t.map(re=>a.jsx(Pe,{value:re,children:re},re))})]})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"price_in",children:"输入价格 (¥/M token)"}),a.jsx(Ae,{id:"price_in",type:"number",step:"0.1",min:"0",value:E?.price_in??"",onChange:re=>{const Me=re.target.value===""?null:parseFloat(re.target.value);z(pt=>pt?{...pt,price_in:Me}:null)},placeholder:"默认: 0"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"price_out",children:"输出价格 (¥/M token)"}),a.jsx(Ae,{id:"price_out",type:"number",step:"0.1",min:"0",value:E?.price_out??"",onChange:re=>{const Me=re.target.value===""?null:parseFloat(re.target.value);z(pt=>pt?{...pt,price_out:Me}:null)},placeholder:"默认: 0"})]})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"force_stream_mode",checked:E?.force_stream_mode||!1,onCheckedChange:re=>z(Me=>Me?{...Me,force_stream_mode:re}:null)}),a.jsx(te,{htmlFor:"force_stream_mode",className:"cursor-pointer",children:"强制流式输出模式"})]})]}),a.jsxs(ps,{children:[a.jsx(ie,{variant:"outline",onClick:()=>D(!1),children:"取消"}),a.jsx(ie,{onClick:nn,children:"保存"})]})]})}),a.jsx(mn,{open:B,onOpenChange:U,children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:['确定要删除模型 "',V!==null?n[V]?.name:"",'" 吗? 此操作无法撤销。']})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:In,children:"删除"})]})]})}),a.jsx(mn,{open:ne,onOpenChange:ue,children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认批量删除"}),a.jsxs(un,{children:["确定要删除选中的 ",H.size," 个模型吗? 此操作无法撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:ee,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),T&&a.jsx(bw,{onRestartComplete:nt,onRestartFailed:ut})]})})}function zi({title:n,description:e,taskConfig:t,modelNames:r,onChange:s,hideTemperature:i=!1,hideMaxTokens:l=!1}){const c=u=>{s("model_list",u)};return a.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-4",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"font-semibold text-base sm:text-lg",children:n}),a.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:e})]}),a.jsxs("div",{className:"grid gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"模型列表"}),a.jsx(Qte,{options:r.map(u=>({label:u,value:u})),selected:t.model_list||[],onChange:c,placeholder:"选择模型...",emptyText:"暂无可用模型"})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[!i&&a.jsxs("div",{className:"grid gap-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(te,{children:"温度"}),a.jsx(Ae,{type:"number",step:"0.1",min:"0",max:"1",value:t.temperature??.3,onChange:u=>{const h=parseFloat(u.target.value);!isNaN(h)&&h>=0&&h<=1&&s("temperature",h)},className:"w-20 h-8 text-sm"})]}),a.jsx(bx,{value:[t.temperature??.3],onValueChange:u=>s("temperature",u[0]),min:0,max:1,step:.1,className:"w-full"})]}),!l&&a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{children:"最大 Token"}),a.jsx(Ae,{type:"number",step:"1",min:"1",value:t.max_tokens??1024,onChange:u=>s("max_tokens",parseInt(u.target.value))})]})]})]})]})}const Bx="/api/webui/config";async function Hte(){const e=await(await ot(`${Bx}/adapter-config/path`)).json();return!e.success||!e.path?null:{path:e.path,lastModified:e.lastModified}}async function Ute(n){const t=await(await ot(`${Bx}/adapter-config/path`,{method:"POST",headers:bt(),body:JSON.stringify({path:n})})).json();if(!t.success)throw new Error(t.message||"保存路径失败")}async function Vte(n){const t=await(await ot(`${Bx}/adapter-config?path=${encodeURIComponent(n)}`)).json();if(!t.success)throw new Error("读取配置文件失败");return t.content}async function d8(n,e){const r=await(await ot(`${Bx}/adapter-config`,{method:"POST",headers:bt(),body:JSON.stringify({path:n,content:e})})).json();if(!r.success)throw new Error(r.message||"保存配置失败")}const Ks={inner:{version:"0.1.2"},nickname:{nickname:""},napcat_server:{host:"localhost",port:8095,token:"",heartbeat_interval:30},maibot_server:{host:"localhost",port:8e3},chat:{group_list_type:"whitelist",group_list:[],private_list_type:"whitelist",private_list:[],ban_user_id:[],ban_qq_bot:!1,enable_poke:!0},voice:{use_tts:!1},debug:{level:"INFO"}};function Wte(){const[n,e]=S.useState("upload"),[t,r]=S.useState(null),[s,i]=S.useState(""),[l,c]=S.useState(""),[u,h]=S.useState(""),[m,p]=S.useState(!1),[x,v]=S.useState(!1),[b,O]=S.useState(!1),[k,j]=S.useState(!1),[T,M]=S.useState(null),_=S.useRef(null),{toast:D}=Pr(),E=S.useRef(null),z=K=>{if(!K.trim())return{valid:!1,error:"路径不能为空"};const $=/^([a-zA-Z]:\\|\\\\[^\\]+\\[^\\]+\\).+\.toml$/i,fe=/^(\/|~\/).+\.toml$/i,ye=$.test(K),Re=fe.test(K);return!ye&&!Re?{valid:!1,error:"路径格式错误。Windows: C:\\path\\file.toml,Linux: /path/file.toml"}:K.toLowerCase().endsWith(".toml")?/[<>"|?*\x00-\x1F]/.test(K)?{valid:!1,error:"路径包含非法字符"}:{valid:!0,error:""}:{valid:!1,error:"文件必须是 .toml 格式"}},Q=K=>{if(c(K),K.trim()){const $=z(K);h($.error)}else h("")};S.useEffect(()=>{(async()=>{try{const $=await Hte();$&&$.path&&(c($.path),e("path"),await q($.path))}catch($){console.error("加载保存的路径失败:",$)}})()},[]);const q=async K=>{const $=z(K);if(!$.valid){h($.error),D({title:"路径无效",description:$.error,variant:"destructive"});return}h(""),v(!0);try{const fe=await Vte(K),ye=ue(fe);r(ye),c(K),await Ute(K),D({title:"加载成功",description:"已从配置文件加载"})}catch(fe){console.error("加载配置失败:",fe),D({title:"加载失败",description:fe instanceof Error?fe.message:"无法读取配置文件",variant:"destructive"})}finally{v(!1)}},B=S.useCallback(K=>{n!=="path"||!l||(E.current&&clearTimeout(E.current),E.current=setTimeout(async()=>{p(!0);try{const $=R(K);await d8(l,$),D({title:"自动保存成功",description:"配置已保存到文件"})}catch($){console.error("自动保存失败:",$),D({title:"自动保存失败",description:$ instanceof Error?$.message:"保存配置失败",variant:"destructive"})}finally{p(!1)}},1e3))},[n,l,D]),U=async()=>{if(!t||!l)return;const K=z(l);if(!K.valid){D({title:"保存失败",description:K.error,variant:"destructive"});return}p(!0);try{const $=R(t);await d8(l,$),D({title:"保存成功",description:"配置已保存到文件"})}catch($){console.error("保存失败:",$),D({title:"保存失败",description:$ instanceof Error?$.message:"保存配置失败",variant:"destructive"})}finally{p(!1)}},V=async()=>{l&&await q(l)},ce=K=>{if(K!==n){if(t){M(K),O(!0);return}W(K)}},W=K=>{r(null),i(""),h(""),e(K),D({title:"已切换模式",description:K==="upload"?"现在可以上传配置文件":"现在可以指定配置文件路径"})},J=()=>{T&&(W(T),M(null)),O(!1)},H=()=>{if(t){j(!0);return}ae()},ae=()=>{c(""),r(null),h(""),D({title:"已清空",description:"路径和配置已清空"})},ne=()=>{ae(),j(!1)},ue=K=>{const $=JSON.parse(JSON.stringify(Ks)),fe=K.split(` -`);let ye="";for(const Re of fe){const de=Re.trim();if(!de||de.startsWith("#"))continue;const We=de.match(/^\[(\w+)\]$/);if(We){ye=We[1];continue}const ct=de.match(/^(\w+)\s*=\s*(.+)$/);if(ct&&ye){const[,ke,nt]=ct,ut=nt.trim();let Ct;if(ut==="true")Ct=!0;else if(ut==="false")Ct=!1;else if(ut.startsWith("[")&&ut.endsWith("]")){const Bn=ut.slice(1,-1).trim();if(Bn){const Tn=Bn.split(",").map(nn=>{const _t=nn.trim();return isNaN(Number(_t))?_t.replace(/"/g,""):Number(_t)}),Jn=typeof Tn[0];Ct=Tn.every(nn=>typeof nn===Jn)?Tn:Tn.filter(nn=>typeof nn=="number")}else Ct=[]}else ut.startsWith('"')&&ut.endsWith('"')?Ct=ut.slice(1,-1):isNaN(Number(ut))?Ct=ut.replace(/"/g,""):Ct=Number(ut);if(ye in $){const Bn=$[ye];Bn[ke]=Ct}}}return $},R=K=>{const $=[],fe=(ye,Re)=>ye===""||ye===null||ye===void 0?Re:ye;return $.push("[inner]"),$.push(`version = "${fe(K.inner.version,Ks.inner.version)}" # 版本号`),$.push("# 请勿修改版本号,除非你知道自己在做什么"),$.push(""),$.push("[nickname] # 现在没用"),$.push(`nickname = "${fe(K.nickname.nickname,Ks.nickname.nickname)}"`),$.push(""),$.push("[napcat_server] # Napcat连接的ws服务设置"),$.push(`host = "${fe(K.napcat_server.host,Ks.napcat_server.host)}" # Napcat设定的主机地址`),$.push(`port = ${fe(K.napcat_server.port||0,Ks.napcat_server.port)} # Napcat设定的端口`),$.push(`token = "${fe(K.napcat_server.token,Ks.napcat_server.token)}" # Napcat设定的访问令牌,若无则留空`),$.push(`heartbeat_interval = ${fe(K.napcat_server.heartbeat_interval||0,Ks.napcat_server.heartbeat_interval)} # 与Napcat设置的心跳相同(按秒计)`),$.push(""),$.push("[maibot_server] # 连接麦麦的ws服务设置"),$.push(`host = "${fe(K.maibot_server.host,Ks.maibot_server.host)}" # 麦麦在.env文件中设置的主机地址,即HOST字段`),$.push(`port = ${fe(K.maibot_server.port||0,Ks.maibot_server.port)} # 麦麦在.env文件中设置的端口,即PORT字段`),$.push(""),$.push("[chat] # 黑白名单功能"),$.push(`group_list_type = "${fe(K.chat.group_list_type,Ks.chat.group_list_type)}" # 群组名单类型,可选为:whitelist, blacklist`),$.push(`group_list = [${K.chat.group_list.join(", ")}] # 群组名单`),$.push("# 当group_list_type为whitelist时,只有群组名单中的群组可以聊天"),$.push("# 当group_list_type为blacklist时,群组名单中的任何群组无法聊天"),$.push(`private_list_type = "${fe(K.chat.private_list_type,Ks.chat.private_list_type)}" # 私聊名单类型,可选为:whitelist, blacklist`),$.push(`private_list = [${K.chat.private_list.join(", ")}] # 私聊名单`),$.push("# 当private_list_type为whitelist时,只有私聊名单中的用户可以聊天"),$.push("# 当private_list_type为blacklist时,私聊名单中的任何用户无法聊天"),$.push(`ban_user_id = [${K.chat.ban_user_id.join(", ")}] # 全局禁止名单(全局禁止名单中的用户无法进行任何聊天)`),$.push(`ban_qq_bot = ${K.chat.ban_qq_bot} # 是否屏蔽QQ官方机器人`),$.push(`enable_poke = ${K.chat.enable_poke} # 是否启用戳一戳功能`),$.push(""),$.push("[voice] # 发送语音设置"),$.push(`use_tts = ${K.voice.use_tts} # 是否使用tts语音(请确保你配置了tts并有对应的adapter)`),$.push(""),$.push("[debug]"),$.push(`level = "${fe(K.debug.level,Ks.debug.level)}" # 日志等级(DEBUG, INFO, WARNING, ERROR, CRITICAL)`),$.join(` -`)},me=K=>{const $=K.target.files?.[0];if(!$)return;const fe=new FileReader;fe.onload=ye=>{try{const Re=ye.target?.result,de=ue(Re);r(de),i($.name),D({title:"上传成功",description:`已加载配置文件:${$.name}`})}catch(Re){console.error("解析配置文件失败:",Re),D({title:"解析失败",description:"配置文件格式错误,请检查文件内容",variant:"destructive"})}},fe.readAsText($)},Y=()=>{if(!t)return;const K=R(t),$=new Blob([K],{type:"text/plain;charset=utf-8"}),fe=URL.createObjectURL($),ye=document.createElement("a");ye.href=fe,ye.download=s||"config.toml",document.body.appendChild(ye),ye.click(),document.body.removeChild(ye),URL.revokeObjectURL(fe),D({title:"下载成功",description:"配置文件已下载,请手动覆盖并重启适配器"})},P=()=>{r(JSON.parse(JSON.stringify(Ks))),i("config.toml"),D({title:"已加载默认配置",description:"可以开始编辑配置"})};return a.jsx(fn,{className:"h-full",children:a.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[a.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"麦麦适配器配置"}),a.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理麦麦的 QQ 适配器的配置文件"})]})}),a.jsxs(yt,{children:[a.jsxs(Jt,{children:[a.jsx(en,{children:"工作模式"}),a.jsx(Sr,{children:"选择配置文件的管理方式"})]}),a.jsxs(vn,{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 md:gap-4",children:[a.jsx("div",{className:`border-2 rounded-lg p-3 md:p-4 cursor-pointer transition-all ${n==="upload"?"border-primary bg-primary/5":"border-muted hover:border-primary/50 active:border-primary/70"}`,onClick:()=>ce("upload"),children:a.jsxs("div",{className:"flex items-start gap-2 md:gap-3",children:[a.jsx(uk,{className:"h-4 w-4 md:h-5 md:w-5 mt-0.5 flex-shrink-0"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("h3",{className:"font-semibold text-sm md:text-base",children:"上传文件模式"}),a.jsx("p",{className:"text-xs md:text-sm text-muted-foreground mt-1 line-clamp-2",children:"上传配置文件,编辑后下载并手动覆盖"})]})]})}),a.jsx("div",{className:`border-2 rounded-lg p-3 md:p-4 cursor-pointer transition-all ${n==="path"?"border-primary bg-primary/5":"border-muted hover:border-primary/50 active:border-primary/70"}`,onClick:()=>ce("path"),children:a.jsxs("div",{className:"flex items-start gap-2 md:gap-3",children:[a.jsx(AF,{className:"h-4 w-4 md:h-5 md:w-5 mt-0.5 flex-shrink-0"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("h3",{className:"font-semibold text-sm md:text-base",children:"指定路径模式"}),a.jsx("p",{className:"text-xs md:text-sm text-muted-foreground mt-1 line-clamp-2",children:"指定配置文件路径,自动加载和保存"})]})]})})]}),n==="path"&&a.jsxs("div",{className:"space-y-3 pt-2 border-t",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"config-path",className:"text-sm md:text-base",children:"配置文件路径"}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[a.jsxs("div",{className:"flex-1 space-y-1",children:[a.jsx(Ae,{id:"config-path",value:l,onChange:K=>Q(K.target.value),placeholder:"例: C:\\Adapter\\config.toml",className:`text-sm ${u?"border-destructive":""}`}),u&&a.jsx("p",{className:"text-xs text-destructive",children:u})]}),a.jsx(ie,{onClick:()=>q(l),disabled:x||!l||!!u,className:"w-full sm:w-auto",children:x?a.jsxs(a.Fragment,{children:[a.jsx(Ii,{className:"h-4 w-4 animate-spin mr-2"}),a.jsx("span",{className:"sm:hidden",children:"加载中..."})]}):a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"sm:hidden",children:"加载配置"}),a.jsx("span",{className:"hidden sm:inline",children:"加载"})]})})]})]}),a.jsxs("details",{className:"rounded-lg bg-muted/50 p-3 group",children:[a.jsxs("summary",{className:"text-xs font-medium cursor-pointer select-none list-none flex items-center justify-between",children:[a.jsx("span",{children:"路径格式说明"}),a.jsx("svg",{className:"h-4 w-4 transition-transform group-open:rotate-180",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),a.jsxs("div",{className:"mt-2 space-y-2 text-xs text-muted-foreground",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx("div",{className:"flex items-center gap-2",children:a.jsx("span",{className:"font-mono bg-background px-1.5 py-0.5 rounded text-[10px] md:text-xs whitespace-nowrap",children:"Windows"})}),a.jsxs("div",{className:"pl-2 space-y-0.5 text-[10px] md:text-xs break-all",children:[a.jsx("div",{children:"C:\\Adapter\\config.toml"}),a.jsx("div",{className:"hidden sm:block",children:"D:\\MaiBot\\adapter\\config.toml"}),a.jsx("div",{className:"hidden sm:block",children:"\\\\server\\share\\config.toml"})]})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("div",{className:"flex items-center gap-2",children:a.jsx("span",{className:"font-mono bg-background px-1.5 py-0.5 rounded text-[10px] md:text-xs whitespace-nowrap",children:"Linux"})}),a.jsxs("div",{className:"pl-2 space-y-0.5 text-[10px] md:text-xs break-all",children:[a.jsx("div",{children:"/opt/adapter/config.toml"}),a.jsx("div",{className:"hidden sm:block",children:"/home/user/adapter/config.toml"}),a.jsx("div",{className:"hidden sm:block",children:"~/adapter/config.toml"})]})]}),a.jsx("p",{className:"pt-1 border-t text-[10px] md:text-xs",children:"💡 配置会自动保存到指定文件,修改后 1 秒自动保存"})]})]})]})]})]}),a.jsxs(od,{children:[a.jsx(oo,{className:"h-4 w-4"}),a.jsx(cd,{children:n==="upload"?a.jsxs(a.Fragment,{children:[a.jsx("strong",{children:"上传文件模式:"}),"上传配置文件 → 在线编辑 → 下载文件 → 手动覆盖并重启适配器"]}):a.jsxs(a.Fragment,{children:[a.jsx("strong",{children:"指定路径模式:"}),"指定配置文件路径后,配置会自动加载,修改后 1 秒自动保存",m&&" (正在保存...)"]})})]}),n==="upload"&&!t&&a.jsxs("div",{className:"flex flex-col sm:flex-row gap-2 w-full",children:[a.jsx("input",{ref:_,type:"file",accept:".toml",className:"hidden",onChange:me}),a.jsxs(ie,{onClick:()=>_.current?.click(),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[a.jsx(uk,{className:"mr-2 h-4 w-4"}),"上传配置"]}),a.jsxs(ie,{onClick:P,size:"sm",className:"w-full sm:w-auto",children:[a.jsx(io,{className:"mr-2 h-4 w-4"}),"使用默认配置"]})]}),n==="upload"&&t&&a.jsx("div",{className:"flex gap-2",children:a.jsxs(ie,{onClick:Y,size:"sm",className:"w-full sm:w-auto",children:[a.jsx(fc,{className:"mr-2 h-4 w-4"}),"下载配置"]})}),n==="path"&&t&&a.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[a.jsxs(ie,{onClick:U,size:"sm",disabled:m||!!u,className:"w-full sm:w-auto",children:[a.jsx(ox,{className:"mr-2 h-4 w-4"}),m?"保存中...":"立即保存"]}),a.jsxs(ie,{onClick:V,size:"sm",variant:"outline",disabled:x,className:"w-full sm:w-auto",children:[a.jsx(Ii,{className:`mr-2 h-4 w-4 ${x?"animate-spin":""}`}),"刷新"]}),a.jsxs(ie,{onClick:H,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[a.jsx(Ht,{className:"mr-2 h-4 w-4"}),"清空路径"]})]}),t?a.jsxs(dl,{defaultValue:"napcat",className:"w-full",children:[a.jsx("div",{className:"overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0",children:a.jsxs(va,{className:"inline-flex w-auto min-w-full sm:grid sm:w-full sm:grid-cols-5",children:[a.jsxs($t,{value:"napcat",className:"flex-shrink-0 text-xs sm:text-sm whitespace-nowrap",children:[a.jsx("span",{className:"hidden sm:inline",children:"Napcat 连接"}),a.jsx("span",{className:"sm:hidden",children:"Napcat"})]}),a.jsxs($t,{value:"maibot",className:"flex-shrink-0 text-xs sm:text-sm whitespace-nowrap",children:[a.jsx("span",{className:"hidden sm:inline",children:"麦麦连接"}),a.jsx("span",{className:"sm:hidden",children:"麦麦"})]}),a.jsxs($t,{value:"chat",className:"flex-shrink-0 text-xs sm:text-sm whitespace-nowrap",children:[a.jsx("span",{className:"hidden sm:inline",children:"聊天控制"}),a.jsx("span",{className:"sm:hidden",children:"聊天"})]}),a.jsxs($t,{value:"voice",className:"flex-shrink-0 text-xs sm:text-sm whitespace-nowrap",children:[a.jsx("span",{className:"hidden sm:inline",children:"语音设置"}),a.jsx("span",{className:"sm:hidden",children:"语音"})]}),a.jsx($t,{value:"debug",className:"flex-shrink-0 text-xs sm:text-sm whitespace-nowrap",children:"调试"})]})}),a.jsx(On,{value:"napcat",className:"space-y-4",children:a.jsx(Gte,{config:t,onChange:K=>{r(K),B(K)}})}),a.jsx(On,{value:"maibot",className:"space-y-4",children:a.jsx(Xte,{config:t,onChange:K=>{r(K),B(K)}})}),a.jsx(On,{value:"chat",className:"space-y-4",children:a.jsx(Yte,{config:t,onChange:K=>{r(K),B(K)}})}),a.jsx(On,{value:"voice",className:"space-y-4",children:a.jsx(Kte,{config:t,onChange:K=>{r(K),B(K)}})}),a.jsx(On,{value:"debug",className:"space-y-4",children:a.jsx(Zte,{config:t,onChange:K=>{r(K),B(K)}})})]}):a.jsx("div",{className:"rounded-lg border bg-card p-6 md:p-12",children:a.jsxs("div",{className:"text-center space-y-3 md:space-y-4",children:[a.jsx(io,{className:"h-12 w-12 md:h-16 md:w-16 mx-auto text-muted-foreground"}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-base md:text-lg font-semibold",children:"尚未加载配置"}),a.jsx("p",{className:"text-xs md:text-sm text-muted-foreground mt-2 px-4",children:n==="upload"?"请上传现有配置文件,或使用默认配置开始编辑":"请指定配置文件路径并点击加载按钮"})]})]})}),a.jsx(mn,{open:b,onOpenChange:O,children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认切换模式"}),a.jsxs(un,{children:["切换模式将清空当前配置,确定要继续吗?",a.jsx("br",{}),a.jsx("span",{className:"text-destructive font-medium",children:"请确保已保存重要配置"})]})]}),a.jsxs(on,{children:[a.jsx(hn,{onClick:()=>{O(!1),M(null)},children:"取消"}),a.jsx(dn,{onClick:J,children:"确认切换"})]})]})}),a.jsx(mn,{open:k,onOpenChange:j,children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认清空路径"}),a.jsxs(un,{children:["清空路径将清除当前配置,确定要继续吗?",a.jsx("br",{}),a.jsx("span",{className:"text-muted-foreground text-sm",children:"此操作不会删除配置文件,只是清除界面中的配置"})]})]}),a.jsxs(on,{children:[a.jsx(hn,{onClick:()=>j(!1),children:"取消"}),a.jsx(dn,{onClick:ne,className:"bg-destructive hover:bg-destructive/90",children:"确认清空"})]})]})})]})})}function Gte({config:n,onChange:e}){return a.jsx("div",{className:"rounded-lg border bg-card p-4 md:p-6 space-y-4 md:space-y-6",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-base md:text-lg font-semibold mb-3 md:mb-4",children:"Napcat WebSocket 服务设置"}),a.jsxs("div",{className:"grid gap-3 md:gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"napcat-host",className:"text-sm md:text-base",children:"主机地址"}),a.jsx(Ae,{id:"napcat-host",value:n.napcat_server.host,onChange:t=>e({...n,napcat_server:{...n.napcat_server,host:t.target.value}}),placeholder:"localhost",className:"text-sm md:text-base"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Napcat 设定的主机地址"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"napcat-port",className:"text-sm md:text-base",children:"端口"}),a.jsx(Ae,{id:"napcat-port",type:"number",value:n.napcat_server.port||"",onChange:t=>e({...n,napcat_server:{...n.napcat_server,port:t.target.value?parseInt(t.target.value):0}}),placeholder:"8095",className:"text-sm md:text-base"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Napcat 设定的端口(留空使用默认值 8095)"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"napcat-token",className:"text-sm md:text-base",children:"访问令牌(Token)"}),a.jsx(Ae,{id:"napcat-token",type:"password",value:n.napcat_server.token,onChange:t=>e({...n,napcat_server:{...n.napcat_server,token:t.target.value}}),placeholder:"留空表示无需令牌",className:"text-sm md:text-base"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Napcat 设定的访问令牌,若无则留空"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"napcat-heartbeat",className:"text-sm md:text-base",children:"心跳间隔(秒)"}),a.jsx(Ae,{id:"napcat-heartbeat",type:"number",value:n.napcat_server.heartbeat_interval||"",onChange:t=>e({...n,napcat_server:{...n.napcat_server,heartbeat_interval:t.target.value?parseInt(t.target.value):0}}),placeholder:"30",className:"text-sm md:text-base"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"与 Napcat 设置的心跳间隔保持一致(留空使用默认值 30)"})]})]})]})})}function Xte({config:n,onChange:e}){return a.jsx("div",{className:"rounded-lg border bg-card p-4 md:p-6 space-y-4 md:space-y-6",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-base md:text-lg font-semibold mb-3 md:mb-4",children:"麦麦 WebSocket 服务设置"}),a.jsxs("div",{className:"grid gap-3 md:gap-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"maibot-host",className:"text-sm md:text-base",children:"主机地址"}),a.jsx(Ae,{id:"maibot-host",value:n.maibot_server.host,onChange:t=>e({...n,maibot_server:{...n.maibot_server,host:t.target.value}}),placeholder:"localhost",className:"text-sm md:text-base"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"麦麦在 .env 文件中设置的 HOST 字段"})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{htmlFor:"maibot-port",className:"text-sm md:text-base",children:"端口"}),a.jsx(Ae,{id:"maibot-port",type:"number",value:n.maibot_server.port||"",onChange:t=>e({...n,maibot_server:{...n.maibot_server,port:t.target.value?parseInt(t.target.value):0}}),placeholder:"8000",className:"text-sm md:text-base"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"麦麦在 .env 文件中设置的 PORT 字段(留空使用默认值 8000)"})]})]})]})})}function Yte({config:n,onChange:e}){const t=i=>{const l={...n};i==="group"?l.chat.group_list=[...l.chat.group_list,0]:i==="private"?l.chat.private_list=[...l.chat.private_list,0]:l.chat.ban_user_id=[...l.chat.ban_user_id,0],e(l)},r=(i,l)=>{const c={...n};i==="group"?c.chat.group_list=c.chat.group_list.filter((u,h)=>h!==l):i==="private"?c.chat.private_list=c.chat.private_list.filter((u,h)=>h!==l):c.chat.ban_user_id=c.chat.ban_user_id.filter((u,h)=>h!==l),e(c)},s=(i,l,c)=>{const u={...n};i==="group"?u.chat.group_list[l]=c:i==="private"?u.chat.private_list[l]=c:u.chat.ban_user_id[l]=c,e(u)};return a.jsx("div",{className:"rounded-lg border bg-card p-4 md:p-6 space-y-4 md:space-y-6",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-base md:text-lg font-semibold mb-3 md:mb-4",children:"聊天黑白名单功能"}),a.jsxs("div",{className:"grid gap-4 md:gap-6",children:[a.jsxs("div",{className:"space-y-3 md:space-y-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-sm md:text-base",children:"群组名单类型"}),a.jsxs(Bt,{value:n.chat.group_list_type,onValueChange:i=>e({...n,chat:{...n.chat,group_list_type:i}}),children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"whitelist",children:"白名单(仅名单内可聊天)"}),a.jsx(Pe,{value:"blacklist",children:"黑名单(名单内禁止聊天)"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 sm:gap-0",children:[a.jsx(te,{className:"text-sm md:text-base",children:"群组列表"}),a.jsxs(ie,{onClick:()=>t("group"),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[a.jsx(io,{className:"mr-1 h-4 w-4"}),"添加群号"]})]}),n.chat.group_list.map((i,l)=>a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Ae,{type:"number",value:i,onChange:c=>s("group",l,parseInt(c.target.value)||0),placeholder:"输入群号",className:"text-sm md:text-base"}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"icon",variant:"outline",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:["确定要删除群号 ",i," 吗?此操作无法撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>r("group",l),children:"删除"})]})]})]})]},l)),n.chat.group_list.length===0&&a.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无群组"})]})]}),a.jsxs("div",{className:"space-y-3 md:space-y-4",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-sm md:text-base",children:"私聊名单类型"}),a.jsxs(Bt,{value:n.chat.private_list_type,onValueChange:i=>e({...n,chat:{...n.chat,private_list_type:i}}),children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"whitelist",children:"白名单(仅名单内可聊天)"}),a.jsx(Pe,{value:"blacklist",children:"黑名单(名单内禁止聊天)"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 sm:gap-0",children:[a.jsx(te,{className:"text-sm md:text-base",children:"私聊列表"}),a.jsxs(ie,{onClick:()=>t("private"),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[a.jsx(io,{className:"mr-1 h-4 w-4"}),"添加用户"]})]}),n.chat.private_list.map((i,l)=>a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Ae,{type:"number",value:i,onChange:c=>s("private",l,parseInt(c.target.value)||0),placeholder:"输入QQ号",className:"text-sm md:text-base"}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"icon",variant:"outline",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:["确定要删除用户 ",i," 吗?此操作无法撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>r("private",l),children:"删除"})]})]})]})]},l)),n.chat.private_list.length===0&&a.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无用户"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 sm:gap-0",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-sm md:text-base",children:"全局禁止名单"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"名单中的用户无法进行任何聊天"})]}),a.jsxs(ie,{onClick:()=>t("ban"),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[a.jsx(io,{className:"mr-1 h-4 w-4"}),"添加用户"]})]}),n.chat.ban_user_id.map((i,l)=>a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Ae,{type:"number",value:i,onChange:c=>s("ban",l,parseInt(c.target.value)||0),placeholder:"输入QQ号",className:"text-sm md:text-base"}),a.jsxs(mn,{children:[a.jsx(jr,{asChild:!0,children:a.jsx(ie,{size:"icon",variant:"outline",children:a.jsx(Ht,{className:"h-4 w-4"})})}),a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:["确定要从全局禁止名单中删除用户 ",i," 吗?此操作无法撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>r("ban",l),children:"删除"})]})]})]})]},l)),n.chat.ban_user_id.length===0&&a.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无禁止用户"})]}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-sm md:text-base",children:"屏蔽QQ官方机器人"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"是否屏蔽来自QQ官方机器人的消息"})]}),a.jsx(jt,{checked:n.chat.ban_qq_bot,onCheckedChange:i=>e({...n,chat:{...n.chat,ban_qq_bot:i}})})]}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-sm md:text-base",children:"启用戳一戳功能"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"是否响应戳一戳消息"})]}),a.jsx(jt,{checked:n.chat.enable_poke,onCheckedChange:i=>e({...n,chat:{...n.chat,enable_poke:i}})})]})]})]})})}function Kte({config:n,onChange:e}){return a.jsx("div",{className:"rounded-lg border bg-card p-4 md:p-6 space-y-4 md:space-y-6",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-base md:text-lg font-semibold mb-3 md:mb-4",children:"发送语音设置"}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-sm md:text-base",children:"使用 TTS 语音"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"请确保已配置 TTS 并有对应的适配器"})]}),a.jsx(jt,{checked:n.voice.use_tts,onCheckedChange:t=>e({...n,voice:{use_tts:t}})})]})]})})}function Zte({config:n,onChange:e}){return a.jsx("div",{className:"rounded-lg border bg-card p-4 md:p-6 space-y-4 md:space-y-6",children:a.jsxs("div",{children:[a.jsx("h3",{className:"text-base md:text-lg font-semibold mb-3 md:mb-4",children:"调试设置"}),a.jsx("div",{className:"grid gap-3 md:gap-4",children:a.jsxs("div",{className:"grid gap-2",children:[a.jsx(te,{className:"text-sm md:text-base",children:"日志等级"}),a.jsxs(Bt,{value:n.debug.level,onValueChange:t=>e({...n,debug:{level:t}}),children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"DEBUG",children:"DEBUG(调试)"}),a.jsx(Pe,{value:"INFO",children:"INFO(信息)"}),a.jsx(Pe,{value:"WARNING",children:"WARNING(警告)"}),a.jsx(Pe,{value:"ERROR",children:"ERROR(错误)"}),a.jsx(Pe,{value:"CRITICAL",children:"CRITICAL(严重)"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"设置适配器的日志输出等级"})]})})]})})}function h8(n){const e=[],t=String(n||"");let r=t.indexOf(","),s=0,i=!1;for(;!i;){r===-1&&(r=t.length,i=!0);const l=t.slice(s,r).trim();(l||!i)&&e.push(l),s=r+1,r=t.indexOf(",",s)}return e}function Jte(n,e){const t={};return(n[n.length-1]===""?[...n,""]:n).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}const ene=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,tne=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,nne={};function f8(n,e){return(nne.jsx?tne:ene).test(n)}const rne=/[ \t\n\f\r]/g;function sne(n){return typeof n=="object"?n.type==="text"?m8(n.value):!1:m8(n)}function m8(n){return n.replace(rne,"")===""}class v0{constructor(e,t,r){this.normal=t,this.property=e,r&&(this.space=r)}}v0.prototype.normal={};v0.prototype.property={};v0.prototype.space=void 0;function iD(n,e){const t={},r={};for(const s of n)Object.assign(t,s.property),Object.assign(r,s.normal);return new v0(t,r,e)}function Lf(n){return n.toLowerCase()}class Is{constructor(e,t){this.attribute=t,this.property=e}}Is.prototype.attribute="";Is.prototype.booleanish=!1;Is.prototype.boolean=!1;Is.prototype.commaOrSpaceSeparated=!1;Is.prototype.commaSeparated=!1;Is.prototype.defined=!1;Is.prototype.mustUseProperty=!1;Is.prototype.number=!1;Is.prototype.overloadedBoolean=!1;Is.prototype.property="";Is.prototype.spaceSeparated=!1;Is.prototype.space=void 0;let ine=0;const kt=Dc(),mr=Dc(),m4=Dc(),ze=Dc(),Pn=Dc(),ed=Dc(),Zs=Dc();function Dc(){return 2**++ine}const p4=Object.freeze(Object.defineProperty({__proto__:null,boolean:kt,booleanish:mr,commaOrSpaceSeparated:Zs,commaSeparated:ed,number:ze,overloadedBoolean:m4,spaceSeparated:Pn},Symbol.toStringTag,{value:"Module"})),fb=Object.keys(p4);class d5 extends Is{constructor(e,t,r,s){let i=-1;if(super(e,t),p8(this,"space",s),typeof r=="number")for(;++i4&&t.slice(0,4)==="data"&&une.test(e)){if(e.charAt(4)==="-"){const i=e.slice(5).replace(g8,hne);r="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{const i=e.slice(4);if(!g8.test(i)){let l=i.replace(cne,dne);l.charAt(0)!=="-"&&(l="-"+l),e="data"+l}}s=d5}return new s(r,e)}function dne(n){return"-"+n.toLowerCase()}function hne(n){return n.charAt(1).toUpperCase()}const fD=iD([aD,ane,cD,uD,dD],"html"),Ix=iD([aD,lne,cD,uD,dD],"svg");function x8(n){const e=String(n||"").trim();return e?e.split(/[ \t\n\r\f]+/g):[]}function fne(n){return n.join(" ").trim()}var Nu={},mb,v8;function mne(){if(v8)return mb;v8=1;var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,e=/\n/g,t=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,s=/^:\s*/,i=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,c=/^\s+|\s+$/g,u=` -`,h="/",m="*",p="",x="comment",v="declaration";function b(k,j){if(typeof k!="string")throw new TypeError("First argument must be a string");if(!k)return[];j=j||{};var T=1,M=1;function _(W){var J=W.match(e);J&&(T+=J.length);var H=W.lastIndexOf(u);M=~H?W.length-H:M+W.length}function D(){var W={line:T,column:M};return function(J){return J.position=new E(W),q(),J}}function E(W){this.start=W,this.end={line:T,column:M},this.source=j.source}E.prototype.content=k;function z(W){var J=new Error(j.source+":"+T+":"+M+": "+W);if(J.reason=W,J.filename=j.source,J.line=T,J.column=M,J.source=k,!j.silent)throw J}function Q(W){var J=W.exec(k);if(J){var H=J[0];return _(H),k=k.slice(H.length),J}}function q(){Q(t)}function B(W){var J;for(W=W||[];J=U();)J!==!1&&W.push(J);return W}function U(){var W=D();if(!(h!=k.charAt(0)||m!=k.charAt(1))){for(var J=2;p!=k.charAt(J)&&(m!=k.charAt(J)||h!=k.charAt(J+1));)++J;if(J+=2,p===k.charAt(J-1))return z("End of comment missing");var H=k.slice(2,J-2);return M+=2,_(H),k=k.slice(J),M+=2,W({type:x,comment:H})}}function V(){var W=D(),J=Q(r);if(J){if(U(),!Q(s))return z("property missing ':'");var H=Q(i),ae=W({type:v,property:O(J[0].replace(n,p)),value:H?O(H[0].replace(n,p)):p});return Q(l),ae}}function ce(){var W=[];B(W);for(var J;J=V();)J!==!1&&(W.push(J),B(W));return W}return q(),ce()}function O(k){return k?k.replace(c,p):p}return mb=b,mb}var y8;function pne(){if(y8)return Nu;y8=1;var n=Nu&&Nu.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Nu,"__esModule",{value:!0}),Nu.default=t;const e=n(mne());function t(r,s){let i=null;if(!r||typeof r!="string")return i;const l=(0,e.default)(r),c=typeof s=="function";return l.forEach(u=>{if(u.type!=="declaration")return;const{property:h,value:m}=u;c?s(h,m,u):m&&(i=i||{},i[h]=m)}),i}return Nu}var Ih={},b8;function gne(){if(b8)return Ih;b8=1,Object.defineProperty(Ih,"__esModule",{value:!0}),Ih.camelCase=void 0;var n=/^--[a-zA-Z0-9_-]+$/,e=/-([a-z])/g,t=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,s=/^-(ms)-/,i=function(h){return!h||t.test(h)||n.test(h)},l=function(h,m){return m.toUpperCase()},c=function(h,m){return"".concat(m,"-")},u=function(h,m){return m===void 0&&(m={}),i(h)?h:(h=h.toLowerCase(),m.reactCompat?h=h.replace(s,c):h=h.replace(r,c),h.replace(e,l))};return Ih.camelCase=u,Ih}var Fh,w8;function xne(){if(w8)return Fh;w8=1;var n=Fh&&Fh.__importDefault||function(s){return s&&s.__esModule?s:{default:s}},e=n(pne()),t=gne();function r(s,i){var l={};return!s||typeof s!="string"||(0,e.default)(s,function(c,u){c&&u&&(l[(0,t.camelCase)(c,i)]=u)}),l}return r.default=r,Fh=r,Fh}var vne=xne();const yne=v9(vne),mD=pD("end"),h5=pD("start");function pD(n){return e;function e(t){const r=t&&t.position&&t.position[n]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function bne(n){const e=h5(n),t=mD(n);if(e&&t)return{start:e,end:t}}function lf(n){return!n||typeof n!="object"?"":"position"in n||"type"in n?S8(n.position):"start"in n||"end"in n?S8(n):"line"in n||"column"in n?g4(n):""}function g4(n){return O8(n&&n.line)+":"+O8(n&&n.column)}function S8(n){return g4(n&&n.start)+"-"+g4(n&&n.end)}function O8(n){return n&&typeof n=="number"?n:1}class as extends Error{constructor(e,t,r){super(),typeof t=="string"&&(r=t,t=void 0);let s="",i={},l=!1;if(t&&("line"in t&&"column"in t?i={place:t}:"start"in t&&"end"in t?i={place:t}:"type"in t?i={ancestors:[t],place:t.position}:i={...t}),typeof e=="string"?s=e:!i.cause&&e&&(l=!0,s=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof r=="string"){const u=r.indexOf(":");u===-1?i.ruleId=r:(i.source=r.slice(0,u),i.ruleId=r.slice(u+1))}if(!i.place&&i.ancestors&&i.ancestors){const u=i.ancestors[i.ancestors.length-1];u&&(i.place=u.position)}const c=i.place&&"start"in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=c?c.column:void 0,this.fatal=void 0,this.file="",this.message=s,this.line=c?c.line:void 0,this.name=lf(i.place)||"1:1",this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=l&&i.cause&&typeof i.cause.stack=="string"?i.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}as.prototype.file="";as.prototype.name="";as.prototype.reason="";as.prototype.message="";as.prototype.stack="";as.prototype.column=void 0;as.prototype.line=void 0;as.prototype.ancestors=void 0;as.prototype.cause=void 0;as.prototype.fatal=void 0;as.prototype.place=void 0;as.prototype.ruleId=void 0;as.prototype.source=void 0;const f5={}.hasOwnProperty,wne=new Map,Sne=/[A-Z]/g,One=new Set(["table","tbody","thead","tfoot","tr"]),kne=new Set(["td","th"]),gD="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function jne(n,e){if(!e||e.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const t=e.filePath||void 0;let r;if(e.development){if(typeof e.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=Dne(t,e.jsxDEV)}else{if(typeof e.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof e.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=_ne(t,e.jsx,e.jsxs)}const s={Fragment:e.Fragment,ancestors:[],components:e.components||{},create:r,elementAttributeNameCase:e.elementAttributeNameCase||"react",evaluater:e.createEvaluater?e.createEvaluater():void 0,filePath:t,ignoreInvalidStyle:e.ignoreInvalidStyle||!1,passKeys:e.passKeys!==!1,passNode:e.passNode||!1,schema:e.space==="svg"?Ix:fD,stylePropertyNameCase:e.stylePropertyNameCase||"dom",tableCellAlignToStyle:e.tableCellAlignToStyle!==!1},i=xD(s,n,void 0);return i&&typeof i!="string"?i:s.create(n,s.Fragment,{children:i||void 0},void 0)}function xD(n,e,t){if(e.type==="element")return Nne(n,e,t);if(e.type==="mdxFlowExpression"||e.type==="mdxTextExpression")return Cne(n,e);if(e.type==="mdxJsxFlowElement"||e.type==="mdxJsxTextElement")return Mne(n,e,t);if(e.type==="mdxjsEsm")return Tne(n,e);if(e.type==="root")return Ane(n,e,t);if(e.type==="text")return Ene(n,e)}function Nne(n,e,t){const r=n.schema;let s=r;e.tagName.toLowerCase()==="svg"&&r.space==="html"&&(s=Ix,n.schema=s),n.ancestors.push(e);const i=yD(n,e.tagName,!1),l=Rne(n,e);let c=p5(n,e);return One.has(e.tagName)&&(c=c.filter(function(u){return typeof u=="string"?!sne(u):!0})),vD(n,l,i,e),m5(l,c),n.ancestors.pop(),n.schema=r,n.create(e,i,l,t)}function Cne(n,e){if(e.data&&e.data.estree&&n.evaluater){const r=e.data.estree.body[0];return r.type,n.evaluater.evaluateExpression(r.expression)}Bf(n,e.position)}function Tne(n,e){if(e.data&&e.data.estree&&n.evaluater)return n.evaluater.evaluateProgram(e.data.estree);Bf(n,e.position)}function Mne(n,e,t){const r=n.schema;let s=r;e.name==="svg"&&r.space==="html"&&(s=Ix,n.schema=s),n.ancestors.push(e);const i=e.name===null?n.Fragment:yD(n,e.name,!0),l=zne(n,e),c=p5(n,e);return vD(n,l,i,e),m5(l,c),n.ancestors.pop(),n.schema=r,n.create(e,i,l,t)}function Ane(n,e,t){const r={};return m5(r,p5(n,e)),n.create(e,n.Fragment,r,t)}function Ene(n,e){return e.value}function vD(n,e,t,r){typeof t!="string"&&t!==n.Fragment&&n.passNode&&(e.node=r)}function m5(n,e){if(e.length>0){const t=e.length>1?e:e[0];t&&(n.children=t)}}function _ne(n,e,t){return r;function r(s,i,l,c){const h=Array.isArray(l.children)?t:e;return c?h(i,l,c):h(i,l)}}function Dne(n,e){return t;function t(r,s,i,l){const c=Array.isArray(i.children),u=h5(r);return e(s,i,l,c,{columnNumber:u?u.column-1:void 0,fileName:n,lineNumber:u?u.line:void 0},void 0)}}function Rne(n,e){const t={};let r,s;for(s in e.properties)if(s!=="children"&&f5.call(e.properties,s)){const i=Pne(n,s,e.properties[s]);if(i){const[l,c]=i;n.tableCellAlignToStyle&&l==="align"&&typeof c=="string"&&kne.has(e.tagName)?r=c:t[l]=c}}if(r){const i=t.style||(t.style={});i[n.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return t}function zne(n,e){const t={};for(const r of e.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&n.evaluater){const i=r.data.estree.body[0];i.type;const l=i.expression;l.type;const c=l.properties[0];c.type,Object.assign(t,n.evaluater.evaluateExpression(c.argument))}else Bf(n,e.position);else{const s=r.name;let i;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&n.evaluater){const c=r.value.data.estree.body[0];c.type,i=n.evaluater.evaluateExpression(c.expression)}else Bf(n,e.position);else i=r.value===null?!0:r.value;t[s]=i}return t}function p5(n,e){const t=[];let r=-1;const s=n.passKeys?new Map:wne;for(;++rs?0:s+e:e=e>s?s:e,t=t>0?t:0,r.length<1e4)l=Array.from(r),l.unshift(e,t),n.splice(...l);else for(t&&n.splice(e,t);i0?(ri(n,n.length,0,e),n):e}const N8={}.hasOwnProperty;function wD(n){const e={};let t=-1;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCodePoint(t)}function Fi(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ds=To(/[A-Za-z]/),rs=To(/[\dA-Za-z]/),Une=To(/[#-'*+\--9=?A-Z^-~]/);function Ug(n){return n!==null&&(n<32||n===127)}const x4=To(/\d/),Vne=To(/[\dA-Fa-f]/),Wne=To(/[!-/:-@[-`{-~]/);function Ze(n){return n!==null&&n<-2}function Dn(n){return n!==null&&(n<0||n===32)}function Ft(n){return n===-2||n===-1||n===32}const Fx=To(new RegExp("\\p{P}|\\p{S}","u")),Cc=To(/\s/);function To(n){return e;function e(t){return t!==null&&t>-1&&n.test(String.fromCharCode(t))}}function Rd(n){const e=[];let t=-1,r=0,s=0;for(;++t55295&&i<57344){const c=n.charCodeAt(t+1);i<56320&&c>56319&&c<57344?(l=String.fromCharCode(i,c),s=1):l="�"}else l=String.fromCharCode(i);l&&(e.push(n.slice(r,t),encodeURIComponent(l)),r=t+s+1,l=""),s&&(t+=s,s=0)}return e.join("")+n.slice(r)}function zt(n,e,t,r){const s=r?r-1:Number.POSITIVE_INFINITY;let i=0;return l;function l(u){return Ft(u)?(n.enter(t),c(u)):e(u)}function c(u){return Ft(u)&&i++l))return;const z=e.events.length;let Q=z,q,B;for(;Q--;)if(e.events[Q][0]==="exit"&&e.events[Q][1].type==="chunkFlow"){if(q){B=e.events[Q][1].end;break}q=!0}for(j(r),E=z;EM;){const D=t[_];e.containerState=D[1],D[0].exit.call(e,n)}t.length=M}function T(){s.write([null]),i=void 0,s=void 0,e.containerState._closeFlow=void 0}}function Zne(n,e,t){return zt(n,n.attempt(this.parser.constructs.document,e,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function yd(n){if(n===null||Dn(n)||Cc(n))return 1;if(Fx(n))return 2}function qx(n,e,t){const r=[];let s=-1;for(;++s1&&n[t][1].end.offset-n[t][1].start.offset>1?2:1;const p={...n[r][1].end},x={...n[t][1].start};T8(p,-u),T8(x,u),l={type:u>1?"strongSequence":"emphasisSequence",start:p,end:{...n[r][1].end}},c={type:u>1?"strongSequence":"emphasisSequence",start:{...n[t][1].start},end:x},i={type:u>1?"strongText":"emphasisText",start:{...n[r][1].end},end:{...n[t][1].start}},s={type:u>1?"strong":"emphasis",start:{...l.start},end:{...c.end}},n[r][1].end={...l.start},n[t][1].start={...c.end},h=[],n[r][1].end.offset-n[r][1].start.offset&&(h=yi(h,[["enter",n[r][1],e],["exit",n[r][1],e]])),h=yi(h,[["enter",s,e],["enter",l,e],["exit",l,e],["enter",i,e]]),h=yi(h,qx(e.parser.constructs.insideSpan.null,n.slice(r+1,t),e)),h=yi(h,[["exit",i,e],["enter",c,e],["exit",c,e],["exit",s,e]]),n[t][1].end.offset-n[t][1].start.offset?(m=2,h=yi(h,[["enter",n[t][1],e],["exit",n[t][1],e]])):m=0,ri(n,r-1,t-r+3,h),t=r+h.length-m-2;break}}for(t=-1;++t0&&Ft(E)?zt(n,T,"linePrefix",i+1)(E):T(E)}function T(E){return E===null||Ze(E)?n.check(M8,O,_)(E):(n.enter("codeFlowValue"),M(E))}function M(E){return E===null||Ze(E)?(n.exit("codeFlowValue"),T(E)):(n.consume(E),M)}function _(E){return n.exit("codeFenced"),e(E)}function D(E,z,Q){let q=0;return B;function B(J){return E.enter("lineEnding"),E.consume(J),E.exit("lineEnding"),U}function U(J){return E.enter("codeFencedFence"),Ft(J)?zt(E,V,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(J):V(J)}function V(J){return J===c?(E.enter("codeFencedFenceSequence"),ce(J)):Q(J)}function ce(J){return J===c?(q++,E.consume(J),ce):q>=l?(E.exit("codeFencedFenceSequence"),Ft(J)?zt(E,W,"whitespace")(J):W(J)):Q(J)}function W(J){return J===null||Ze(J)?(E.exit("codeFencedFence"),z(J)):Q(J)}}}function ure(n,e,t){const r=this;return s;function s(l){return l===null?t(l):(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i)}function i(l){return r.parser.lazy[r.now().line]?t(l):e(l)}}const gb={name:"codeIndented",tokenize:hre},dre={partial:!0,tokenize:fre};function hre(n,e,t){const r=this;return s;function s(h){return n.enter("codeIndented"),zt(n,i,"linePrefix",5)(h)}function i(h){const m=r.events[r.events.length-1];return m&&m[1].type==="linePrefix"&&m[2].sliceSerialize(m[1],!0).length>=4?l(h):t(h)}function l(h){return h===null?u(h):Ze(h)?n.attempt(dre,l,u)(h):(n.enter("codeFlowValue"),c(h))}function c(h){return h===null||Ze(h)?(n.exit("codeFlowValue"),l(h)):(n.consume(h),c)}function u(h){return n.exit("codeIndented"),e(h)}}function fre(n,e,t){const r=this;return s;function s(l){return r.parser.lazy[r.now().line]?t(l):Ze(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),s):zt(n,i,"linePrefix",5)(l)}function i(l){const c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?e(l):Ze(l)?s(l):t(l)}}const mre={name:"codeText",previous:gre,resolve:pre,tokenize:xre};function pre(n){let e=n.length-4,t=3,r,s;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[e][1].type==="lineEnding"||n[e][1].type==="space")){for(r=t;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(e,t,r){const s=t||0;this.setCursor(Math.trunc(e));const i=this.right.splice(this.right.length-s,Number.POSITIVE_INFINITY);return r&&qh(this.left,r),i.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),qh(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),qh(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e=4?e(l):n.interrupt(r.parser.constructs.flow,t,e)(l)}}function CD(n,e,t,r,s,i,l,c,u){const h=u||Number.POSITIVE_INFINITY;let m=0;return p;function p(j){return j===60?(n.enter(r),n.enter(s),n.enter(i),n.consume(j),n.exit(i),x):j===null||j===32||j===41||Ug(j)?t(j):(n.enter(r),n.enter(l),n.enter(c),n.enter("chunkString",{contentType:"string"}),O(j))}function x(j){return j===62?(n.enter(i),n.consume(j),n.exit(i),n.exit(s),n.exit(r),e):(n.enter(c),n.enter("chunkString",{contentType:"string"}),v(j))}function v(j){return j===62?(n.exit("chunkString"),n.exit(c),x(j)):j===null||j===60||Ze(j)?t(j):(n.consume(j),j===92?b:v)}function b(j){return j===60||j===62||j===92?(n.consume(j),v):v(j)}function O(j){return!m&&(j===null||j===41||Dn(j))?(n.exit("chunkString"),n.exit(c),n.exit(l),n.exit(r),e(j)):m999||v===null||v===91||v===93&&!u||v===94&&!c&&"_hiddenFootnoteSupport"in l.parser.constructs?t(v):v===93?(n.exit(i),n.enter(s),n.consume(v),n.exit(s),n.exit(r),e):Ze(v)?(n.enter("lineEnding"),n.consume(v),n.exit("lineEnding"),m):(n.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===null||v===91||v===93||Ze(v)||c++>999?(n.exit("chunkString"),m(v)):(n.consume(v),u||(u=!Ft(v)),v===92?x:p)}function x(v){return v===91||v===92||v===93?(n.consume(v),c++,p):p(v)}}function MD(n,e,t,r,s,i){let l;return c;function c(x){return x===34||x===39||x===40?(n.enter(r),n.enter(s),n.consume(x),n.exit(s),l=x===40?41:x,u):t(x)}function u(x){return x===l?(n.enter(s),n.consume(x),n.exit(s),n.exit(r),e):(n.enter(i),h(x))}function h(x){return x===l?(n.exit(i),u(l)):x===null?t(x):Ze(x)?(n.enter("lineEnding"),n.consume(x),n.exit("lineEnding"),zt(n,h,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),m(x))}function m(x){return x===l||x===null||Ze(x)?(n.exit("chunkString"),h(x)):(n.consume(x),x===92?p:m)}function p(x){return x===l||x===92?(n.consume(x),m):m(x)}}function of(n,e){let t;return r;function r(s){return Ze(s)?(n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),t=!0,r):Ft(s)?zt(n,r,t?"linePrefix":"lineSuffix")(s):e(s)}}const jre={name:"definition",tokenize:Cre},Nre={partial:!0,tokenize:Tre};function Cre(n,e,t){const r=this;let s;return i;function i(v){return n.enter("definition"),l(v)}function l(v){return TD.call(r,n,c,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function c(v){return s=Fi(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),v===58?(n.enter("definitionMarker"),n.consume(v),n.exit("definitionMarker"),u):t(v)}function u(v){return Dn(v)?of(n,h)(v):h(v)}function h(v){return CD(n,m,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function m(v){return n.attempt(Nre,p,p)(v)}function p(v){return Ft(v)?zt(n,x,"whitespace")(v):x(v)}function x(v){return v===null||Ze(v)?(n.exit("definition"),r.parser.defined.push(s),e(v)):t(v)}}function Tre(n,e,t){return r;function r(c){return Dn(c)?of(n,s)(c):t(c)}function s(c){return MD(n,i,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(c)}function i(c){return Ft(c)?zt(n,l,"whitespace")(c):l(c)}function l(c){return c===null||Ze(c)?e(c):t(c)}}const Mre={name:"hardBreakEscape",tokenize:Are};function Are(n,e,t){return r;function r(i){return n.enter("hardBreakEscape"),n.consume(i),s}function s(i){return Ze(i)?(n.exit("hardBreakEscape"),e(i)):t(i)}}const Ere={name:"headingAtx",resolve:_re,tokenize:Dre};function _re(n,e){let t=n.length-2,r=3,s,i;return n[r][1].type==="whitespace"&&(r+=2),t-2>r&&n[t][1].type==="whitespace"&&(t-=2),n[t][1].type==="atxHeadingSequence"&&(r===t-1||t-4>r&&n[t-2][1].type==="whitespace")&&(t-=r+1===t?2:4),t>r&&(s={type:"atxHeadingText",start:n[r][1].start,end:n[t][1].end},i={type:"chunkText",start:n[r][1].start,end:n[t][1].end,contentType:"text"},ri(n,r,t-r+1,[["enter",s,e],["enter",i,e],["exit",i,e],["exit",s,e]])),n}function Dre(n,e,t){let r=0;return s;function s(m){return n.enter("atxHeading"),i(m)}function i(m){return n.enter("atxHeadingSequence"),l(m)}function l(m){return m===35&&r++<6?(n.consume(m),l):m===null||Dn(m)?(n.exit("atxHeadingSequence"),c(m)):t(m)}function c(m){return m===35?(n.enter("atxHeadingSequence"),u(m)):m===null||Ze(m)?(n.exit("atxHeading"),e(m)):Ft(m)?zt(n,c,"whitespace")(m):(n.enter("atxHeadingText"),h(m))}function u(m){return m===35?(n.consume(m),u):(n.exit("atxHeadingSequence"),c(m))}function h(m){return m===null||m===35||Dn(m)?(n.exit("atxHeadingText"),c(m)):(n.consume(m),h)}}const Rre=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],E8=["pre","script","style","textarea"],zre={concrete:!0,name:"htmlFlow",resolveTo:Bre,tokenize:Ire},Pre={partial:!0,tokenize:qre},Lre={partial:!0,tokenize:Fre};function Bre(n){let e=n.length;for(;e--&&!(n[e][0]==="enter"&&n[e][1].type==="htmlFlow"););return e>1&&n[e-2][1].type==="linePrefix"&&(n[e][1].start=n[e-2][1].start,n[e+1][1].start=n[e-2][1].start,n.splice(e-2,2)),n}function Ire(n,e,t){const r=this;let s,i,l,c,u;return h;function h(P){return m(P)}function m(P){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(P),p}function p(P){return P===33?(n.consume(P),x):P===47?(n.consume(P),i=!0,O):P===63?(n.consume(P),s=3,r.interrupt?e:R):ds(P)?(n.consume(P),l=String.fromCharCode(P),k):t(P)}function x(P){return P===45?(n.consume(P),s=2,v):P===91?(n.consume(P),s=5,c=0,b):ds(P)?(n.consume(P),s=4,r.interrupt?e:R):t(P)}function v(P){return P===45?(n.consume(P),r.interrupt?e:R):t(P)}function b(P){const K="CDATA[";return P===K.charCodeAt(c++)?(n.consume(P),c===K.length?r.interrupt?e:V:b):t(P)}function O(P){return ds(P)?(n.consume(P),l=String.fromCharCode(P),k):t(P)}function k(P){if(P===null||P===47||P===62||Dn(P)){const K=P===47,$=l.toLowerCase();return!K&&!i&&E8.includes($)?(s=1,r.interrupt?e(P):V(P)):Rre.includes(l.toLowerCase())?(s=6,K?(n.consume(P),j):r.interrupt?e(P):V(P)):(s=7,r.interrupt&&!r.parser.lazy[r.now().line]?t(P):i?T(P):M(P))}return P===45||rs(P)?(n.consume(P),l+=String.fromCharCode(P),k):t(P)}function j(P){return P===62?(n.consume(P),r.interrupt?e:V):t(P)}function T(P){return Ft(P)?(n.consume(P),T):B(P)}function M(P){return P===47?(n.consume(P),B):P===58||P===95||ds(P)?(n.consume(P),_):Ft(P)?(n.consume(P),M):B(P)}function _(P){return P===45||P===46||P===58||P===95||rs(P)?(n.consume(P),_):D(P)}function D(P){return P===61?(n.consume(P),E):Ft(P)?(n.consume(P),D):M(P)}function E(P){return P===null||P===60||P===61||P===62||P===96?t(P):P===34||P===39?(n.consume(P),u=P,z):Ft(P)?(n.consume(P),E):Q(P)}function z(P){return P===u?(n.consume(P),u=null,q):P===null||Ze(P)?t(P):(n.consume(P),z)}function Q(P){return P===null||P===34||P===39||P===47||P===60||P===61||P===62||P===96||Dn(P)?D(P):(n.consume(P),Q)}function q(P){return P===47||P===62||Ft(P)?M(P):t(P)}function B(P){return P===62?(n.consume(P),U):t(P)}function U(P){return P===null||Ze(P)?V(P):Ft(P)?(n.consume(P),U):t(P)}function V(P){return P===45&&s===2?(n.consume(P),H):P===60&&s===1?(n.consume(P),ae):P===62&&s===4?(n.consume(P),me):P===63&&s===3?(n.consume(P),R):P===93&&s===5?(n.consume(P),ue):Ze(P)&&(s===6||s===7)?(n.exit("htmlFlowData"),n.check(Pre,Y,ce)(P)):P===null||Ze(P)?(n.exit("htmlFlowData"),ce(P)):(n.consume(P),V)}function ce(P){return n.check(Lre,W,Y)(P)}function W(P){return n.enter("lineEnding"),n.consume(P),n.exit("lineEnding"),J}function J(P){return P===null||Ze(P)?ce(P):(n.enter("htmlFlowData"),V(P))}function H(P){return P===45?(n.consume(P),R):V(P)}function ae(P){return P===47?(n.consume(P),l="",ne):V(P)}function ne(P){if(P===62){const K=l.toLowerCase();return E8.includes(K)?(n.consume(P),me):V(P)}return ds(P)&&l.length<8?(n.consume(P),l+=String.fromCharCode(P),ne):V(P)}function ue(P){return P===93?(n.consume(P),R):V(P)}function R(P){return P===62?(n.consume(P),me):P===45&&s===2?(n.consume(P),R):V(P)}function me(P){return P===null||Ze(P)?(n.exit("htmlFlowData"),Y(P)):(n.consume(P),me)}function Y(P){return n.exit("htmlFlow"),e(P)}}function Fre(n,e,t){const r=this;return s;function s(l){return Ze(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i):t(l)}function i(l){return r.parser.lazy[r.now().line]?t(l):e(l)}}function qre(n,e,t){return r;function r(s){return n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),n.attempt(y0,e,t)}}const Qre={name:"htmlText",tokenize:$re};function $re(n,e,t){const r=this;let s,i,l;return c;function c(R){return n.enter("htmlText"),n.enter("htmlTextData"),n.consume(R),u}function u(R){return R===33?(n.consume(R),h):R===47?(n.consume(R),D):R===63?(n.consume(R),M):ds(R)?(n.consume(R),Q):t(R)}function h(R){return R===45?(n.consume(R),m):R===91?(n.consume(R),i=0,b):ds(R)?(n.consume(R),T):t(R)}function m(R){return R===45?(n.consume(R),v):t(R)}function p(R){return R===null?t(R):R===45?(n.consume(R),x):Ze(R)?(l=p,ae(R)):(n.consume(R),p)}function x(R){return R===45?(n.consume(R),v):p(R)}function v(R){return R===62?H(R):R===45?x(R):p(R)}function b(R){const me="CDATA[";return R===me.charCodeAt(i++)?(n.consume(R),i===me.length?O:b):t(R)}function O(R){return R===null?t(R):R===93?(n.consume(R),k):Ze(R)?(l=O,ae(R)):(n.consume(R),O)}function k(R){return R===93?(n.consume(R),j):O(R)}function j(R){return R===62?H(R):R===93?(n.consume(R),j):O(R)}function T(R){return R===null||R===62?H(R):Ze(R)?(l=T,ae(R)):(n.consume(R),T)}function M(R){return R===null?t(R):R===63?(n.consume(R),_):Ze(R)?(l=M,ae(R)):(n.consume(R),M)}function _(R){return R===62?H(R):M(R)}function D(R){return ds(R)?(n.consume(R),E):t(R)}function E(R){return R===45||rs(R)?(n.consume(R),E):z(R)}function z(R){return Ze(R)?(l=z,ae(R)):Ft(R)?(n.consume(R),z):H(R)}function Q(R){return R===45||rs(R)?(n.consume(R),Q):R===47||R===62||Dn(R)?q(R):t(R)}function q(R){return R===47?(n.consume(R),H):R===58||R===95||ds(R)?(n.consume(R),B):Ze(R)?(l=q,ae(R)):Ft(R)?(n.consume(R),q):H(R)}function B(R){return R===45||R===46||R===58||R===95||rs(R)?(n.consume(R),B):U(R)}function U(R){return R===61?(n.consume(R),V):Ze(R)?(l=U,ae(R)):Ft(R)?(n.consume(R),U):q(R)}function V(R){return R===null||R===60||R===61||R===62||R===96?t(R):R===34||R===39?(n.consume(R),s=R,ce):Ze(R)?(l=V,ae(R)):Ft(R)?(n.consume(R),V):(n.consume(R),W)}function ce(R){return R===s?(n.consume(R),s=void 0,J):R===null?t(R):Ze(R)?(l=ce,ae(R)):(n.consume(R),ce)}function W(R){return R===null||R===34||R===39||R===60||R===61||R===96?t(R):R===47||R===62||Dn(R)?q(R):(n.consume(R),W)}function J(R){return R===47||R===62||Dn(R)?q(R):t(R)}function H(R){return R===62?(n.consume(R),n.exit("htmlTextData"),n.exit("htmlText"),e):t(R)}function ae(R){return n.exit("htmlTextData"),n.enter("lineEnding"),n.consume(R),n.exit("lineEnding"),ne}function ne(R){return Ft(R)?zt(n,ue,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(R):ue(R)}function ue(R){return n.enter("htmlTextData"),l(R)}}const v5={name:"labelEnd",resolveAll:Wre,resolveTo:Gre,tokenize:Xre},Hre={tokenize:Yre},Ure={tokenize:Kre},Vre={tokenize:Zre};function Wre(n){let e=-1;const t=[];for(;++e=3&&(h===null||Ze(h))?(n.exit("thematicBreak"),e(h)):t(h)}function u(h){return h===s?(n.consume(h),r++,u):(n.exit("thematicBreakSequence"),Ft(h)?zt(n,c,"whitespace")(h):c(h))}}const Ns={continuation:{tokenize:ose},exit:use,name:"list",tokenize:lse},ise={partial:!0,tokenize:dse},ase={partial:!0,tokenize:cse};function lse(n,e,t){const r=this,s=r.events[r.events.length-1];let i=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0,l=0;return c;function c(v){const b=r.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(b==="listUnordered"?!r.containerState.marker||v===r.containerState.marker:x4(v)){if(r.containerState.type||(r.containerState.type=b,n.enter(b,{_container:!0})),b==="listUnordered")return n.enter("listItemPrefix"),v===42||v===45?n.check(cg,t,h)(v):h(v);if(!r.interrupt||v===49)return n.enter("listItemPrefix"),n.enter("listItemValue"),u(v)}return t(v)}function u(v){return x4(v)&&++l<10?(n.consume(v),u):(!r.interrupt||l<2)&&(r.containerState.marker?v===r.containerState.marker:v===41||v===46)?(n.exit("listItemValue"),h(v)):t(v)}function h(v){return n.enter("listItemMarker"),n.consume(v),n.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||v,n.check(y0,r.interrupt?t:m,n.attempt(ise,x,p))}function m(v){return r.containerState.initialBlankLine=!0,i++,x(v)}function p(v){return Ft(v)?(n.enter("listItemPrefixWhitespace"),n.consume(v),n.exit("listItemPrefixWhitespace"),x):t(v)}function x(v){return r.containerState.size=i+r.sliceSerialize(n.exit("listItemPrefix"),!0).length,e(v)}}function ose(n,e,t){const r=this;return r.containerState._closeFlow=void 0,n.check(y0,s,i);function s(c){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,zt(n,e,"listItemIndent",r.containerState.size+1)(c)}function i(c){return r.containerState.furtherBlankLines||!Ft(c)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,l(c)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,n.attempt(ase,e,l)(c))}function l(c){return r.containerState._closeFlow=!0,r.interrupt=void 0,zt(n,n.attempt(Ns,e,t),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c)}}function cse(n,e,t){const r=this;return zt(n,s,"listItemIndent",r.containerState.size+1);function s(i){const l=r.events[r.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===r.containerState.size?e(i):t(i)}}function use(n){n.exit(this.containerState.type)}function dse(n,e,t){const r=this;return zt(n,s,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function s(i){const l=r.events[r.events.length-1];return!Ft(i)&&l&&l[1].type==="listItemPrefixWhitespace"?e(i):t(i)}}const _8={name:"setextUnderline",resolveTo:hse,tokenize:fse};function hse(n,e){let t=n.length,r,s,i;for(;t--;)if(n[t][0]==="enter"){if(n[t][1].type==="content"){r=t;break}n[t][1].type==="paragraph"&&(s=t)}else n[t][1].type==="content"&&n.splice(t,1),!i&&n[t][1].type==="definition"&&(i=t);const l={type:"setextHeading",start:{...n[r][1].start},end:{...n[n.length-1][1].end}};return n[s][1].type="setextHeadingText",i?(n.splice(s,0,["enter",l,e]),n.splice(i+1,0,["exit",n[r][1],e]),n[r][1].end={...n[i][1].end}):n[r][1]=l,n.push(["exit",l,e]),n}function fse(n,e,t){const r=this;let s;return i;function i(h){let m=r.events.length,p;for(;m--;)if(r.events[m][1].type!=="lineEnding"&&r.events[m][1].type!=="linePrefix"&&r.events[m][1].type!=="content"){p=r.events[m][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||p)?(n.enter("setextHeadingLine"),s=h,l(h)):t(h)}function l(h){return n.enter("setextHeadingLineSequence"),c(h)}function c(h){return h===s?(n.consume(h),c):(n.exit("setextHeadingLineSequence"),Ft(h)?zt(n,u,"lineSuffix")(h):u(h))}function u(h){return h===null||Ze(h)?(n.exit("setextHeadingLine"),e(h)):t(h)}}const mse={tokenize:pse};function pse(n){const e=this,t=n.attempt(y0,r,n.attempt(this.parser.constructs.flowInitial,s,zt(n,n.attempt(this.parser.constructs.flow,s,n.attempt(bre,s)),"linePrefix")));return t;function r(i){if(i===null){n.consume(i);return}return n.enter("lineEndingBlank"),n.consume(i),n.exit("lineEndingBlank"),e.currentConstruct=void 0,t}function s(i){if(i===null){n.consume(i);return}return n.enter("lineEnding"),n.consume(i),n.exit("lineEnding"),e.currentConstruct=void 0,t}}const gse={resolveAll:ED()},xse=AD("string"),vse=AD("text");function AD(n){return{resolveAll:ED(n==="text"?yse:void 0),tokenize:e};function e(t){const r=this,s=this.parser.constructs[n],i=t.attempt(s,l,c);return l;function l(m){return h(m)?i(m):c(m)}function c(m){if(m===null){t.consume(m);return}return t.enter("data"),t.consume(m),u}function u(m){return h(m)?(t.exit("data"),i(m)):(t.consume(m),u)}function h(m){if(m===null)return!0;const p=s[m];let x=-1;if(p)for(;++x-1){const c=l[0];typeof c=="string"?l[0]=c.slice(r):l.shift()}i>0&&l.push(n[s].slice(0,i))}return l}function _se(n,e){let t=-1;const r=[];let s;for(;++t0){const cr=Le.tokenStack[Le.tokenStack.length-1];(cr[1]||R8).call(Le,void 0,cr[0])}for(Se.position={start:Gl(ee.length>0?ee[0][1].start:{line:1,column:1,offset:0}),end:Gl(ee.length>0?ee[ee.length-2][1].end:{line:1,column:1,offset:0})},Tt=-1;++Tt1?"-"+c:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(l)}]};n.patch(e,u);const h={type:"element",tagName:"sup",properties:{},children:[u]};return n.patch(e,h),n.applyData(e,h)}function Xse(n,e){const t={type:"element",tagName:"h"+e.depth,properties:{},children:n.all(e)};return n.patch(e,t),n.applyData(e,t)}function Yse(n,e){if(n.options.allowDangerousHtml){const t={type:"raw",value:e.value};return n.patch(e,t),n.applyData(e,t)}}function RD(n,e){const t=e.referenceType;let r="]";if(t==="collapsed"?r+="[]":t==="full"&&(r+="["+(e.label||e.identifier)+"]"),e.type==="imageReference")return[{type:"text",value:"!["+e.alt+r}];const s=n.all(e),i=s[0];i&&i.type==="text"?i.value="["+i.value:s.unshift({type:"text",value:"["});const l=s[s.length-1];return l&&l.type==="text"?l.value+=r:s.push({type:"text",value:r}),s}function Kse(n,e){const t=String(e.identifier).toUpperCase(),r=n.definitionById.get(t);if(!r)return RD(n,e);const s={src:Rd(r.url||""),alt:e.alt};r.title!==null&&r.title!==void 0&&(s.title=r.title);const i={type:"element",tagName:"img",properties:s,children:[]};return n.patch(e,i),n.applyData(e,i)}function Zse(n,e){const t={src:Rd(e.url)};e.alt!==null&&e.alt!==void 0&&(t.alt=e.alt),e.title!==null&&e.title!==void 0&&(t.title=e.title);const r={type:"element",tagName:"img",properties:t,children:[]};return n.patch(e,r),n.applyData(e,r)}function Jse(n,e){const t={type:"text",value:e.value.replace(/\r?\n|\r/g," ")};n.patch(e,t);const r={type:"element",tagName:"code",properties:{},children:[t]};return n.patch(e,r),n.applyData(e,r)}function eie(n,e){const t=String(e.identifier).toUpperCase(),r=n.definitionById.get(t);if(!r)return RD(n,e);const s={href:Rd(r.url||"")};r.title!==null&&r.title!==void 0&&(s.title=r.title);const i={type:"element",tagName:"a",properties:s,children:n.all(e)};return n.patch(e,i),n.applyData(e,i)}function tie(n,e){const t={href:Rd(e.url)};e.title!==null&&e.title!==void 0&&(t.title=e.title);const r={type:"element",tagName:"a",properties:t,children:n.all(e)};return n.patch(e,r),n.applyData(e,r)}function nie(n,e,t){const r=n.all(e),s=t?rie(t):zD(e),i={},l=[];if(typeof e.checked=="boolean"){const m=r[0];let p;m&&m.type==="element"&&m.tagName==="p"?p=m:(p={type:"element",tagName:"p",properties:{},children:[]},r.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:e.checked,disabled:!0},children:[]}),i.className=["task-list-item"]}let c=-1;for(;++c1}function sie(n,e){const t={},r=n.all(e);let s=-1;for(typeof e.start=="number"&&e.start!==1&&(t.start=e.start);++s0){const l={type:"element",tagName:"tbody",properties:{},children:n.wrap(t,!0)},c=h5(e.children[1]),u=mD(e.children[e.children.length-1]);c&&u&&(l.position={start:c,end:u}),s.push(l)}const i={type:"element",tagName:"table",properties:{},children:n.wrap(s,!0)};return n.patch(e,i),n.applyData(e,i)}function cie(n,e,t){const r=t?t.children:void 0,i=(r?r.indexOf(e):1)===0?"th":"td",l=t&&t.type==="table"?t.align:void 0,c=l?l.length:e.children.length;let u=-1;const h=[];for(;++u0,!0),r[0]),s=r.index+r[0].length,r=t.exec(e);return i.push(L8(e.slice(s),s>0,!1)),i.join("")}function L8(n,e,t){let r=0,s=n.length;if(e){let i=n.codePointAt(r);for(;i===z8||i===P8;)r++,i=n.codePointAt(r)}if(t){let i=n.codePointAt(s-1);for(;i===z8||i===P8;)s--,i=n.codePointAt(s-1)}return s>r?n.slice(r,s):""}function hie(n,e){const t={type:"text",value:die(String(e.value))};return n.patch(e,t),n.applyData(e,t)}function fie(n,e){const t={type:"element",tagName:"hr",properties:{},children:[]};return n.patch(e,t),n.applyData(e,t)}const mie={blockquote:$se,break:Hse,code:Use,delete:Vse,emphasis:Wse,footnoteReference:Gse,heading:Xse,html:Yse,imageReference:Kse,image:Zse,inlineCode:Jse,linkReference:eie,link:tie,listItem:nie,list:sie,paragraph:iie,root:aie,strong:lie,table:oie,tableCell:uie,tableRow:cie,text:hie,thematicBreak:fie,toml:jp,yaml:jp,definition:jp,footnoteDefinition:jp};function jp(){}const PD=-1,Qx=0,cf=1,Vg=2,y5=3,b5=4,w5=5,S5=6,LD=7,BD=8,B8=typeof self=="object"?self:globalThis,pie=(n,e)=>{const t=(s,i)=>(n.set(i,s),s),r=s=>{if(n.has(s))return n.get(s);const[i,l]=e[s];switch(i){case Qx:case PD:return t(l,s);case cf:{const c=t([],s);for(const u of l)c.push(r(u));return c}case Vg:{const c=t({},s);for(const[u,h]of l)c[r(u)]=r(h);return c}case y5:return t(new Date(l),s);case b5:{const{source:c,flags:u}=l;return t(new RegExp(c,u),s)}case w5:{const c=t(new Map,s);for(const[u,h]of l)c.set(r(u),r(h));return c}case S5:{const c=t(new Set,s);for(const u of l)c.add(r(u));return c}case LD:{const{name:c,message:u}=l;return t(new B8[c](u),s)}case BD:return t(BigInt(l),s);case"BigInt":return t(Object(BigInt(l)),s);case"ArrayBuffer":return t(new Uint8Array(l).buffer,l);case"DataView":{const{buffer:c}=new Uint8Array(l);return t(new DataView(c),l)}}return t(new B8[i](l),s)};return r},I8=n=>pie(new Map,n)(0),Cu="",{toString:gie}={},{keys:xie}=Object,Qh=n=>{const e=typeof n;if(e!=="object"||!n)return[Qx,e];const t=gie.call(n).slice(8,-1);switch(t){case"Array":return[cf,Cu];case"Object":return[Vg,Cu];case"Date":return[y5,Cu];case"RegExp":return[b5,Cu];case"Map":return[w5,Cu];case"Set":return[S5,Cu];case"DataView":return[cf,t]}return t.includes("Array")?[cf,t]:t.includes("Error")?[LD,t]:[Vg,t]},Np=([n,e])=>n===Qx&&(e==="function"||e==="symbol"),vie=(n,e,t,r)=>{const s=(l,c)=>{const u=r.push(l)-1;return t.set(c,u),u},i=l=>{if(t.has(l))return t.get(l);let[c,u]=Qh(l);switch(c){case Qx:{let m=l;switch(u){case"bigint":c=BD,m=l.toString();break;case"function":case"symbol":if(n)throw new TypeError("unable to serialize "+u);m=null;break;case"undefined":return s([PD],l)}return s([c,m],l)}case cf:{if(u){let x=l;return u==="DataView"?x=new Uint8Array(l.buffer):u==="ArrayBuffer"&&(x=new Uint8Array(l)),s([u,[...x]],l)}const m=[],p=s([c,m],l);for(const x of l)m.push(i(x));return p}case Vg:{if(u)switch(u){case"BigInt":return s([u,l.toString()],l);case"Boolean":case"Number":case"String":return s([u,l.valueOf()],l)}if(e&&"toJSON"in l)return i(l.toJSON());const m=[],p=s([c,m],l);for(const x of xie(l))(n||!Np(Qh(l[x])))&&m.push([i(x),i(l[x])]);return p}case y5:return s([c,l.toISOString()],l);case b5:{const{source:m,flags:p}=l;return s([c,{source:m,flags:p}],l)}case w5:{const m=[],p=s([c,m],l);for(const[x,v]of l)(n||!(Np(Qh(x))||Np(Qh(v))))&&m.push([i(x),i(v)]);return p}case S5:{const m=[],p=s([c,m],l);for(const x of l)(n||!Np(Qh(x)))&&m.push(i(x));return p}}const{message:h}=l;return s([c,{name:u,message:h}],l)};return i},F8=(n,{json:e,lossy:t}={})=>{const r=[];return vie(!(e||t),!!e,new Map,r)(n),r},Wg=typeof structuredClone=="function"?(n,e)=>e&&("json"in e||"lossy"in e)?I8(F8(n,e)):structuredClone(n):(n,e)=>I8(F8(n,e));function yie(n,e){const t=[{type:"text",value:"↩"}];return e>1&&t.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(e)}]}),t}function bie(n,e){return"Back to reference "+(n+1)+(e>1?"-"+e:"")}function wie(n){const e=typeof n.options.clobberPrefix=="string"?n.options.clobberPrefix:"user-content-",t=n.options.footnoteBackContent||yie,r=n.options.footnoteBackLabel||bie,s=n.options.footnoteLabel||"Footnotes",i=n.options.footnoteLabelTagName||"h2",l=n.options.footnoteLabelProperties||{className:["sr-only"]},c=[];let u=-1;for(;++u0&&b.push({type:"text",value:" "});let T=typeof t=="string"?t:t(u,v);typeof T=="string"&&(T={type:"text",value:T}),b.push({type:"element",tagName:"a",properties:{href:"#"+e+"fnref-"+x+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(u,v),className:["data-footnote-backref"]},children:Array.isArray(T)?T:[T]})}const k=m[m.length-1];if(k&&k.type==="element"&&k.tagName==="p"){const T=k.children[k.children.length-1];T&&T.type==="text"?T.value+=" ":k.children.push({type:"text",value:" "}),k.children.push(...b)}else m.push(...b);const j={type:"element",tagName:"li",properties:{id:e+"fn-"+x},children:n.wrap(m,!0)};n.patch(h,j),c.push(j)}if(c.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:i,properties:{...Wg(l),id:"footnote-label"},children:[{type:"text",value:s}]},{type:"text",value:` -`},{type:"element",tagName:"ol",properties:{},children:n.wrap(c,!0)},{type:"text",value:` -`}]}}const b0=(function(n){if(n==null)return jie;if(typeof n=="function")return $x(n);if(typeof n=="object")return Array.isArray(n)?Sie(n):Oie(n);if(typeof n=="string")return kie(n);throw new Error("Expected function, string, or object as test")});function Sie(n){const e=[];let t=-1;for(;++t":""))+")"})}return x;function x(){let v=ID,b,O,k;if((!e||i(u,h,m[m.length-1]||void 0))&&(v=Tie(t(u,m)),v[0]===y4))return v;if("children"in u&&u.children){const j=u;if(j.children&&v[0]!==FD)for(O=(r?j.children.length:-1)+l,k=m.concat(j);O>-1&&O0&&t.push({type:"text",value:` -`}),t}function q8(n){let e=0,t=n.charCodeAt(e);for(;t===9||t===32;)e++,t=n.charCodeAt(e);return n.slice(e)}function Q8(n,e){const t=Aie(n,e),r=t.one(n,void 0),s=wie(t),i=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return s&&i.children.push({type:"text",value:` -`},s),i}function zie(n,e){return n&&"run"in n?async function(t,r){const s=Q8(t,{file:r,...e});await n.run(s,r)}:function(t,r){return Q8(t,{file:r,...n||e})}}function $8(n){if(n)throw n}var vb,H8;function Pie(){if(H8)return vb;H8=1;var n=Object.prototype.hasOwnProperty,e=Object.prototype.toString,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,s=function(h){return typeof Array.isArray=="function"?Array.isArray(h):e.call(h)==="[object Array]"},i=function(h){if(!h||e.call(h)!=="[object Object]")return!1;var m=n.call(h,"constructor"),p=h.constructor&&h.constructor.prototype&&n.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!m&&!p)return!1;var x;for(x in h);return typeof x>"u"||n.call(h,x)},l=function(h,m){t&&m.name==="__proto__"?t(h,m.name,{enumerable:!0,configurable:!0,value:m.newValue,writable:!0}):h[m.name]=m.newValue},c=function(h,m){if(m==="__proto__")if(n.call(h,m)){if(r)return r(h,m).value}else return;return h[m]};return vb=function u(){var h,m,p,x,v,b,O=arguments[0],k=1,j=arguments.length,T=!1;for(typeof O=="boolean"&&(T=O,O=arguments[1]||{},k=2),(O==null||typeof O!="object"&&typeof O!="function")&&(O={});kl.length;let u;c&&l.push(s);try{u=n.apply(this,l)}catch(h){const m=h;if(c&&t)throw m;return s(m)}c||(u&&u.then&&typeof u.then=="function"?u.then(i,s):u instanceof Error?s(u):i(u))}function s(l,...c){t||(t=!0,e(l,...c))}function i(l){s(null,l)}}const ra={basename:Fie,dirname:qie,extname:Qie,join:$ie,sep:"/"};function Fie(n,e){if(e!==void 0&&typeof e!="string")throw new TypeError('"ext" argument must be a string');w0(n);let t=0,r=-1,s=n.length,i;if(e===void 0||e.length===0||e.length>n.length){for(;s--;)if(n.codePointAt(s)===47){if(i){t=s+1;break}}else r<0&&(i=!0,r=s+1);return r<0?"":n.slice(t,r)}if(e===n)return"";let l=-1,c=e.length-1;for(;s--;)if(n.codePointAt(s)===47){if(i){t=s+1;break}}else l<0&&(i=!0,l=s+1),c>-1&&(n.codePointAt(s)===e.codePointAt(c--)?c<0&&(r=s):(c=-1,r=l));return t===r?r=l:r<0&&(r=n.length),n.slice(t,r)}function qie(n){if(w0(n),n.length===0)return".";let e=-1,t=n.length,r;for(;--t;)if(n.codePointAt(t)===47){if(r){e=t;break}}else r||(r=!0);return e<0?n.codePointAt(0)===47?"/":".":e===1&&n.codePointAt(0)===47?"//":n.slice(0,e)}function Qie(n){w0(n);let e=n.length,t=-1,r=0,s=-1,i=0,l;for(;e--;){const c=n.codePointAt(e);if(c===47){if(l){r=e+1;break}continue}t<0&&(l=!0,t=e+1),c===46?s<0?s=e:i!==1&&(i=1):s>-1&&(i=-1)}return s<0||t<0||i===0||i===1&&s===t-1&&s===r+1?"":n.slice(s,t)}function $ie(...n){let e=-1,t;for(;++e0&&n.codePointAt(n.length-1)===47&&(t+="/"),e?"/"+t:t}function Uie(n,e){let t="",r=0,s=-1,i=0,l=-1,c,u;for(;++l<=n.length;){if(l2){if(u=t.lastIndexOf("/"),u!==t.length-1){u<0?(t="",r=0):(t=t.slice(0,u),r=t.length-1-t.lastIndexOf("/")),s=l,i=0;continue}}else if(t.length>0){t="",r=0,s=l,i=0;continue}}e&&(t=t.length>0?t+"/..":"..",r=2)}else t.length>0?t+="/"+n.slice(s+1,l):t=n.slice(s+1,l),r=l-s-1;s=l,i=0}else c===46&&i>-1?i++:i=-1}return t}function w0(n){if(typeof n!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(n))}const Vie={cwd:Wie};function Wie(){return"/"}function S4(n){return!!(n!==null&&typeof n=="object"&&"href"in n&&n.href&&"protocol"in n&&n.protocol&&n.auth===void 0)}function Gie(n){if(typeof n=="string")n=new URL(n);else if(!S4(n)){const e=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+n+"`");throw e.code="ERR_INVALID_ARG_TYPE",e}if(n.protocol!=="file:"){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return Xie(n)}function Xie(n){if(n.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const e=n.pathname;let t=-1;for(;++t0){let[v,...b]=m;const O=r[x][1];w4(O)&&w4(v)&&(v=yb(!0,O,v)),r[x]=[h,v,...b]}}}}const Jie=new j5().freeze();function Ob(n,e){if(typeof e!="function")throw new TypeError("Cannot `"+n+"` without `parser`")}function kb(n,e){if(typeof e!="function")throw new TypeError("Cannot `"+n+"` without `compiler`")}function jb(n,e){if(e)throw new Error("Cannot call `"+n+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function V8(n){if(!w4(n)||typeof n.type!="string")throw new TypeError("Expected node, got `"+n+"`")}function W8(n,e,t){if(!t)throw new Error("`"+n+"` finished async. Use `"+e+"` instead")}function Cp(n){return eae(n)?n:new qD(n)}function eae(n){return!!(n&&typeof n=="object"&&"message"in n&&"messages"in n)}function tae(n){return typeof n=="string"||nae(n)}function nae(n){return!!(n&&typeof n=="object"&&"byteLength"in n&&"byteOffset"in n)}const rae="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",G8=[],X8={allowDangerousHtml:!0},sae=/^(https?|ircs?|mailto|xmpp)$/i,iae=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function aae(n){const e=lae(n),t=oae(n);return cae(e.runSync(e.parse(t),t),n)}function lae(n){const e=n.rehypePlugins||G8,t=n.remarkPlugins||G8,r=n.remarkRehypeOptions?{...n.remarkRehypeOptions,...X8}:X8;return Jie().use(Qse).use(t).use(zie,r).use(e)}function oae(n){const e=n.children||"",t=new qD;return typeof e=="string"&&(t.value=e),t}function cae(n,e){const t=e.allowedElements,r=e.allowElement,s=e.components,i=e.disallowedElements,l=e.skipHtml,c=e.unwrapDisallowed,u=e.urlTransform||uae;for(const m of iae)Object.hasOwn(e,m.from)&&(""+m.from+(m.to?"use `"+m.to+"` instead":"remove it")+rae+m.id,void 0);return k5(n,h),jne(n,{Fragment:a.Fragment,components:s,ignoreInvalidStyle:!0,jsx:a.jsx,jsxs:a.jsxs,passKeys:!0,passNode:!0});function h(m,p,x){if(m.type==="raw"&&x&&typeof p=="number")return l?x.children.splice(p,1):x.children[p]={type:"text",value:m.value},p;if(m.type==="element"){let v;for(v in pb)if(Object.hasOwn(pb,v)&&Object.hasOwn(m.properties,v)){const b=m.properties[v],O=pb[v];(O===null||O.includes(m.tagName))&&(m.properties[v]=u(String(b||""),v,m))}}if(m.type==="element"){let v=t?!t.includes(m.tagName):i?i.includes(m.tagName):!1;if(!v&&r&&typeof p=="number"&&(v=!r(m,p,x)),v&&x&&typeof p=="number")return c&&m.children?x.children.splice(p,1,...m.children):x.children.splice(p,1),p}}}function uae(n){const e=n.indexOf(":"),t=n.indexOf("?"),r=n.indexOf("#"),s=n.indexOf("/");return e===-1||s!==-1&&e>s||t!==-1&&e>t||r!==-1&&e>r||sae.test(n.slice(0,e))?n:""}function Y8(n,e){const t=String(n);if(typeof e!="string")throw new TypeError("Expected character");let r=0,s=t.indexOf(e);for(;s!==-1;)r++,s=t.indexOf(e,s+e.length);return r}function dae(n){if(typeof n!="string")throw new TypeError("Expected a string");return n.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function hae(n,e,t){const s=b0((t||{}).ignore||[]),i=fae(e);let l=-1;for(;++l0?{type:"text",value:E}:void 0),E===!1?x.lastIndex=_+1:(b!==_&&T.push({type:"text",value:h.value.slice(b,_)}),Array.isArray(E)?T.push(...E):E&&T.push(E),b=_+M[0].length,j=!0),!x.global)break;M=x.exec(h.value)}return j?(b?\]}]+$/.exec(n);if(!e)return[n,void 0];n=n.slice(0,e.index);let t=e[0],r=t.indexOf(")");const s=Y8(n,"(");let i=Y8(n,")");for(;r!==-1&&s>i;)n+=t.slice(0,r+1),t=t.slice(r+1),r=t.indexOf(")"),i++;return[n,t]}function QD(n,e){const t=n.input.charCodeAt(n.index-1);return(n.index===0||Cc(t)||Fx(t))&&(!e||t!==47)}$D.peek=Pae;function Tae(){this.buffer()}function Mae(n){this.enter({type:"footnoteReference",identifier:"",label:""},n)}function Aae(){this.buffer()}function Eae(n){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},n)}function _ae(n){const e=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=Fi(this.sliceSerialize(n)).toLowerCase(),t.label=e}function Dae(n){this.exit(n)}function Rae(n){const e=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=Fi(this.sliceSerialize(n)).toLowerCase(),t.label=e}function zae(n){this.exit(n)}function Pae(){return"["}function $D(n,e,t,r){const s=t.createTracker(r);let i=s.move("[^");const l=t.enter("footnoteReference"),c=t.enter("reference");return i+=s.move(t.safe(t.associationId(n),{after:"]",before:i})),c(),l(),i+=s.move("]"),i}function Lae(){return{enter:{gfmFootnoteCallString:Tae,gfmFootnoteCall:Mae,gfmFootnoteDefinitionLabelString:Aae,gfmFootnoteDefinition:Eae},exit:{gfmFootnoteCallString:_ae,gfmFootnoteCall:Dae,gfmFootnoteDefinitionLabelString:Rae,gfmFootnoteDefinition:zae}}}function Bae(n){let e=!1;return n&&n.firstLineBlank&&(e=!0),{handlers:{footnoteDefinition:t,footnoteReference:$D},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function t(r,s,i,l){const c=i.createTracker(l);let u=c.move("[^");const h=i.enter("footnoteDefinition"),m=i.enter("label");return u+=c.move(i.safe(i.associationId(r),{before:u,after:"]"})),m(),u+=c.move("]:"),r.children&&r.children.length>0&&(c.shift(4),u+=c.move((e?` -`:" ")+i.indentLines(i.containerFlow(r,c.current()),e?HD:Iae))),h(),u}}function Iae(n,e,t){return e===0?n:HD(n,e,t)}function HD(n,e,t){return(t?"":" ")+n}const Fae=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];UD.peek=Uae;function qae(){return{canContainEols:["delete"],enter:{strikethrough:$ae},exit:{strikethrough:Hae}}}function Qae(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:Fae}],handlers:{delete:UD}}}function $ae(n){this.enter({type:"delete",children:[]},n)}function Hae(n){this.exit(n)}function UD(n,e,t,r){const s=t.createTracker(r),i=t.enter("strikethrough");let l=s.move("~~");return l+=t.containerPhrasing(n,{...s.current(),before:l,after:"~"}),l+=s.move("~~"),i(),l}function Uae(){return"~"}function Vae(n){return n.length}function Wae(n,e){const t=e||{},r=(t.align||[]).concat(),s=t.stringLength||Vae,i=[],l=[],c=[],u=[];let h=0,m=-1;for(;++mh&&(h=n[m].length);++ju[j])&&(u[j]=M)}O.push(T)}l[m]=O,c[m]=k}let p=-1;if(typeof r=="object"&&"length"in r)for(;++pu[p]&&(u[p]=T),v[p]=T),x[p]=M}l.splice(1,0,x),c.splice(1,0,v),m=-1;const b=[];for(;++m "),i.shift(2);const l=t.indentLines(t.containerFlow(n,i.current()),Yae);return s(),l}function Yae(n,e,t){return">"+(t?"":" ")+n}function Kae(n,e){return Z8(n,e.inConstruct,!0)&&!Z8(n,e.notInConstruct,!1)}function Z8(n,e,t){if(typeof e=="string"&&(e=[e]),!e||e.length===0)return t;let r=-1;for(;++rl&&(l=i):i=1,s=r+e.length,r=t.indexOf(e,s);return l}function Zae(n,e){return!!(e.options.fences===!1&&n.value&&!n.lang&&/[^ \r\n]/.test(n.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(n.value))}function Jae(n){const e=n.options.fence||"`";if(e!=="`"&&e!=="~")throw new Error("Cannot serialize code with `"+e+"` for `options.fence`, expected `` ` `` or `~`");return e}function ele(n,e,t,r){const s=Jae(t),i=n.value||"",l=s==="`"?"GraveAccent":"Tilde";if(Zae(n,t)){const p=t.enter("codeIndented"),x=t.indentLines(i,tle);return p(),x}const c=t.createTracker(r),u=s.repeat(Math.max(VD(i,s)+1,3)),h=t.enter("codeFenced");let m=c.move(u);if(n.lang){const p=t.enter(`codeFencedLang${l}`);m+=c.move(t.safe(n.lang,{before:m,after:" ",encode:["`"],...c.current()})),p()}if(n.lang&&n.meta){const p=t.enter(`codeFencedMeta${l}`);m+=c.move(" "),m+=c.move(t.safe(n.meta,{before:m,after:` -`,encode:["`"],...c.current()})),p()}return m+=c.move(` -`),i&&(m+=c.move(i+` -`)),m+=c.move(u),h(),m}function tle(n,e,t){return(t?"":" ")+n}function N5(n){const e=n.options.quote||'"';if(e!=='"'&&e!=="'")throw new Error("Cannot serialize title with `"+e+"` for `options.quote`, expected `\"`, or `'`");return e}function nle(n,e,t,r){const s=N5(t),i=s==='"'?"Quote":"Apostrophe",l=t.enter("definition");let c=t.enter("label");const u=t.createTracker(r);let h=u.move("[");return h+=u.move(t.safe(t.associationId(n),{before:h,after:"]",...u.current()})),h+=u.move("]: "),c(),!n.url||/[\0- \u007F]/.test(n.url)?(c=t.enter("destinationLiteral"),h+=u.move("<"),h+=u.move(t.safe(n.url,{before:h,after:">",...u.current()})),h+=u.move(">")):(c=t.enter("destinationRaw"),h+=u.move(t.safe(n.url,{before:h,after:n.title?" ":` -`,...u.current()}))),c(),n.title&&(c=t.enter(`title${i}`),h+=u.move(" "+s),h+=u.move(t.safe(n.title,{before:h,after:s,...u.current()})),h+=u.move(s),c()),l(),h}function rle(n){const e=n.options.emphasis||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize emphasis with `"+e+"` for `options.emphasis`, expected `*`, or `_`");return e}function If(n){return"&#x"+n.toString(16).toUpperCase()+";"}function Gg(n,e,t){const r=yd(n),s=yd(e);return r===void 0?s===void 0?t==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:s===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?s===void 0?{inside:!1,outside:!1}:s===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:s===void 0?{inside:!1,outside:!1}:s===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}WD.peek=sle;function WD(n,e,t,r){const s=rle(t),i=t.enter("emphasis"),l=t.createTracker(r),c=l.move(s);let u=l.move(t.containerPhrasing(n,{after:s,before:c,...l.current()}));const h=u.charCodeAt(0),m=Gg(r.before.charCodeAt(r.before.length-1),h,s);m.inside&&(u=If(h)+u.slice(1));const p=u.charCodeAt(u.length-1),x=Gg(r.after.charCodeAt(0),p,s);x.inside&&(u=u.slice(0,-1)+If(p));const v=l.move(s);return i(),t.attentionEncodeSurroundingInfo={after:x.outside,before:m.outside},c+u+v}function sle(n,e,t){return t.options.emphasis||"*"}function ile(n,e){let t=!1;return k5(n,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return t=!0,y4}),!!((!n.depth||n.depth<3)&&g5(n)&&(e.options.setext||t))}function ale(n,e,t,r){const s=Math.max(Math.min(6,n.depth||1),1),i=t.createTracker(r);if(ile(n,t)){const m=t.enter("headingSetext"),p=t.enter("phrasing"),x=t.containerPhrasing(n,{...i.current(),before:` -`,after:` -`});return p(),m(),x+` -`+(s===1?"=":"-").repeat(x.length-(Math.max(x.lastIndexOf("\r"),x.lastIndexOf(` -`))+1))}const l="#".repeat(s),c=t.enter("headingAtx"),u=t.enter("phrasing");i.move(l+" ");let h=t.containerPhrasing(n,{before:"# ",after:` -`,...i.current()});return/^[\t ]/.test(h)&&(h=If(h.charCodeAt(0))+h.slice(1)),h=h?l+" "+h:l,t.options.closeAtx&&(h+=" "+l),u(),c(),h}GD.peek=lle;function GD(n){return n.value||""}function lle(){return"<"}XD.peek=ole;function XD(n,e,t,r){const s=N5(t),i=s==='"'?"Quote":"Apostrophe",l=t.enter("image");let c=t.enter("label");const u=t.createTracker(r);let h=u.move("![");return h+=u.move(t.safe(n.alt,{before:h,after:"]",...u.current()})),h+=u.move("]("),c(),!n.url&&n.title||/[\0- \u007F]/.test(n.url)?(c=t.enter("destinationLiteral"),h+=u.move("<"),h+=u.move(t.safe(n.url,{before:h,after:">",...u.current()})),h+=u.move(">")):(c=t.enter("destinationRaw"),h+=u.move(t.safe(n.url,{before:h,after:n.title?" ":")",...u.current()}))),c(),n.title&&(c=t.enter(`title${i}`),h+=u.move(" "+s),h+=u.move(t.safe(n.title,{before:h,after:s,...u.current()})),h+=u.move(s),c()),h+=u.move(")"),l(),h}function ole(){return"!"}YD.peek=cle;function YD(n,e,t,r){const s=n.referenceType,i=t.enter("imageReference");let l=t.enter("label");const c=t.createTracker(r);let u=c.move("![");const h=t.safe(n.alt,{before:u,after:"]",...c.current()});u+=c.move(h+"]["),l();const m=t.stack;t.stack=[],l=t.enter("reference");const p=t.safe(t.associationId(n),{before:u,after:"]",...c.current()});return l(),t.stack=m,i(),s==="full"||!h||h!==p?u+=c.move(p+"]"):s==="shortcut"?u=u.slice(0,-1):u+=c.move("]"),u}function cle(){return"!"}KD.peek=ule;function KD(n,e,t){let r=n.value||"",s="`",i=-1;for(;new RegExp("(^|[^`])"+s+"([^`]|$)").test(r);)s+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i\u007F]/.test(n.url))}JD.peek=dle;function JD(n,e,t,r){const s=N5(t),i=s==='"'?"Quote":"Apostrophe",l=t.createTracker(r);let c,u;if(ZD(n,t)){const m=t.stack;t.stack=[],c=t.enter("autolink");let p=l.move("<");return p+=l.move(t.containerPhrasing(n,{before:p,after:">",...l.current()})),p+=l.move(">"),c(),t.stack=m,p}c=t.enter("link"),u=t.enter("label");let h=l.move("[");return h+=l.move(t.containerPhrasing(n,{before:h,after:"](",...l.current()})),h+=l.move("]("),u(),!n.url&&n.title||/[\0- \u007F]/.test(n.url)?(u=t.enter("destinationLiteral"),h+=l.move("<"),h+=l.move(t.safe(n.url,{before:h,after:">",...l.current()})),h+=l.move(">")):(u=t.enter("destinationRaw"),h+=l.move(t.safe(n.url,{before:h,after:n.title?" ":")",...l.current()}))),u(),n.title&&(u=t.enter(`title${i}`),h+=l.move(" "+s),h+=l.move(t.safe(n.title,{before:h,after:s,...l.current()})),h+=l.move(s),u()),h+=l.move(")"),c(),h}function dle(n,e,t){return ZD(n,t)?"<":"["}eR.peek=hle;function eR(n,e,t,r){const s=n.referenceType,i=t.enter("linkReference");let l=t.enter("label");const c=t.createTracker(r);let u=c.move("[");const h=t.containerPhrasing(n,{before:u,after:"]",...c.current()});u+=c.move(h+"]["),l();const m=t.stack;t.stack=[],l=t.enter("reference");const p=t.safe(t.associationId(n),{before:u,after:"]",...c.current()});return l(),t.stack=m,i(),s==="full"||!h||h!==p?u+=c.move(p+"]"):s==="shortcut"?u=u.slice(0,-1):u+=c.move("]"),u}function hle(){return"["}function C5(n){const e=n.options.bullet||"*";if(e!=="*"&&e!=="+"&&e!=="-")throw new Error("Cannot serialize items with `"+e+"` for `options.bullet`, expected `*`, `+`, or `-`");return e}function fle(n){const e=C5(n),t=n.options.bulletOther;if(!t)return e==="*"?"-":"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(t===e)throw new Error("Expected `bullet` (`"+e+"`) and `bulletOther` (`"+t+"`) to be different");return t}function mle(n){const e=n.options.bulletOrdered||".";if(e!=="."&&e!==")")throw new Error("Cannot serialize items with `"+e+"` for `options.bulletOrdered`, expected `.` or `)`");return e}function tR(n){const e=n.options.rule||"*";if(e!=="*"&&e!=="-"&&e!=="_")throw new Error("Cannot serialize rules with `"+e+"` for `options.rule`, expected `*`, `-`, or `_`");return e}function ple(n,e,t,r){const s=t.enter("list"),i=t.bulletCurrent;let l=n.ordered?mle(t):C5(t);const c=n.ordered?l==="."?")":".":fle(t);let u=e&&t.bulletLastUsed?l===t.bulletLastUsed:!1;if(!n.ordered){const m=n.children?n.children[0]:void 0;if((l==="*"||l==="-")&&m&&(!m.children||!m.children[0])&&t.stack[t.stack.length-1]==="list"&&t.stack[t.stack.length-2]==="listItem"&&t.stack[t.stack.length-3]==="list"&&t.stack[t.stack.length-4]==="listItem"&&t.indexStack[t.indexStack.length-1]===0&&t.indexStack[t.indexStack.length-2]===0&&t.indexStack[t.indexStack.length-3]===0&&(u=!0),tR(t)===l&&m){let p=-1;for(;++p-1?e.start:1)+(t.options.incrementListMarker===!1?0:e.children.indexOf(n))+i);let l=i.length+1;(s==="tab"||s==="mixed"&&(e&&e.type==="list"&&e.spread||n.spread))&&(l=Math.ceil(l/4)*4);const c=t.createTracker(r);c.move(i+" ".repeat(l-i.length)),c.shift(l);const u=t.enter("listItem"),h=t.indentLines(t.containerFlow(n,c.current()),m);return u(),h;function m(p,x,v){return x?(v?"":" ".repeat(l))+p:(v?i:i+" ".repeat(l-i.length))+p}}function vle(n,e,t,r){const s=t.enter("paragraph"),i=t.enter("phrasing"),l=t.containerPhrasing(n,r);return i(),s(),l}const yle=b0(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function ble(n,e,t,r){return(n.children.some(function(l){return yle(l)})?t.containerPhrasing:t.containerFlow).call(t,n,r)}function wle(n){const e=n.options.strong||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize strong with `"+e+"` for `options.strong`, expected `*`, or `_`");return e}nR.peek=Sle;function nR(n,e,t,r){const s=wle(t),i=t.enter("strong"),l=t.createTracker(r),c=l.move(s+s);let u=l.move(t.containerPhrasing(n,{after:s,before:c,...l.current()}));const h=u.charCodeAt(0),m=Gg(r.before.charCodeAt(r.before.length-1),h,s);m.inside&&(u=If(h)+u.slice(1));const p=u.charCodeAt(u.length-1),x=Gg(r.after.charCodeAt(0),p,s);x.inside&&(u=u.slice(0,-1)+If(p));const v=l.move(s+s);return i(),t.attentionEncodeSurroundingInfo={after:x.outside,before:m.outside},c+u+v}function Sle(n,e,t){return t.options.strong||"*"}function Ole(n,e,t,r){return t.safe(n.value,r)}function kle(n){const e=n.options.ruleRepetition||3;if(e<3)throw new Error("Cannot serialize rules with repetition `"+e+"` for `options.ruleRepetition`, expected `3` or more");return e}function jle(n,e,t){const r=(tR(t)+(t.options.ruleSpaces?" ":"")).repeat(kle(t));return t.options.ruleSpaces?r.slice(0,-1):r}const rR={blockquote:Xae,break:J8,code:ele,definition:nle,emphasis:WD,hardBreak:J8,heading:ale,html:GD,image:XD,imageReference:YD,inlineCode:KD,link:JD,linkReference:eR,list:ple,listItem:xle,paragraph:vle,root:ble,strong:nR,text:Ole,thematicBreak:jle};function Nle(){return{enter:{table:Cle,tableData:eN,tableHeader:eN,tableRow:Mle},exit:{codeText:Ale,table:Tle,tableData:Mb,tableHeader:Mb,tableRow:Mb}}}function Cle(n){const e=n._align;this.enter({type:"table",align:e.map(function(t){return t==="none"?null:t}),children:[]},n),this.data.inTable=!0}function Tle(n){this.exit(n),this.data.inTable=void 0}function Mle(n){this.enter({type:"tableRow",children:[]},n)}function Mb(n){this.exit(n)}function eN(n){this.enter({type:"tableCell",children:[]},n)}function Ale(n){let e=this.resume();this.data.inTable&&(e=e.replace(/\\([\\|])/g,Ele));const t=this.stack[this.stack.length-1];t.type,t.value=e,this.exit(n)}function Ele(n,e){return e==="|"?e:n}function _le(n){const e=n||{},t=e.tableCellPadding,r=e.tablePipeAlign,s=e.stringLength,i=t?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` -`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:x,table:l,tableCell:u,tableRow:c}};function l(v,b,O,k){return h(m(v,O,k),v.align)}function c(v,b,O,k){const j=p(v,O,k),T=h([j]);return T.slice(0,T.indexOf(` -`))}function u(v,b,O,k){const j=O.enter("tableCell"),T=O.enter("phrasing"),M=O.containerPhrasing(v,{...k,before:i,after:i});return T(),j(),M}function h(v,b){return Wae(v,{align:b,alignDelimiters:r,padding:t,stringLength:s})}function m(v,b,O){const k=v.children;let j=-1;const T=[],M=b.enter("table");for(;++j0&&!t&&(n[n.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}const Yle={tokenize:soe,partial:!0};function Kle(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:toe,continuation:{tokenize:noe},exit:roe}},text:{91:{name:"gfmFootnoteCall",tokenize:eoe},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Zle,resolveTo:Jle}}}}function Zle(n,e,t){const r=this;let s=r.events.length;const i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l;for(;s--;){const u=r.events[s][1];if(u.type==="labelImage"){l=u;break}if(u.type==="gfmFootnoteCall"||u.type==="labelLink"||u.type==="label"||u.type==="image"||u.type==="link")break}return c;function c(u){if(!l||!l._balanced)return t(u);const h=Fi(r.sliceSerialize({start:l.end,end:r.now()}));return h.codePointAt(0)!==94||!i.includes(h.slice(1))?t(u):(n.enter("gfmFootnoteCallLabelMarker"),n.consume(u),n.exit("gfmFootnoteCallLabelMarker"),e(u))}}function Jle(n,e){let t=n.length;for(;t--;)if(n[t][1].type==="labelImage"&&n[t][0]==="enter"){n[t][1];break}n[t+1][1].type="data",n[t+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},n[t+3][1].start),end:Object.assign({},n[n.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},n[t+3][1].end),end:Object.assign({},n[t+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const i={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},n[n.length-1][1].start)},l={type:"chunkString",contentType:"string",start:Object.assign({},i.start),end:Object.assign({},i.end)},c=[n[t+1],n[t+2],["enter",r,e],n[t+3],n[t+4],["enter",s,e],["exit",s,e],["enter",i,e],["enter",l,e],["exit",l,e],["exit",i,e],n[n.length-2],n[n.length-1],["exit",r,e]];return n.splice(t,n.length-t+1,...c),n}function eoe(n,e,t){const r=this,s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i=0,l;return c;function c(p){return n.enter("gfmFootnoteCall"),n.enter("gfmFootnoteCallLabelMarker"),n.consume(p),n.exit("gfmFootnoteCallLabelMarker"),u}function u(p){return p!==94?t(p):(n.enter("gfmFootnoteCallMarker"),n.consume(p),n.exit("gfmFootnoteCallMarker"),n.enter("gfmFootnoteCallString"),n.enter("chunkString").contentType="string",h)}function h(p){if(i>999||p===93&&!l||p===null||p===91||Dn(p))return t(p);if(p===93){n.exit("chunkString");const x=n.exit("gfmFootnoteCallString");return s.includes(Fi(r.sliceSerialize(x)))?(n.enter("gfmFootnoteCallLabelMarker"),n.consume(p),n.exit("gfmFootnoteCallLabelMarker"),n.exit("gfmFootnoteCall"),e):t(p)}return Dn(p)||(l=!0),i++,n.consume(p),p===92?m:h}function m(p){return p===91||p===92||p===93?(n.consume(p),i++,h):h(p)}}function toe(n,e,t){const r=this,s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i,l=0,c;return u;function u(b){return n.enter("gfmFootnoteDefinition")._container=!0,n.enter("gfmFootnoteDefinitionLabel"),n.enter("gfmFootnoteDefinitionLabelMarker"),n.consume(b),n.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(b){return b===94?(n.enter("gfmFootnoteDefinitionMarker"),n.consume(b),n.exit("gfmFootnoteDefinitionMarker"),n.enter("gfmFootnoteDefinitionLabelString"),n.enter("chunkString").contentType="string",m):t(b)}function m(b){if(l>999||b===93&&!c||b===null||b===91||Dn(b))return t(b);if(b===93){n.exit("chunkString");const O=n.exit("gfmFootnoteDefinitionLabelString");return i=Fi(r.sliceSerialize(O)),n.enter("gfmFootnoteDefinitionLabelMarker"),n.consume(b),n.exit("gfmFootnoteDefinitionLabelMarker"),n.exit("gfmFootnoteDefinitionLabel"),x}return Dn(b)||(c=!0),l++,n.consume(b),b===92?p:m}function p(b){return b===91||b===92||b===93?(n.consume(b),l++,m):m(b)}function x(b){return b===58?(n.enter("definitionMarker"),n.consume(b),n.exit("definitionMarker"),s.includes(i)||s.push(i),zt(n,v,"gfmFootnoteDefinitionWhitespace")):t(b)}function v(b){return e(b)}}function noe(n,e,t){return n.check(y0,e,n.attempt(Yle,e,t))}function roe(n){n.exit("gfmFootnoteDefinition")}function soe(n,e,t){const r=this;return zt(n,s,"gfmFootnoteDefinitionIndent",5);function s(i){const l=r.events[r.events.length-1];return l&&l[1].type==="gfmFootnoteDefinitionIndent"&&l[2].sliceSerialize(l[1],!0).length===4?e(i):t(i)}}function ioe(n){let t=(n||{}).singleTilde;const r={name:"strikethrough",tokenize:i,resolveAll:s};return t==null&&(t=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function s(l,c){let u=-1;for(;++u1?u(b):(l.consume(b),p++,v);if(p<2&&!t)return u(b);const k=l.exit("strikethroughSequenceTemporary"),j=yd(b);return k._open=!j||j===2&&!!O,k._close=!O||O===2&&!!j,c(b)}}}class aoe{constructor(){this.map=[]}add(e,t,r){loe(this,e,t,r)}consume(e){if(this.map.sort(function(i,l){return i[0]-l[0]}),this.map.length===0)return;let t=this.map.length;const r=[];for(;t>0;)t-=1,r.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];r.push(e.slice()),e.length=0;let s=r.pop();for(;s;){for(const i of s)e.push(i);s=r.pop()}this.map.length=0}}function loe(n,e,t,r){let s=0;if(!(t===0&&r.length===0)){for(;s-1;){const W=r.events[U][1].type;if(W==="lineEnding"||W==="linePrefix")U--;else break}const V=U>-1?r.events[U][1].type:null,ce=V==="tableHead"||V==="tableRow"?E:u;return ce===E&&r.parser.lazy[r.now().line]?t(B):ce(B)}function u(B){return n.enter("tableHead"),n.enter("tableRow"),h(B)}function h(B){return B===124||(l=!0,i+=1),m(B)}function m(B){return B===null?t(B):Ze(B)?i>1?(i=0,r.interrupt=!0,n.exit("tableRow"),n.enter("lineEnding"),n.consume(B),n.exit("lineEnding"),v):t(B):Ft(B)?zt(n,m,"whitespace")(B):(i+=1,l&&(l=!1,s+=1),B===124?(n.enter("tableCellDivider"),n.consume(B),n.exit("tableCellDivider"),l=!0,m):(n.enter("data"),p(B)))}function p(B){return B===null||B===124||Dn(B)?(n.exit("data"),m(B)):(n.consume(B),B===92?x:p)}function x(B){return B===92||B===124?(n.consume(B),p):p(B)}function v(B){return r.interrupt=!1,r.parser.lazy[r.now().line]?t(B):(n.enter("tableDelimiterRow"),l=!1,Ft(B)?zt(n,b,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(B):b(B))}function b(B){return B===45||B===58?k(B):B===124?(l=!0,n.enter("tableCellDivider"),n.consume(B),n.exit("tableCellDivider"),O):D(B)}function O(B){return Ft(B)?zt(n,k,"whitespace")(B):k(B)}function k(B){return B===58?(i+=1,l=!0,n.enter("tableDelimiterMarker"),n.consume(B),n.exit("tableDelimiterMarker"),j):B===45?(i+=1,j(B)):B===null||Ze(B)?_(B):D(B)}function j(B){return B===45?(n.enter("tableDelimiterFiller"),T(B)):D(B)}function T(B){return B===45?(n.consume(B),T):B===58?(l=!0,n.exit("tableDelimiterFiller"),n.enter("tableDelimiterMarker"),n.consume(B),n.exit("tableDelimiterMarker"),M):(n.exit("tableDelimiterFiller"),M(B))}function M(B){return Ft(B)?zt(n,_,"whitespace")(B):_(B)}function _(B){return B===124?b(B):B===null||Ze(B)?!l||s!==i?D(B):(n.exit("tableDelimiterRow"),n.exit("tableHead"),e(B)):D(B)}function D(B){return t(B)}function E(B){return n.enter("tableRow"),z(B)}function z(B){return B===124?(n.enter("tableCellDivider"),n.consume(B),n.exit("tableCellDivider"),z):B===null||Ze(B)?(n.exit("tableRow"),e(B)):Ft(B)?zt(n,z,"whitespace")(B):(n.enter("data"),Q(B))}function Q(B){return B===null||B===124||Dn(B)?(n.exit("data"),z(B)):(n.consume(B),B===92?q:Q)}function q(B){return B===92||B===124?(n.consume(B),Q):Q(B)}}function doe(n,e){let t=-1,r=!0,s=0,i=[0,0,0,0],l=[0,0,0,0],c=!1,u=0,h,m,p;const x=new aoe;for(;++tt[2]+1){const b=t[2]+1,O=t[3]-t[2]-1;n.add(b,O,[])}}n.add(t[3]+1,0,[["exit",p,e]])}return s!==void 0&&(i.end=Object.assign({},Iu(e.events,s)),n.add(s,0,[["exit",i,e]]),i=void 0),i}function nN(n,e,t,r,s){const i=[],l=Iu(e.events,t);s&&(s.end=Object.assign({},l),i.push(["exit",s,e])),r.end=Object.assign({},l),i.push(["exit",r,e]),n.add(t+1,0,i)}function Iu(n,e){const t=n[e],r=t[0]==="enter"?"start":"end";return t[1][r]}const hoe={name:"tasklistCheck",tokenize:moe};function foe(){return{text:{91:hoe}}}function moe(n,e,t){const r=this;return s;function s(u){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?t(u):(n.enter("taskListCheck"),n.enter("taskListCheckMarker"),n.consume(u),n.exit("taskListCheckMarker"),i)}function i(u){return Dn(u)?(n.enter("taskListCheckValueUnchecked"),n.consume(u),n.exit("taskListCheckValueUnchecked"),l):u===88||u===120?(n.enter("taskListCheckValueChecked"),n.consume(u),n.exit("taskListCheckValueChecked"),l):t(u)}function l(u){return u===93?(n.enter("taskListCheckMarker"),n.consume(u),n.exit("taskListCheckMarker"),n.exit("taskListCheck"),c):t(u)}function c(u){return Ze(u)?e(u):Ft(u)?n.check({tokenize:poe},e,t)(u):t(u)}}function poe(n,e,t){return zt(n,r,"whitespace");function r(s){return s===null?t(s):e(s)}}function goe(n){return wD([qle(),Kle(),ioe(n),coe(),foe()])}const xoe={};function voe(n){const e=this,t=n||xoe,r=e.data(),s=r.micromarkExtensions||(r.micromarkExtensions=[]),i=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),l=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);s.push(goe(t)),i.push(Lle()),l.push(Ble(t))}function yoe(){return{enter:{mathFlow:n,mathFlowFenceMeta:e,mathText:i},exit:{mathFlow:s,mathFlowFence:r,mathFlowFenceMeta:t,mathFlowValue:c,mathText:l,mathTextData:c}};function n(u){const h={type:"element",tagName:"code",properties:{className:["language-math","math-display"]},children:[]};this.enter({type:"math",meta:null,value:"",data:{hName:"pre",hChildren:[h]}},u)}function e(){this.buffer()}function t(){const u=this.resume(),h=this.stack[this.stack.length-1];h.type,h.meta=u}function r(){this.data.mathFlowInside||(this.buffer(),this.data.mathFlowInside=!0)}function s(u){const h=this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),m=this.stack[this.stack.length-1];m.type,this.exit(u),m.value=h;const p=m.data.hChildren[0];p.type,p.tagName,p.children.push({type:"text",value:h}),this.data.mathFlowInside=void 0}function i(u){this.enter({type:"inlineMath",value:"",data:{hName:"code",hProperties:{className:["language-math","math-inline"]},hChildren:[]}},u),this.buffer()}function l(u){const h=this.resume(),m=this.stack[this.stack.length-1];m.type,this.exit(u),m.value=h,m.data.hChildren.push({type:"text",value:h})}function c(u){this.config.enter.data.call(this,u),this.config.exit.data.call(this,u)}}function boe(n){let e=(n||{}).singleDollarTextMath;return e==null&&(e=!0),r.peek=s,{unsafe:[{character:"\r",inConstruct:"mathFlowMeta"},{character:` -`,inConstruct:"mathFlowMeta"},{character:"$",after:e?void 0:"\\$",inConstruct:"phrasing"},{character:"$",inConstruct:"mathFlowMeta"},{atBreak:!0,character:"$",after:"\\$"}],handlers:{math:t,inlineMath:r}};function t(i,l,c,u){const h=i.value||"",m=c.createTracker(u),p="$".repeat(Math.max(VD(h,"$")+1,2)),x=c.enter("mathFlow");let v=m.move(p);if(i.meta){const b=c.enter("mathFlowMeta");v+=m.move(c.safe(i.meta,{after:` -`,before:v,encode:["$"],...m.current()})),b()}return v+=m.move(` -`),h&&(v+=m.move(h+` -`)),v+=m.move(p),x(),v}function r(i,l,c){let u=i.value||"",h=1;for(e||h++;new RegExp("(^|[^$])"+"\\$".repeat(h)+"([^$]|$)").test(u);)h++;const m="$".repeat(h);/[^ \r\n]/.test(u)&&(/^[ \r\n]/.test(u)&&/[ \r\n]$/.test(u)||/^\$|\$$/.test(u))&&(u=" "+u+" ");let p=-1;for(;++p15?h="…"+c.slice(s-15,s):h=c.slice(0,s);var m;i+15":">","<":"<",'"':""","'":"'"},_oe=/[&><"']/g;function Doe(n){return String(n).replace(_oe,e=>Eoe[e])}var hR=function n(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?n(e.body[0]):e:e.type==="font"?n(e.body):e},Roe=function(e){var t=hR(e);return t.type==="mathord"||t.type==="textord"||t.type==="atom"},zoe=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},Poe=function(e){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},tn={deflt:Toe,escape:Doe,hyphenate:Aoe,getBaseElem:hR,isCharacterBox:Roe,protocolFromUrl:Poe},ug={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:n=>"#"+n},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(n,e)=>(e.push(n),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:n=>Math.max(0,n),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:n=>Math.max(0,n),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:n=>Math.max(0,n),cli:"-e, --max-expand ",cliProcessor:n=>n==="Infinity"?1/0:parseInt(n)},globalGroup:{type:"boolean",cli:!1}};function Loe(n){if(n.default)return n.default;var e=n.type,t=Array.isArray(e)?e[0]:e;if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class M5{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var t in ug)if(ug.hasOwnProperty(t)){var r=ug[t];this[t]=e[t]!==void 0?r.processor?r.processor(e[t]):e[t]:Loe(r)}}reportNonstrict(e,t,r){var s=this.strict;if(typeof s=="function"&&(s=s(e,t,r)),!(!s||s==="ignore")){if(s===!0||s==="error")throw new De("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),r);s==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,r){var s=this.strict;if(typeof s=="function")try{s=s(e,t,r)}catch{s="error"}return!s||s==="ignore"?!1:s===!0||s==="error"?!0:s==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var t=tn.protocolFromUrl(e.url);if(t==null)return!1;e.protocol=t}var r=typeof this.trust=="function"?this.trust(e):this.trust;return!!r}}class Xl{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return ia[Boe[this.id]]}sub(){return ia[Ioe[this.id]]}fracNum(){return ia[Foe[this.id]]}fracDen(){return ia[qoe[this.id]]}cramp(){return ia[Qoe[this.id]]}text(){return ia[$oe[this.id]]}isTight(){return this.size>=2}}var A5=0,Xg=1,td=2,cl=3,Ff=4,Oi=5,bd=6,hs=7,ia=[new Xl(A5,0,!1),new Xl(Xg,0,!0),new Xl(td,1,!1),new Xl(cl,1,!0),new Xl(Ff,2,!1),new Xl(Oi,2,!0),new Xl(bd,3,!1),new Xl(hs,3,!0)],Boe=[Ff,Oi,Ff,Oi,bd,hs,bd,hs],Ioe=[Oi,Oi,Oi,Oi,hs,hs,hs,hs],Foe=[td,cl,Ff,Oi,bd,hs,bd,hs],qoe=[cl,cl,Oi,Oi,hs,hs,hs,hs],Qoe=[Xg,Xg,cl,cl,Oi,Oi,hs,hs],$oe=[A5,Xg,td,cl,td,cl,td,cl],at={DISPLAY:ia[A5],TEXT:ia[td],SCRIPT:ia[Ff],SCRIPTSCRIPT:ia[bd]},k4=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function Hoe(n){for(var e=0;e=s[0]&&n<=s[1])return t.name}return null}var dg=[];k4.forEach(n=>n.blocks.forEach(e=>dg.push(...e)));function fR(n){for(var e=0;e=dg[e]&&n<=dg[e+1])return!0;return!1}var Tu=80,Uoe=function(e,t){return"M95,"+(622+e+t)+` -c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 -c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 -c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 -s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 -c69,-144,104.5,-217.7,106.5,-221 -l`+e/2.075+" -"+e+` -c5.3,-9.3,12,-14,20,-14 -H400000v`+(40+e)+`H845.2724 -s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 -c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M`+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Voe=function(e,t){return"M263,"+(601+e+t)+`c0.7,0,18,39.7,52,119 -c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 -c340,-704.7,510.7,-1060.3,512,-1067 -l`+e/2.084+" -"+e+` -c4.7,-7.3,11,-11,19,-11 -H40000v`+(40+e)+`H1012.3 -s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 -c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 -s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 -c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Woe=function(e,t){return"M983 "+(10+e+t)+` -l`+e/3.13+" -"+e+` -c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` -H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 -s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 -c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 -c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 -c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 -c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Goe=function(e,t){return"M424,"+(2398+e+t)+` -c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 -c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 -s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 -s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 -l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000 -v`+(40+e)+`H1014.6 -s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 -c-2,6,-10,9,-24,9 -c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+t+` -h400000v`+(40+e)+"h-400000z"},Xoe=function(e,t){return"M473,"+(2713+e+t)+` -c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` -c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 -s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 -c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 -c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 -s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM`+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"},Yoe=function(e){var t=e/2;return"M400000 "+e+" H0 L"+t+" 0 l65 45 L145 "+(e-80)+" H400000z"},Koe=function(e,t,r){var s=r-54-t-e;return"M702 "+(e+t)+"H400000"+(40+e)+` -H742v`+s+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 -h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 -c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 `+t+"H400000v"+(40+e)+"H742z"},Zoe=function(e,t,r){t=1e3*t;var s="";switch(e){case"sqrtMain":s=Uoe(t,Tu);break;case"sqrtSize1":s=Voe(t,Tu);break;case"sqrtSize2":s=Woe(t,Tu);break;case"sqrtSize3":s=Goe(t,Tu);break;case"sqrtSize4":s=Xoe(t,Tu);break;case"sqrtTall":s=Koe(t,Tu,r)}return s},Joe=function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z"+("M367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z");case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257z"+("M478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z");default:return""}},sN={doubleleftarrow:`M262 157 -l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 - 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 - 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 -c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 - 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 --86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 --2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z -m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l --10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 - 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 --33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 --17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 --13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 -c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 --107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 - 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 --5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 -c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 - 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 - 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 - l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 --45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 - 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 - 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 - 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 --331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 -H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 - 435 0h399565z`,leftgroupunder:`M400000 262 -H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 - 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 --3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 --18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 --196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 - 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 --4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 --10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z -m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 - 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 - 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 --152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 - 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 --2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 -v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 --83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 --68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 - 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z -M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z -M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 --.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 -c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 - 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z -M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 -c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 --53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 - 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 - 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 -c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 - 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 - 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 --5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 --320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z -m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 -60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 --451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z -m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 -c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 --480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z -m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 -85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 --707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z -m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 -c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 --16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 - 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 - 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 --40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 --12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 - 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l --6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 -s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 -c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 - 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 --174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 - 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 - 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 --3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 --10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 - 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 --18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 - 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z -m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 - 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 --7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 --27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 - 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 - 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 --64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z -m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 - 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 --13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 - 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z -M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 - 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 --52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 --167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 - 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 --70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 --40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 --37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 - 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 -c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 - 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 - 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 --19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 - 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 --2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 - 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 - 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 --68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 --8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 - 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 -c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 - 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 --11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 - 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 - 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 - -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 --11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 - 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 - 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 - -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 -3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 -10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 --1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 --7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 -H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 -c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 -c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 --11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 --11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 --11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, --5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, --11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, --11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, --11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 -c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 -c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 -s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 -121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 -s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 -c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z -M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 --27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 -13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 --84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 --119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 --12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 -151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 -c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 -c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 -c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 -c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z -M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 -c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, --231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 -c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 -c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, -1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, --152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z -M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 -c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, --231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 -c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},ece=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v1759 h347 v-84 -H403z M403 1759 V0 H319 V1759 v`+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v1759 H0 v84 H347z -M347 1759 V0 H263 V1759 v`+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15 -c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 -c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15 -c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 -c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z -M367 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15 -c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 -c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+` v1715 h263 v84 H319z -MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+` v1799 H0 v-84 H319z -MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v602 h84z -M403 1759 V0 H319 V1759 v`+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v602 h84z -M347 1759 V0 h-84 V1759 v`+t+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 -c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, --36,557 l0,`+(t+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, -949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 -c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, --544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 -l0,-`+(t+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, --210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, -63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 -c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(t+9)+` -c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 -c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 -c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 -c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 -l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, --470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class S0{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;tt.toText();return this.children.map(e).join("")}}var ma={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Mp={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},iN={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function tce(n,e){ma[n]=e}function E5(n,e,t){if(!ma[e])throw new Error("Font metrics not found for font: "+e+".");var r=n.charCodeAt(0),s=ma[e][r];if(!s&&n[0]in iN&&(r=iN[n[0]].charCodeAt(0),s=ma[e][r]),!s&&t==="text"&&fR(r)&&(s=ma[e][77]),s)return{depth:s[0],height:s[1],italic:s[2],skew:s[3],width:s[4]}}var Ab={};function nce(n){var e;if(n>=5?e=0:n>=3?e=1:e=2,!Ab[e]){var t=Ab[e]={cssEmPerMu:Mp.quad[e]/18};for(var r in Mp)Mp.hasOwnProperty(r)&&(t[r]=Mp[r][e])}return Ab[e]}var rce=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],aN=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],lN=function(e,t){return t.size<2?e:rce[e-1][t.size-1]};class rl{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||rl.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=aN[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return new rl(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:lN(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:aN[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=lN(rl.BASESIZE,e);return this.size===t&&this.textSize===rl.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==rl.BASESIZE?["sizing","reset-size"+this.size,"size"+rl.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=nce(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}rl.BASESIZE=6;var j4={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},sce={ex:!0,em:!0,mu:!0},mR=function(e){return typeof e!="string"&&(e=e.unit),e in j4||e in sce||e==="ex"},Kn=function(e,t){var r;if(e.unit in j4)r=j4[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit==="mu")r=t.fontMetrics().cssEmPerMu;else{var s;if(t.style.isTight()?s=t.havingStyle(t.style.text()):s=t,e.unit==="ex")r=s.fontMetrics().xHeight;else if(e.unit==="em")r=s.fontMetrics().quad;else throw new De("Invalid unit: '"+e.unit+"'");s!==t&&(r*=s.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},Be=function(e){return+e.toFixed(4)+"em"},vo=function(e){return e.filter(t=>t).join(" ")},pR=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");var s=t.getColor();s&&(this.style.color=s)}},gR=function(e){var t=document.createElement(e);t.className=vo(this.classes);for(var r in this.style)this.style.hasOwnProperty(r)&&(t.style[r]=this.style[r]);for(var s in this.attributes)this.attributes.hasOwnProperty(s)&&t.setAttribute(s,this.attributes[s]);for(var i=0;i/=\x00-\x1f]/,xR=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+tn.escape(vo(this.classes))+'"');var r="";for(var s in this.style)this.style.hasOwnProperty(s)&&(r+=tn.hyphenate(s)+":"+this.style[s]+";");r&&(t+=' style="'+tn.escape(r)+'"');for(var i in this.attributes)if(this.attributes.hasOwnProperty(i)){if(ice.test(i))throw new De("Invalid attribute name '"+i+"'");t+=" "+i+'="'+tn.escape(this.attributes[i])+'"'}t+=">";for(var l=0;l",t};class O0{constructor(e,t,r,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,pR.call(this,e,r,s),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return gR.call(this,"span")}toMarkup(){return xR.call(this,"span")}}class _5{constructor(e,t,r,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,pR.call(this,t,s),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return gR.call(this,"a")}toMarkup(){return xR.call(this,"a")}}class ace{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){var e=''+tn.escape(this.alt)+'0&&(t=document.createElement("span"),t.style.marginRight=Be(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=vo(this.classes));for(var r in this.style)this.style.hasOwnProperty(r)&&(t=t||document.createElement("span"),t.style[r]=this.style[r]);return t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="0&&(r+="margin-right:"+this.italic+"em;");for(var s in this.style)this.style.hasOwnProperty(s)&&(r+=tn.hyphenate(s)+":"+this.style[s]+";");r&&(e=!0,t+=' style="'+tn.escape(r)+'"');var i=tn.escape(this.text);return e?(t+=">",t+=i,t+="",t):i}}class gl{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&t.setAttribute(r,this.attributes[r]);for(var s=0;s':''}}class N4{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"line");for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&t.setAttribute(r,this.attributes[r]);return t}toMarkup(){var e=" but got "+String(n)+".")}var cce={bin:1,close:1,inner:1,open:1,punct:1,rel:1},uce={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Ln={math:{},text:{}};function N(n,e,t,r,s,i){Ln[n][s]={font:e,group:t,replace:r},i&&r&&(Ln[n][r]=Ln[n][s])}var C="math",Ee="text",L="main",G="ams",Wn="accent-token",Ve="bin",xs="close",zd="inner",st="mathord",yr="op-token",ai="open",Hx="punct",X="rel",wl="spacing",le="textord";N(C,L,X,"≡","\\equiv",!0);N(C,L,X,"≺","\\prec",!0);N(C,L,X,"≻","\\succ",!0);N(C,L,X,"∼","\\sim",!0);N(C,L,X,"⊥","\\perp");N(C,L,X,"⪯","\\preceq",!0);N(C,L,X,"⪰","\\succeq",!0);N(C,L,X,"≃","\\simeq",!0);N(C,L,X,"∣","\\mid",!0);N(C,L,X,"≪","\\ll",!0);N(C,L,X,"≫","\\gg",!0);N(C,L,X,"≍","\\asymp",!0);N(C,L,X,"∥","\\parallel");N(C,L,X,"⋈","\\bowtie",!0);N(C,L,X,"⌣","\\smile",!0);N(C,L,X,"⊑","\\sqsubseteq",!0);N(C,L,X,"⊒","\\sqsupseteq",!0);N(C,L,X,"≐","\\doteq",!0);N(C,L,X,"⌢","\\frown",!0);N(C,L,X,"∋","\\ni",!0);N(C,L,X,"∝","\\propto",!0);N(C,L,X,"⊢","\\vdash",!0);N(C,L,X,"⊣","\\dashv",!0);N(C,L,X,"∋","\\owns");N(C,L,Hx,".","\\ldotp");N(C,L,Hx,"⋅","\\cdotp");N(C,L,le,"#","\\#");N(Ee,L,le,"#","\\#");N(C,L,le,"&","\\&");N(Ee,L,le,"&","\\&");N(C,L,le,"ℵ","\\aleph",!0);N(C,L,le,"∀","\\forall",!0);N(C,L,le,"ℏ","\\hbar",!0);N(C,L,le,"∃","\\exists",!0);N(C,L,le,"∇","\\nabla",!0);N(C,L,le,"♭","\\flat",!0);N(C,L,le,"ℓ","\\ell",!0);N(C,L,le,"♮","\\natural",!0);N(C,L,le,"♣","\\clubsuit",!0);N(C,L,le,"℘","\\wp",!0);N(C,L,le,"♯","\\sharp",!0);N(C,L,le,"♢","\\diamondsuit",!0);N(C,L,le,"ℜ","\\Re",!0);N(C,L,le,"♡","\\heartsuit",!0);N(C,L,le,"ℑ","\\Im",!0);N(C,L,le,"♠","\\spadesuit",!0);N(C,L,le,"§","\\S",!0);N(Ee,L,le,"§","\\S");N(C,L,le,"¶","\\P",!0);N(Ee,L,le,"¶","\\P");N(C,L,le,"†","\\dag");N(Ee,L,le,"†","\\dag");N(Ee,L,le,"†","\\textdagger");N(C,L,le,"‡","\\ddag");N(Ee,L,le,"‡","\\ddag");N(Ee,L,le,"‡","\\textdaggerdbl");N(C,L,xs,"⎱","\\rmoustache",!0);N(C,L,ai,"⎰","\\lmoustache",!0);N(C,L,xs,"⟯","\\rgroup",!0);N(C,L,ai,"⟮","\\lgroup",!0);N(C,L,Ve,"∓","\\mp",!0);N(C,L,Ve,"⊖","\\ominus",!0);N(C,L,Ve,"⊎","\\uplus",!0);N(C,L,Ve,"⊓","\\sqcap",!0);N(C,L,Ve,"∗","\\ast");N(C,L,Ve,"⊔","\\sqcup",!0);N(C,L,Ve,"◯","\\bigcirc",!0);N(C,L,Ve,"∙","\\bullet",!0);N(C,L,Ve,"‡","\\ddagger");N(C,L,Ve,"≀","\\wr",!0);N(C,L,Ve,"⨿","\\amalg");N(C,L,Ve,"&","\\And");N(C,L,X,"⟵","\\longleftarrow",!0);N(C,L,X,"⇐","\\Leftarrow",!0);N(C,L,X,"⟸","\\Longleftarrow",!0);N(C,L,X,"⟶","\\longrightarrow",!0);N(C,L,X,"⇒","\\Rightarrow",!0);N(C,L,X,"⟹","\\Longrightarrow",!0);N(C,L,X,"↔","\\leftrightarrow",!0);N(C,L,X,"⟷","\\longleftrightarrow",!0);N(C,L,X,"⇔","\\Leftrightarrow",!0);N(C,L,X,"⟺","\\Longleftrightarrow",!0);N(C,L,X,"↦","\\mapsto",!0);N(C,L,X,"⟼","\\longmapsto",!0);N(C,L,X,"↗","\\nearrow",!0);N(C,L,X,"↩","\\hookleftarrow",!0);N(C,L,X,"↪","\\hookrightarrow",!0);N(C,L,X,"↘","\\searrow",!0);N(C,L,X,"↼","\\leftharpoonup",!0);N(C,L,X,"⇀","\\rightharpoonup",!0);N(C,L,X,"↙","\\swarrow",!0);N(C,L,X,"↽","\\leftharpoondown",!0);N(C,L,X,"⇁","\\rightharpoondown",!0);N(C,L,X,"↖","\\nwarrow",!0);N(C,L,X,"⇌","\\rightleftharpoons",!0);N(C,G,X,"≮","\\nless",!0);N(C,G,X,"","\\@nleqslant");N(C,G,X,"","\\@nleqq");N(C,G,X,"⪇","\\lneq",!0);N(C,G,X,"≨","\\lneqq",!0);N(C,G,X,"","\\@lvertneqq");N(C,G,X,"⋦","\\lnsim",!0);N(C,G,X,"⪉","\\lnapprox",!0);N(C,G,X,"⊀","\\nprec",!0);N(C,G,X,"⋠","\\npreceq",!0);N(C,G,X,"⋨","\\precnsim",!0);N(C,G,X,"⪹","\\precnapprox",!0);N(C,G,X,"≁","\\nsim",!0);N(C,G,X,"","\\@nshortmid");N(C,G,X,"∤","\\nmid",!0);N(C,G,X,"⊬","\\nvdash",!0);N(C,G,X,"⊭","\\nvDash",!0);N(C,G,X,"⋪","\\ntriangleleft");N(C,G,X,"⋬","\\ntrianglelefteq",!0);N(C,G,X,"⊊","\\subsetneq",!0);N(C,G,X,"","\\@varsubsetneq");N(C,G,X,"⫋","\\subsetneqq",!0);N(C,G,X,"","\\@varsubsetneqq");N(C,G,X,"≯","\\ngtr",!0);N(C,G,X,"","\\@ngeqslant");N(C,G,X,"","\\@ngeqq");N(C,G,X,"⪈","\\gneq",!0);N(C,G,X,"≩","\\gneqq",!0);N(C,G,X,"","\\@gvertneqq");N(C,G,X,"⋧","\\gnsim",!0);N(C,G,X,"⪊","\\gnapprox",!0);N(C,G,X,"⊁","\\nsucc",!0);N(C,G,X,"⋡","\\nsucceq",!0);N(C,G,X,"⋩","\\succnsim",!0);N(C,G,X,"⪺","\\succnapprox",!0);N(C,G,X,"≆","\\ncong",!0);N(C,G,X,"","\\@nshortparallel");N(C,G,X,"∦","\\nparallel",!0);N(C,G,X,"⊯","\\nVDash",!0);N(C,G,X,"⋫","\\ntriangleright");N(C,G,X,"⋭","\\ntrianglerighteq",!0);N(C,G,X,"","\\@nsupseteqq");N(C,G,X,"⊋","\\supsetneq",!0);N(C,G,X,"","\\@varsupsetneq");N(C,G,X,"⫌","\\supsetneqq",!0);N(C,G,X,"","\\@varsupsetneqq");N(C,G,X,"⊮","\\nVdash",!0);N(C,G,X,"⪵","\\precneqq",!0);N(C,G,X,"⪶","\\succneqq",!0);N(C,G,X,"","\\@nsubseteqq");N(C,G,Ve,"⊴","\\unlhd");N(C,G,Ve,"⊵","\\unrhd");N(C,G,X,"↚","\\nleftarrow",!0);N(C,G,X,"↛","\\nrightarrow",!0);N(C,G,X,"⇍","\\nLeftarrow",!0);N(C,G,X,"⇏","\\nRightarrow",!0);N(C,G,X,"↮","\\nleftrightarrow",!0);N(C,G,X,"⇎","\\nLeftrightarrow",!0);N(C,G,X,"△","\\vartriangle");N(C,G,le,"ℏ","\\hslash");N(C,G,le,"▽","\\triangledown");N(C,G,le,"◊","\\lozenge");N(C,G,le,"Ⓢ","\\circledS");N(C,G,le,"®","\\circledR");N(Ee,G,le,"®","\\circledR");N(C,G,le,"∡","\\measuredangle",!0);N(C,G,le,"∄","\\nexists");N(C,G,le,"℧","\\mho");N(C,G,le,"Ⅎ","\\Finv",!0);N(C,G,le,"⅁","\\Game",!0);N(C,G,le,"‵","\\backprime");N(C,G,le,"▲","\\blacktriangle");N(C,G,le,"▼","\\blacktriangledown");N(C,G,le,"■","\\blacksquare");N(C,G,le,"⧫","\\blacklozenge");N(C,G,le,"★","\\bigstar");N(C,G,le,"∢","\\sphericalangle",!0);N(C,G,le,"∁","\\complement",!0);N(C,G,le,"ð","\\eth",!0);N(Ee,L,le,"ð","ð");N(C,G,le,"╱","\\diagup");N(C,G,le,"╲","\\diagdown");N(C,G,le,"□","\\square");N(C,G,le,"□","\\Box");N(C,G,le,"◊","\\Diamond");N(C,G,le,"¥","\\yen",!0);N(Ee,G,le,"¥","\\yen",!0);N(C,G,le,"✓","\\checkmark",!0);N(Ee,G,le,"✓","\\checkmark");N(C,G,le,"ℶ","\\beth",!0);N(C,G,le,"ℸ","\\daleth",!0);N(C,G,le,"ℷ","\\gimel",!0);N(C,G,le,"ϝ","\\digamma",!0);N(C,G,le,"ϰ","\\varkappa");N(C,G,ai,"┌","\\@ulcorner",!0);N(C,G,xs,"┐","\\@urcorner",!0);N(C,G,ai,"└","\\@llcorner",!0);N(C,G,xs,"┘","\\@lrcorner",!0);N(C,G,X,"≦","\\leqq",!0);N(C,G,X,"⩽","\\leqslant",!0);N(C,G,X,"⪕","\\eqslantless",!0);N(C,G,X,"≲","\\lesssim",!0);N(C,G,X,"⪅","\\lessapprox",!0);N(C,G,X,"≊","\\approxeq",!0);N(C,G,Ve,"⋖","\\lessdot");N(C,G,X,"⋘","\\lll",!0);N(C,G,X,"≶","\\lessgtr",!0);N(C,G,X,"⋚","\\lesseqgtr",!0);N(C,G,X,"⪋","\\lesseqqgtr",!0);N(C,G,X,"≑","\\doteqdot");N(C,G,X,"≓","\\risingdotseq",!0);N(C,G,X,"≒","\\fallingdotseq",!0);N(C,G,X,"∽","\\backsim",!0);N(C,G,X,"⋍","\\backsimeq",!0);N(C,G,X,"⫅","\\subseteqq",!0);N(C,G,X,"⋐","\\Subset",!0);N(C,G,X,"⊏","\\sqsubset",!0);N(C,G,X,"≼","\\preccurlyeq",!0);N(C,G,X,"⋞","\\curlyeqprec",!0);N(C,G,X,"≾","\\precsim",!0);N(C,G,X,"⪷","\\precapprox",!0);N(C,G,X,"⊲","\\vartriangleleft");N(C,G,X,"⊴","\\trianglelefteq");N(C,G,X,"⊨","\\vDash",!0);N(C,G,X,"⊪","\\Vvdash",!0);N(C,G,X,"⌣","\\smallsmile");N(C,G,X,"⌢","\\smallfrown");N(C,G,X,"≏","\\bumpeq",!0);N(C,G,X,"≎","\\Bumpeq",!0);N(C,G,X,"≧","\\geqq",!0);N(C,G,X,"⩾","\\geqslant",!0);N(C,G,X,"⪖","\\eqslantgtr",!0);N(C,G,X,"≳","\\gtrsim",!0);N(C,G,X,"⪆","\\gtrapprox",!0);N(C,G,Ve,"⋗","\\gtrdot");N(C,G,X,"⋙","\\ggg",!0);N(C,G,X,"≷","\\gtrless",!0);N(C,G,X,"⋛","\\gtreqless",!0);N(C,G,X,"⪌","\\gtreqqless",!0);N(C,G,X,"≖","\\eqcirc",!0);N(C,G,X,"≗","\\circeq",!0);N(C,G,X,"≜","\\triangleq",!0);N(C,G,X,"∼","\\thicksim");N(C,G,X,"≈","\\thickapprox");N(C,G,X,"⫆","\\supseteqq",!0);N(C,G,X,"⋑","\\Supset",!0);N(C,G,X,"⊐","\\sqsupset",!0);N(C,G,X,"≽","\\succcurlyeq",!0);N(C,G,X,"⋟","\\curlyeqsucc",!0);N(C,G,X,"≿","\\succsim",!0);N(C,G,X,"⪸","\\succapprox",!0);N(C,G,X,"⊳","\\vartriangleright");N(C,G,X,"⊵","\\trianglerighteq");N(C,G,X,"⊩","\\Vdash",!0);N(C,G,X,"∣","\\shortmid");N(C,G,X,"∥","\\shortparallel");N(C,G,X,"≬","\\between",!0);N(C,G,X,"⋔","\\pitchfork",!0);N(C,G,X,"∝","\\varpropto");N(C,G,X,"◀","\\blacktriangleleft");N(C,G,X,"∴","\\therefore",!0);N(C,G,X,"∍","\\backepsilon");N(C,G,X,"▶","\\blacktriangleright");N(C,G,X,"∵","\\because",!0);N(C,G,X,"⋘","\\llless");N(C,G,X,"⋙","\\gggtr");N(C,G,Ve,"⊲","\\lhd");N(C,G,Ve,"⊳","\\rhd");N(C,G,X,"≂","\\eqsim",!0);N(C,L,X,"⋈","\\Join");N(C,G,X,"≑","\\Doteq",!0);N(C,G,Ve,"∔","\\dotplus",!0);N(C,G,Ve,"∖","\\smallsetminus");N(C,G,Ve,"⋒","\\Cap",!0);N(C,G,Ve,"⋓","\\Cup",!0);N(C,G,Ve,"⩞","\\doublebarwedge",!0);N(C,G,Ve,"⊟","\\boxminus",!0);N(C,G,Ve,"⊞","\\boxplus",!0);N(C,G,Ve,"⋇","\\divideontimes",!0);N(C,G,Ve,"⋉","\\ltimes",!0);N(C,G,Ve,"⋊","\\rtimes",!0);N(C,G,Ve,"⋋","\\leftthreetimes",!0);N(C,G,Ve,"⋌","\\rightthreetimes",!0);N(C,G,Ve,"⋏","\\curlywedge",!0);N(C,G,Ve,"⋎","\\curlyvee",!0);N(C,G,Ve,"⊝","\\circleddash",!0);N(C,G,Ve,"⊛","\\circledast",!0);N(C,G,Ve,"⋅","\\centerdot");N(C,G,Ve,"⊺","\\intercal",!0);N(C,G,Ve,"⋒","\\doublecap");N(C,G,Ve,"⋓","\\doublecup");N(C,G,Ve,"⊠","\\boxtimes",!0);N(C,G,X,"⇢","\\dashrightarrow",!0);N(C,G,X,"⇠","\\dashleftarrow",!0);N(C,G,X,"⇇","\\leftleftarrows",!0);N(C,G,X,"⇆","\\leftrightarrows",!0);N(C,G,X,"⇚","\\Lleftarrow",!0);N(C,G,X,"↞","\\twoheadleftarrow",!0);N(C,G,X,"↢","\\leftarrowtail",!0);N(C,G,X,"↫","\\looparrowleft",!0);N(C,G,X,"⇋","\\leftrightharpoons",!0);N(C,G,X,"↶","\\curvearrowleft",!0);N(C,G,X,"↺","\\circlearrowleft",!0);N(C,G,X,"↰","\\Lsh",!0);N(C,G,X,"⇈","\\upuparrows",!0);N(C,G,X,"↿","\\upharpoonleft",!0);N(C,G,X,"⇃","\\downharpoonleft",!0);N(C,L,X,"⊶","\\origof",!0);N(C,L,X,"⊷","\\imageof",!0);N(C,G,X,"⊸","\\multimap",!0);N(C,G,X,"↭","\\leftrightsquigarrow",!0);N(C,G,X,"⇉","\\rightrightarrows",!0);N(C,G,X,"⇄","\\rightleftarrows",!0);N(C,G,X,"↠","\\twoheadrightarrow",!0);N(C,G,X,"↣","\\rightarrowtail",!0);N(C,G,X,"↬","\\looparrowright",!0);N(C,G,X,"↷","\\curvearrowright",!0);N(C,G,X,"↻","\\circlearrowright",!0);N(C,G,X,"↱","\\Rsh",!0);N(C,G,X,"⇊","\\downdownarrows",!0);N(C,G,X,"↾","\\upharpoonright",!0);N(C,G,X,"⇂","\\downharpoonright",!0);N(C,G,X,"⇝","\\rightsquigarrow",!0);N(C,G,X,"⇝","\\leadsto");N(C,G,X,"⇛","\\Rrightarrow",!0);N(C,G,X,"↾","\\restriction");N(C,L,le,"‘","`");N(C,L,le,"$","\\$");N(Ee,L,le,"$","\\$");N(Ee,L,le,"$","\\textdollar");N(C,L,le,"%","\\%");N(Ee,L,le,"%","\\%");N(C,L,le,"_","\\_");N(Ee,L,le,"_","\\_");N(Ee,L,le,"_","\\textunderscore");N(C,L,le,"∠","\\angle",!0);N(C,L,le,"∞","\\infty",!0);N(C,L,le,"′","\\prime");N(C,L,le,"△","\\triangle");N(C,L,le,"Γ","\\Gamma",!0);N(C,L,le,"Δ","\\Delta",!0);N(C,L,le,"Θ","\\Theta",!0);N(C,L,le,"Λ","\\Lambda",!0);N(C,L,le,"Ξ","\\Xi",!0);N(C,L,le,"Π","\\Pi",!0);N(C,L,le,"Σ","\\Sigma",!0);N(C,L,le,"Υ","\\Upsilon",!0);N(C,L,le,"Φ","\\Phi",!0);N(C,L,le,"Ψ","\\Psi",!0);N(C,L,le,"Ω","\\Omega",!0);N(C,L,le,"A","Α");N(C,L,le,"B","Β");N(C,L,le,"E","Ε");N(C,L,le,"Z","Ζ");N(C,L,le,"H","Η");N(C,L,le,"I","Ι");N(C,L,le,"K","Κ");N(C,L,le,"M","Μ");N(C,L,le,"N","Ν");N(C,L,le,"O","Ο");N(C,L,le,"P","Ρ");N(C,L,le,"T","Τ");N(C,L,le,"X","Χ");N(C,L,le,"¬","\\neg",!0);N(C,L,le,"¬","\\lnot");N(C,L,le,"⊤","\\top");N(C,L,le,"⊥","\\bot");N(C,L,le,"∅","\\emptyset");N(C,G,le,"∅","\\varnothing");N(C,L,st,"α","\\alpha",!0);N(C,L,st,"β","\\beta",!0);N(C,L,st,"γ","\\gamma",!0);N(C,L,st,"δ","\\delta",!0);N(C,L,st,"ϵ","\\epsilon",!0);N(C,L,st,"ζ","\\zeta",!0);N(C,L,st,"η","\\eta",!0);N(C,L,st,"θ","\\theta",!0);N(C,L,st,"ι","\\iota",!0);N(C,L,st,"κ","\\kappa",!0);N(C,L,st,"λ","\\lambda",!0);N(C,L,st,"μ","\\mu",!0);N(C,L,st,"ν","\\nu",!0);N(C,L,st,"ξ","\\xi",!0);N(C,L,st,"ο","\\omicron",!0);N(C,L,st,"π","\\pi",!0);N(C,L,st,"ρ","\\rho",!0);N(C,L,st,"σ","\\sigma",!0);N(C,L,st,"τ","\\tau",!0);N(C,L,st,"υ","\\upsilon",!0);N(C,L,st,"ϕ","\\phi",!0);N(C,L,st,"χ","\\chi",!0);N(C,L,st,"ψ","\\psi",!0);N(C,L,st,"ω","\\omega",!0);N(C,L,st,"ε","\\varepsilon",!0);N(C,L,st,"ϑ","\\vartheta",!0);N(C,L,st,"ϖ","\\varpi",!0);N(C,L,st,"ϱ","\\varrho",!0);N(C,L,st,"ς","\\varsigma",!0);N(C,L,st,"φ","\\varphi",!0);N(C,L,Ve,"∗","*",!0);N(C,L,Ve,"+","+");N(C,L,Ve,"−","-",!0);N(C,L,Ve,"⋅","\\cdot",!0);N(C,L,Ve,"∘","\\circ",!0);N(C,L,Ve,"÷","\\div",!0);N(C,L,Ve,"±","\\pm",!0);N(C,L,Ve,"×","\\times",!0);N(C,L,Ve,"∩","\\cap",!0);N(C,L,Ve,"∪","\\cup",!0);N(C,L,Ve,"∖","\\setminus",!0);N(C,L,Ve,"∧","\\land");N(C,L,Ve,"∨","\\lor");N(C,L,Ve,"∧","\\wedge",!0);N(C,L,Ve,"∨","\\vee",!0);N(C,L,le,"√","\\surd");N(C,L,ai,"⟨","\\langle",!0);N(C,L,ai,"∣","\\lvert");N(C,L,ai,"∥","\\lVert");N(C,L,xs,"?","?");N(C,L,xs,"!","!");N(C,L,xs,"⟩","\\rangle",!0);N(C,L,xs,"∣","\\rvert");N(C,L,xs,"∥","\\rVert");N(C,L,X,"=","=");N(C,L,X,":",":");N(C,L,X,"≈","\\approx",!0);N(C,L,X,"≅","\\cong",!0);N(C,L,X,"≥","\\ge");N(C,L,X,"≥","\\geq",!0);N(C,L,X,"←","\\gets");N(C,L,X,">","\\gt",!0);N(C,L,X,"∈","\\in",!0);N(C,L,X,"","\\@not");N(C,L,X,"⊂","\\subset",!0);N(C,L,X,"⊃","\\supset",!0);N(C,L,X,"⊆","\\subseteq",!0);N(C,L,X,"⊇","\\supseteq",!0);N(C,G,X,"⊈","\\nsubseteq",!0);N(C,G,X,"⊉","\\nsupseteq",!0);N(C,L,X,"⊨","\\models");N(C,L,X,"←","\\leftarrow",!0);N(C,L,X,"≤","\\le");N(C,L,X,"≤","\\leq",!0);N(C,L,X,"<","\\lt",!0);N(C,L,X,"→","\\rightarrow",!0);N(C,L,X,"→","\\to");N(C,G,X,"≱","\\ngeq",!0);N(C,G,X,"≰","\\nleq",!0);N(C,L,wl," ","\\ ");N(C,L,wl," ","\\space");N(C,L,wl," ","\\nobreakspace");N(Ee,L,wl," ","\\ ");N(Ee,L,wl," "," ");N(Ee,L,wl," ","\\space");N(Ee,L,wl," ","\\nobreakspace");N(C,L,wl,null,"\\nobreak");N(C,L,wl,null,"\\allowbreak");N(C,L,Hx,",",",");N(C,L,Hx,";",";");N(C,G,Ve,"⊼","\\barwedge",!0);N(C,G,Ve,"⊻","\\veebar",!0);N(C,L,Ve,"⊙","\\odot",!0);N(C,L,Ve,"⊕","\\oplus",!0);N(C,L,Ve,"⊗","\\otimes",!0);N(C,L,le,"∂","\\partial",!0);N(C,L,Ve,"⊘","\\oslash",!0);N(C,G,Ve,"⊚","\\circledcirc",!0);N(C,G,Ve,"⊡","\\boxdot",!0);N(C,L,Ve,"△","\\bigtriangleup");N(C,L,Ve,"▽","\\bigtriangledown");N(C,L,Ve,"†","\\dagger");N(C,L,Ve,"⋄","\\diamond");N(C,L,Ve,"⋆","\\star");N(C,L,Ve,"◃","\\triangleleft");N(C,L,Ve,"▹","\\triangleright");N(C,L,ai,"{","\\{");N(Ee,L,le,"{","\\{");N(Ee,L,le,"{","\\textbraceleft");N(C,L,xs,"}","\\}");N(Ee,L,le,"}","\\}");N(Ee,L,le,"}","\\textbraceright");N(C,L,ai,"{","\\lbrace");N(C,L,xs,"}","\\rbrace");N(C,L,ai,"[","\\lbrack",!0);N(Ee,L,le,"[","\\lbrack",!0);N(C,L,xs,"]","\\rbrack",!0);N(Ee,L,le,"]","\\rbrack",!0);N(C,L,ai,"(","\\lparen",!0);N(C,L,xs,")","\\rparen",!0);N(Ee,L,le,"<","\\textless",!0);N(Ee,L,le,">","\\textgreater",!0);N(C,L,ai,"⌊","\\lfloor",!0);N(C,L,xs,"⌋","\\rfloor",!0);N(C,L,ai,"⌈","\\lceil",!0);N(C,L,xs,"⌉","\\rceil",!0);N(C,L,le,"\\","\\backslash");N(C,L,le,"∣","|");N(C,L,le,"∣","\\vert");N(Ee,L,le,"|","\\textbar",!0);N(C,L,le,"∥","\\|");N(C,L,le,"∥","\\Vert");N(Ee,L,le,"∥","\\textbardbl");N(Ee,L,le,"~","\\textasciitilde");N(Ee,L,le,"\\","\\textbackslash");N(Ee,L,le,"^","\\textasciicircum");N(C,L,X,"↑","\\uparrow",!0);N(C,L,X,"⇑","\\Uparrow",!0);N(C,L,X,"↓","\\downarrow",!0);N(C,L,X,"⇓","\\Downarrow",!0);N(C,L,X,"↕","\\updownarrow",!0);N(C,L,X,"⇕","\\Updownarrow",!0);N(C,L,yr,"∐","\\coprod");N(C,L,yr,"⋁","\\bigvee");N(C,L,yr,"⋀","\\bigwedge");N(C,L,yr,"⨄","\\biguplus");N(C,L,yr,"⋂","\\bigcap");N(C,L,yr,"⋃","\\bigcup");N(C,L,yr,"∫","\\int");N(C,L,yr,"∫","\\intop");N(C,L,yr,"∬","\\iint");N(C,L,yr,"∭","\\iiint");N(C,L,yr,"∏","\\prod");N(C,L,yr,"∑","\\sum");N(C,L,yr,"⨂","\\bigotimes");N(C,L,yr,"⨁","\\bigoplus");N(C,L,yr,"⨀","\\bigodot");N(C,L,yr,"∮","\\oint");N(C,L,yr,"∯","\\oiint");N(C,L,yr,"∰","\\oiiint");N(C,L,yr,"⨆","\\bigsqcup");N(C,L,yr,"∫","\\smallint");N(Ee,L,zd,"…","\\textellipsis");N(C,L,zd,"…","\\mathellipsis");N(Ee,L,zd,"…","\\ldots",!0);N(C,L,zd,"…","\\ldots",!0);N(C,L,zd,"⋯","\\@cdots",!0);N(C,L,zd,"⋱","\\ddots",!0);N(C,L,le,"⋮","\\varvdots");N(Ee,L,le,"⋮","\\varvdots");N(C,L,Wn,"ˊ","\\acute");N(C,L,Wn,"ˋ","\\grave");N(C,L,Wn,"¨","\\ddot");N(C,L,Wn,"~","\\tilde");N(C,L,Wn,"ˉ","\\bar");N(C,L,Wn,"˘","\\breve");N(C,L,Wn,"ˇ","\\check");N(C,L,Wn,"^","\\hat");N(C,L,Wn,"⃗","\\vec");N(C,L,Wn,"˙","\\dot");N(C,L,Wn,"˚","\\mathring");N(C,L,st,"","\\@imath");N(C,L,st,"","\\@jmath");N(C,L,le,"ı","ı");N(C,L,le,"ȷ","ȷ");N(Ee,L,le,"ı","\\i",!0);N(Ee,L,le,"ȷ","\\j",!0);N(Ee,L,le,"ß","\\ss",!0);N(Ee,L,le,"æ","\\ae",!0);N(Ee,L,le,"œ","\\oe",!0);N(Ee,L,le,"ø","\\o",!0);N(Ee,L,le,"Æ","\\AE",!0);N(Ee,L,le,"Œ","\\OE",!0);N(Ee,L,le,"Ø","\\O",!0);N(Ee,L,Wn,"ˊ","\\'");N(Ee,L,Wn,"ˋ","\\`");N(Ee,L,Wn,"ˆ","\\^");N(Ee,L,Wn,"˜","\\~");N(Ee,L,Wn,"ˉ","\\=");N(Ee,L,Wn,"˘","\\u");N(Ee,L,Wn,"˙","\\.");N(Ee,L,Wn,"¸","\\c");N(Ee,L,Wn,"˚","\\r");N(Ee,L,Wn,"ˇ","\\v");N(Ee,L,Wn,"¨",'\\"');N(Ee,L,Wn,"˝","\\H");N(Ee,L,Wn,"◯","\\textcircled");var vR={"--":!0,"---":!0,"``":!0,"''":!0};N(Ee,L,le,"–","--",!0);N(Ee,L,le,"–","\\textendash");N(Ee,L,le,"—","---",!0);N(Ee,L,le,"—","\\textemdash");N(Ee,L,le,"‘","`",!0);N(Ee,L,le,"‘","\\textquoteleft");N(Ee,L,le,"’","'",!0);N(Ee,L,le,"’","\\textquoteright");N(Ee,L,le,"“","``",!0);N(Ee,L,le,"“","\\textquotedblleft");N(Ee,L,le,"”","''",!0);N(Ee,L,le,"”","\\textquotedblright");N(C,L,le,"°","\\degree",!0);N(Ee,L,le,"°","\\degree");N(Ee,L,le,"°","\\textdegree",!0);N(C,L,le,"£","\\pounds");N(C,L,le,"£","\\mathsterling",!0);N(Ee,L,le,"£","\\pounds");N(Ee,L,le,"£","\\textsterling",!0);N(C,G,le,"✠","\\maltese");N(Ee,G,le,"✠","\\maltese");var cN='0123456789/@."';for(var Eb=0;Eb0)return Li(i,h,s,t,l.concat(m));if(u){var p,x;if(u==="boldsymbol"){var v=fce(i,s,t,l,r);p=v.fontName,x=[v.fontClass]}else c?(p=wR[u].fontName,x=[u]):(p=Dp(u,t.fontWeight,t.fontShape),x=[u,t.fontWeight,t.fontShape]);if(Ux(i,p,s).metrics)return Li(i,p,s,t,l.concat(x));if(vR.hasOwnProperty(i)&&p.slice(0,10)==="Typewriter"){for(var b=[],O=0;O{if(vo(n.classes)!==vo(e.classes)||n.skew!==e.skew||n.maxFontSize!==e.maxFontSize)return!1;if(n.classes.length===1){var t=n.classes[0];if(t==="mbin"||t==="mord")return!1}for(var r in n.style)if(n.style.hasOwnProperty(r)&&n.style[r]!==e.style[r])return!1;for(var s in e.style)if(e.style.hasOwnProperty(s)&&n.style[s]!==e.style[s])return!1;return!0},gce=n=>{for(var e=0;et&&(t=l.height),l.depth>r&&(r=l.depth),l.maxFontSize>s&&(s=l.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=s},Cs=function(e,t,r,s){var i=new O0(e,t,r,s);return D5(i),i},yR=(n,e,t,r)=>new O0(n,e,t,r),xce=function(e,t,r){var s=Cs([e],[],t);return s.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s.style.borderBottomWidth=Be(s.height),s.maxFontSize=1,s},vce=function(e,t,r,s){var i=new _5(e,t,r,s);return D5(i),i},bR=function(e){var t=new S0(e);return D5(t),t},yce=function(e,t){return e instanceof S0?Cs([],[e],t):e},bce=function(e){if(e.positionType==="individualShift"){for(var t=e.children,r=[t[0]],s=-t[0].shift-t[0].elem.depth,i=s,l=1;l{var t=Cs(["mspace"],[],e),r=Kn(n,e);return t.style.marginRight=Be(r),t},Dp=function(e,t,r){var s="";switch(e){case"amsrm":s="AMS";break;case"textrm":s="Main";break;case"textsf":s="SansSerif";break;case"texttt":s="Typewriter";break;default:s=e}var i;return t==="textbf"&&r==="textit"?i="BoldItalic":t==="textbf"?i="Bold":t==="textit"?i="Italic":i="Regular",s+"-"+i},wR={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},SR={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Oce=function(e,t){var[r,s,i]=SR[e],l=new yo(r),c=new gl([l],{width:Be(s),height:Be(i),style:"width:"+Be(s),viewBox:"0 0 "+1e3*s+" "+1e3*i,preserveAspectRatio:"xMinYMin"}),u=yR(["overlay"],[c],t);return u.height=i,u.style.height=Be(i),u.style.width=Be(s),u},ge={fontMap:wR,makeSymbol:Li,mathsym:hce,makeSpan:Cs,makeSvgSpan:yR,makeLineSpan:xce,makeAnchor:vce,makeFragment:bR,wrapFragment:yce,makeVList:wce,makeOrd:mce,makeGlue:Sce,staticSvg:Oce,svgData:SR,tryCombineChars:gce},Xn={number:3,unit:"mu"},ec={number:4,unit:"mu"},Ya={number:5,unit:"mu"},kce={mord:{mop:Xn,mbin:ec,mrel:Ya,minner:Xn},mop:{mord:Xn,mop:Xn,mrel:Ya,minner:Xn},mbin:{mord:ec,mop:ec,mopen:ec,minner:ec},mrel:{mord:Ya,mop:Ya,mopen:Ya,minner:Ya},mopen:{},mclose:{mop:Xn,mbin:ec,mrel:Ya,minner:Xn},mpunct:{mord:Xn,mop:Xn,mrel:Ya,mopen:Xn,mclose:Xn,mpunct:Xn,minner:Xn},minner:{mord:Xn,mop:Xn,mbin:ec,mrel:Ya,mopen:Xn,mpunct:Xn,minner:Xn}},jce={mord:{mop:Xn},mop:{mord:Xn,mop:Xn},mbin:{},mrel:{},mopen:{},mclose:{mop:Xn},mpunct:{},minner:{mop:Xn}},OR={},Kg={},Zg={};function Qe(n){for(var{type:e,names:t,props:r,handler:s,htmlBuilder:i,mathmlBuilder:l}=n,c={type:e,numArgs:r.numArgs,argTypes:r.argTypes,allowedInArgument:!!r.allowedInArgument,allowedInText:!!r.allowedInText,allowedInMath:r.allowedInMath===void 0?!0:r.allowedInMath,numOptionalArgs:r.numOptionalArgs||0,infix:!!r.infix,primitive:!!r.primitive,handler:s},u=0;u{var k=O.classes[0],j=b.classes[0];k==="mbin"&&Cce.includes(j)?O.classes[0]="mord":j==="mbin"&&Nce.includes(k)&&(b.classes[0]="mord")},{node:p},x,v),mN(i,(b,O)=>{var k=T4(O),j=T4(b),T=k&&j?b.hasClass("mtight")?jce[k][j]:kce[k][j]:null;if(T)return ge.makeGlue(T,h)},{node:p},x,v),i},mN=function n(e,t,r,s,i){s&&e.push(s);for(var l=0;lx=>{e.splice(p+1,0,x),l++})(l)}s&&e.pop()},kR=function(e){return e instanceof S0||e instanceof _5||e instanceof O0&&e.hasClass("enclosing")?e:null},Ace=function n(e,t){var r=kR(e);if(r){var s=r.children;if(s.length){if(t==="right")return n(s[s.length-1],"right");if(t==="left")return n(s[0],"left")}}return e},T4=function(e,t){return e?(t&&(e=Ace(e,t)),Mce[e.classes[0]]||null):null},qf=function(e,t){var r=["nulldelimiter"].concat(e.baseSizingClasses());return xl(t.concat(r))},Xt=function(e,t,r){if(!e)return xl();if(Kg[e.type]){var s=Kg[e.type](e,t);if(r&&t.size!==r.size){s=xl(t.sizingClasses(r),[s],t);var i=t.sizeMultiplier/r.sizeMultiplier;s.height*=i,s.depth*=i}return s}else throw new De("Got group of unknown type: '"+e.type+"'")};function Rp(n,e){var t=xl(["base"],n,e),r=xl(["strut"]);return r.style.height=Be(t.height+t.depth),t.depth&&(r.style.verticalAlign=Be(-t.depth)),t.children.unshift(r),t}function M4(n,e){var t=null;n.length===1&&n[0].type==="tag"&&(t=n[0].tag,n=n[0].body);var r=Mr(n,e,"root"),s;r.length===2&&r[1].hasClass("tag")&&(s=r.pop());for(var i=[],l=[],c=0;c0&&(i.push(Rp(l,e)),l=[]),i.push(r[c]));l.length>0&&i.push(Rp(l,e));var h;t?(h=Rp(Mr(t,e,!0)),h.classes=["tag"],i.push(h)):s&&i.push(s);var m=xl(["katex-html"],i);if(m.setAttribute("aria-hidden","true"),h){var p=h.children[0];p.style.height=Be(m.height+m.depth),m.depth&&(p.style.verticalAlign=Be(-m.depth))}return m}function jR(n){return new S0(n)}class ti{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=vo(this.classes));for(var r=0;r0&&(e+=' class ="'+tn.escape(vo(this.classes))+'"'),e+=">";for(var r=0;r",e}toText(){return this.children.map(e=>e.toText()).join("")}}class pa{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return tn.escape(this.toText())}toText(){return this.text}}class Ece{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Be(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var _e={MathNode:ti,TextNode:pa,SpaceNode:Ece,newDocumentFragment:jR},Mi=function(e,t,r){return Ln[t][e]&&Ln[t][e].replace&&e.charCodeAt(0)!==55349&&!(vR.hasOwnProperty(e)&&r&&(r.fontFamily&&r.fontFamily.slice(4,6)==="tt"||r.font&&r.font.slice(4,6)==="tt"))&&(e=Ln[t][e].replace),new _e.TextNode(e)},R5=function(e){return e.length===1?e[0]:new _e.MathNode("mrow",e)},z5=function(e,t){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold";var r=t.font;if(!r||r==="mathnormal")return null;var s=e.mode;if(r==="mathit")return"italic";if(r==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(r==="mathbf")return"bold";if(r==="mathbb")return"double-struck";if(r==="mathsfit")return"sans-serif-italic";if(r==="mathfrak")return"fraktur";if(r==="mathscr"||r==="mathcal")return"script";if(r==="mathsf")return"sans-serif";if(r==="mathtt")return"monospace";var i=e.text;if(["\\imath","\\jmath"].includes(i))return null;Ln[s][i]&&Ln[s][i].replace&&(i=Ln[s][i].replace);var l=ge.fontMap[r].fontName;return E5(i,l,s)?ge.fontMap[r].variant:null};function zb(n){if(!n)return!1;if(n.type==="mi"&&n.children.length===1){var e=n.children[0];return e instanceof pa&&e.text==="."}else if(n.type==="mo"&&n.children.length===1&&n.getAttribute("separator")==="true"&&n.getAttribute("lspace")==="0em"&&n.getAttribute("rspace")==="0em"){var t=n.children[0];return t instanceof pa&&t.text===","}else return!1}var Fs=function(e,t,r){if(e.length===1){var s=Rn(e[0],t);return r&&s instanceof ti&&s.type==="mo"&&(s.setAttribute("lspace","0em"),s.setAttribute("rspace","0em")),[s]}for(var i=[],l,c=0;c=1&&(l.type==="mn"||zb(l))){var h=u.children[0];h instanceof ti&&h.type==="mn"&&(h.children=[...l.children,...h.children],i.pop())}else if(l.type==="mi"&&l.children.length===1){var m=l.children[0];if(m instanceof pa&&m.text==="̸"&&(u.type==="mo"||u.type==="mi"||u.type==="mn")){var p=u.children[0];p instanceof pa&&p.text.length>0&&(p.text=p.text.slice(0,1)+"̸"+p.text.slice(1),i.pop())}}}i.push(u),l=u}return i},bo=function(e,t,r){return R5(Fs(e,t,r))},Rn=function(e,t){if(!e)return new _e.MathNode("mrow");if(Zg[e.type]){var r=Zg[e.type](e,t);return r}else throw new De("Got group of unknown type: '"+e.type+"'")};function pN(n,e,t,r,s){var i=Fs(n,t),l;i.length===1&&i[0]instanceof ti&&["mrow","mtable"].includes(i[0].type)?l=i[0]:l=new _e.MathNode("mrow",i);var c=new _e.MathNode("annotation",[new _e.TextNode(e)]);c.setAttribute("encoding","application/x-tex");var u=new _e.MathNode("semantics",[l,c]),h=new _e.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),r&&h.setAttribute("display","block");var m=s?"katex":"katex-mathml";return ge.makeSpan([m],[h])}var NR=function(e){return new rl({style:e.displayMode?at.DISPLAY:at.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},CR=function(e,t){if(t.displayMode){var r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=ge.makeSpan(r,[e])}return e},_ce=function(e,t,r){var s=NR(r),i;if(r.output==="mathml")return pN(e,t,s,r.displayMode,!0);if(r.output==="html"){var l=M4(e,s);i=ge.makeSpan(["katex"],[l])}else{var c=pN(e,t,s,r.displayMode,!1),u=M4(e,s);i=ge.makeSpan(["katex"],[c,u])}return CR(i,r)},Dce=function(e,t,r){var s=NR(r),i=M4(e,s),l=ge.makeSpan(["katex"],[i]);return CR(l,r)},Rce={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},zce=function(e){var t=new _e.MathNode("mo",[new _e.TextNode(Rce[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Pce={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Lce=function(e){return e.type==="ordgroup"?e.body.length:1},Bce=function(e,t){function r(){var c=4e5,u=e.label.slice(1);if(["widehat","widecheck","widetilde","utilde"].includes(u)){var h=e,m=Lce(h.base),p,x,v;if(m>5)u==="widehat"||u==="widecheck"?(p=420,c=2364,v=.42,x=u+"4"):(p=312,c=2340,v=.34,x="tilde4");else{var b=[1,1,2,2,3,3][m];u==="widehat"||u==="widecheck"?(c=[0,1062,2364,2364,2364][b],p=[0,239,300,360,420][b],v=[0,.24,.3,.3,.36,.42][b],x=u+b):(c=[0,600,1033,2339,2340][b],p=[0,260,286,306,312][b],v=[0,.26,.286,.3,.306,.34][b],x="tilde"+b)}var O=new yo(x),k=new gl([O],{width:"100%",height:Be(v),viewBox:"0 0 "+c+" "+p,preserveAspectRatio:"none"});return{span:ge.makeSvgSpan([],[k],t),minWidth:0,height:v}}else{var j=[],T=Pce[u],[M,_,D]=T,E=D/1e3,z=M.length,Q,q;if(z===1){var B=T[3];Q=["hide-tail"],q=[B]}else if(z===2)Q=["halfarrow-left","halfarrow-right"],q=["xMinYMin","xMaxYMin"];else if(z===3)Q=["brace-left","brace-center","brace-right"],q=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+z+" children.");for(var U=0;U0&&(s.style.minWidth=Be(i)),s},Ice=function(e,t,r,s,i){var l,c=e.height+e.depth+r+s;if(/fbox|color|angl/.test(t)){if(l=ge.makeSpan(["stretchy",t],[],i),t==="fbox"){var u=i.color&&i.getColor();u&&(l.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(t)&&h.push(new N4({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&h.push(new N4({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var m=new gl(h,{width:"100%",height:Be(c)});l=ge.makeSvgSpan([],[m],i)}return l.height=c,l.style.height=Be(c),l},vl={encloseSpan:Ice,mathMLnode:zce,svgSpan:Bce};function Nt(n,e){if(!n||n.type!==e)throw new Error("Expected node of type "+e+", but got "+(n?"node of type "+n.type:String(n)));return n}function P5(n){var e=Vx(n);if(!e)throw new Error("Expected node of symbol group type, but got "+(n?"node of type "+n.type:String(n)));return e}function Vx(n){return n&&(n.type==="atom"||uce.hasOwnProperty(n.type))?n:null}var L5=(n,e)=>{var t,r,s;n&&n.type==="supsub"?(r=Nt(n.base,"accent"),t=r.base,n.base=t,s=oce(Xt(n,e)),n.base=r):(r=Nt(n,"accent"),t=r.base);var i=Xt(t,e.havingCrampedStyle()),l=r.isShifty&&tn.isCharacterBox(t),c=0;if(l){var u=tn.getBaseElem(t),h=Xt(u,e.havingCrampedStyle());c=oN(h).skew}var m=r.label==="\\c",p=m?i.height+i.depth:Math.min(i.height,e.fontMetrics().xHeight),x;if(r.isStretchy)x=vl.svgSpan(r,e),x=ge.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:x,wrapperClasses:["svg-align"],wrapperStyle:c>0?{width:"calc(100% - "+Be(2*c)+")",marginLeft:Be(2*c)}:void 0}]},e);else{var v,b;r.label==="\\vec"?(v=ge.staticSvg("vec",e),b=ge.svgData.vec[1]):(v=ge.makeOrd({mode:r.mode,text:r.label},e,"textord"),v=oN(v),v.italic=0,b=v.width,m&&(p+=v.depth)),x=ge.makeSpan(["accent-body"],[v]);var O=r.label==="\\textcircled";O&&(x.classes.push("accent-full"),p=i.height);var k=c;O||(k-=b/2),x.style.left=Be(k),r.label==="\\textcircled"&&(x.style.top=".2em"),x=ge.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-p},{type:"elem",elem:x}]},e)}var j=ge.makeSpan(["mord","accent"],[x],e);return s?(s.children[0]=j,s.height=Math.max(j.height,s.height),s.classes[0]="mord",s):j},TR=(n,e)=>{var t=n.isStretchy?vl.mathMLnode(n.label):new _e.MathNode("mo",[Mi(n.label,n.mode)]),r=new _e.MathNode("mover",[Rn(n.base,e),t]);return r.setAttribute("accent","true"),r},Fce=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(n=>"\\"+n).join("|"));Qe({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(n,e)=>{var t=Jg(e[0]),r=!Fce.test(n.funcName),s=!r||n.funcName==="\\widehat"||n.funcName==="\\widetilde"||n.funcName==="\\widecheck";return{type:"accent",mode:n.parser.mode,label:n.funcName,isStretchy:r,isShifty:s,base:t}},htmlBuilder:L5,mathmlBuilder:TR});Qe({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(n,e)=>{var t=e[0],r=n.parser.mode;return r==="math"&&(n.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+n.funcName+" works only in text mode"),r="text"),{type:"accent",mode:r,label:n.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:L5,mathmlBuilder:TR});Qe({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(n,e)=>{var{parser:t,funcName:r}=n,s=e[0];return{type:"accentUnder",mode:t.mode,label:r,base:s}},htmlBuilder:(n,e)=>{var t=Xt(n.base,e),r=vl.svgSpan(n,e),s=n.label==="\\utilde"?.12:0,i=ge.makeVList({positionType:"top",positionData:t.height,children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:s},{type:"elem",elem:t}]},e);return ge.makeSpan(["mord","accentunder"],[i],e)},mathmlBuilder:(n,e)=>{var t=vl.mathMLnode(n.label),r=new _e.MathNode("munder",[Rn(n.base,e),t]);return r.setAttribute("accentunder","true"),r}});var zp=n=>{var e=new _e.MathNode("mpadded",n?[n]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qe({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(n,e,t){var{parser:r,funcName:s}=n;return{type:"xArrow",mode:r.mode,label:s,body:e[0],below:t[0]}},htmlBuilder(n,e){var t=e.style,r=e.havingStyle(t.sup()),s=ge.wrapFragment(Xt(n.body,r,e),e),i=n.label.slice(0,2)==="\\x"?"x":"cd";s.classes.push(i+"-arrow-pad");var l;n.below&&(r=e.havingStyle(t.sub()),l=ge.wrapFragment(Xt(n.below,r,e),e),l.classes.push(i+"-arrow-pad"));var c=vl.svgSpan(n,e),u=-e.fontMetrics().axisHeight+.5*c.height,h=-e.fontMetrics().axisHeight-.5*c.height-.111;(s.depth>.25||n.label==="\\xleftequilibrium")&&(h-=s.depth);var m;if(l){var p=-e.fontMetrics().axisHeight+l.height+.5*c.height+.111;m=ge.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:h},{type:"elem",elem:c,shift:u},{type:"elem",elem:l,shift:p}]},e)}else m=ge.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:h},{type:"elem",elem:c,shift:u}]},e);return m.children[0].children[0].children[1].classes.push("svg-align"),ge.makeSpan(["mrel","x-arrow"],[m],e)},mathmlBuilder(n,e){var t=vl.mathMLnode(n.label);t.setAttribute("minsize",n.label.charAt(0)==="x"?"1.75em":"3.0em");var r;if(n.body){var s=zp(Rn(n.body,e));if(n.below){var i=zp(Rn(n.below,e));r=new _e.MathNode("munderover",[t,i,s])}else r=new _e.MathNode("mover",[t,s])}else if(n.below){var l=zp(Rn(n.below,e));r=new _e.MathNode("munder",[t,l])}else r=zp(),r=new _e.MathNode("mover",[t,r]);return r}});var qce=ge.makeSpan;function MR(n,e){var t=Mr(n.body,e,!0);return qce([n.mclass],t,e)}function AR(n,e){var t,r=Fs(n.body,e);return n.mclass==="minner"?t=new _e.MathNode("mpadded",r):n.mclass==="mord"?n.isCharacterBox?(t=r[0],t.type="mi"):t=new _e.MathNode("mi",r):(n.isCharacterBox?(t=r[0],t.type="mo"):t=new _e.MathNode("mo",r),n.mclass==="mbin"?(t.attributes.lspace="0.22em",t.attributes.rspace="0.22em"):n.mclass==="mpunct"?(t.attributes.lspace="0em",t.attributes.rspace="0.17em"):n.mclass==="mopen"||n.mclass==="mclose"?(t.attributes.lspace="0em",t.attributes.rspace="0em"):n.mclass==="minner"&&(t.attributes.lspace="0.0556em",t.attributes.width="+0.1111em")),t}Qe({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(n,e){var{parser:t,funcName:r}=n,s=e[0];return{type:"mclass",mode:t.mode,mclass:"m"+r.slice(5),body:ar(s),isCharacterBox:tn.isCharacterBox(s)}},htmlBuilder:MR,mathmlBuilder:AR});var Wx=n=>{var e=n.type==="ordgroup"&&n.body.length?n.body[0]:n;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Qe({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(n,e){var{parser:t}=n;return{type:"mclass",mode:t.mode,mclass:Wx(e[0]),body:ar(e[1]),isCharacterBox:tn.isCharacterBox(e[1])}}});Qe({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(n,e){var{parser:t,funcName:r}=n,s=e[1],i=e[0],l;r!=="\\stackrel"?l=Wx(s):l="mrel";var c={type:"op",mode:s.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:r!=="\\stackrel",body:ar(s)},u={type:"supsub",mode:i.mode,base:c,sup:r==="\\underset"?null:i,sub:r==="\\underset"?i:null};return{type:"mclass",mode:t.mode,mclass:l,body:[u],isCharacterBox:tn.isCharacterBox(u)}},htmlBuilder:MR,mathmlBuilder:AR});Qe({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(n,e){var{parser:t}=n;return{type:"pmb",mode:t.mode,mclass:Wx(e[0]),body:ar(e[0])}},htmlBuilder(n,e){var t=Mr(n.body,e,!0),r=ge.makeSpan([n.mclass],t,e);return r.style.textShadow="0.02em 0.01em 0.04px",r},mathmlBuilder(n,e){var t=Fs(n.body,e),r=new _e.MathNode("mstyle",t);return r.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),r}});var Qce={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},gN=()=>({type:"styling",body:[],mode:"math",style:"display"}),xN=n=>n.type==="textord"&&n.text==="@",$ce=(n,e)=>(n.type==="mathord"||n.type==="atom")&&n.text===e;function Hce(n,e,t){var r=Qce[n];switch(r){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return t.callFunction(r,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var s=t.callFunction("\\\\cdleft",[e[0]],[]),i={type:"atom",text:r,mode:"math",family:"rel"},l=t.callFunction("\\Big",[i],[]),c=t.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[s,l,c]};return t.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return t.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return t.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function Uce(n){var e=[];for(n.gullet.beginGroup(),n.gullet.macros.set("\\cr","\\\\\\relax"),n.gullet.beginGroup();;){e.push(n.parseExpression(!1,"\\\\")),n.gullet.endGroup(),n.gullet.beginGroup();var t=n.fetch().text;if(t==="&"||t==="\\\\")n.consume();else if(t==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new De("Expected \\\\ or \\cr or \\end",n.nextToken)}for(var r=[],s=[r],i=0;i-1))if("<>AV".indexOf(h)>-1)for(var p=0;p<2;p++){for(var x=!0,v=u+1;vAV=|." after @',l[u]);var b=Hce(h,m,n),O={type:"styling",body:[b],mode:"math",style:"display"};r.push(O),c=gN()}i%2===0?r.push(c):r.shift(),r=[],s.push(r)}n.gullet.endGroup(),n.gullet.endGroup();var k=new Array(s[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:s,arraystretch:1,addJot:!0,rowGaps:[null],cols:k,colSeparationType:"CD",hLinesBeforeRow:new Array(s.length+1).fill([])}}Qe({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(n,e){var{parser:t,funcName:r}=n;return{type:"cdlabel",mode:t.mode,side:r.slice(4),label:e[0]}},htmlBuilder(n,e){var t=e.havingStyle(e.style.sup()),r=ge.wrapFragment(Xt(n.label,t,e),e);return r.classes.push("cd-label-"+n.side),r.style.bottom=Be(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder(n,e){var t=new _e.MathNode("mrow",[Rn(n.label,e)]);return t=new _e.MathNode("mpadded",[t]),t.setAttribute("width","0"),n.side==="left"&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),t=new _e.MathNode("mstyle",[t]),t.setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}});Qe({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(n,e){var{parser:t}=n;return{type:"cdlabelparent",mode:t.mode,fragment:e[0]}},htmlBuilder(n,e){var t=ge.wrapFragment(Xt(n.fragment,e),e);return t.classes.push("cd-vert-arrow"),t},mathmlBuilder(n,e){return new _e.MathNode("mrow",[Rn(n.fragment,e)])}});Qe({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(n,e){for(var{parser:t}=n,r=Nt(e[0],"ordgroup"),s=r.body,i="",l=0;l=1114111)throw new De("\\@char with invalid code point "+i);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:t.mode,text:h}}});var ER=(n,e)=>{var t=Mr(n.body,e.withColor(n.color),!1);return ge.makeFragment(t)},_R=(n,e)=>{var t=Fs(n.body,e.withColor(n.color)),r=new _e.MathNode("mstyle",t);return r.setAttribute("mathcolor",n.color),r};Qe({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(n,e){var{parser:t}=n,r=Nt(e[0],"color-token").color,s=e[1];return{type:"color",mode:t.mode,color:r,body:ar(s)}},htmlBuilder:ER,mathmlBuilder:_R});Qe({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(n,e){var{parser:t,breakOnTokenText:r}=n,s=Nt(e[0],"color-token").color;t.gullet.macros.set("\\current@color",s);var i=t.parseExpression(!0,r);return{type:"color",mode:t.mode,color:s,body:i}},htmlBuilder:ER,mathmlBuilder:_R});Qe({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(n,e,t){var{parser:r}=n,s=r.gullet.future().text==="["?r.parseSizeGroup(!0):null,i=!r.settings.displayMode||!r.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:r.mode,newLine:i,size:s&&Nt(s,"size").value}},htmlBuilder(n,e){var t=ge.makeSpan(["mspace"],[],e);return n.newLine&&(t.classes.push("newline"),n.size&&(t.style.marginTop=Be(Kn(n.size,e)))),t},mathmlBuilder(n,e){var t=new _e.MathNode("mspace");return n.newLine&&(t.setAttribute("linebreak","newline"),n.size&&t.setAttribute("height",Be(Kn(n.size,e)))),t}});var A4={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},DR=n=>{var e=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new De("Expected a control sequence",n);return e},Vce=n=>{var e=n.gullet.popToken();return e.text==="="&&(e=n.gullet.popToken(),e.text===" "&&(e=n.gullet.popToken())),e},RR=(n,e,t,r)=>{var s=n.gullet.macros.get(t.text);s==null&&(t.noexpand=!0,s={tokens:[t],numArgs:0,unexpandable:!n.gullet.isExpandable(t.text)}),n.gullet.macros.set(e,s,r)};Qe({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(n){var{parser:e,funcName:t}=n;e.consumeSpaces();var r=e.fetch();if(A4[r.text])return(t==="\\global"||t==="\\\\globallong")&&(r.text=A4[r.text]),Nt(e.parseFunction(),"internal");throw new De("Invalid token after macro prefix",r)}});Qe({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(n){var{parser:e,funcName:t}=n,r=e.gullet.popToken(),s=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new De("Expected a control sequence",r);for(var i=0,l,c=[[]];e.gullet.future().text!=="{";)if(r=e.gullet.popToken(),r.text==="#"){if(e.gullet.future().text==="{"){l=e.gullet.future(),c[i].push("{");break}if(r=e.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new De('Invalid argument number "'+r.text+'"');if(parseInt(r.text)!==i+1)throw new De('Argument number "'+r.text+'" out of order');i++,c.push([])}else{if(r.text==="EOF")throw new De("Expected a macro definition");c[i].push(r.text)}var{tokens:u}=e.gullet.consumeArg();return l&&u.unshift(l),(t==="\\edef"||t==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(s,{tokens:u,numArgs:i,delimiters:c},t===A4[t]),{type:"internal",mode:e.mode}}});Qe({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(n){var{parser:e,funcName:t}=n,r=DR(e.gullet.popToken());e.gullet.consumeSpaces();var s=Vce(e);return RR(e,r,s,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});Qe({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(n){var{parser:e,funcName:t}=n,r=DR(e.gullet.popToken()),s=e.gullet.popToken(),i=e.gullet.popToken();return RR(e,r,i,t==="\\\\globalfuture"),e.gullet.pushToken(i),e.gullet.pushToken(s),{type:"internal",mode:e.mode}}});var Wh=function(e,t,r){var s=Ln.math[e]&&Ln.math[e].replace,i=E5(s||e,t,r);if(!i)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return i},B5=function(e,t,r,s){var i=r.havingBaseStyle(t),l=ge.makeSpan(s.concat(i.sizingClasses(r)),[e],r),c=i.sizeMultiplier/r.sizeMultiplier;return l.height*=c,l.depth*=c,l.maxFontSize=i.sizeMultiplier,l},zR=function(e,t,r){var s=t.havingBaseStyle(r),i=(1-t.sizeMultiplier/s.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Be(i),e.height-=i,e.depth+=i},Wce=function(e,t,r,s,i,l){var c=ge.makeSymbol(e,"Main-Regular",i,s),u=B5(c,t,s,l);return r&&zR(u,s,t),u},Gce=function(e,t,r,s){return ge.makeSymbol(e,"Size"+t+"-Regular",r,s)},PR=function(e,t,r,s,i,l){var c=Gce(e,t,i,s),u=B5(ge.makeSpan(["delimsizing","size"+t],[c],s),at.TEXT,s,l);return r&&zR(u,s,at.TEXT),u},Pb=function(e,t,r){var s;t==="Size1-Regular"?s="delim-size1":s="delim-size4";var i=ge.makeSpan(["delimsizinginner",s],[ge.makeSpan([],[ge.makeSymbol(e,t,r)])]);return{type:"elem",elem:i}},Lb=function(e,t,r){var s=ma["Size4-Regular"][e.charCodeAt(0)]?ma["Size4-Regular"][e.charCodeAt(0)][4]:ma["Size1-Regular"][e.charCodeAt(0)][4],i=new yo("inner",Joe(e,Math.round(1e3*t))),l=new gl([i],{width:Be(s),height:Be(t),style:"width:"+Be(s),viewBox:"0 0 "+1e3*s+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),c=ge.makeSvgSpan([],[l],r);return c.height=t,c.style.height=Be(t),c.style.width=Be(s),{type:"elem",elem:c}},E4=.008,Pp={type:"kern",size:-1*E4},Xce=["|","\\lvert","\\rvert","\\vert"],Yce=["\\|","\\lVert","\\rVert","\\Vert"],LR=function(e,t,r,s,i,l){var c,u,h,m,p="",x=0;c=h=m=e,u=null;var v="Size1-Regular";e==="\\uparrow"?h=m="⏐":e==="\\Uparrow"?h=m="‖":e==="\\downarrow"?c=h="⏐":e==="\\Downarrow"?c=h="‖":e==="\\updownarrow"?(c="\\uparrow",h="⏐",m="\\downarrow"):e==="\\Updownarrow"?(c="\\Uparrow",h="‖",m="\\Downarrow"):Xce.includes(e)?(h="∣",p="vert",x=333):Yce.includes(e)?(h="∥",p="doublevert",x=556):e==="["||e==="\\lbrack"?(c="⎡",h="⎢",m="⎣",v="Size4-Regular",p="lbrack",x=667):e==="]"||e==="\\rbrack"?(c="⎤",h="⎥",m="⎦",v="Size4-Regular",p="rbrack",x=667):e==="\\lfloor"||e==="⌊"?(h=c="⎢",m="⎣",v="Size4-Regular",p="lfloor",x=667):e==="\\lceil"||e==="⌈"?(c="⎡",h=m="⎢",v="Size4-Regular",p="lceil",x=667):e==="\\rfloor"||e==="⌋"?(h=c="⎥",m="⎦",v="Size4-Regular",p="rfloor",x=667):e==="\\rceil"||e==="⌉"?(c="⎤",h=m="⎥",v="Size4-Regular",p="rceil",x=667):e==="("||e==="\\lparen"?(c="⎛",h="⎜",m="⎝",v="Size4-Regular",p="lparen",x=875):e===")"||e==="\\rparen"?(c="⎞",h="⎟",m="⎠",v="Size4-Regular",p="rparen",x=875):e==="\\{"||e==="\\lbrace"?(c="⎧",u="⎨",m="⎩",h="⎪",v="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(c="⎫",u="⎬",m="⎭",h="⎪",v="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(c="⎧",m="⎩",h="⎪",v="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(c="⎫",m="⎭",h="⎪",v="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(c="⎧",m="⎭",h="⎪",v="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(c="⎫",m="⎩",h="⎪",v="Size4-Regular");var b=Wh(c,v,i),O=b.height+b.depth,k=Wh(h,v,i),j=k.height+k.depth,T=Wh(m,v,i),M=T.height+T.depth,_=0,D=1;if(u!==null){var E=Wh(u,v,i);_=E.height+E.depth,D=2}var z=O+M+_,Q=Math.max(0,Math.ceil((t-z)/(D*j))),q=z+Q*D*j,B=s.fontMetrics().axisHeight;r&&(B*=s.sizeMultiplier);var U=q/2-B,V=[];if(p.length>0){var ce=q-O-M,W=Math.round(q*1e3),J=ece(p,Math.round(ce*1e3)),H=new yo(p,J),ae=(x/1e3).toFixed(3)+"em",ne=(W/1e3).toFixed(3)+"em",ue=new gl([H],{width:ae,height:ne,viewBox:"0 0 "+x+" "+W}),R=ge.makeSvgSpan([],[ue],s);R.height=W/1e3,R.style.width=ae,R.style.height=ne,V.push({type:"elem",elem:R})}else{if(V.push(Pb(m,v,i)),V.push(Pp),u===null){var me=q-O-M+2*E4;V.push(Lb(h,me,s))}else{var Y=(q-O-M-_)/2+2*E4;V.push(Lb(h,Y,s)),V.push(Pp),V.push(Pb(u,v,i)),V.push(Pp),V.push(Lb(h,Y,s))}V.push(Pp),V.push(Pb(c,v,i))}var P=s.havingBaseStyle(at.TEXT),K=ge.makeVList({positionType:"bottom",positionData:U,children:V},P);return B5(ge.makeSpan(["delimsizing","mult"],[K],P),at.TEXT,s,l)},Bb=80,Ib=.08,Fb=function(e,t,r,s,i){var l=Zoe(e,s,r),c=new yo(e,l),u=new gl([c],{width:"400em",height:Be(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return ge.makeSvgSpan(["hide-tail"],[u],i)},Kce=function(e,t){var r=t.havingBaseSizing(),s=qR("\\surd",e*r.sizeMultiplier,FR,r),i=r.sizeMultiplier,l=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),c,u=0,h=0,m=0,p;return s.type==="small"?(m=1e3+1e3*l+Bb,e<1?i=1:e<1.4&&(i=.7),u=(1+l+Ib)/i,h=(1+l)/i,c=Fb("sqrtMain",u,m,l,t),c.style.minWidth="0.853em",p=.833/i):s.type==="large"?(m=(1e3+Bb)*uf[s.size],h=(uf[s.size]+l)/i,u=(uf[s.size]+l+Ib)/i,c=Fb("sqrtSize"+s.size,u,m,l,t),c.style.minWidth="1.02em",p=1/i):(u=e+l+Ib,h=e+l,m=Math.floor(1e3*e+l)+Bb,c=Fb("sqrtTall",u,m,l,t),c.style.minWidth="0.742em",p=1.056),c.height=h,c.style.height=Be(u),{span:c,advanceWidth:p,ruleWidth:(t.fontMetrics().sqrtRuleThickness+l)*i}},BR=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],Zce=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],IR=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],uf=[0,1.2,1.8,2.4,3],Jce=function(e,t,r,s,i){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),BR.includes(e)||IR.includes(e))return PR(e,t,!1,r,s,i);if(Zce.includes(e))return LR(e,uf[t],!1,r,s,i);throw new De("Illegal delimiter: '"+e+"'")},eue=[{type:"small",style:at.SCRIPTSCRIPT},{type:"small",style:at.SCRIPT},{type:"small",style:at.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],tue=[{type:"small",style:at.SCRIPTSCRIPT},{type:"small",style:at.SCRIPT},{type:"small",style:at.TEXT},{type:"stack"}],FR=[{type:"small",style:at.SCRIPTSCRIPT},{type:"small",style:at.SCRIPT},{type:"small",style:at.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],nue=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},qR=function(e,t,r,s){for(var i=Math.min(2,3-s.style.size),l=i;lt)return r[l]}return r[r.length-1]},QR=function(e,t,r,s,i,l){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var c;IR.includes(e)?c=eue:BR.includes(e)?c=FR:c=tue;var u=qR(e,t,c,s);return u.type==="small"?Wce(e,u.style,r,s,i,l):u.type==="large"?PR(e,u.size,r,s,i,l):LR(e,t,r,s,i,l)},rue=function(e,t,r,s,i,l){var c=s.fontMetrics().axisHeight*s.sizeMultiplier,u=901,h=5/s.fontMetrics().ptPerEm,m=Math.max(t-c,r+c),p=Math.max(m/500*u,2*m-h);return QR(e,p,!0,s,i,l)},ul={sqrtImage:Kce,sizedDelim:Jce,sizeToMaxHeight:uf,customSizedDelim:QR,leftRightDelim:rue},vN={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},sue=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Gx(n,e){var t=Vx(n);if(t&&sue.includes(t.text))return t;throw t?new De("Invalid delimiter '"+t.text+"' after '"+e.funcName+"'",n):new De("Invalid delimiter type '"+n.type+"'",n)}Qe({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(n,e)=>{var t=Gx(e[0],n);return{type:"delimsizing",mode:n.parser.mode,size:vN[n.funcName].size,mclass:vN[n.funcName].mclass,delim:t.text}},htmlBuilder:(n,e)=>n.delim==="."?ge.makeSpan([n.mclass]):ul.sizedDelim(n.delim,n.size,e,n.mode,[n.mclass]),mathmlBuilder:n=>{var e=[];n.delim!=="."&&e.push(Mi(n.delim,n.mode));var t=new _e.MathNode("mo",e);n.mclass==="mopen"||n.mclass==="mclose"?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true");var r=Be(ul.sizeToMaxHeight[n.size]);return t.setAttribute("minsize",r),t.setAttribute("maxsize",r),t}});function yN(n){if(!n.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qe({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(n,e)=>{var t=n.parser.gullet.macros.get("\\current@color");if(t&&typeof t!="string")throw new De("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:n.parser.mode,delim:Gx(e[0],n).text,color:t}}});Qe({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(n,e)=>{var t=Gx(e[0],n),r=n.parser;++r.leftrightDepth;var s=r.parseExpression(!1);--r.leftrightDepth,r.expect("\\right",!1);var i=Nt(r.parseFunction(),"leftright-right");return{type:"leftright",mode:r.mode,body:s,left:t.text,right:i.delim,rightColor:i.color}},htmlBuilder:(n,e)=>{yN(n);for(var t=Mr(n.body,e,!0,["mopen","mclose"]),r=0,s=0,i=!1,l=0;l{yN(n);var t=Fs(n.body,e);if(n.left!=="."){var r=new _e.MathNode("mo",[Mi(n.left,n.mode)]);r.setAttribute("fence","true"),t.unshift(r)}if(n.right!=="."){var s=new _e.MathNode("mo",[Mi(n.right,n.mode)]);s.setAttribute("fence","true"),n.rightColor&&s.setAttribute("mathcolor",n.rightColor),t.push(s)}return R5(t)}});Qe({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(n,e)=>{var t=Gx(e[0],n);if(!n.parser.leftrightDepth)throw new De("\\middle without preceding \\left",t);return{type:"middle",mode:n.parser.mode,delim:t.text}},htmlBuilder:(n,e)=>{var t;if(n.delim===".")t=qf(e,[]);else{t=ul.sizedDelim(n.delim,1,e,n.mode,[]);var r={delim:n.delim,options:e};t.isMiddle=r}return t},mathmlBuilder:(n,e)=>{var t=n.delim==="\\vert"||n.delim==="|"?Mi("|","text"):Mi(n.delim,n.mode),r=new _e.MathNode("mo",[t]);return r.setAttribute("fence","true"),r.setAttribute("lspace","0.05em"),r.setAttribute("rspace","0.05em"),r}});var I5=(n,e)=>{var t=ge.wrapFragment(Xt(n.body,e),e),r=n.label.slice(1),s=e.sizeMultiplier,i,l=0,c=tn.isCharacterBox(n.body);if(r==="sout")i=ge.makeSpan(["stretchy","sout"]),i.height=e.fontMetrics().defaultRuleThickness/s,l=-.5*e.fontMetrics().xHeight;else if(r==="phase"){var u=Kn({number:.6,unit:"pt"},e),h=Kn({number:.35,unit:"ex"},e),m=e.havingBaseSizing();s=s/m.sizeMultiplier;var p=t.height+t.depth+u+h;t.style.paddingLeft=Be(p/2+u);var x=Math.floor(1e3*p*s),v=Yoe(x),b=new gl([new yo("phase",v)],{width:"400em",height:Be(x/1e3),viewBox:"0 0 400000 "+x,preserveAspectRatio:"xMinYMin slice"});i=ge.makeSvgSpan(["hide-tail"],[b],e),i.style.height=Be(p),l=t.depth+u+h}else{/cancel/.test(r)?c||t.classes.push("cancel-pad"):r==="angl"?t.classes.push("anglpad"):t.classes.push("boxpad");var O=0,k=0,j=0;/box/.test(r)?(j=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),O=e.fontMetrics().fboxsep+(r==="colorbox"?0:j),k=O):r==="angl"?(j=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),O=4*j,k=Math.max(0,.25-t.depth)):(O=c?.2:0,k=O),i=vl.encloseSpan(t,r,O,k,e),/fbox|boxed|fcolorbox/.test(r)?(i.style.borderStyle="solid",i.style.borderWidth=Be(j)):r==="angl"&&j!==.049&&(i.style.borderTopWidth=Be(j),i.style.borderRightWidth=Be(j)),l=t.depth+k,n.backgroundColor&&(i.style.backgroundColor=n.backgroundColor,n.borderColor&&(i.style.borderColor=n.borderColor))}var T;if(n.backgroundColor)T=ge.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:t,shift:0}]},e);else{var M=/cancel|phase/.test(r)?["svg-align"]:[];T=ge.makeVList({positionType:"individualShift",children:[{type:"elem",elem:t,shift:0},{type:"elem",elem:i,shift:l,wrapperClasses:M}]},e)}return/cancel/.test(r)&&(T.height=t.height,T.depth=t.depth),/cancel/.test(r)&&!c?ge.makeSpan(["mord","cancel-lap"],[T],e):ge.makeSpan(["mord"],[T],e)},F5=(n,e)=>{var t=0,r=new _e.MathNode(n.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Rn(n.body,e)]);switch(n.label){case"\\cancel":r.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":r.setAttribute("notation","downdiagonalstrike");break;case"\\phase":r.setAttribute("notation","phasorangle");break;case"\\sout":r.setAttribute("notation","horizontalstrike");break;case"\\fbox":r.setAttribute("notation","box");break;case"\\angl":r.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(t=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,r.setAttribute("width","+"+2*t+"pt"),r.setAttribute("height","+"+2*t+"pt"),r.setAttribute("lspace",t+"pt"),r.setAttribute("voffset",t+"pt"),n.label==="\\fcolorbox"){var s=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);r.setAttribute("style","border: "+s+"em solid "+String(n.borderColor))}break;case"\\xcancel":r.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return n.backgroundColor&&r.setAttribute("mathbackground",n.backgroundColor),r};Qe({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(n,e,t){var{parser:r,funcName:s}=n,i=Nt(e[0],"color-token").color,l=e[1];return{type:"enclose",mode:r.mode,label:s,backgroundColor:i,body:l}},htmlBuilder:I5,mathmlBuilder:F5});Qe({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(n,e,t){var{parser:r,funcName:s}=n,i=Nt(e[0],"color-token").color,l=Nt(e[1],"color-token").color,c=e[2];return{type:"enclose",mode:r.mode,label:s,backgroundColor:l,borderColor:i,body:c}},htmlBuilder:I5,mathmlBuilder:F5});Qe({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(n,e){var{parser:t}=n;return{type:"enclose",mode:t.mode,label:"\\fbox",body:e[0]}}});Qe({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(n,e){var{parser:t,funcName:r}=n,s=e[0];return{type:"enclose",mode:t.mode,label:r,body:s}},htmlBuilder:I5,mathmlBuilder:F5});Qe({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(n,e){var{parser:t}=n;return{type:"enclose",mode:t.mode,label:"\\angl",body:e[0]}}});var $R={};function Na(n){for(var{type:e,names:t,props:r,handler:s,htmlBuilder:i,mathmlBuilder:l}=n,c={type:e,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:s},u=0;u{var e=n.parser.settings;if(!e.displayMode)throw new De("{"+n.envName+"} can be used only in display mode.")};function q5(n){if(n.indexOf("ed")===-1)return n.indexOf("*")===-1}function Mo(n,e,t){var{hskipBeforeAndAfter:r,addJot:s,cols:i,arraystretch:l,colSeparationType:c,autoTag:u,singleRow:h,emptySingleRow:m,maxNumCols:p,leqno:x}=e;if(n.gullet.beginGroup(),h||n.gullet.macros.set("\\cr","\\\\\\relax"),!l){var v=n.gullet.expandMacroAsText("\\arraystretch");if(v==null)l=1;else if(l=parseFloat(v),!l||l<0)throw new De("Invalid \\arraystretch: "+v)}n.gullet.beginGroup();var b=[],O=[b],k=[],j=[],T=u!=null?[]:void 0;function M(){u&&n.gullet.macros.set("\\@eqnsw","1",!0)}function _(){T&&(n.gullet.macros.get("\\df@tag")?(T.push(n.subparse([new si("\\df@tag")])),n.gullet.macros.set("\\df@tag",void 0,!0)):T.push(!!u&&n.gullet.macros.get("\\@eqnsw")==="1"))}for(M(),j.push(bN(n));;){var D=n.parseExpression(!1,h?"\\end":"\\\\");n.gullet.endGroup(),n.gullet.beginGroup(),D={type:"ordgroup",mode:n.mode,body:D},t&&(D={type:"styling",mode:n.mode,style:t,body:[D]}),b.push(D);var E=n.fetch().text;if(E==="&"){if(p&&b.length===p){if(h||c)throw new De("Too many tab characters: &",n.nextToken);n.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}n.consume()}else if(E==="\\end"){_(),b.length===1&&D.type==="styling"&&D.body[0].body.length===0&&(O.length>1||!m)&&O.pop(),j.length0&&(M+=.25),h.push({pos:M,isDashed:Jn[nn]})}for(_(l[0]),r=0;r0&&(U+=T,zJn))for(r=0;r=c)){var ye=void 0;(s>0||e.hskipBeforeAndAfter)&&(ye=tn.deflt(Y.pregap,x),ye!==0&&(J=ge.makeSpan(["arraycolsep"],[]),J.style.width=Be(ye),W.push(J)));var Re=[];for(r=0;r0){for(var ke=ge.makeLineSpan("hline",t,m),nt=ge.makeLineSpan("hdashline",t,m),ut=[{type:"elem",elem:u,shift:0}];h.length>0;){var Ct=h.pop(),Bn=Ct.pos-V;Ct.isDashed?ut.push({type:"elem",elem:nt,shift:Bn}):ut.push({type:"elem",elem:ke,shift:Bn})}u=ge.makeVList({positionType:"individualShift",children:ut},t)}if(ae.length===0)return ge.makeSpan(["mord"],[u],t);var Tn=ge.makeVList({positionType:"individualShift",children:ae},t);return Tn=ge.makeSpan(["tag"],[Tn],t),ge.makeFragment([u,Tn])},iue={c:"center ",l:"left ",r:"right "},Ta=function(e,t){for(var r=[],s=new _e.MathNode("mtd",[],["mtr-glue"]),i=new _e.MathNode("mtd",[],["mml-eqn-num"]),l=0;l0){var b=e.cols,O="",k=!1,j=0,T=b.length;b[0].type==="separator"&&(x+="top ",j=1),b[b.length-1].type==="separator"&&(x+="bottom ",T-=1);for(var M=j;M0?"left ":"",x+=Q[Q.length-1].length>0?"right ":"";for(var q=1;q-1?"alignat":"align",i=e.envName==="split",l=Mo(e.parser,{cols:r,addJot:!0,autoTag:i?void 0:q5(e.envName),emptySingleRow:!0,colSeparationType:s,maxNumCols:i?2:void 0,leqno:e.parser.settings.leqno},"display"),c,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&t[0].type==="ordgroup"){for(var m="",p=0;p0&&v&&(k=1),r[b]={type:"align",align:O,pregap:k,postgap:0}}return l.colSeparationType=v?"align":"alignat",l};Na({type:"array",names:["array","darray"],props:{numArgs:1},handler(n,e){var t=Vx(e[0]),r=t?[e[0]]:Nt(e[0],"ordgroup").body,s=r.map(function(l){var c=P5(l),u=c.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new De("Unknown column alignment: "+u,l)}),i={cols:s,hskipBeforeAndAfter:!0,maxNumCols:s.length};return Mo(n.parser,i,Q5(n.envName))},htmlBuilder:Ca,mathmlBuilder:Ta});Na({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(n){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[n.envName.replace("*","")],t="c",r={hskipBeforeAndAfter:!1,cols:[{type:"align",align:t}]};if(n.envName.charAt(n.envName.length-1)==="*"){var s=n.parser;if(s.consumeSpaces(),s.fetch().text==="["){if(s.consume(),s.consumeSpaces(),t=s.fetch().text,"lcr".indexOf(t)===-1)throw new De("Expected l or c or r",s.nextToken);s.consume(),s.consumeSpaces(),s.expect("]"),s.consume(),r.cols=[{type:"align",align:t}]}}var i=Mo(n.parser,r,Q5(n.envName)),l=Math.max(0,...i.body.map(c=>c.length));return i.cols=new Array(l).fill({type:"align",align:t}),e?{type:"leftright",mode:n.mode,body:[i],left:e[0],right:e[1],rightColor:void 0}:i},htmlBuilder:Ca,mathmlBuilder:Ta});Na({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(n){var e={arraystretch:.5},t=Mo(n.parser,e,"script");return t.colSeparationType="small",t},htmlBuilder:Ca,mathmlBuilder:Ta});Na({type:"array",names:["subarray"],props:{numArgs:1},handler(n,e){var t=Vx(e[0]),r=t?[e[0]]:Nt(e[0],"ordgroup").body,s=r.map(function(l){var c=P5(l),u=c.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new De("Unknown column alignment: "+u,l)});if(s.length>1)throw new De("{subarray} can contain only one column");var i={cols:s,hskipBeforeAndAfter:!1,arraystretch:.5};if(i=Mo(n.parser,i,"script"),i.body.length>0&&i.body[0].length>1)throw new De("{subarray} can contain only one column");return i},htmlBuilder:Ca,mathmlBuilder:Ta});Na({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(n){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},t=Mo(n.parser,e,Q5(n.envName));return{type:"leftright",mode:n.mode,body:[t],left:n.envName.indexOf("r")>-1?".":"\\{",right:n.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Ca,mathmlBuilder:Ta});Na({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:UR,htmlBuilder:Ca,mathmlBuilder:Ta});Na({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(n){["gather","gather*"].includes(n.envName)&&Xx(n);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:q5(n.envName),emptySingleRow:!0,leqno:n.parser.settings.leqno};return Mo(n.parser,e,"display")},htmlBuilder:Ca,mathmlBuilder:Ta});Na({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:UR,htmlBuilder:Ca,mathmlBuilder:Ta});Na({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(n){Xx(n);var e={autoTag:q5(n.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:n.parser.settings.leqno};return Mo(n.parser,e,"display")},htmlBuilder:Ca,mathmlBuilder:Ta});Na({type:"array",names:["CD"],props:{numArgs:0},handler(n){return Xx(n),Uce(n.parser)},htmlBuilder:Ca,mathmlBuilder:Ta});F("\\nonumber","\\gdef\\@eqnsw{0}");F("\\notag","\\nonumber");Qe({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(n,e){throw new De(n.funcName+" valid only within array environment")}});var wN=$R;Qe({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(n,e){var{parser:t,funcName:r}=n,s=e[0];if(s.type!=="ordgroup")throw new De("Invalid environment name",s);for(var i="",l=0;l{var t=n.font,r=e.withFont(t);return Xt(n.body,r)},WR=(n,e)=>{var t=n.font,r=e.withFont(t);return Rn(n.body,r)},SN={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qe({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(n,e)=>{var{parser:t,funcName:r}=n,s=Jg(e[0]),i=r;return i in SN&&(i=SN[i]),{type:"font",mode:t.mode,font:i.slice(1),body:s}},htmlBuilder:VR,mathmlBuilder:WR});Qe({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(n,e)=>{var{parser:t}=n,r=e[0],s=tn.isCharacterBox(r);return{type:"mclass",mode:t.mode,mclass:Wx(r),body:[{type:"font",mode:t.mode,font:"boldsymbol",body:r}],isCharacterBox:s}}});Qe({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(n,e)=>{var{parser:t,funcName:r,breakOnTokenText:s}=n,{mode:i}=t,l=t.parseExpression(!0,s),c="math"+r.slice(1);return{type:"font",mode:i,font:c,body:{type:"ordgroup",mode:t.mode,body:l}}},htmlBuilder:VR,mathmlBuilder:WR});var GR=(n,e)=>{var t=e;return n==="display"?t=t.id>=at.SCRIPT.id?t.text():at.DISPLAY:n==="text"&&t.size===at.DISPLAY.size?t=at.TEXT:n==="script"?t=at.SCRIPT:n==="scriptscript"&&(t=at.SCRIPTSCRIPT),t},$5=(n,e)=>{var t=GR(n.size,e.style),r=t.fracNum(),s=t.fracDen(),i;i=e.havingStyle(r);var l=Xt(n.numer,i,e);if(n.continued){var c=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;l.height=l.height0?b=3*x:b=7*x,O=e.fontMetrics().denom1):(p>0?(v=e.fontMetrics().num2,b=x):(v=e.fontMetrics().num3,b=3*x),O=e.fontMetrics().denom2);var k;if(m){var T=e.fontMetrics().axisHeight;v-l.depth-(T+.5*p){var t=new _e.MathNode("mfrac",[Rn(n.numer,e),Rn(n.denom,e)]);if(!n.hasBarLine)t.setAttribute("linethickness","0px");else if(n.barSize){var r=Kn(n.barSize,e);t.setAttribute("linethickness",Be(r))}var s=GR(n.size,e.style);if(s.size!==e.style.size){t=new _e.MathNode("mstyle",[t]);var i=s.size===at.DISPLAY.size?"true":"false";t.setAttribute("displaystyle",i),t.setAttribute("scriptlevel","0")}if(n.leftDelim!=null||n.rightDelim!=null){var l=[];if(n.leftDelim!=null){var c=new _e.MathNode("mo",[new _e.TextNode(n.leftDelim.replace("\\",""))]);c.setAttribute("fence","true"),l.push(c)}if(l.push(t),n.rightDelim!=null){var u=new _e.MathNode("mo",[new _e.TextNode(n.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),l.push(u)}return R5(l)}return t};Qe({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(n,e)=>{var{parser:t,funcName:r}=n,s=e[0],i=e[1],l,c=null,u=null,h="auto";switch(r){case"\\dfrac":case"\\frac":case"\\tfrac":l=!0;break;case"\\\\atopfrac":l=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":l=!1,c="(",u=")";break;case"\\\\bracefrac":l=!1,c="\\{",u="\\}";break;case"\\\\brackfrac":l=!1,c="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(r){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:t.mode,continued:!1,numer:s,denom:i,hasBarLine:l,leftDelim:c,rightDelim:u,size:h,barSize:null}},htmlBuilder:$5,mathmlBuilder:H5});Qe({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(n,e)=>{var{parser:t,funcName:r}=n,s=e[0],i=e[1];return{type:"genfrac",mode:t.mode,continued:!0,numer:s,denom:i,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}});Qe({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(n){var{parser:e,funcName:t,token:r}=n,s;switch(t){case"\\over":s="\\frac";break;case"\\choose":s="\\binom";break;case"\\atop":s="\\\\atopfrac";break;case"\\brace":s="\\\\bracefrac";break;case"\\brack":s="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:s,token:r}}});var ON=["display","text","script","scriptscript"],kN=function(e){var t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};Qe({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(n,e){var{parser:t}=n,r=e[4],s=e[5],i=Jg(e[0]),l=i.type==="atom"&&i.family==="open"?kN(i.text):null,c=Jg(e[1]),u=c.type==="atom"&&c.family==="close"?kN(c.text):null,h=Nt(e[2],"size"),m,p=null;h.isBlank?m=!0:(p=h.value,m=p.number>0);var x="auto",v=e[3];if(v.type==="ordgroup"){if(v.body.length>0){var b=Nt(v.body[0],"textord");x=ON[Number(b.text)]}}else v=Nt(v,"textord"),x=ON[Number(v.text)];return{type:"genfrac",mode:t.mode,numer:r,denom:s,continued:!1,hasBarLine:m,barSize:p,leftDelim:l,rightDelim:u,size:x}},htmlBuilder:$5,mathmlBuilder:H5});Qe({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(n,e){var{parser:t,funcName:r,token:s}=n;return{type:"infix",mode:t.mode,replaceWith:"\\\\abovefrac",size:Nt(e[0],"size").value,token:s}}});Qe({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(n,e)=>{var{parser:t,funcName:r}=n,s=e[0],i=zoe(Nt(e[1],"infix").size),l=e[2],c=i.number>0;return{type:"genfrac",mode:t.mode,numer:s,denom:l,continued:!1,hasBarLine:c,barSize:i,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:$5,mathmlBuilder:H5});var XR=(n,e)=>{var t=e.style,r,s;n.type==="supsub"?(r=n.sup?Xt(n.sup,e.havingStyle(t.sup()),e):Xt(n.sub,e.havingStyle(t.sub()),e),s=Nt(n.base,"horizBrace")):s=Nt(n,"horizBrace");var i=Xt(s.base,e.havingBaseStyle(at.DISPLAY)),l=vl.svgSpan(s,e),c;if(s.isOver?(c=ge.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:.1},{type:"elem",elem:l}]},e),c.children[0].children[0].children[1].classes.push("svg-align")):(c=ge.makeVList({positionType:"bottom",positionData:i.depth+.1+l.height,children:[{type:"elem",elem:l},{type:"kern",size:.1},{type:"elem",elem:i}]},e),c.children[0].children[0].children[0].classes.push("svg-align")),r){var u=ge.makeSpan(["mord",s.isOver?"mover":"munder"],[c],e);s.isOver?c=ge.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:r}]},e):c=ge.makeVList({positionType:"bottom",positionData:u.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return ge.makeSpan(["mord",s.isOver?"mover":"munder"],[c],e)},aue=(n,e)=>{var t=vl.mathMLnode(n.label);return new _e.MathNode(n.isOver?"mover":"munder",[Rn(n.base,e),t])};Qe({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(n,e){var{parser:t,funcName:r}=n;return{type:"horizBrace",mode:t.mode,label:r,isOver:/^\\over/.test(r),base:e[0]}},htmlBuilder:XR,mathmlBuilder:aue});Qe({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(n,e)=>{var{parser:t}=n,r=e[1],s=Nt(e[0],"url").url;return t.settings.isTrusted({command:"\\href",url:s})?{type:"href",mode:t.mode,href:s,body:ar(r)}:t.formatUnsupportedCmd("\\href")},htmlBuilder:(n,e)=>{var t=Mr(n.body,e,!1);return ge.makeAnchor(n.href,[],t,e)},mathmlBuilder:(n,e)=>{var t=bo(n.body,e);return t instanceof ti||(t=new ti("mrow",[t])),t.setAttribute("href",n.href),t}});Qe({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(n,e)=>{var{parser:t}=n,r=Nt(e[0],"url").url;if(!t.settings.isTrusted({command:"\\url",url:r}))return t.formatUnsupportedCmd("\\url");for(var s=[],i=0;i{var{parser:t,funcName:r,token:s}=n,i=Nt(e[0],"raw").string,l=e[1];t.settings.strict&&t.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var c,u={};switch(r){case"\\htmlClass":u.class=i,c={command:"\\htmlClass",class:i};break;case"\\htmlId":u.id=i,c={command:"\\htmlId",id:i};break;case"\\htmlStyle":u.style=i,c={command:"\\htmlStyle",style:i};break;case"\\htmlData":{for(var h=i.split(","),m=0;m{var t=Mr(n.body,e,!1),r=["enclosing"];n.attributes.class&&r.push(...n.attributes.class.trim().split(/\s+/));var s=ge.makeSpan(r,t,e);for(var i in n.attributes)i!=="class"&&n.attributes.hasOwnProperty(i)&&s.setAttribute(i,n.attributes[i]);return s},mathmlBuilder:(n,e)=>bo(n.body,e)});Qe({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(n,e)=>{var{parser:t}=n;return{type:"htmlmathml",mode:t.mode,html:ar(e[0]),mathml:ar(e[1])}},htmlBuilder:(n,e)=>{var t=Mr(n.html,e,!1);return ge.makeFragment(t)},mathmlBuilder:(n,e)=>bo(n.mathml,e)});var qb=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new De("Invalid size: '"+e+"' in \\includegraphics");var r={number:+(t[1]+t[2]),unit:t[3]};if(!mR(r))throw new De("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r};Qe({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(n,e,t)=>{var{parser:r}=n,s={number:0,unit:"em"},i={number:.9,unit:"em"},l={number:0,unit:"em"},c="";if(t[0])for(var u=Nt(t[0],"raw").string,h=u.split(","),m=0;m{var t=Kn(n.height,e),r=0;n.totalheight.number>0&&(r=Kn(n.totalheight,e)-t);var s=0;n.width.number>0&&(s=Kn(n.width,e));var i={height:Be(t+r)};s>0&&(i.width=Be(s)),r>0&&(i.verticalAlign=Be(-r));var l=new ace(n.src,n.alt,i);return l.height=t,l.depth=r,l},mathmlBuilder:(n,e)=>{var t=new _e.MathNode("mglyph",[]);t.setAttribute("alt",n.alt);var r=Kn(n.height,e),s=0;if(n.totalheight.number>0&&(s=Kn(n.totalheight,e)-r,t.setAttribute("valign",Be(-s))),t.setAttribute("height",Be(r+s)),n.width.number>0){var i=Kn(n.width,e);t.setAttribute("width",Be(i))}return t.setAttribute("src",n.src),t}});Qe({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(n,e){var{parser:t,funcName:r}=n,s=Nt(e[0],"size");if(t.settings.strict){var i=r[1]==="m",l=s.value.unit==="mu";i?(l||t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+r+" supports only mu units, "+("not "+s.value.unit+" units")),t.mode!=="math"&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+r+" works only in math mode")):l&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+r+" doesn't support mu units")}return{type:"kern",mode:t.mode,dimension:s.value}},htmlBuilder(n,e){return ge.makeGlue(n.dimension,e)},mathmlBuilder(n,e){var t=Kn(n.dimension,e);return new _e.SpaceNode(t)}});Qe({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(n,e)=>{var{parser:t,funcName:r}=n,s=e[0];return{type:"lap",mode:t.mode,alignment:r.slice(5),body:s}},htmlBuilder:(n,e)=>{var t;n.alignment==="clap"?(t=ge.makeSpan([],[Xt(n.body,e)]),t=ge.makeSpan(["inner"],[t],e)):t=ge.makeSpan(["inner"],[Xt(n.body,e)]);var r=ge.makeSpan(["fix"],[]),s=ge.makeSpan([n.alignment],[t,r],e),i=ge.makeSpan(["strut"]);return i.style.height=Be(s.height+s.depth),s.depth&&(i.style.verticalAlign=Be(-s.depth)),s.children.unshift(i),s=ge.makeSpan(["thinbox"],[s],e),ge.makeSpan(["mord","vbox"],[s],e)},mathmlBuilder:(n,e)=>{var t=new _e.MathNode("mpadded",[Rn(n.body,e)]);if(n.alignment!=="rlap"){var r=n.alignment==="llap"?"-1":"-0.5";t.setAttribute("lspace",r+"width")}return t.setAttribute("width","0px"),t}});Qe({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(n,e){var{funcName:t,parser:r}=n,s=r.mode;r.switchMode("math");var i=t==="\\("?"\\)":"$",l=r.parseExpression(!1,i);return r.expect(i),r.switchMode(s),{type:"styling",mode:r.mode,style:"text",body:l}}});Qe({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(n,e){throw new De("Mismatched "+n.funcName)}});var jN=(n,e)=>{switch(e.style.size){case at.DISPLAY.size:return n.display;case at.TEXT.size:return n.text;case at.SCRIPT.size:return n.script;case at.SCRIPTSCRIPT.size:return n.scriptscript;default:return n.text}};Qe({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(n,e)=>{var{parser:t}=n;return{type:"mathchoice",mode:t.mode,display:ar(e[0]),text:ar(e[1]),script:ar(e[2]),scriptscript:ar(e[3])}},htmlBuilder:(n,e)=>{var t=jN(n,e),r=Mr(t,e,!1);return ge.makeFragment(r)},mathmlBuilder:(n,e)=>{var t=jN(n,e);return bo(t,e)}});var YR=(n,e,t,r,s,i,l)=>{n=ge.makeSpan([],[n]);var c=t&&tn.isCharacterBox(t),u,h;if(e){var m=Xt(e,r.havingStyle(s.sup()),r);h={elem:m,kern:Math.max(r.fontMetrics().bigOpSpacing1,r.fontMetrics().bigOpSpacing3-m.depth)}}if(t){var p=Xt(t,r.havingStyle(s.sub()),r);u={elem:p,kern:Math.max(r.fontMetrics().bigOpSpacing2,r.fontMetrics().bigOpSpacing4-p.height)}}var x;if(h&&u){var v=r.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+n.depth+l;x=ge.makeVList({positionType:"bottom",positionData:v,children:[{type:"kern",size:r.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:Be(-i)},{type:"kern",size:u.kern},{type:"elem",elem:n},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:Be(i)},{type:"kern",size:r.fontMetrics().bigOpSpacing5}]},r)}else if(u){var b=n.height-l;x=ge.makeVList({positionType:"top",positionData:b,children:[{type:"kern",size:r.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:Be(-i)},{type:"kern",size:u.kern},{type:"elem",elem:n}]},r)}else if(h){var O=n.depth+l;x=ge.makeVList({positionType:"bottom",positionData:O,children:[{type:"elem",elem:n},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:Be(i)},{type:"kern",size:r.fontMetrics().bigOpSpacing5}]},r)}else return n;var k=[x];if(u&&i!==0&&!c){var j=ge.makeSpan(["mspace"],[],r);j.style.marginRight=Be(i),k.unshift(j)}return ge.makeSpan(["mop","op-limits"],k,r)},KR=["\\smallint"],Pd=(n,e)=>{var t,r,s=!1,i;n.type==="supsub"?(t=n.sup,r=n.sub,i=Nt(n.base,"op"),s=!0):i=Nt(n,"op");var l=e.style,c=!1;l.size===at.DISPLAY.size&&i.symbol&&!KR.includes(i.name)&&(c=!0);var u;if(i.symbol){var h=c?"Size2-Regular":"Size1-Regular",m="";if((i.name==="\\oiint"||i.name==="\\oiiint")&&(m=i.name.slice(1),i.name=m==="oiint"?"\\iint":"\\iiint"),u=ge.makeSymbol(i.name,h,"math",e,["mop","op-symbol",c?"large-op":"small-op"]),m.length>0){var p=u.italic,x=ge.staticSvg(m+"Size"+(c?"2":"1"),e);u=ge.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:x,shift:c?.08:0}]},e),i.name="\\"+m,u.classes.unshift("mop"),u.italic=p}}else if(i.body){var v=Mr(i.body,e,!0);v.length===1&&v[0]instanceof Ti?(u=v[0],u.classes[0]="mop"):u=ge.makeSpan(["mop"],v,e)}else{for(var b=[],O=1;O{var t;if(n.symbol)t=new ti("mo",[Mi(n.name,n.mode)]),KR.includes(n.name)&&t.setAttribute("largeop","false");else if(n.body)t=new ti("mo",Fs(n.body,e));else{t=new ti("mi",[new pa(n.name.slice(1))]);var r=new ti("mo",[Mi("⁡","text")]);n.parentIsSupSub?t=new ti("mrow",[t,r]):t=jR([t,r])}return t},lue={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Qe({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(n,e)=>{var{parser:t,funcName:r}=n,s=r;return s.length===1&&(s=lue[s]),{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:s}},htmlBuilder:Pd,mathmlBuilder:k0});Qe({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(n,e)=>{var{parser:t}=n,r=e[0];return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:ar(r)}},htmlBuilder:Pd,mathmlBuilder:k0});var oue={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Qe({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(n){var{parser:e,funcName:t}=n;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:Pd,mathmlBuilder:k0});Qe({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(n){var{parser:e,funcName:t}=n;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:Pd,mathmlBuilder:k0});Qe({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(n){var{parser:e,funcName:t}=n,r=t;return r.length===1&&(r=oue[r]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:Pd,mathmlBuilder:k0});var ZR=(n,e)=>{var t,r,s=!1,i;n.type==="supsub"?(t=n.sup,r=n.sub,i=Nt(n.base,"operatorname"),s=!0):i=Nt(n,"operatorname");var l;if(i.body.length>0){for(var c=i.body.map(p=>{var x=p.text;return typeof x=="string"?{type:"textord",mode:p.mode,text:x}:p}),u=Mr(c,e.withFont("mathrm"),!0),h=0;h{for(var t=Fs(n.body,e.withFont("mathrm")),r=!0,s=0;sm.toText()).join("");t=[new _e.TextNode(c)]}var u=new _e.MathNode("mi",t);u.setAttribute("mathvariant","normal");var h=new _e.MathNode("mo",[Mi("⁡","text")]);return n.parentIsSupSub?new _e.MathNode("mrow",[u,h]):_e.newDocumentFragment([u,h])};Qe({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(n,e)=>{var{parser:t,funcName:r}=n,s=e[0];return{type:"operatorname",mode:t.mode,body:ar(s),alwaysHandleSupSub:r==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:ZR,mathmlBuilder:cue});F("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Rc({type:"ordgroup",htmlBuilder(n,e){return n.semisimple?ge.makeFragment(Mr(n.body,e,!1)):ge.makeSpan(["mord"],Mr(n.body,e,!0),e)},mathmlBuilder(n,e){return bo(n.body,e,!0)}});Qe({type:"overline",names:["\\overline"],props:{numArgs:1},handler(n,e){var{parser:t}=n,r=e[0];return{type:"overline",mode:t.mode,body:r}},htmlBuilder(n,e){var t=Xt(n.body,e.havingCrampedStyle()),r=ge.makeLineSpan("overline-line",e),s=e.fontMetrics().defaultRuleThickness,i=ge.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t},{type:"kern",size:3*s},{type:"elem",elem:r},{type:"kern",size:s}]},e);return ge.makeSpan(["mord","overline"],[i],e)},mathmlBuilder(n,e){var t=new _e.MathNode("mo",[new _e.TextNode("‾")]);t.setAttribute("stretchy","true");var r=new _e.MathNode("mover",[Rn(n.body,e),t]);return r.setAttribute("accent","true"),r}});Qe({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(n,e)=>{var{parser:t}=n,r=e[0];return{type:"phantom",mode:t.mode,body:ar(r)}},htmlBuilder:(n,e)=>{var t=Mr(n.body,e.withPhantom(),!1);return ge.makeFragment(t)},mathmlBuilder:(n,e)=>{var t=Fs(n.body,e);return new _e.MathNode("mphantom",t)}});Qe({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(n,e)=>{var{parser:t}=n,r=e[0];return{type:"hphantom",mode:t.mode,body:r}},htmlBuilder:(n,e)=>{var t=ge.makeSpan([],[Xt(n.body,e.withPhantom())]);if(t.height=0,t.depth=0,t.children)for(var r=0;r{var t=Fs(ar(n.body),e),r=new _e.MathNode("mphantom",t),s=new _e.MathNode("mpadded",[r]);return s.setAttribute("height","0px"),s.setAttribute("depth","0px"),s}});Qe({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(n,e)=>{var{parser:t}=n,r=e[0];return{type:"vphantom",mode:t.mode,body:r}},htmlBuilder:(n,e)=>{var t=ge.makeSpan(["inner"],[Xt(n.body,e.withPhantom())]),r=ge.makeSpan(["fix"],[]);return ge.makeSpan(["mord","rlap"],[t,r],e)},mathmlBuilder:(n,e)=>{var t=Fs(ar(n.body),e),r=new _e.MathNode("mphantom",t),s=new _e.MathNode("mpadded",[r]);return s.setAttribute("width","0px"),s}});Qe({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(n,e){var{parser:t}=n,r=Nt(e[0],"size").value,s=e[1];return{type:"raisebox",mode:t.mode,dy:r,body:s}},htmlBuilder(n,e){var t=Xt(n.body,e),r=Kn(n.dy,e);return ge.makeVList({positionType:"shift",positionData:-r,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(n,e){var t=new _e.MathNode("mpadded",[Rn(n.body,e)]),r=n.dy.number+n.dy.unit;return t.setAttribute("voffset",r),t}});Qe({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(n){var{parser:e}=n;return{type:"internal",mode:e.mode}}});Qe({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(n,e,t){var{parser:r}=n,s=t[0],i=Nt(e[0],"size"),l=Nt(e[1],"size");return{type:"rule",mode:r.mode,shift:s&&Nt(s,"size").value,width:i.value,height:l.value}},htmlBuilder(n,e){var t=ge.makeSpan(["mord","rule"],[],e),r=Kn(n.width,e),s=Kn(n.height,e),i=n.shift?Kn(n.shift,e):0;return t.style.borderRightWidth=Be(r),t.style.borderTopWidth=Be(s),t.style.bottom=Be(i),t.width=r,t.height=s+i,t.depth=-i,t.maxFontSize=s*1.125*e.sizeMultiplier,t},mathmlBuilder(n,e){var t=Kn(n.width,e),r=Kn(n.height,e),s=n.shift?Kn(n.shift,e):0,i=e.color&&e.getColor()||"black",l=new _e.MathNode("mspace");l.setAttribute("mathbackground",i),l.setAttribute("width",Be(t)),l.setAttribute("height",Be(r));var c=new _e.MathNode("mpadded",[l]);return s>=0?c.setAttribute("height",Be(s)):(c.setAttribute("height",Be(s)),c.setAttribute("depth",Be(-s))),c.setAttribute("voffset",Be(s)),c}});function JR(n,e,t){for(var r=Mr(n,e,!1),s=e.sizeMultiplier/t.sizeMultiplier,i=0;i{var t=e.havingSize(n.size);return JR(n.body,t,e)};Qe({type:"sizing",names:NN,props:{numArgs:0,allowedInText:!0},handler:(n,e)=>{var{breakOnTokenText:t,funcName:r,parser:s}=n,i=s.parseExpression(!1,t);return{type:"sizing",mode:s.mode,size:NN.indexOf(r)+1,body:i}},htmlBuilder:uue,mathmlBuilder:(n,e)=>{var t=e.havingSize(n.size),r=Fs(n.body,t),s=new _e.MathNode("mstyle",r);return s.setAttribute("mathsize",Be(t.sizeMultiplier)),s}});Qe({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(n,e,t)=>{var{parser:r}=n,s=!1,i=!1,l=t[0]&&Nt(t[0],"ordgroup");if(l)for(var c="",u=0;u{var t=ge.makeSpan([],[Xt(n.body,e)]);if(!n.smashHeight&&!n.smashDepth)return t;if(n.smashHeight&&(t.height=0,t.children))for(var r=0;r{var t=new _e.MathNode("mpadded",[Rn(n.body,e)]);return n.smashHeight&&t.setAttribute("height","0px"),n.smashDepth&&t.setAttribute("depth","0px"),t}});Qe({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(n,e,t){var{parser:r}=n,s=t[0],i=e[0];return{type:"sqrt",mode:r.mode,body:i,index:s}},htmlBuilder(n,e){var t=Xt(n.body,e.havingCrampedStyle());t.height===0&&(t.height=e.fontMetrics().xHeight),t=ge.wrapFragment(t,e);var r=e.fontMetrics(),s=r.defaultRuleThickness,i=s;e.style.idt.height+t.depth+l&&(l=(l+p-t.height-t.depth)/2);var x=u.height-t.height-l-h;t.style.paddingLeft=Be(m);var v=ge.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t,wrapperClasses:["svg-align"]},{type:"kern",size:-(t.height+x)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(n.index){var b=e.havingStyle(at.SCRIPTSCRIPT),O=Xt(n.index,b,e),k=.6*(v.height-v.depth),j=ge.makeVList({positionType:"shift",positionData:-k,children:[{type:"elem",elem:O}]},e),T=ge.makeSpan(["root"],[j]);return ge.makeSpan(["mord","sqrt"],[T,v],e)}else return ge.makeSpan(["mord","sqrt"],[v],e)},mathmlBuilder(n,e){var{body:t,index:r}=n;return r?new _e.MathNode("mroot",[Rn(t,e),Rn(r,e)]):new _e.MathNode("msqrt",[Rn(t,e)])}});var CN={display:at.DISPLAY,text:at.TEXT,script:at.SCRIPT,scriptscript:at.SCRIPTSCRIPT};Qe({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(n,e){var{breakOnTokenText:t,funcName:r,parser:s}=n,i=s.parseExpression(!0,t),l=r.slice(1,r.length-5);return{type:"styling",mode:s.mode,style:l,body:i}},htmlBuilder(n,e){var t=CN[n.style],r=e.havingStyle(t).withFont("");return JR(n.body,r,e)},mathmlBuilder(n,e){var t=CN[n.style],r=e.havingStyle(t),s=Fs(n.body,r),i=new _e.MathNode("mstyle",s),l={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},c=l[n.style];return i.setAttribute("scriptlevel",c[0]),i.setAttribute("displaystyle",c[1]),i}});var due=function(e,t){var r=e.base;if(r)if(r.type==="op"){var s=r.limits&&(t.style.size===at.DISPLAY.size||r.alwaysHandleSupSub);return s?Pd:null}else if(r.type==="operatorname"){var i=r.alwaysHandleSupSub&&(t.style.size===at.DISPLAY.size||r.limits);return i?ZR:null}else{if(r.type==="accent")return tn.isCharacterBox(r.base)?L5:null;if(r.type==="horizBrace"){var l=!e.sub;return l===r.isOver?XR:null}else return null}else return null};Rc({type:"supsub",htmlBuilder(n,e){var t=due(n,e);if(t)return t(n,e);var{base:r,sup:s,sub:i}=n,l=Xt(r,e),c,u,h=e.fontMetrics(),m=0,p=0,x=r&&tn.isCharacterBox(r);if(s){var v=e.havingStyle(e.style.sup());c=Xt(s,v,e),x||(m=l.height-v.fontMetrics().supDrop*v.sizeMultiplier/e.sizeMultiplier)}if(i){var b=e.havingStyle(e.style.sub());u=Xt(i,b,e),x||(p=l.depth+b.fontMetrics().subDrop*b.sizeMultiplier/e.sizeMultiplier)}var O;e.style===at.DISPLAY?O=h.sup1:e.style.cramped?O=h.sup3:O=h.sup2;var k=e.sizeMultiplier,j=Be(.5/h.ptPerEm/k),T=null;if(u){var M=n.base&&n.base.type==="op"&&n.base.name&&(n.base.name==="\\oiint"||n.base.name==="\\oiiint");(l instanceof Ti||M)&&(T=Be(-l.italic))}var _;if(c&&u){m=Math.max(m,O,c.depth+.25*h.xHeight),p=Math.max(p,h.sub2);var D=h.defaultRuleThickness,E=4*D;if(m-c.depth-(u.height-p)0&&(m+=z,p-=z)}var Q=[{type:"elem",elem:u,shift:p,marginRight:j,marginLeft:T},{type:"elem",elem:c,shift:-m,marginRight:j}];_=ge.makeVList({positionType:"individualShift",children:Q},e)}else if(u){p=Math.max(p,h.sub1,u.height-.8*h.xHeight);var q=[{type:"elem",elem:u,marginLeft:T,marginRight:j}];_=ge.makeVList({positionType:"shift",positionData:p,children:q},e)}else if(c)m=Math.max(m,O,c.depth+.25*h.xHeight),_=ge.makeVList({positionType:"shift",positionData:-m,children:[{type:"elem",elem:c,marginRight:j}]},e);else throw new Error("supsub must have either sup or sub.");var B=T4(l,"right")||"mord";return ge.makeSpan([B],[l,ge.makeSpan(["msupsub"],[_])],e)},mathmlBuilder(n,e){var t=!1,r,s;n.base&&n.base.type==="horizBrace"&&(s=!!n.sup,s===n.base.isOver&&(t=!0,r=n.base.isOver)),n.base&&(n.base.type==="op"||n.base.type==="operatorname")&&(n.base.parentIsSupSub=!0);var i=[Rn(n.base,e)];n.sub&&i.push(Rn(n.sub,e)),n.sup&&i.push(Rn(n.sup,e));var l;if(t)l=r?"mover":"munder";else if(n.sub)if(n.sup){var h=n.base;h&&h.type==="op"&&h.limits&&e.style===at.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===at.DISPLAY||h.limits)?l="munderover":l="msubsup"}else{var u=n.base;u&&u.type==="op"&&u.limits&&(e.style===at.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===at.DISPLAY)?l="munder":l="msub"}else{var c=n.base;c&&c.type==="op"&&c.limits&&(e.style===at.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||e.style===at.DISPLAY)?l="mover":l="msup"}return new _e.MathNode(l,i)}});Rc({type:"atom",htmlBuilder(n,e){return ge.mathsym(n.text,n.mode,e,["m"+n.family])},mathmlBuilder(n,e){var t=new _e.MathNode("mo",[Mi(n.text,n.mode)]);if(n.family==="bin"){var r=z5(n,e);r==="bold-italic"&&t.setAttribute("mathvariant",r)}else n.family==="punct"?t.setAttribute("separator","true"):(n.family==="open"||n.family==="close")&&t.setAttribute("stretchy","false");return t}});var ez={mi:"italic",mn:"normal",mtext:"normal"};Rc({type:"mathord",htmlBuilder(n,e){return ge.makeOrd(n,e,"mathord")},mathmlBuilder(n,e){var t=new _e.MathNode("mi",[Mi(n.text,n.mode,e)]),r=z5(n,e)||"italic";return r!==ez[t.type]&&t.setAttribute("mathvariant",r),t}});Rc({type:"textord",htmlBuilder(n,e){return ge.makeOrd(n,e,"textord")},mathmlBuilder(n,e){var t=Mi(n.text,n.mode,e),r=z5(n,e)||"normal",s;return n.mode==="text"?s=new _e.MathNode("mtext",[t]):/[0-9]/.test(n.text)?s=new _e.MathNode("mn",[t]):n.text==="\\prime"?s=new _e.MathNode("mo",[t]):s=new _e.MathNode("mi",[t]),r!==ez[s.type]&&s.setAttribute("mathvariant",r),s}});var Qb={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},$b={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Rc({type:"spacing",htmlBuilder(n,e){if($b.hasOwnProperty(n.text)){var t=$b[n.text].className||"";if(n.mode==="text"){var r=ge.makeOrd(n,e,"textord");return r.classes.push(t),r}else return ge.makeSpan(["mspace",t],[ge.mathsym(n.text,n.mode,e)],e)}else{if(Qb.hasOwnProperty(n.text))return ge.makeSpan(["mspace",Qb[n.text]],[],e);throw new De('Unknown type of space "'+n.text+'"')}},mathmlBuilder(n,e){var t;if($b.hasOwnProperty(n.text))t=new _e.MathNode("mtext",[new _e.TextNode(" ")]);else{if(Qb.hasOwnProperty(n.text))return new _e.MathNode("mspace");throw new De('Unknown type of space "'+n.text+'"')}return t}});var TN=()=>{var n=new _e.MathNode("mtd",[]);return n.setAttribute("width","50%"),n};Rc({type:"tag",mathmlBuilder(n,e){var t=new _e.MathNode("mtable",[new _e.MathNode("mtr",[TN(),new _e.MathNode("mtd",[bo(n.body,e)]),TN(),new _e.MathNode("mtd",[bo(n.tag,e)])])]);return t.setAttribute("width","100%"),t}});var MN={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},AN={"\\textbf":"textbf","\\textmd":"textmd"},hue={"\\textit":"textit","\\textup":"textup"},EN=(n,e)=>{var t=n.font;if(t){if(MN[t])return e.withTextFontFamily(MN[t]);if(AN[t])return e.withTextFontWeight(AN[t]);if(t==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(hue[t])};Qe({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(n,e){var{parser:t,funcName:r}=n,s=e[0];return{type:"text",mode:t.mode,body:ar(s),font:r}},htmlBuilder(n,e){var t=EN(n,e),r=Mr(n.body,t,!0);return ge.makeSpan(["mord","text"],r,t)},mathmlBuilder(n,e){var t=EN(n,e);return bo(n.body,t)}});Qe({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(n,e){var{parser:t}=n;return{type:"underline",mode:t.mode,body:e[0]}},htmlBuilder(n,e){var t=Xt(n.body,e),r=ge.makeLineSpan("underline-line",e),s=e.fontMetrics().defaultRuleThickness,i=ge.makeVList({positionType:"top",positionData:t.height,children:[{type:"kern",size:s},{type:"elem",elem:r},{type:"kern",size:3*s},{type:"elem",elem:t}]},e);return ge.makeSpan(["mord","underline"],[i],e)},mathmlBuilder(n,e){var t=new _e.MathNode("mo",[new _e.TextNode("‾")]);t.setAttribute("stretchy","true");var r=new _e.MathNode("munder",[Rn(n.body,e),t]);return r.setAttribute("accentunder","true"),r}});Qe({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(n,e){var{parser:t}=n;return{type:"vcenter",mode:t.mode,body:e[0]}},htmlBuilder(n,e){var t=Xt(n.body,e),r=e.fontMetrics().axisHeight,s=.5*(t.height-r-(t.depth+r));return ge.makeVList({positionType:"shift",positionData:s,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(n,e){return new _e.MathNode("mpadded",[Rn(n.body,e)],["vcenter"])}});Qe({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(n,e,t){throw new De("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(n,e){for(var t=_N(n),r=[],s=e.havingStyle(e.style.text()),i=0;in.body.replace(/ /g,n.star?"␣":" "),so=OR,tz=`[ \r - ]`,fue="\\\\[a-zA-Z@]+",mue="\\\\[^\uD800-\uDFFF]",pue="("+fue+")"+tz+"*",gue=`\\\\( -|[ \r ]+ -?)[ \r ]*`,_4="[̀-ͯ]",xue=new RegExp(_4+"+$"),vue="("+tz+"+)|"+(gue+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(_4+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(_4+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+pue)+("|"+mue+")");class DN{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(vue,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new si("EOF",new Ts(this,t,t));var r=this.tokenRegex.exec(e);if(r===null||r.index!==t)throw new De("Unexpected character: '"+e[t]+"'",new si(e[t],new Ts(this,t,t+1)));var s=r[6]||r[3]||(r[2]?"\\ ":" ");if(this.catcodes[s]===14){var i=e.indexOf(` -`,this.tokenRegex.lastIndex);return i===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=i+1,this.lex()}return new si(s,new Ts(this,t,this.tokenRegex.lastIndex))}}class yue{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new De("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(r===void 0&&(r=!1),r){for(var s=0;s0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}}var bue=HR;F("\\noexpand",function(n){var e=n.popToken();return n.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});F("\\expandafter",function(n){var e=n.popToken();return n.expandOnce(!0),{tokens:[e],numArgs:0}});F("\\@firstoftwo",function(n){var e=n.consumeArgs(2);return{tokens:e[0],numArgs:0}});F("\\@secondoftwo",function(n){var e=n.consumeArgs(2);return{tokens:e[1],numArgs:0}});F("\\@ifnextchar",function(n){var e=n.consumeArgs(3);n.consumeSpaces();var t=n.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});F("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");F("\\TextOrMath",function(n){var e=n.consumeArgs(2);return n.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var RN={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};F("\\char",function(n){var e=n.popToken(),t,r="";if(e.text==="'")t=8,e=n.popToken();else if(e.text==='"')t=16,e=n.popToken();else if(e.text==="`")if(e=n.popToken(),e.text[0]==="\\")r=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new De("\\char` missing argument");r=e.text.charCodeAt(0)}else t=10;if(t){if(r=RN[e.text],r==null||r>=t)throw new De("Invalid base-"+t+" digit "+e.text);for(var s;(s=RN[n.future().text])!=null&&s{var s=n.consumeArg().tokens;if(s.length!==1)throw new De("\\newcommand's first argument must be a macro name");var i=s[0].text,l=n.isDefined(i);if(l&&!e)throw new De("\\newcommand{"+i+"} attempting to redefine "+(i+"; use \\renewcommand"));if(!l&&!t)throw new De("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");var c=0;if(s=n.consumeArg().tokens,s.length===1&&s[0].text==="["){for(var u="",h=n.expandNextToken();h.text!=="]"&&h.text!=="EOF";)u+=h.text,h=n.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new De("Invalid number of arguments: "+u);c=parseInt(u),s=n.consumeArg().tokens}return l&&r||n.macros.set(i,{tokens:s,numArgs:c}),""};F("\\newcommand",n=>U5(n,!1,!0,!1));F("\\renewcommand",n=>U5(n,!0,!1,!1));F("\\providecommand",n=>U5(n,!0,!0,!0));F("\\message",n=>{var e=n.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""});F("\\errmessage",n=>{var e=n.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""});F("\\show",n=>{var e=n.popToken(),t=e.text;return console.log(e,n.macros.get(t),so[t],Ln.math[t],Ln.text[t]),""});F("\\bgroup","{");F("\\egroup","}");F("~","\\nobreakspace");F("\\lq","`");F("\\rq","'");F("\\aa","\\r a");F("\\AA","\\r A");F("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");F("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");F("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");F("ℬ","\\mathscr{B}");F("ℰ","\\mathscr{E}");F("ℱ","\\mathscr{F}");F("ℋ","\\mathscr{H}");F("ℐ","\\mathscr{I}");F("ℒ","\\mathscr{L}");F("ℳ","\\mathscr{M}");F("ℛ","\\mathscr{R}");F("ℭ","\\mathfrak{C}");F("ℌ","\\mathfrak{H}");F("ℨ","\\mathfrak{Z}");F("\\Bbbk","\\Bbb{k}");F("·","\\cdotp");F("\\llap","\\mathllap{\\textrm{#1}}");F("\\rlap","\\mathrlap{\\textrm{#1}}");F("\\clap","\\mathclap{\\textrm{#1}}");F("\\mathstrut","\\vphantom{(}");F("\\underbar","\\underline{\\text{#1}}");F("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');F("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");F("\\ne","\\neq");F("≠","\\neq");F("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");F("∉","\\notin");F("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");F("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");F("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");F("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");F("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");F("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");F("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");F("⟂","\\perp");F("‼","\\mathclose{!\\mkern-0.8mu!}");F("∌","\\notni");F("⌜","\\ulcorner");F("⌝","\\urcorner");F("⌞","\\llcorner");F("⌟","\\lrcorner");F("©","\\copyright");F("®","\\textregistered");F("️","\\textregistered");F("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');F("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');F("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');F("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');F("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");F("⋮","\\vdots");F("\\varGamma","\\mathit{\\Gamma}");F("\\varDelta","\\mathit{\\Delta}");F("\\varTheta","\\mathit{\\Theta}");F("\\varLambda","\\mathit{\\Lambda}");F("\\varXi","\\mathit{\\Xi}");F("\\varPi","\\mathit{\\Pi}");F("\\varSigma","\\mathit{\\Sigma}");F("\\varUpsilon","\\mathit{\\Upsilon}");F("\\varPhi","\\mathit{\\Phi}");F("\\varPsi","\\mathit{\\Psi}");F("\\varOmega","\\mathit{\\Omega}");F("\\substack","\\begin{subarray}{c}#1\\end{subarray}");F("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");F("\\boxed","\\fbox{$\\displaystyle{#1}$}");F("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");F("\\implies","\\DOTSB\\;\\Longrightarrow\\;");F("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");F("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");F("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var zN={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};F("\\dots",function(n){var e="\\dotso",t=n.expandAfterFuture().text;return t in zN?e=zN[t]:(t.slice(0,4)==="\\not"||t in Ln.math&&["bin","rel"].includes(Ln.math[t].group))&&(e="\\dotsb"),e});var V5={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};F("\\dotso",function(n){var e=n.future().text;return e in V5?"\\ldots\\,":"\\ldots"});F("\\dotsc",function(n){var e=n.future().text;return e in V5&&e!==","?"\\ldots\\,":"\\ldots"});F("\\cdots",function(n){var e=n.future().text;return e in V5?"\\@cdots\\,":"\\@cdots"});F("\\dotsb","\\cdots");F("\\dotsm","\\cdots");F("\\dotsi","\\!\\cdots");F("\\dotsx","\\ldots\\,");F("\\DOTSI","\\relax");F("\\DOTSB","\\relax");F("\\DOTSX","\\relax");F("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");F("\\,","\\tmspace+{3mu}{.1667em}");F("\\thinspace","\\,");F("\\>","\\mskip{4mu}");F("\\:","\\tmspace+{4mu}{.2222em}");F("\\medspace","\\:");F("\\;","\\tmspace+{5mu}{.2777em}");F("\\thickspace","\\;");F("\\!","\\tmspace-{3mu}{.1667em}");F("\\negthinspace","\\!");F("\\negmedspace","\\tmspace-{4mu}{.2222em}");F("\\negthickspace","\\tmspace-{5mu}{.277em}");F("\\enspace","\\kern.5em ");F("\\enskip","\\hskip.5em\\relax");F("\\quad","\\hskip1em\\relax");F("\\qquad","\\hskip2em\\relax");F("\\tag","\\@ifstar\\tag@literal\\tag@paren");F("\\tag@paren","\\tag@literal{({#1})}");F("\\tag@literal",n=>{if(n.macros.get("\\df@tag"))throw new De("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});F("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");F("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");F("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");F("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");F("\\newline","\\\\\\relax");F("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var nz=Be(ma["Main-Regular"][84][1]-.7*ma["Main-Regular"][65][1]);F("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+nz+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");F("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+nz+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");F("\\hspace","\\@ifstar\\@hspacer\\@hspace");F("\\@hspace","\\hskip #1\\relax");F("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");F("\\ordinarycolon",":");F("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");F("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');F("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');F("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');F("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');F("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');F("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');F("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');F("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');F("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');F("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');F("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');F("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');F("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');F("∷","\\dblcolon");F("∹","\\eqcolon");F("≔","\\coloneqq");F("≕","\\eqqcolon");F("⩴","\\Coloneqq");F("\\ratio","\\vcentcolon");F("\\coloncolon","\\dblcolon");F("\\colonequals","\\coloneqq");F("\\coloncolonequals","\\Coloneqq");F("\\equalscolon","\\eqqcolon");F("\\equalscoloncolon","\\Eqqcolon");F("\\colonminus","\\coloneq");F("\\coloncolonminus","\\Coloneq");F("\\minuscolon","\\eqcolon");F("\\minuscoloncolon","\\Eqcolon");F("\\coloncolonapprox","\\Colonapprox");F("\\coloncolonsim","\\Colonsim");F("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");F("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");F("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");F("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");F("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");F("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");F("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");F("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");F("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");F("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");F("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");F("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");F("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");F("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");F("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");F("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");F("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");F("\\nleqq","\\html@mathml{\\@nleqq}{≰}");F("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");F("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");F("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");F("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");F("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");F("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");F("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");F("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");F("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");F("\\imath","\\html@mathml{\\@imath}{ı}");F("\\jmath","\\html@mathml{\\@jmath}{ȷ}");F("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");F("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");F("⟦","\\llbracket");F("⟧","\\rrbracket");F("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");F("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");F("⦃","\\lBrace");F("⦄","\\rBrace");F("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");F("⦵","\\minuso");F("\\darr","\\downarrow");F("\\dArr","\\Downarrow");F("\\Darr","\\Downarrow");F("\\lang","\\langle");F("\\rang","\\rangle");F("\\uarr","\\uparrow");F("\\uArr","\\Uparrow");F("\\Uarr","\\Uparrow");F("\\N","\\mathbb{N}");F("\\R","\\mathbb{R}");F("\\Z","\\mathbb{Z}");F("\\alef","\\aleph");F("\\alefsym","\\aleph");F("\\Alpha","\\mathrm{A}");F("\\Beta","\\mathrm{B}");F("\\bull","\\bullet");F("\\Chi","\\mathrm{X}");F("\\clubs","\\clubsuit");F("\\cnums","\\mathbb{C}");F("\\Complex","\\mathbb{C}");F("\\Dagger","\\ddagger");F("\\diamonds","\\diamondsuit");F("\\empty","\\emptyset");F("\\Epsilon","\\mathrm{E}");F("\\Eta","\\mathrm{H}");F("\\exist","\\exists");F("\\harr","\\leftrightarrow");F("\\hArr","\\Leftrightarrow");F("\\Harr","\\Leftrightarrow");F("\\hearts","\\heartsuit");F("\\image","\\Im");F("\\infin","\\infty");F("\\Iota","\\mathrm{I}");F("\\isin","\\in");F("\\Kappa","\\mathrm{K}");F("\\larr","\\leftarrow");F("\\lArr","\\Leftarrow");F("\\Larr","\\Leftarrow");F("\\lrarr","\\leftrightarrow");F("\\lrArr","\\Leftrightarrow");F("\\Lrarr","\\Leftrightarrow");F("\\Mu","\\mathrm{M}");F("\\natnums","\\mathbb{N}");F("\\Nu","\\mathrm{N}");F("\\Omicron","\\mathrm{O}");F("\\plusmn","\\pm");F("\\rarr","\\rightarrow");F("\\rArr","\\Rightarrow");F("\\Rarr","\\Rightarrow");F("\\real","\\Re");F("\\reals","\\mathbb{R}");F("\\Reals","\\mathbb{R}");F("\\Rho","\\mathrm{P}");F("\\sdot","\\cdot");F("\\sect","\\S");F("\\spades","\\spadesuit");F("\\sub","\\subset");F("\\sube","\\subseteq");F("\\supe","\\supseteq");F("\\Tau","\\mathrm{T}");F("\\thetasym","\\vartheta");F("\\weierp","\\wp");F("\\Zeta","\\mathrm{Z}");F("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");F("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");F("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");F("\\bra","\\mathinner{\\langle{#1}|}");F("\\ket","\\mathinner{|{#1}\\rangle}");F("\\braket","\\mathinner{\\langle{#1}\\rangle}");F("\\Bra","\\left\\langle#1\\right|");F("\\Ket","\\left|#1\\right\\rangle");var rz=n=>e=>{var t=e.consumeArg().tokens,r=e.consumeArg().tokens,s=e.consumeArg().tokens,i=e.consumeArg().tokens,l=e.macros.get("|"),c=e.macros.get("\\|");e.macros.beginGroup();var u=p=>x=>{n&&(x.macros.set("|",l),s.length&&x.macros.set("\\|",c));var v=p;if(!p&&s.length){var b=x.future();b.text==="|"&&(x.popToken(),v=!0)}return{tokens:v?s:r,numArgs:0}};e.macros.set("|",u(!1)),s.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,m=e.expandTokens([...i,...h,...t]);return e.macros.endGroup(),{tokens:m.reverse(),numArgs:0}};F("\\bra@ket",rz(!1));F("\\bra@set",rz(!0));F("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");F("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");F("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");F("\\angln","{\\angl n}");F("\\blue","\\textcolor{##6495ed}{#1}");F("\\orange","\\textcolor{##ffa500}{#1}");F("\\pink","\\textcolor{##ff00af}{#1}");F("\\red","\\textcolor{##df0030}{#1}");F("\\green","\\textcolor{##28ae7b}{#1}");F("\\gray","\\textcolor{gray}{#1}");F("\\purple","\\textcolor{##9d38bd}{#1}");F("\\blueA","\\textcolor{##ccfaff}{#1}");F("\\blueB","\\textcolor{##80f6ff}{#1}");F("\\blueC","\\textcolor{##63d9ea}{#1}");F("\\blueD","\\textcolor{##11accd}{#1}");F("\\blueE","\\textcolor{##0c7f99}{#1}");F("\\tealA","\\textcolor{##94fff5}{#1}");F("\\tealB","\\textcolor{##26edd5}{#1}");F("\\tealC","\\textcolor{##01d1c1}{#1}");F("\\tealD","\\textcolor{##01a995}{#1}");F("\\tealE","\\textcolor{##208170}{#1}");F("\\greenA","\\textcolor{##b6ffb0}{#1}");F("\\greenB","\\textcolor{##8af281}{#1}");F("\\greenC","\\textcolor{##74cf70}{#1}");F("\\greenD","\\textcolor{##1fab54}{#1}");F("\\greenE","\\textcolor{##0d923f}{#1}");F("\\goldA","\\textcolor{##ffd0a9}{#1}");F("\\goldB","\\textcolor{##ffbb71}{#1}");F("\\goldC","\\textcolor{##ff9c39}{#1}");F("\\goldD","\\textcolor{##e07d10}{#1}");F("\\goldE","\\textcolor{##a75a05}{#1}");F("\\redA","\\textcolor{##fca9a9}{#1}");F("\\redB","\\textcolor{##ff8482}{#1}");F("\\redC","\\textcolor{##f9685d}{#1}");F("\\redD","\\textcolor{##e84d39}{#1}");F("\\redE","\\textcolor{##bc2612}{#1}");F("\\maroonA","\\textcolor{##ffbde0}{#1}");F("\\maroonB","\\textcolor{##ff92c6}{#1}");F("\\maroonC","\\textcolor{##ed5fa6}{#1}");F("\\maroonD","\\textcolor{##ca337c}{#1}");F("\\maroonE","\\textcolor{##9e034e}{#1}");F("\\purpleA","\\textcolor{##ddd7ff}{#1}");F("\\purpleB","\\textcolor{##c6b9fc}{#1}");F("\\purpleC","\\textcolor{##aa87ff}{#1}");F("\\purpleD","\\textcolor{##7854ab}{#1}");F("\\purpleE","\\textcolor{##543b78}{#1}");F("\\mintA","\\textcolor{##f5f9e8}{#1}");F("\\mintB","\\textcolor{##edf2df}{#1}");F("\\mintC","\\textcolor{##e0e5cc}{#1}");F("\\grayA","\\textcolor{##f6f7f7}{#1}");F("\\grayB","\\textcolor{##f0f1f2}{#1}");F("\\grayC","\\textcolor{##e3e5e6}{#1}");F("\\grayD","\\textcolor{##d6d8da}{#1}");F("\\grayE","\\textcolor{##babec2}{#1}");F("\\grayF","\\textcolor{##888d93}{#1}");F("\\grayG","\\textcolor{##626569}{#1}");F("\\grayH","\\textcolor{##3b3e40}{#1}");F("\\grayI","\\textcolor{##21242c}{#1}");F("\\kaBlue","\\textcolor{##314453}{#1}");F("\\kaGreen","\\textcolor{##71B307}{#1}");var sz={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class wue{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new yue(bue,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new DN(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,r,s;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:s,end:r}=this.consumeArg(["]"])}else({tokens:s,start:t,end:r}=this.consumeArg());return this.pushToken(new si("EOF",r.loc)),this.pushTokens(s),new si("",Ts.range(t,r))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],r=e&&e.length>0;r||this.consumeSpaces();var s=this.future(),i,l=0,c=0;do{if(i=this.popToken(),t.push(i),i.text==="{")++l;else if(i.text==="}"){if(--l,l===-1)throw new De("Extra }",i)}else if(i.text==="EOF")throw new De("Unexpected end of input in a macro argument, expected '"+(e&&r?e[c]:"}")+"'",i);if(e&&r)if((l===0||l===1&&e[c]==="{")&&i.text===e[c]){if(++c,c===e.length){t.splice(-c,c);break}}else c=0}while(l!==0||r);return s.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:s,end:i}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new De("The length of delimiters doesn't match the number of args!");for(var r=t[0],s=0;sthis.settings.maxExpand)throw new De("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),r=t.text,s=t.noexpand?null:this._getExpansion(r);if(s==null||e&&s.unexpandable){if(e&&s==null&&r[0]==="\\"&&!this.isDefined(r))throw new De("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);var i=s.tokens,l=this.consumeArgs(s.numArgs,s.delimiters);if(s.numArgs){i=i.slice();for(var c=i.length-1;c>=0;--c){var u=i[c];if(u.text==="#"){if(c===0)throw new De("Incomplete placeholder at end of macro body",u);if(u=i[--c],u.text==="#")i.splice(c+1,1);else if(/^[1-9]$/.test(u.text))i.splice(c,2,...l[+u.text-1]);else throw new De("Not a valid argument number",u)}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new si(e)]):void 0}expandTokens(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(this.expandOnce(!0)===!1){var s=this.stack.pop();s.treatAsRelax&&(s.noexpand=!1,s.treatAsRelax=!1),t.push(s)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(r=>r.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var r=this.lexer.catcodes[e];if(r!=null&&r!==13)return}var s=typeof t=="function"?t(this):t;if(typeof s=="string"){var i=0;if(s.indexOf("#")!==-1)for(var l=s.replace(/##/g,"");l.indexOf("#"+(i+1))!==-1;)++i;for(var c=new DN(s,this.settings),u=[],h=c.lex();h.text!=="EOF";)u.push(h),h=c.lex();u.reverse();var m={tokens:u,numArgs:i};return m}return s}isDefined(e){return this.macros.has(e)||so.hasOwnProperty(e)||Ln.math.hasOwnProperty(e)||Ln.text.hasOwnProperty(e)||sz.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:so.hasOwnProperty(e)&&!so[e].primitive}}var PN=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Lp=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Hb={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},LN={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Yx{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new wue(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new De("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new si("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){for(var r=[];;){this.mode==="math"&&this.consumeSpaces();var s=this.fetch();if(Yx.endOfExpression.indexOf(s.text)!==-1||t&&s.text===t||e&&so[s.text]&&so[s.text].infix)break;var i=this.parseAtom(t);if(i){if(i.type==="internal")continue}else break;r.push(i)}return this.mode==="text"&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,r,s=0;s=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var c=Ln[this.mode][t].group,u=Ts.range(e),h;if(cce.hasOwnProperty(c)){var m=c;h={type:"atom",mode:this.mode,family:m,loc:u,text:t}}else h={type:c,mode:this.mode,loc:u,text:t};l=h}else if(t.charCodeAt(0)>=128)this.settings.strict&&(fR(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),l={type:"textord",mode:"text",loc:Ts.range(e),text:t};else return null;if(this.consume(),i)for(var p=0;ph&&(h=m):m&&(h!==void 0&&h>-1&&u.push(` -`.repeat(h)||" "),h=-1,u.push(m))}return u.join("")}function dz(n,e,t){return n.type==="element"?Zue(n,e,t):n.type==="text"?t.whitespace==="normal"?hz(n,t):Jue(n):[]}function Zue(n,e,t){const r=fz(n,t),s=n.children||[];let i=-1,l=[];if(Yue(n))return l;let c,u;for(R4(n)||VN(n)&&QN(e,n,VN)?u=` -`:Xue(n)?(c=2,u=2):uz(n)&&(c=1,u=1);++i{try{i(!0);const ke=await cde({page:l,page_size:m,search:x||void 0,is_registered:b==="all"?void 0:b==="registered",is_banned:k==="all"?void 0:k==="banned",format:T==="all"?void 0:T,sort_by:"usage_count",sort_order:"desc"});e(ke.data),h(ke.total)}catch(ke){const nt=ke instanceof Error?ke.message:"加载表情包列表失败";ne({title:"错误",description:nt,variant:"destructive"})}finally{i(!1)}},[l,m,x,b,k,T,ne]),R=async()=>{try{const ke=await fde();r(ke.data)}catch(ke){console.error("加载统计数据失败:",ke)}};S.useEffect(()=>{ue()},[ue]),S.useEffect(()=>{R()},[]);const me=async ke=>{try{const nt=await ude(ke.id);D(nt.data),z(!0)}catch(nt){const ut=nt instanceof Error?nt.message:"加载详情失败";ne({title:"错误",description:ut,variant:"destructive"})}},Y=ke=>{D(ke),q(!0)},P=ke=>{D(ke),U(!0)},K=async()=>{if(_)try{await hde(_.id),ne({title:"成功",description:"表情包已删除"}),U(!1),D(null),ue(),R()}catch(ke){const nt=ke instanceof Error?ke.message:"删除失败";ne({title:"错误",description:nt,variant:"destructive"})}},$=async ke=>{try{await mde(ke.id),ne({title:"成功",description:"表情包已注册"}),ue(),R()}catch(nt){const ut=nt instanceof Error?nt.message:"注册失败";ne({title:"错误",description:ut,variant:"destructive"})}},fe=async ke=>{try{await pde(ke.id),ne({title:"成功",description:"表情包已封禁"}),ue(),R()}catch(nt){const ut=nt instanceof Error?nt.message:"封禁失败";ne({title:"错误",description:ut,variant:"destructive"})}},ye=ke=>{const nt=new Set(V);nt.has(ke)?nt.delete(ke):nt.add(ke),ce(nt)},Re=()=>{V.size===n.length&&n.length>0?ce(new Set):ce(new Set(n.map(ke=>ke.id)))},de=async()=>{try{const ke=await gde(Array.from(V));ne({title:"批量删除完成",description:ke.message}),ce(new Set),J(!1),ue(),R()}catch(ke){ne({title:"批量删除失败",description:ke instanceof Error?ke.message:"批量删除失败",variant:"destructive"})}},We=()=>{const ke=parseInt(H),nt=Math.ceil(u/m);ke>=1&&ke<=nt?(c(ke),ae("")):ne({title:"无效的页码",description:`请输入1-${nt}之间的页码`,variant:"destructive"})},ct=t?.formats?Object.keys(t.formats):[];return a.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[a.jsxs("div",{className:"mb-4 sm:mb-6",children:[a.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"表情包管理"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理麦麦的表情包资源"})]}),a.jsx(fn,{className:"flex-1",children:a.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[t&&a.jsxs("div",{className:"grid gap-4 grid-cols-2 lg:grid-cols-4",children:[a.jsx(yt,{children:a.jsxs(Jt,{className:"pb-2",children:[a.jsx(Sr,{children:"总数"}),a.jsx(en,{className:"text-2xl",children:t.total})]})}),a.jsx(yt,{children:a.jsxs(Jt,{className:"pb-2",children:[a.jsx(Sr,{children:"已注册"}),a.jsx(en,{className:"text-2xl text-green-600",children:t.registered})]})}),a.jsx(yt,{children:a.jsxs(Jt,{className:"pb-2",children:[a.jsx(Sr,{children:"已封禁"}),a.jsx(en,{className:"text-2xl text-red-600",children:t.banned})]})}),a.jsx(yt,{children:a.jsxs(Jt,{className:"pb-2",children:[a.jsx(Sr,{children:"未注册"}),a.jsx(en,{className:"text-2xl text-gray-600",children:t.unregistered})]})})]}),a.jsxs(yt,{children:[a.jsx(Jt,{children:a.jsxs(en,{className:"flex items-center gap-2",children:[a.jsx(n2,{className:"h-5 w-5"}),"搜索和筛选"]})}),a.jsxs(vn,{className:"space-y-4",children:[a.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{children:"搜索"}),a.jsxs("div",{className:"relative",children:[a.jsx(Ps,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),a.jsx(Ae,{placeholder:"描述或哈希值...",value:x,onChange:ke=>{v(ke.target.value),c(1)},className:"pl-8"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{children:"注册状态"}),a.jsxs(Bt,{value:b,onValueChange:ke=>{O(ke),c(1)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"all",children:"全部"}),a.jsx(Pe,{value:"registered",children:"已注册"}),a.jsx(Pe,{value:"unregistered",children:"未注册"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{children:"封禁状态"}),a.jsxs(Bt,{value:k,onValueChange:ke=>{j(ke),c(1)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"all",children:"全部"}),a.jsx(Pe,{value:"banned",children:"已封禁"}),a.jsx(Pe,{value:"unbanned",children:"未封禁"})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{children:"格式"}),a.jsxs(Bt,{value:T,onValueChange:ke=>{M(ke),c(1)},children:[a.jsx(Dt,{children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"all",children:"全部"}),ct.map(ke=>a.jsxs(Pe,{value:ke,children:[ke.toUpperCase()," (",t?.formats[ke],")"]},ke))]})]})]})]}),a.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3 pt-4 border-t",children:[a.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:V.size>0&&a.jsxs("span",{children:["已选择 ",V.size," 个表情包"]})}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(te,{htmlFor:"emoji-page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),a.jsxs(Bt,{value:m.toString(),onValueChange:ke=>{p(parseInt(ke)),c(1),ce(new Set)},children:[a.jsx(Dt,{id:"emoji-page-size",className:"w-20",children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"10",children:"10"}),a.jsx(Pe,{value:"20",children:"20"}),a.jsx(Pe,{value:"50",children:"50"}),a.jsx(Pe,{value:"100",children:"100"})]})]}),V.size>0&&a.jsxs(a.Fragment,{children:[a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>ce(new Set),children:"取消选择"}),a.jsxs(ie,{variant:"destructive",size:"sm",onClick:()=>J(!0),children:[a.jsx(Ht,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]}),a.jsx("div",{className:"flex justify-end pt-4 border-t",children:a.jsxs(ie,{variant:"outline",size:"sm",onClick:ue,disabled:s,children:[a.jsx(Ii,{className:`h-4 w-4 mr-2 ${s?"animate-spin":""}`}),"刷新"]})})]})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{children:[a.jsx(en,{children:"表情包列表"}),a.jsxs(Sr,{children:["共 ",u," 个表情包,当前第 ",l," 页"]})]}),a.jsxs(vn,{children:[a.jsx("div",{className:"hidden md:block rounded-md border overflow-hidden",children:a.jsxs(Ac,{children:[a.jsx(Ec,{children:a.jsxs(xr,{children:[a.jsx(gt,{className:"w-12",children:a.jsx(ss,{checked:n.length>0&&V.size===n.length,onCheckedChange:Re,"aria-label":"全选"})}),a.jsx(gt,{className:"w-16",children:"预览"}),a.jsx(gt,{children:"描述"}),a.jsx(gt,{children:"格式"}),a.jsx(gt,{children:"情绪"}),a.jsx(gt,{className:"text-center",children:"状态"}),a.jsx(gt,{className:"text-right",children:"使用次数"}),a.jsx(gt,{className:"text-right",children:"操作"})]})}),a.jsx(_c,{children:n.length===0?a.jsx(xr,{children:a.jsx(it,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):n.map(ke=>a.jsxs(xr,{children:[a.jsx(it,{children:a.jsx(ss,{checked:V.has(ke.id),onCheckedChange:()=>ye(ke.id),"aria-label":`选择 ${ke.description}`})}),a.jsx(it,{children:a.jsx("div",{className:"w-20 h-20 bg-muted rounded flex items-center justify-center overflow-hidden",children:a.jsx("img",{src:z4(ke.id),alt:ke.description||"表情包",className:"w-full h-full object-cover",onError:nt=>{const ut=nt.target;ut.style.display="none";const Ct=ut.parentElement;Ct&&(Ct.innerHTML='')}})})}),a.jsx(it,{children:a.jsxs("div",{className:"space-y-1 max-w-xs",children:[a.jsx("div",{className:"font-medium truncate",title:ke.description||"无描述",children:ke.description||"无描述"}),a.jsxs("div",{className:"text-xs text-muted-foreground font-mono",children:[ke.emoji_hash.slice(0,16),"..."]})]})}),a.jsx(it,{children:a.jsx($n,{variant:"outline",children:ke.format.toUpperCase()})}),a.jsx(it,{children:a.jsx(WN,{emotions:ke.emotion})}),a.jsx(it,{className:"align-middle",children:a.jsxs("div",{className:"flex gap-2 justify-center",children:[ke.is_registered&&a.jsxs($n,{variant:"default",className:"bg-green-600",children:[a.jsx(ua,{className:"h-3 w-3 mr-1"}),"已注册"]}),ke.is_banned&&a.jsxs($n,{variant:"destructive",children:[a.jsx(Zb,{className:"h-3 w-3 mr-1"}),"已封禁"]})]})}),a.jsx(it,{className:"text-right font-mono",children:ke.usage_count}),a.jsx(it,{children:a.jsxs("div",{className:"flex items-center justify-end gap-1 flex-wrap",children:[a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>me(ke),children:[a.jsx(oo,{className:"h-4 w-4 mr-1"}),"详情"]}),a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>Y(ke),children:[a.jsx(sd,{className:"h-4 w-4 mr-1"}),"编辑"]}),!ke.is_registered&&a.jsxs(ie,{size:"sm",onClick:()=>$(ke),className:"bg-green-600 hover:bg-green-700 text-white",children:[a.jsx(ua,{className:"h-4 w-4 mr-1"}),"注册"]}),!ke.is_banned&&a.jsxs(ie,{size:"sm",onClick:()=>fe(ke),className:"bg-orange-600 hover:bg-orange-700 text-white",children:[a.jsx(dk,{className:"h-4 w-4 mr-1"}),"封禁"]}),a.jsxs(ie,{size:"sm",onClick:()=>P(ke),className:"bg-red-600 hover:bg-red-700 text-white",children:[a.jsx(Ht,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},ke.id))})]})}),a.jsx("div",{className:"md:hidden space-y-3",children:n.length===0?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):n.map(ke=>a.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[a.jsxs("div",{className:"flex gap-3",children:[a.jsx("div",{className:"flex-shrink-0",children:a.jsx("div",{className:"w-16 h-16 bg-muted rounded flex items-center justify-center overflow-hidden",children:a.jsx("img",{src:z4(ke.id),alt:ke.description||"表情包",className:"w-full h-full object-cover",onError:nt=>{const ut=nt.target;ut.style.display="none";const Ct=ut.parentElement;Ct&&(Ct.innerHTML='')}})})}),a.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[a.jsxs("div",{className:"min-w-0 w-full overflow-hidden",children:[a.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",title:ke.description||"无描述",children:ke.description||"无描述"}),a.jsxs("p",{className:"text-xs text-muted-foreground font-mono line-clamp-1 w-full break-all",children:[ke.emoji_hash.slice(0,16),"..."]})]}),a.jsxs("div",{className:"flex flex-wrap gap-1 items-center min-w-0",children:[a.jsx($n,{variant:"outline",className:"text-xs flex-shrink-0",children:ke.format.toUpperCase()}),ke.is_registered&&a.jsxs($n,{variant:"default",className:"bg-green-600 text-xs flex-shrink-0",children:[a.jsx(ua,{className:"h-3 w-3 mr-1"}),"已注册"]}),ke.is_banned&&a.jsxs($n,{variant:"destructive",className:"text-xs flex-shrink-0",children:[a.jsx(Zb,{className:"h-3 w-3 mr-1"}),"已封禁"]}),a.jsxs("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:["使用: ",ke.usage_count]})]}),ke.emotion&&ke.emotion.trim()&&a.jsx("div",{className:"min-w-0 overflow-hidden",children:a.jsx(WN,{emotions:ke.emotion})})]})]}),a.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>me(ke),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[a.jsx(oo,{className:"h-3 w-3 mr-1"}),"详情"]}),a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>Y(ke),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[a.jsx(sd,{className:"h-3 w-3 mr-1"}),"编辑"]}),!ke.is_registered&&a.jsxs(ie,{size:"sm",onClick:()=>$(ke),className:"text-xs px-2 py-1 h-auto flex-shrink-0 bg-green-600 hover:bg-green-700 text-white",children:[a.jsx(ua,{className:"h-3 w-3 mr-1"}),"注册"]}),!ke.is_banned&&a.jsxs(ie,{size:"sm",onClick:()=>fe(ke),className:"text-xs px-2 py-1 h-auto flex-shrink-0 bg-orange-600 hover:bg-orange-700 text-white",children:[a.jsx(dk,{className:"h-3 w-3 mr-1"}),"封禁"]}),a.jsxs(ie,{size:"sm",onClick:()=>P(ke),className:"text-xs px-2 py-1 h-auto flex-shrink-0 bg-red-600 hover:bg-red-700 text-white",children:[a.jsx(Ht,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},ke.id))}),u>0&&a.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 mt-4",children:[a.jsxs("div",{className:"text-sm text-muted-foreground",children:["显示 ",(l-1)*m+1," 到"," ",Math.min(l*m,u)," 条,共 ",u," 条"]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>c(1),disabled:l===1,className:"hidden sm:flex",children:a.jsx(Yf,{className:"h-4 w-4"})}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>c(ke=>Math.max(1,ke-1)),disabled:l===1,children:[a.jsx(Tc,{className:"h-4 w-4 sm:mr-1"}),a.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Ae,{type:"number",value:H,onChange:ke=>ae(ke.target.value),onKeyDown:ke=>ke.key==="Enter"&&We(),placeholder:l.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(u/m)}),a.jsx(ie,{variant:"outline",size:"sm",onClick:We,disabled:!H,className:"h-8",children:"跳转"})]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>c(ke=>ke+1),disabled:l>=Math.ceil(u/m),children:[a.jsx("span",{className:"hidden sm:inline",children:"下一页"}),a.jsx(Mc,{className:"h-4 w-4 sm:ml-1"})]}),a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>c(Math.ceil(u/m)),disabled:l>=Math.ceil(u/m),className:"hidden sm:flex",children:a.jsx(Kf,{className:"h-4 w-4"})})]})]})]})]}),a.jsx(vde,{emoji:_,open:E,onOpenChange:z}),a.jsx(yde,{emoji:_,open:Q,onOpenChange:q,onSuccess:()=>{ue(),R()}})]})}),a.jsx(mn,{open:W,onOpenChange:J,children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认批量删除"}),a.jsxs(un,{children:["你确定要删除选中的 ",V.size," 个表情包吗?此操作不可撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:de,children:"确认删除"})]})]})}),a.jsx(Rr,{open:B,onOpenChange:U,children:a.jsxs(Nr,{children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"确认删除"}),a.jsx(Gr,{children:"确定要删除这个表情包吗?此操作无法撤销。"})]}),a.jsxs(ps,{children:[a.jsx(ie,{variant:"outline",onClick:()=>U(!1),children:"取消"}),a.jsx(ie,{variant:"destructive",onClick:K,children:"删除"})]})]})})]})}function vde({emoji:n,open:e,onOpenChange:t}){if(!n)return null;const r=s=>s?new Date(s*1e3).toLocaleString("zh-CN"):"-";return a.jsx(Rr,{open:e,onOpenChange:t,children:a.jsxs(Nr,{className:"max-w-2xl max-h-[90vh]",children:[a.jsx(Cr,{children:a.jsx(Tr,{children:"表情包详情"})}),a.jsx(fn,{className:"max-h-[calc(90vh-8rem)] pr-4",children:a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"flex justify-center",children:a.jsx("div",{className:"w-32 h-32 bg-muted rounded-lg flex items-center justify-center overflow-hidden",children:a.jsx("img",{src:z4(n.id),alt:n.description||"表情包",className:"w-full h-full object-cover",onError:s=>{const i=s.target;i.style.display="none";const l=i.parentElement;l&&(l.innerHTML='')}})})}),a.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"ID"}),a.jsx("div",{className:"mt-1 font-mono",children:n.id})]}),a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"格式"}),a.jsx("div",{className:"mt-1",children:a.jsx($n,{variant:"outline",children:n.format.toUpperCase()})})]})]}),a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"文件路径"}),a.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:n.full_path})]}),a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"哈希值"}),a.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:n.emoji_hash})]}),a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"描述"}),n.description?a.jsx("div",{className:"mt-1 rounded-lg border bg-muted/50 p-3",children:a.jsx(ode,{className:"prose-sm",children:n.description})}):a.jsx("div",{className:"mt-1 text-sm text-muted-foreground",children:"-"})]}),a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"情绪"}),a.jsx("div",{className:"mt-1",children:n.emotion?a.jsx("span",{className:"text-sm",children:n.emotion}):a.jsx("span",{className:"text-sm text-muted-foreground",children:"-"})})]}),a.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"状态"}),a.jsxs("div",{className:"mt-2 flex gap-2",children:[n.is_registered&&a.jsx($n,{variant:"default",className:"bg-green-600",children:"已注册"}),n.is_banned&&a.jsx($n,{variant:"destructive",children:"已封禁"}),!n.is_registered&&!n.is_banned&&a.jsx($n,{variant:"outline",children:"未注册"})]})]}),a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"使用次数"}),a.jsx("div",{className:"mt-1 font-mono text-lg",children:n.usage_count})]})]}),a.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"记录时间"}),a.jsx("div",{className:"mt-1 text-sm",children:r(n.record_time)})]}),a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"注册时间"}),a.jsx("div",{className:"mt-1 text-sm",children:r(n.register_time)})]})]}),a.jsxs("div",{children:[a.jsx(te,{className:"text-muted-foreground",children:"最后使用"}),a.jsx("div",{className:"mt-1 text-sm",children:r(n.last_used_time)})]})]})})]})})}function yde({emoji:n,open:e,onOpenChange:t,onSuccess:r}){const[s,i]=S.useState(""),[l,c]=S.useState(""),[u,h]=S.useState(!1),[m,p]=S.useState(!1),[x,v]=S.useState(!1),{toast:b}=Pr();S.useEffect(()=>{n&&(i(n.description||""),c(n.emotion||""),h(n.is_registered),p(n.is_banned))},[n]);const O=async()=>{if(n)try{v(!0);const k=l.split(/[,,]/).map(j=>j.trim()).filter(Boolean).join(",");await dde(n.id,{description:s||void 0,emotion:k||void 0,is_registered:u,is_banned:m}),b({title:"成功",description:"表情包信息已更新"}),t(!1),r()}catch(k){const j=k instanceof Error?k.message:"保存失败";b({title:"错误",description:j,variant:"destructive"})}finally{v(!1)}};return n?a.jsx(Rr,{open:e,onOpenChange:t,children:a.jsxs(Nr,{className:"max-w-2xl",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"编辑表情包"}),a.jsx(Gr,{children:"修改表情包的描述和标签信息"})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx(te,{children:"描述"}),a.jsx(kn,{value:s,onChange:k=>i(k.target.value),placeholder:"输入表情包描述...",rows:3,className:"mt-1"})]}),a.jsxs("div",{children:[a.jsx(te,{children:"情绪"}),a.jsx(kn,{value:l,onChange:k=>c(k.target.value),placeholder:"输入情绪描述...",rows:2,className:"mt-1"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"输入情绪相关的文本描述"})]}),a.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(ss,{id:"is_registered",checked:u,onCheckedChange:k=>h(k===!0)}),a.jsx(te,{htmlFor:"is_registered",className:"cursor-pointer",children:"已注册"})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(ss,{id:"is_banned",checked:m,onCheckedChange:k=>p(k===!0)}),a.jsx(te,{htmlFor:"is_banned",className:"cursor-pointer",children:"已封禁"})]})]})]}),a.jsxs(ps,{children:[a.jsx(ie,{variant:"outline",onClick:()=>t(!1),children:"取消"}),a.jsx(ie,{onClick:O,disabled:x,children:x?"保存中...":"保存"})]})]})}):null}function WN({emotions:n}){if(!n||n.trim()==="")return a.jsx("span",{className:"text-xs text-muted-foreground",children:"-"});const e=20,t=n.length>e?n.slice(0,e)+"...":n;return a.jsx("div",{className:"text-sm break-words max-w-xs",title:n,children:t})}const Pc="/api/webui/expression";async function bde(n){const e=new URLSearchParams;n.page&&e.append("page",n.page.toString()),n.page_size&&e.append("page_size",n.page_size.toString()),n.search&&e.append("search",n.search),n.chat_id&&e.append("chat_id",n.chat_id);const t=await ot(`${Pc}/list?${e}`,{headers:bt()});if(!t.ok){const r=await t.json();throw new Error(r.detail||"获取表达方式列表失败")}return t.json()}async function wde(n){const e=await ot(`${Pc}/${n}`,{headers:bt()});if(!e.ok){const t=await e.json();throw new Error(t.detail||"获取表达方式详情失败")}return e.json()}async function Sde(n){const e=await ot(`${Pc}/`,{method:"POST",headers:bt(),body:JSON.stringify(n)});if(!e.ok){const t=await e.json();throw new Error(t.detail||"创建表达方式失败")}return e.json()}async function Ode(n,e){const t=await ot(`${Pc}/${n}`,{method:"PATCH",headers:bt(),body:JSON.stringify(e)});if(!t.ok){const r=await t.json();throw new Error(r.detail||"更新表达方式失败")}return t.json()}async function kde(n){const e=await ot(`${Pc}/${n}`,{method:"DELETE",headers:bt()});if(!e.ok){const t=await e.json();throw new Error(t.detail||"删除表达方式失败")}return e.json()}async function jde(n){const e=await ot(`${Pc}/batch/delete`,{method:"POST",headers:bt(),body:JSON.stringify({ids:n})});if(!e.ok){const t=await e.json();throw new Error(t.detail||"批量删除表达方式失败")}return e.json()}async function Nde(){const n=await ot(`${Pc}/stats/summary`,{headers:bt()});if(!n.ok){const e=await n.json();throw new Error(e.detail||"获取统计数据失败")}return n.json()}function Cde(){const[n,e]=S.useState([]),[t,r]=S.useState(!0),[s,i]=S.useState(0),[l,c]=S.useState(1),[u,h]=S.useState(20),[m,p]=S.useState(""),[x,v]=S.useState(null),[b,O]=S.useState(!1),[k,j]=S.useState(!1),[T,M]=S.useState(!1),[_,D]=S.useState(null),[E,z]=S.useState(new Set),[Q,q]=S.useState(!1),[B,U]=S.useState(""),[V,ce]=S.useState({total:0,recent_7days:0,chat_count:0,top_chats:{}}),{toast:W}=Pr(),J=async()=>{try{r(!0);const $=await bde({page:l,page_size:u,search:m||void 0});e($.data),i($.total)}catch($){W({title:"加载失败",description:$ instanceof Error?$.message:"无法加载表达方式",variant:"destructive"})}finally{r(!1)}},H=async()=>{try{const $=await Nde();$?.data&&ce($.data)}catch($){console.error("加载统计数据失败:",$)}};S.useEffect(()=>{J(),H()},[l,u,m]);const ae=async $=>{try{const fe=await wde($.id);v(fe.data),O(!0)}catch(fe){W({title:"加载详情失败",description:fe instanceof Error?fe.message:"无法加载表达方式详情",variant:"destructive"})}},ne=$=>{v($),j(!0)},ue=async $=>{try{await kde($.id),W({title:"删除成功",description:`已删除表达方式: ${$.situation}`}),D(null),J(),H()}catch(fe){W({title:"删除失败",description:fe instanceof Error?fe.message:"无法删除表达方式",variant:"destructive"})}},R=$=>{const fe=new Set(E);fe.has($)?fe.delete($):fe.add($),z(fe)},me=()=>{E.size===n.length&&n.length>0?z(new Set):z(new Set(n.map($=>$.id)))},Y=async()=>{try{await jde(Array.from(E)),W({title:"批量删除成功",description:`已删除 ${E.size} 个表达方式`}),z(new Set),q(!1),J(),H()}catch($){W({title:"批量删除失败",description:$ instanceof Error?$.message:"无法批量删除表达方式",variant:"destructive"})}},P=()=>{const $=parseInt(B),fe=Math.ceil(s/u);$>=1&&$<=fe?(c($),U("")):W({title:"无效的页码",description:`请输入1-${fe}之间的页码`,variant:"destructive"})},K=$=>$?new Date($*1e3).toLocaleString("zh-CN"):"-";return a.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[a.jsx("div",{className:"mb-4 sm:mb-6",children:a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[a.jsxs("div",{children:[a.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[a.jsx(Gf,{className:"h-8 w-8",strokeWidth:2}),"表达方式管理"]}),a.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦的表达方式和话术模板"})]}),a.jsxs(ie,{onClick:()=>M(!0),className:"gap-2",children:[a.jsx(Wr,{className:"h-4 w-4"}),"新增表达方式"]})]})}),a.jsx(fn,{className:"flex-1",children:a.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[a.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[a.jsx("div",{className:"text-sm text-muted-foreground",children:"总数量"}),a.jsx("div",{className:"text-2xl font-bold mt-1",children:V.total})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[a.jsx("div",{className:"text-sm text-muted-foreground",children:"近7天新增"}),a.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:V.recent_7days})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[a.jsx("div",{className:"text-sm text-muted-foreground",children:"关联聊天数"}),a.jsx("div",{className:"text-2xl font-bold mt-1 text-blue-600",children:V.chat_count})]})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[a.jsx(te,{htmlFor:"search",children:"搜索"}),a.jsx("div",{className:"flex flex-col sm:flex-row gap-2 mt-1.5",children:a.jsxs("div",{className:"flex-1 relative",children:[a.jsx(Ps,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),a.jsx(Ae,{id:"search",placeholder:"搜索情境、风格或上下文...",value:m,onChange:$=>p($.target.value),className:"pl-9"})]})}),a.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:[a.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:E.size>0&&a.jsxs("span",{children:["已选择 ",E.size," 个表达方式"]})}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(te,{htmlFor:"page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),a.jsxs(Bt,{value:u.toString(),onValueChange:$=>{h(parseInt($)),c(1),z(new Set)},children:[a.jsx(Dt,{id:"page-size",className:"w-20",children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"10",children:"10"}),a.jsx(Pe,{value:"20",children:"20"}),a.jsx(Pe,{value:"50",children:"50"}),a.jsx(Pe,{value:"100",children:"100"})]})]}),E.size>0&&a.jsxs(a.Fragment,{children:[a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>z(new Set),children:"取消选择"}),a.jsxs(ie,{variant:"destructive",size:"sm",onClick:()=>q(!0),children:[a.jsx(Ht,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]})]}),a.jsxs("div",{className:"rounded-lg border bg-card",children:[a.jsx("div",{className:"hidden md:block",children:a.jsxs(Ac,{children:[a.jsx(Ec,{children:a.jsxs(xr,{children:[a.jsx(gt,{className:"w-12",children:a.jsx(ss,{checked:E.size===n.length&&n.length>0,onCheckedChange:me})}),a.jsx(gt,{children:"情境"}),a.jsx(gt,{children:"风格"}),a.jsx(gt,{children:"聊天ID"}),a.jsx(gt,{children:"最后活跃"}),a.jsx(gt,{className:"text-right",children:"操作"})]})}),a.jsx(_c,{children:t?a.jsx(xr,{children:a.jsx(it,{colSpan:6,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):n.length===0?a.jsx(xr,{children:a.jsx(it,{colSpan:6,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):n.map($=>a.jsxs(xr,{children:[a.jsx(it,{children:a.jsx(ss,{checked:E.has($.id),onCheckedChange:()=>R($.id)})}),a.jsx(it,{className:"font-medium max-w-xs truncate",children:$.situation}),a.jsx(it,{className:"max-w-xs truncate",children:$.style}),a.jsx(it,{className:"font-mono text-sm",children:$.chat_id}),a.jsx(it,{className:"text-sm text-muted-foreground",children:K($.last_active_time)}),a.jsx(it,{className:"text-right",children:a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>ae($),children:[a.jsx(qi,{className:"h-4 w-4 mr-1"}),"详情"]}),a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>ne($),children:[a.jsx(sd,{className:"h-4 w-4 mr-1"}),"编辑"]}),a.jsxs(ie,{size:"sm",onClick:()=>D($),className:"bg-red-600 hover:bg-red-700 text-white",children:[a.jsx(Ht,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},$.id))})]})}),a.jsx("div",{className:"md:hidden space-y-3 p-4",children:t?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):n.length===0?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):n.map($=>a.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(ss,{checked:E.has($.id),onCheckedChange:()=>R($.id),className:"mt-1"}),a.jsxs("div",{className:"min-w-0 flex-1 overflow-hidden space-y-2",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"情境"}),a.jsx("h3",{className:"font-semibold text-sm line-clamp-2 w-full break-all",title:$.situation,children:$.situation})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"风格"}),a.jsx("p",{className:"text-sm line-clamp-2 w-full break-all",title:$.style,children:$.style})]})]})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"聊天ID"}),a.jsx("p",{className:"font-mono text-xs truncate",children:$.chat_id})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后活跃"}),a.jsx("p",{className:"text-xs",children:K($.last_active_time)})]})]}),a.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>ae($),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[a.jsx(qi,{className:"h-3 w-3 mr-1"}),"查看"]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>ne($),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[a.jsx(sd,{className:"h-3 w-3 mr-1"}),"编辑"]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>D($),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[a.jsx(Ht,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},$.id))}),s>0&&a.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",children:[a.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",s," 条记录,第 ",l," / ",Math.ceil(s/u)," 页"]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>c(1),disabled:l===1,className:"hidden sm:flex",children:a.jsx(Yf,{className:"h-4 w-4"})}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>c(l-1),disabled:l===1,children:[a.jsx(Tc,{className:"h-4 w-4 sm:mr-1"}),a.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Ae,{type:"number",value:B,onChange:$=>U($.target.value),onKeyDown:$=>$.key==="Enter"&&P(),placeholder:l.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(s/u)}),a.jsx(ie,{variant:"outline",size:"sm",onClick:P,disabled:!B,className:"h-8",children:"跳转"})]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>c(l+1),disabled:l>=Math.ceil(s/u),children:[a.jsx("span",{className:"hidden sm:inline",children:"下一页"}),a.jsx(Mc,{className:"h-4 w-4 sm:ml-1"})]}),a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>c(Math.ceil(s/u)),disabled:l>=Math.ceil(s/u),className:"hidden sm:flex",children:a.jsx(Kf,{className:"h-4 w-4"})})]})]})]})]})}),a.jsx(Tde,{expression:x,open:b,onOpenChange:O}),a.jsx(Mde,{open:T,onOpenChange:M,onSuccess:()=>{J(),H(),M(!1)}}),a.jsx(Ade,{expression:x,open:k,onOpenChange:j,onSuccess:()=>{J(),H(),j(!1)}}),a.jsx(mn,{open:!!_,onOpenChange:()=>D(null),children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:['确定要删除表达方式 "',_?.situation,'" 吗? 此操作不可撤销。']})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>_&&ue(_),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})}),a.jsx(Ede,{open:Q,onOpenChange:q,onConfirm:Y,count:E.size})]})}function Tde({expression:n,open:e,onOpenChange:t}){if(!n)return null;const r=s=>s?new Date(s*1e3).toLocaleString("zh-CN"):"-";return a.jsx(Rr,{open:e,onOpenChange:t,children:a.jsxs(Nr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"表达方式详情"}),a.jsx(Gr,{children:"查看表达方式的完整信息"})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(Mu,{label:"情境",value:n.situation}),a.jsx(Mu,{label:"风格",value:n.style}),a.jsx(Mu,{icon:pg,label:"聊天ID",value:n.chat_id,mono:!0}),a.jsx(Mu,{icon:pg,label:"记录ID",value:n.id.toString(),mono:!0})]}),n.context&&a.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[a.jsx(te,{className:"text-xs text-muted-foreground",children:"上下文"}),a.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:n.context})]}),n.up_content&&a.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[a.jsx(te,{className:"text-xs text-muted-foreground",children:"上文内容"}),a.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:n.up_content})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(Mu,{icon:uc,label:"最后活跃",value:r(n.last_active_time)}),a.jsx(Mu,{icon:uc,label:"创建时间",value:r(n.create_date)})]})]}),a.jsx(ps,{children:a.jsx(ie,{onClick:()=>t(!1),children:"关闭"})})]})})}function Mu({icon:n,label:e,value:t,mono:r=!1}){return a.jsxs("div",{className:"space-y-1",children:[a.jsxs(te,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[n&&a.jsx(n,{className:"h-3 w-3"}),e]}),a.jsx("div",{className:ve("text-sm",r&&"font-mono",!t&&"text-muted-foreground"),children:t||"-"})]})}function Mde({open:n,onOpenChange:e,onSuccess:t}){const[r,s]=S.useState({situation:"",style:"",context:"",up_content:"",chat_id:""}),[i,l]=S.useState(!1),{toast:c}=Pr(),u=async()=>{if(!r.situation||!r.style||!r.chat_id){c({title:"验证失败",description:"请填写必填字段:情境、风格和聊天ID",variant:"destructive"});return}try{l(!0),await Sde(r),c({title:"创建成功",description:"表达方式已创建"}),s({situation:"",style:"",context:"",up_content:"",chat_id:""}),t()}catch(h){c({title:"创建失败",description:h instanceof Error?h.message:"无法创建表达方式",variant:"destructive"})}finally{l(!1)}};return a.jsx(Rr,{open:n,onOpenChange:e,children:a.jsxs(Nr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"新增表达方式"}),a.jsx(Gr,{children:"创建新的表达方式记录"})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(te,{htmlFor:"situation",children:["情境 ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Ae,{id:"situation",value:r.situation,onChange:h=>s({...r,situation:h.target.value}),placeholder:"描述使用场景"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(te,{htmlFor:"style",children:["风格 ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Ae,{id:"style",value:r.style,onChange:h=>s({...r,style:h.target.value}),placeholder:"描述表达风格"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(te,{htmlFor:"chat_id",children:["聊天ID ",a.jsx("span",{className:"text-destructive",children:"*"})]}),a.jsx(Ae,{id:"chat_id",value:r.chat_id,onChange:h=>s({...r,chat_id:h.target.value}),placeholder:"关联的聊天ID"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"context",children:"上下文"}),a.jsx(kn,{id:"context",value:r.context,onChange:h=>s({...r,context:h.target.value}),placeholder:"上下文信息(可选)",rows:3})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"up_content",children:"上文内容"}),a.jsx(kn,{id:"up_content",value:r.up_content,onChange:h=>s({...r,up_content:h.target.value}),placeholder:"上文内容(可选)",rows:3})]})]}),a.jsxs(ps,{children:[a.jsx(ie,{variant:"outline",onClick:()=>e(!1),children:"取消"}),a.jsx(ie,{onClick:u,disabled:i,children:i?"创建中...":"创建"})]})]})})}function Ade({expression:n,open:e,onOpenChange:t,onSuccess:r}){const[s,i]=S.useState({}),[l,c]=S.useState(!1),{toast:u}=Pr();S.useEffect(()=>{n&&i({situation:n.situation,style:n.style,context:n.context||"",up_content:n.up_content||"",chat_id:n.chat_id})},[n]);const h=async()=>{if(n)try{c(!0),await Ode(n.id,s),u({title:"保存成功",description:"表达方式已更新"}),r()}catch(m){u({title:"保存失败",description:m instanceof Error?m.message:"无法更新表达方式",variant:"destructive"})}finally{c(!1)}};return n?a.jsx(Rr,{open:e,onOpenChange:t,children:a.jsxs(Nr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"编辑表达方式"}),a.jsx(Gr,{children:"修改表达方式的信息"})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"edit_situation",children:"情境"}),a.jsx(Ae,{id:"edit_situation",value:s.situation||"",onChange:m=>i({...s,situation:m.target.value}),placeholder:"描述使用场景"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"edit_style",children:"风格"}),a.jsx(Ae,{id:"edit_style",value:s.style||"",onChange:m=>i({...s,style:m.target.value}),placeholder:"描述表达风格"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"edit_chat_id",children:"聊天ID"}),a.jsx(Ae,{id:"edit_chat_id",value:s.chat_id||"",onChange:m=>i({...s,chat_id:m.target.value}),placeholder:"关联的聊天ID"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"edit_context",children:"上下文"}),a.jsx(kn,{id:"edit_context",value:s.context||"",onChange:m=>i({...s,context:m.target.value}),placeholder:"上下文信息",rows:3})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"edit_up_content",children:"上文内容"}),a.jsx(kn,{id:"edit_up_content",value:s.up_content||"",onChange:m=>i({...s,up_content:m.target.value}),placeholder:"上文内容",rows:3})]})]}),a.jsxs(ps,{children:[a.jsx(ie,{variant:"outline",onClick:()=>t(!1),children:"取消"}),a.jsx(ie,{onClick:h,disabled:l,children:l?"保存中...":"保存"})]})]})}):null}function Ede({open:n,onOpenChange:e,onConfirm:t,count:r}){return a.jsx(mn,{open:n,onOpenChange:e,children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认批量删除"}),a.jsxs(un,{children:["您即将删除 ",r," 个表达方式,此操作无法撤销。确定要继续吗?"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:t,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"确认删除"})]})]})})}const Ld="/api/webui/person";async function _de(n){const e=new URLSearchParams;n.page&&e.append("page",n.page.toString()),n.page_size&&e.append("page_size",n.page_size.toString()),n.search&&e.append("search",n.search),n.is_known!==void 0&&e.append("is_known",n.is_known.toString()),n.platform&&e.append("platform",n.platform);const t=await ot(`${Ld}/list?${e}`,{headers:bt()});if(!t.ok){const r=await t.json();throw new Error(r.detail||"获取人物列表失败")}return t.json()}async function Dde(n){const e=await ot(`${Ld}/${n}`,{headers:bt()});if(!e.ok){const t=await e.json();throw new Error(t.detail||"获取人物详情失败")}return e.json()}async function Rde(n,e){const t=await ot(`${Ld}/${n}`,{method:"PATCH",headers:bt(),body:JSON.stringify(e)});if(!t.ok){const r=await t.json();throw new Error(r.detail||"更新人物信息失败")}return t.json()}async function zde(n){const e=await ot(`${Ld}/${n}`,{method:"DELETE",headers:bt()});if(!e.ok){const t=await e.json();throw new Error(t.detail||"删除人物信息失败")}return e.json()}async function Pde(){const n=await ot(`${Ld}/stats/summary`,{headers:bt()});if(!n.ok){const e=await n.json();throw new Error(e.detail||"获取统计数据失败")}return n.json()}async function Lde(n){const e=await ot(`${Ld}/batch/delete`,{method:"POST",headers:bt(),body:JSON.stringify({person_ids:n})});if(!e.ok){const t=await e.json();throw new Error(t.detail||"批量删除失败")}return e.json()}function Bde(){const[n,e]=S.useState([]),[t,r]=S.useState(!0),[s,i]=S.useState(0),[l,c]=S.useState(1),[u,h]=S.useState(20),[m,p]=S.useState(""),[x,v]=S.useState(void 0),[b,O]=S.useState(void 0),[k,j]=S.useState(null),[T,M]=S.useState(!1),[_,D]=S.useState(!1),[E,z]=S.useState(null),[Q,q]=S.useState({total:0,known:0,unknown:0,platforms:{}}),[B,U]=S.useState(new Set),[V,ce]=S.useState(!1),[W,J]=S.useState(""),{toast:H}=Pr(),ae=async()=>{try{r(!0);const de=await _de({page:l,page_size:u,search:m||void 0,is_known:x,platform:b});e(de.data),i(de.total)}catch(de){H({title:"加载失败",description:de instanceof Error?de.message:"无法加载人物信息",variant:"destructive"})}finally{r(!1)}},ne=async()=>{try{const de=await Pde();de?.data&&q(de.data)}catch(de){console.error("加载统计数据失败:",de)}};S.useEffect(()=>{ae(),ne()},[l,u,m,x,b]);const ue=async de=>{try{const We=await Dde(de.person_id);j(We.data),M(!0)}catch(We){H({title:"加载详情失败",description:We instanceof Error?We.message:"无法加载人物详情",variant:"destructive"})}},R=de=>{j(de),D(!0)},me=async de=>{try{await zde(de.person_id),H({title:"删除成功",description:`已删除人物信息: ${de.person_name||de.nickname||de.user_id}`}),z(null),ae(),ne()}catch(We){H({title:"删除失败",description:We instanceof Error?We.message:"无法删除人物信息",variant:"destructive"})}},Y=S.useMemo(()=>Object.keys(Q.platforms),[Q.platforms]),P=de=>{const We=new Set(B);We.has(de)?We.delete(de):We.add(de),U(We)},K=()=>{B.size===n.length&&n.length>0?U(new Set):U(new Set(n.map(de=>de.person_id)))},$=()=>{if(B.size===0){H({title:"未选择任何人物",description:"请先选择要删除的人物",variant:"destructive"});return}ce(!0)},fe=async()=>{try{const de=await Lde(Array.from(B));H({title:"批量删除完成",description:de.message}),U(new Set),ce(!1),ae(),ne()}catch(de){H({title:"批量删除失败",description:de instanceof Error?de.message:"批量删除失败",variant:"destructive"})}},ye=()=>{const de=parseInt(W),We=Math.ceil(s/u);de>=1&&de<=We?(c(de),J("")):H({title:"无效的页码",description:`请输入1-${We}之间的页码`,variant:"destructive"})},Re=de=>de?new Date(de*1e3).toLocaleString("zh-CN"):"-";return a.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[a.jsx("div",{className:"mb-4 sm:mb-6",children:a.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:a.jsxs("div",{children:[a.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[a.jsx(EF,{className:"h-8 w-8",strokeWidth:2}),"人物信息管理"]}),a.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦认识的所有人物信息"})]})})}),a.jsx(fn,{className:"flex-1",children:a.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[a.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[a.jsx("div",{className:"text-sm text-muted-foreground",children:"总人数"}),a.jsx("div",{className:"text-2xl font-bold mt-1",children:Q.total})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[a.jsx("div",{className:"text-sm text-muted-foreground",children:"已认识"}),a.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:Q.known})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[a.jsx("div",{className:"text-sm text-muted-foreground",children:"未认识"}),a.jsx("div",{className:"text-2xl font-bold mt-1 text-muted-foreground",children:Q.unknown})]})]}),a.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-4 gap-4",children:[a.jsxs("div",{className:"sm:col-span-2",children:[a.jsx(te,{htmlFor:"search",children:"搜索"}),a.jsxs("div",{className:"relative mt-1.5",children:[a.jsx(Ps,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),a.jsx(Ae,{id:"search",placeholder:"搜索名称、昵称或用户ID...",value:m,onChange:de=>p(de.target.value),className:"pl-9"})]})]}),a.jsxs("div",{children:[a.jsx(te,{htmlFor:"filter-known",children:"认识状态"}),a.jsxs(Bt,{value:x===void 0?"all":x.toString(),onValueChange:de=>{v(de==="all"?void 0:de==="true"),c(1)},children:[a.jsx(Dt,{id:"filter-known",className:"mt-1.5",children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"all",children:"全部"}),a.jsx(Pe,{value:"true",children:"已认识"}),a.jsx(Pe,{value:"false",children:"未认识"})]})]})]}),a.jsxs("div",{children:[a.jsx(te,{htmlFor:"filter-platform",children:"平台"}),a.jsxs(Bt,{value:b||"all",onValueChange:de=>{O(de==="all"?void 0:de),c(1)},children:[a.jsx(Dt,{id:"filter-platform",className:"mt-1.5",children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"all",children:"全部平台"}),Y.map(de=>a.jsxs(Pe,{value:de,children:[de," (",Q.platforms[de],")"]},de))]})]})]})]}),a.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:[a.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:B.size>0&&a.jsxs("span",{children:["已选择 ",B.size," 个人物"]})}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(te,{htmlFor:"page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),a.jsxs(Bt,{value:u.toString(),onValueChange:de=>{h(parseInt(de)),c(1),U(new Set)},children:[a.jsx(Dt,{id:"page-size",className:"w-20",children:a.jsx(It,{})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"10",children:"10"}),a.jsx(Pe,{value:"20",children:"20"}),a.jsx(Pe,{value:"50",children:"50"}),a.jsx(Pe,{value:"100",children:"100"})]})]}),B.size>0&&a.jsxs(a.Fragment,{children:[a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>U(new Set),children:"取消选择"}),a.jsxs(ie,{variant:"destructive",size:"sm",onClick:$,children:[a.jsx(Ht,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]})]}),a.jsxs("div",{className:"rounded-lg border bg-card",children:[a.jsx("div",{className:"hidden md:block",children:a.jsxs(Ac,{children:[a.jsx(Ec,{children:a.jsxs(xr,{children:[a.jsx(gt,{className:"w-12",children:a.jsx(ss,{checked:n.length>0&&B.size===n.length,onCheckedChange:K,"aria-label":"全选"})}),a.jsx(gt,{children:"状态"}),a.jsx(gt,{children:"名称"}),a.jsx(gt,{children:"昵称"}),a.jsx(gt,{children:"平台"}),a.jsx(gt,{children:"用户ID"}),a.jsx(gt,{children:"最后更新"}),a.jsx(gt,{className:"text-right",children:"操作"})]})}),a.jsx(_c,{children:t?a.jsx(xr,{children:a.jsx(it,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):n.length===0?a.jsx(xr,{children:a.jsx(it,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):n.map(de=>a.jsxs(xr,{children:[a.jsx(it,{children:a.jsx(ss,{checked:B.has(de.person_id),onCheckedChange:()=>P(de.person_id),"aria-label":`选择 ${de.person_name||de.nickname||de.user_id}`})}),a.jsx(it,{children:a.jsx("div",{className:ve("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium",de.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:de.is_known?"已认识":"未认识"})}),a.jsx(it,{className:"font-medium",children:de.person_name||a.jsx("span",{className:"text-muted-foreground",children:"-"})}),a.jsx(it,{children:de.nickname||"-"}),a.jsx(it,{children:de.platform}),a.jsx(it,{className:"font-mono text-sm",children:de.user_id}),a.jsx(it,{className:"text-sm text-muted-foreground",children:Re(de.last_know)}),a.jsx(it,{className:"text-right",children:a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>ue(de),children:[a.jsx(qi,{className:"h-4 w-4 mr-1"}),"详情"]}),a.jsxs(ie,{variant:"default",size:"sm",onClick:()=>R(de),children:[a.jsx(sd,{className:"h-4 w-4 mr-1"}),"编辑"]}),a.jsxs(ie,{size:"sm",onClick:()=>z(de),className:"bg-red-600 hover:bg-red-700 text-white",children:[a.jsx(Ht,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},de.id))})]})}),a.jsx("div",{className:"md:hidden space-y-3 p-4",children:t?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):n.length===0?a.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):n.map(de=>a.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(ss,{checked:B.has(de.person_id),onCheckedChange:()=>P(de.person_id),className:"mt-1"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("div",{className:ve("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium mb-2",de.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:de.is_known?"已认识":"未认识"}),a.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",children:de.person_name||a.jsx("span",{className:"text-muted-foreground",children:"未命名"})}),de.nickname&&a.jsxs("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-1 w-full break-all",children:["昵称: ",de.nickname]})]})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"平台"}),a.jsx("p",{className:"font-medium text-xs",children:de.platform})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"用户ID"}),a.jsx("p",{className:"font-mono text-xs truncate",title:de.user_id,children:de.user_id})]}),a.jsxs("div",{className:"col-span-2",children:[a.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后更新"}),a.jsx("p",{className:"text-xs",children:Re(de.last_know)})]})]}),a.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>ue(de),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[a.jsx(qi,{className:"h-3 w-3 mr-1"}),"查看"]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>R(de),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[a.jsx(sd,{className:"h-3 w-3 mr-1"}),"编辑"]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>z(de),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[a.jsx(Ht,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},de.id))}),s>0&&a.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",children:[a.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",s," 条记录,第 ",l," / ",Math.ceil(s/u)," 页"]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>c(1),disabled:l===1,className:"hidden sm:flex",children:a.jsx(Yf,{className:"h-4 w-4"})}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>c(l-1),disabled:l===1,children:[a.jsx(Tc,{className:"h-4 w-4 sm:mr-1"}),a.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Ae,{type:"number",value:W,onChange:de=>J(de.target.value),onKeyDown:de=>de.key==="Enter"&&ye(),placeholder:l.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(s/u)}),a.jsx(ie,{variant:"outline",size:"sm",onClick:ye,disabled:!W,className:"h-8",children:"跳转"})]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:()=>c(l+1),disabled:l>=Math.ceil(s/u),children:[a.jsx("span",{className:"hidden sm:inline",children:"下一页"}),a.jsx(Mc,{className:"h-4 w-4 sm:ml-1"})]}),a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>c(Math.ceil(s/u)),disabled:l>=Math.ceil(s/u),className:"hidden sm:flex",children:a.jsx(Kf,{className:"h-4 w-4"})})]})]})]})]})}),a.jsx(Ide,{person:k,open:T,onOpenChange:M}),a.jsx(Fde,{person:k,open:_,onOpenChange:D,onSuccess:()=>{ae(),ne(),D(!1)}}),a.jsx(mn,{open:!!E,onOpenChange:()=>z(null),children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认删除"}),a.jsxs(un,{children:['确定要删除人物信息 "',E?.person_name||E?.nickname||E?.user_id,'" 吗? 此操作不可撤销。']})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:()=>E&&me(E),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})}),a.jsx(mn,{open:V,onOpenChange:ce,children:a.jsxs(an,{children:[a.jsxs(ln,{children:[a.jsx(cn,{children:"确认批量删除"}),a.jsxs(un,{children:["确定要删除选中的 ",B.size," 个人物信息吗? 此操作不可撤销。"]})]}),a.jsxs(on,{children:[a.jsx(hn,{children:"取消"}),a.jsx(dn,{onClick:fe,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})})]})}function Ide({person:n,open:e,onOpenChange:t}){if(!n)return null;const r=s=>s?new Date(s*1e3).toLocaleString("zh-CN"):"-";return a.jsx(Rr,{open:e,onOpenChange:t,children:a.jsxs(Nr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"人物详情"}),a.jsxs(Gr,{children:["查看 ",n.person_name||n.nickname||n.user_id," 的完整信息"]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(Ka,{icon:q9,label:"人物名称",value:n.person_name}),a.jsx(Ka,{icon:Gf,label:"昵称",value:n.nickname}),a.jsx(Ka,{icon:pg,label:"用户ID",value:n.user_id,mono:!0}),a.jsx(Ka,{icon:pg,label:"人物ID",value:n.person_id,mono:!0}),a.jsx(Ka,{label:"平台",value:n.platform}),a.jsx(Ka,{label:"状态",value:n.is_known?"已认识":"未认识"})]}),n.name_reason&&a.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[a.jsx(te,{className:"text-xs text-muted-foreground",children:"名称设定原因"}),a.jsx("p",{className:"mt-1 text-sm",children:n.name_reason})]}),n.memory_points&&a.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[a.jsx(te,{className:"text-xs text-muted-foreground",children:"个人印象"}),a.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:n.memory_points})]}),n.group_nick_name&&n.group_nick_name.length>0&&a.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[a.jsx(te,{className:"text-xs text-muted-foreground",children:"群昵称"}),a.jsx("div",{className:"mt-2 space-y-1",children:n.group_nick_name.map((s,i)=>a.jsxs("div",{className:"text-sm flex items-center gap-2",children:[a.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:s.group_id}),a.jsx("span",{children:"→"}),a.jsx("span",{children:s.group_nick_name})]},i))})]}),a.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[a.jsx(Ka,{icon:uc,label:"认识时间",value:r(n.know_times)}),a.jsx(Ka,{icon:uc,label:"首次记录",value:r(n.know_since)}),a.jsx(Ka,{icon:uc,label:"最后更新",value:r(n.last_know)})]})]}),a.jsx(ps,{children:a.jsx(ie,{onClick:()=>t(!1),children:"关闭"})})]})})}function Ka({icon:n,label:e,value:t,mono:r=!1}){return a.jsxs("div",{className:"space-y-1",children:[a.jsxs(te,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[n&&a.jsx(n,{className:"h-3 w-3"}),e]}),a.jsx("div",{className:ve("text-sm",r&&"font-mono",!t&&"text-muted-foreground"),children:t||"-"})]})}function Fde({person:n,open:e,onOpenChange:t,onSuccess:r}){const[s,i]=S.useState({}),[l,c]=S.useState(!1),{toast:u}=Pr();S.useEffect(()=>{n&&i({person_name:n.person_name||"",name_reason:n.name_reason||"",nickname:n.nickname||"",memory_points:n.memory_points||"",is_known:n.is_known})},[n]);const h=async()=>{if(n)try{c(!0),await Rde(n.person_id,s),u({title:"保存成功",description:"人物信息已更新"}),r()}catch(m){u({title:"保存失败",description:m instanceof Error?m.message:"无法更新人物信息",variant:"destructive"})}finally{c(!1)}};return n?a.jsx(Rr,{open:e,onOpenChange:t,children:a.jsxs(Nr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"编辑人物信息"}),a.jsxs(Gr,{children:["修改 ",n.person_name||n.nickname||n.user_id," 的信息"]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"person_name",children:"人物名称"}),a.jsx(Ae,{id:"person_name",value:s.person_name||"",onChange:m=>i({...s,person_name:m.target.value}),placeholder:"为这个人设置一个名称"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"nickname",children:"昵称"}),a.jsx(Ae,{id:"nickname",value:s.nickname||"",onChange:m=>i({...s,nickname:m.target.value}),placeholder:"昵称"})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"name_reason",children:"名称设定原因"}),a.jsx(kn,{id:"name_reason",value:s.name_reason||"",onChange:m=>i({...s,name_reason:m.target.value}),placeholder:"为什么这样称呼这个人?",rows:2})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"memory_points",children:"个人印象"}),a.jsx(kn,{id:"memory_points",value:s.memory_points||"",onChange:m=>i({...s,memory_points:m.target.value}),placeholder:"对这个人的印象和记忆点...",rows:4})]}),a.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[a.jsxs("div",{children:[a.jsx(te,{htmlFor:"is_known",className:"text-base font-medium",children:"已认识"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"标记是否已经认识这个人"})]}),a.jsx(jt,{id:"is_known",checked:s.is_known,onCheckedChange:m=>i({...s,is_known:m})})]})]}),a.jsxs(ps,{children:[a.jsx(ie,{variant:"outline",onClick:()=>t(!1),children:"取消"}),a.jsx(ie,{onClick:h,disabled:l,children:l?"保存中...":"保存"})]})]})}):null}function Au(n,e,t){let r=t.initialDeps??[],s;function i(){var l,c,u,h;let m;t.key&&((l=t.debug)!=null&&l.call(t))&&(m=Date.now());const p=n();if(!(p.length!==r.length||p.some((b,O)=>r[O]!==b)))return s;r=p;let v;if(t.key&&((c=t.debug)!=null&&c.call(t))&&(v=Date.now()),s=e(...p),t.key&&((u=t.debug)!=null&&u.call(t))){const b=Math.round((Date.now()-m)*100)/100,O=Math.round((Date.now()-v)*100)/100,k=O/16,j=(T,M)=>{for(T=String(T);T.length{r=l},i}function GN(n,e){if(n===void 0)throw new Error("Unexpected undefined");return n}const qde=(n,e)=>Math.abs(n-e)<1.01,Qde=(n,e,t)=>{let r;return function(...s){n.clearTimeout(r),r=n.setTimeout(()=>e.apply(this,s),t)}},XN=n=>{const{offsetWidth:e,offsetHeight:t}=n;return{width:e,height:t}},$de=n=>n,Hde=n=>{const e=Math.max(n.startIndex-n.overscan,0),t=Math.min(n.endIndex+n.overscan,n.count-1),r=[];for(let s=e;s<=t;s++)r.push(s);return r},Ude=(n,e)=>{const t=n.scrollElement;if(!t)return;const r=n.targetWindow;if(!r)return;const s=l=>{const{width:c,height:u}=l;e({width:Math.round(c),height:Math.round(u)})};if(s(XN(t)),!r.ResizeObserver)return()=>{};const i=new r.ResizeObserver(l=>{const c=()=>{const u=l[0];if(u?.borderBoxSize){const h=u.borderBoxSize[0];if(h){s({width:h.inlineSize,height:h.blockSize});return}}s(XN(t))};n.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(c):c()});return i.observe(t,{box:"border-box"}),()=>{i.unobserve(t)}},YN={passive:!0},KN=typeof window>"u"?!0:"onscrollend"in window,Vde=(n,e)=>{const t=n.scrollElement;if(!t)return;const r=n.targetWindow;if(!r)return;let s=0;const i=n.options.useScrollendEvent&&KN?()=>{}:Qde(r,()=>{e(s,!1)},n.options.isScrollingResetDelay),l=m=>()=>{const{horizontal:p,isRtl:x}=n.options;s=p?t.scrollLeft*(x&&-1||1):t.scrollTop,i(),e(s,m)},c=l(!0),u=l(!1);u(),t.addEventListener("scroll",c,YN);const h=n.options.useScrollendEvent&&KN;return h&&t.addEventListener("scrollend",u,YN),()=>{t.removeEventListener("scroll",c),h&&t.removeEventListener("scrollend",u)}},Wde=(n,e,t)=>{if(e?.borderBoxSize){const r=e.borderBoxSize[0];if(r)return Math.round(r[t.options.horizontal?"inlineSize":"blockSize"])}return n[t.options.horizontal?"offsetWidth":"offsetHeight"]},Gde=(n,{adjustments:e=0,behavior:t},r)=>{var s,i;const l=n+e;(i=(s=r.scrollElement)==null?void 0:s.scrollTo)==null||i.call(s,{[r.options.horizontal?"left":"top"]:l,behavior:t})};class Xde{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let t=null;const r=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(s=>{s.forEach(i=>{const l=()=>{this._measureElement(i.target,i)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()})}));return{disconnect:()=>{var s;(s=r())==null||s.disconnect(),t=null},observe:s=>{var i;return(i=r())==null?void 0:i.observe(s,{box:"border-box"})},unobserve:s=>{var i;return(i=r())==null?void 0:i.unobserve(s)}}})(),this.range=null,this.setOptions=t=>{Object.entries(t).forEach(([r,s])=>{typeof s>"u"&&delete t[r]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:$de,rangeExtractor:Hde,onChange:()=>{},measureElement:Wde,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...t}},this.notify=t=>{var r,s;(s=(r=this.options).onChange)==null||s.call(r,this,t)},this.maybeNotify=Au(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(s=>{this.observer.observe(s)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,s=>{this.scrollRect=s,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(s,i)=>{this.scrollAdjustments=0,this.scrollDirection=i?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,r)=>{const s=new Map,i=new Map;for(let l=r-1;l>=0;l--){const c=t[l];if(s.has(c.lane))continue;const u=i.get(c.lane);if(u==null||c.end>u.end?i.set(c.lane,c):c.endl.end===c.end?l.index-c.index:l.end-c.end)[0]:void 0},this.getMeasurementOptions=Au(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(t,r,s,i,l)=>(this.pendingMeasuredCacheIndexes=[],{count:t,paddingStart:r,scrollMargin:s,getItemKey:i,enabled:l}),{key:!1}),this.getMeasurements=Au(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:t,paddingStart:r,scrollMargin:s,getItemKey:i,enabled:l},c)=>{if(!l)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));const u=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];const h=this.measurementsCache.slice(0,u);for(let m=u;mthis.options.debug}),this.calculateRange=Au(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,r,s,i)=>this.range=t.length>0&&r>0?Yde({measurements:t,outerSize:r,scrollOffset:s,lanes:i}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Au(()=>{let t=null,r=null;const s=this.calculateRange();return s&&(t=s.startIndex,r=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,r]},(t,r,s,i,l)=>i===null||l===null?[]:t({startIndex:i,endIndex:l,overscan:r,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const r=this.options.indexAttribute,s=t.getAttribute(r);return s?parseInt(s,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this._measureElement=(t,r)=>{const s=this.indexFromElement(t),i=this.measurementsCache[s];if(!i)return;const l=i.key,c=this.elementsCache.get(l);c!==t&&(c&&this.observer.unobserve(c),this.observer.observe(t),this.elementsCache.set(l,t)),t.isConnected&&this.resizeItem(s,this.options.measureElement(t,r,this))},this.resizeItem=(t,r)=>{const s=this.measurementsCache[t];if(!s)return;const i=this.itemSizeCache.get(s.key)??s.size,l=r-i;l!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(s,l,this):s.start{if(!t){this.elementsCache.forEach((r,s)=>{r.isConnected||(this.observer.unobserve(r),this.elementsCache.delete(s))});return}this._measureElement(t,void 0)},this.getVirtualItems=Au(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,r)=>{const s=[];for(let i=0,l=t.length;ithis.options.debug}),this.getVirtualItemForOffset=t=>{const r=this.getMeasurements();if(r.length!==0)return GN(r[mz(0,r.length-1,s=>GN(r[s]).start,t)])},this.getOffsetForAlignment=(t,r,s=0)=>{const i=this.getSize(),l=this.getScrollOffset();r==="auto"&&(r=t>=l+i?"end":"start"),r==="center"?t+=(s-i)/2:r==="end"&&(t-=i);const c=this.getTotalSize()+this.options.scrollMargin-i;return Math.max(Math.min(c,t),0)},this.getOffsetForIndex=(t,r="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const s=this.measurementsCache[t];if(!s)return;const i=this.getSize(),l=this.getScrollOffset();if(r==="auto")if(s.end>=l+i-this.options.scrollPaddingEnd)r="end";else if(s.start<=l+this.options.scrollPaddingStart)r="start";else return[l,r];const c=r==="end"?s.end+this.options.scrollPaddingEnd:s.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(c,r,s.size),r]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(t,{align:r="start",behavior:s}={})=>{s==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(t,r),{adjustments:void 0,behavior:s})},this.scrollToIndex=(t,{align:r="auto",behavior:s}={})=>{s==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),t=Math.max(0,Math.min(t,this.options.count-1));let i=0;const l=10,c=h=>{if(!this.targetWindow)return;const m=this.getOffsetForIndex(t,h);if(!m){console.warn("Failed to get offset for index:",t);return}const[p,x]=m;this._scrollToOffset(p,{adjustments:void 0,behavior:s}),this.targetWindow.requestAnimationFrame(()=>{const v=this.getScrollOffset(),b=this.getOffsetForIndex(t,x);if(!b){console.warn("Failed to get offset for index:",t);return}qde(b[0],v)||u(x)})},u=h=>{this.targetWindow&&(i++,ic(h)):console.warn(`Failed to scroll to index ${t} after ${l} attempts.`))};c(r)},this.scrollBy=(t,{behavior:r}={})=>{r==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+t,{adjustments:void 0,behavior:r})},this.getTotalSize=()=>{var t;const r=this.getMeasurements();let s;if(r.length===0)s=this.options.paddingStart;else if(this.options.lanes===1)s=((t=r[r.length-1])==null?void 0:t.end)??0;else{const i=Array(this.options.lanes).fill(null);let l=r.length-1;for(;l>=0&&i.some(c=>c===null);){const c=r[l];i[c.lane]===null&&(i[c.lane]=c.end),l--}s=Math.max(...i.filter(c=>c!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(t,{adjustments:r,behavior:s})=>{this.options.scrollToFn(t,{behavior:s,adjustments:r},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(e)}}const mz=(n,e,t,r)=>{for(;n<=e;){const s=(n+e)/2|0,i=t(s);if(ir)e=s-1;else return s}return n>0?n-1:0};function Yde({measurements:n,outerSize:e,scrollOffset:t,lanes:r}){const s=n.length-1,i=u=>n[u].start;if(n.length<=r)return{startIndex:0,endIndex:s};let l=mz(0,s,i,t),c=l;if(r===1)for(;c1){const u=Array(r).fill(0);for(;cm=0&&h.some(m=>m>=t);){const m=n[l];h[m.lane]=m.start,l--}l=Math.max(0,l-l%r),c=Math.min(s,c+(r-1-c%r))}return{startIndex:l,endIndex:c}}const ZN=typeof document<"u"?S.useLayoutEffect:S.useEffect;function Kde(n){const e=S.useReducer(()=>({}),{})[1],t={...n,onChange:(s,i)=>{var l;i?g9.flushSync(e):e(),(l=n.onChange)==null||l.call(n,s,i)}},[r]=S.useState(()=>new Xde(t));return r.setOptions(t),ZN(()=>r._didMount(),[]),ZN(()=>r._willUpdate()),r}function Zde(n){return Kde({observeElementRect:Ude,observeElementOffset:Vde,scrollToFn:Gde,...n})}function Jde(n,e,t="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:n,timeZoneName:t}).format(e).split(/\s/g).slice(2).join(" ")}const ehe={},Gh={};function cc(n,e){try{const r=(ehe[n]||=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"longOffset"}).format)(e).split("GMT")[1];return r in Gh?Gh[r]:JN(r,r.split(":"))}catch{if(n in Gh)return Gh[n];const t=n?.match(the);return t?JN(n,t.slice(1)):NaN}}const the=/([+-]\d\d):?(\d\d)?/;function JN(n,e){const t=+(e[0]||0),r=+(e[1]||0),s=+(e[2]||0)/60;return Gh[n]=t*60+r>0?t*60+r+s:t*60-r-s}class ga extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]=="string"&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(cc(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]=="number"&&(e.length===1||e.length===2&&typeof e[1]!="number")?this.setTime(e[0]):typeof e[0]=="string"?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),pz(this),P4(this)):this.setTime(Date.now())}static tz(e,...t){return t.length?new ga(...t,e):new ga(Date.now(),e)}withTimeZone(e){return new ga(+this,e)}getTimezoneOffset(){const e=-cc(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),P4(this),+this}[Symbol.for("constructDateFrom")](e){return new ga(+new Date(e),this.timeZone)}}const e9=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(n=>{if(!e9.test(n))return;const e=n.replace(e9,"$1UTC");ga.prototype[e]&&(n.startsWith("get")?ga.prototype[n]=function(){return this.internal[e]()}:(ga.prototype[n]=function(){return Date.prototype[e].apply(this.internal,arguments),nhe(this),+this},ga.prototype[e]=function(){return Date.prototype[e].apply(this,arguments),P4(this),+this}))});function P4(n){n.internal.setTime(+n),n.internal.setUTCSeconds(n.internal.getUTCSeconds()-Math.round(-cc(n.timeZone,n)*60))}function nhe(n){Date.prototype.setFullYear.call(n,n.internal.getUTCFullYear(),n.internal.getUTCMonth(),n.internal.getUTCDate()),Date.prototype.setHours.call(n,n.internal.getUTCHours(),n.internal.getUTCMinutes(),n.internal.getUTCSeconds(),n.internal.getUTCMilliseconds()),pz(n)}function pz(n){const e=cc(n.timeZone,n),t=e>0?Math.floor(e):Math.ceil(e),r=new Date(+n);r.setUTCHours(r.getUTCHours()-1);const s=-new Date(+n).getTimezoneOffset(),i=-new Date(+r).getTimezoneOffset(),l=s-i,c=Date.prototype.getHours.apply(n)!==n.internal.getUTCHours();l&&c&&n.internal.setUTCMinutes(n.internal.getUTCMinutes()+l);const u=s-t;u&&Date.prototype.setUTCMinutes.call(n,Date.prototype.getUTCMinutes.call(n)+u);const h=new Date(+n);h.setUTCSeconds(0);const m=s>0?h.getSeconds():(h.getSeconds()-60)%60,p=Math.round(-(cc(n.timeZone,n)*60))%60;(p||m)&&(n.internal.setUTCSeconds(n.internal.getUTCSeconds()+p),Date.prototype.setUTCSeconds.call(n,Date.prototype.getUTCSeconds.call(n)+p+m));const x=cc(n.timeZone,n),v=x>0?Math.floor(x):Math.ceil(x),O=-new Date(+n).getTimezoneOffset()-v,k=v!==t,j=O-u;if(k&&j){Date.prototype.setUTCMinutes.call(n,Date.prototype.getUTCMinutes.call(n)+j);const T=cc(n.timeZone,n),M=T>0?Math.floor(T):Math.ceil(T),_=v-M;_&&(n.internal.setUTCMinutes(n.internal.getUTCMinutes()+_),Date.prototype.setUTCMinutes.call(n,Date.prototype.getUTCMinutes.call(n)+_))}}class Zr extends ga{static tz(e,...t){return t.length?new Zr(...t,e):new Zr(Date.now(),e)}toISOString(){const[e,t,r]=this.tzComponents(),s=`${e}${t}:${r}`;return this.internal.toISOString().slice(0,-1)+s}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[e,t,r,s]=this.internal.toUTCString().split(" ");return`${e?.slice(0,-1)} ${r} ${t} ${s}`}toTimeString(){const e=this.internal.toUTCString().split(" ")[4],[t,r,s]=this.tzComponents();return`${e} GMT${t}${r}${s} (${Jde(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){const e=this.getTimezoneOffset(),t=e>0?"-":"+",r=String(Math.floor(Math.abs(e)/60)).padStart(2,"0"),s=String(Math.abs(e)%60).padStart(2,"0");return[t,r,s]}withTimeZone(e){return new Zr(+this,e)}[Symbol.for("constructDateFrom")](e){return new Zr(+new Date(e),this.timeZone)}}const gz=6048e5,rhe=864e5,t9=Symbol.for("constructDateFrom");function vr(n,e){return typeof n=="function"?n(e):n&&typeof n=="object"&&t9 in n?n[t9](e):n instanceof Date?new n.constructor(e):new Date(e)}function Nn(n,e){return vr(e||n,n)}function xz(n,e,t){const r=Nn(n,t?.in);return isNaN(e)?vr(n,NaN):(e&&r.setDate(r.getDate()+e),r)}function vz(n,e,t){const r=Nn(n,t?.in);if(isNaN(e))return vr(n,NaN);if(!e)return r;const s=r.getDate(),i=vr(n,r.getTime());i.setMonth(r.getMonth()+e+1,0);const l=i.getDate();return s>=l?i:(r.setFullYear(i.getFullYear(),i.getMonth(),s),r)}let she={};function j0(){return she}function wo(n,e){const t=j0(),r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??t.weekStartsOn??t.locale?.options?.weekStartsOn??0,s=Nn(n,e?.in),i=s.getDay(),l=(i=i.getTime()?r+1:t.getTime()>=c.getTime()?r:r-1}function n9(n){const e=Nn(n),t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+n-+t}function Lc(n,...e){const t=vr.bind(null,n||e.find(r=>typeof r=="object"));return e.map(t)}function $f(n,e){const t=Nn(n,e?.in);return t.setHours(0,0,0,0),t}function bz(n,e,t){const[r,s]=Lc(t?.in,n,e),i=$f(r),l=$f(s),c=+i-n9(i),u=+l-n9(l);return Math.round((c-u)/rhe)}function ihe(n,e){const t=yz(n,e),r=vr(n,0);return r.setFullYear(t,0,4),r.setHours(0,0,0,0),Qf(r)}function ahe(n,e,t){return xz(n,e*7,t)}function lhe(n,e,t){return vz(n,e*12,t)}function ohe(n,e){let t,r=e?.in;return n.forEach(s=>{!r&&typeof s=="object"&&(r=vr.bind(null,s));const i=Nn(s,r);(!t||t{!r&&typeof s=="object"&&(r=vr.bind(null,s));const i=Nn(s,r);(!t||t>i||isNaN(+i))&&(t=i)}),vr(r,t||NaN)}function uhe(n,e,t){const[r,s]=Lc(t?.in,n,e);return+$f(r)==+$f(s)}function wz(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function dhe(n){return!(!wz(n)&&typeof n!="number"||isNaN(+Nn(n)))}function hhe(n,e,t){const[r,s]=Lc(t?.in,n,e),i=r.getFullYear()-s.getFullYear(),l=r.getMonth()-s.getMonth();return i*12+l}function fhe(n,e){const t=Nn(n,e?.in),r=t.getMonth();return t.setFullYear(t.getFullYear(),r+1,0),t.setHours(23,59,59,999),t}function Sz(n,e){const[t,r]=Lc(n,e.start,e.end);return{start:t,end:r}}function mhe(n,e){const{start:t,end:r}=Sz(e?.in,n);let s=+t>+r;const i=s?+t:+r,l=s?r:t;l.setHours(0,0,0,0),l.setDate(1);let c=1;const u=[];for(;+l<=i;)u.push(vr(t,l)),l.setMonth(l.getMonth()+c);return s?u.reverse():u}function phe(n,e){const t=Nn(n,e?.in);return t.setDate(1),t.setHours(0,0,0,0),t}function ghe(n,e){const t=Nn(n,e?.in),r=t.getFullYear();return t.setFullYear(r+1,0,0),t.setHours(23,59,59,999),t}function Oz(n,e){const t=Nn(n,e?.in);return t.setFullYear(t.getFullYear(),0,1),t.setHours(0,0,0,0),t}function xhe(n,e){const{start:t,end:r}=Sz(e?.in,n);let s=+t>+r;const i=s?+t:+r,l=s?r:t;l.setHours(0,0,0,0),l.setMonth(0,1);let c=1;const u=[];for(;+l<=i;)u.push(vr(t,l)),l.setFullYear(l.getFullYear()+c);return s?u.reverse():u}function kz(n,e){const t=j0(),r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??t.weekStartsOn??t.locale?.options?.weekStartsOn??0,s=Nn(n,e?.in),i=s.getDay(),l=(i{let r;const s=yhe[n];return typeof s=="string"?r=s:e===1?r=s.one:r=s.other.replace("{{count}}",e.toString()),t?.addSuffix?t.comparison&&t.comparison>0?"in "+r:r+" ago":r};function nd(n){return(e={})=>{const t=e.width?String(e.width):n.defaultWidth;return n.formats[t]||n.formats[n.defaultWidth]}}const whe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},She={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Ohe={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},khe={date:nd({formats:whe,defaultWidth:"full"}),time:nd({formats:She,defaultWidth:"full"}),dateTime:nd({formats:Ohe,defaultWidth:"full"})},jhe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Nhe=(n,e,t,r)=>jhe[n];function oa(n){return(e,t)=>{const r=t?.context?String(t.context):"standalone";let s;if(r==="formatting"&&n.formattingValues){const l=n.defaultFormattingWidth||n.defaultWidth,c=t?.width?String(t.width):l;s=n.formattingValues[c]||n.formattingValues[l]}else{const l=n.defaultWidth,c=t?.width?String(t.width):n.defaultWidth;s=n.values[c]||n.values[l]}const i=n.argumentCallback?n.argumentCallback(e):e;return s[i]}}const Che={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},The={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Mhe={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"]},Ahe={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"]},Ehe={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"}},_he={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"}},Dhe=(n,e)=>{const t=Number(n),r=t%100;if(r>20||r<10)switch(r%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},Rhe={ordinalNumber:Dhe,era:oa({values:Che,defaultWidth:"wide"}),quarter:oa({values:The,defaultWidth:"wide",argumentCallback:n=>n-1}),month:oa({values:Mhe,defaultWidth:"wide"}),day:oa({values:Ahe,defaultWidth:"wide"}),dayPeriod:oa({values:Ehe,defaultWidth:"wide",formattingValues:_he,defaultFormattingWidth:"wide"})};function ca(n){return(e,t={})=>{const r=t.width,s=r&&n.matchPatterns[r]||n.matchPatterns[n.defaultMatchWidth],i=e.match(s);if(!i)return null;const l=i[0],c=r&&n.parsePatterns[r]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(c)?Phe(c,p=>p.test(l)):zhe(c,p=>p.test(l));let h;h=n.valueCallback?n.valueCallback(u):u,h=t.valueCallback?t.valueCallback(h):h;const m=e.slice(l.length);return{value:h,rest:m}}}function zhe(n,e){for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)&&e(n[t]))return t}function Phe(n,e){for(let t=0;t{const r=e.match(n.matchPattern);if(!r)return null;const s=r[0],i=e.match(n.parsePattern);if(!i)return null;let l=n.valueCallback?n.valueCallback(i[0]):i[0];l=t.valueCallback?t.valueCallback(l):l;const c=e.slice(s.length);return{value:l,rest:c}}}const Lhe=/^(\d+)(th|st|nd|rd)?/i,Bhe=/\d+/i,Ihe={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},Fhe={any:[/^b/i,/^(a|c)/i]},qhe={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Qhe={any:[/1/i,/2/i,/3/i,/4/i]},$he={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},Hhe={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]},Uhe={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},Vhe={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]},Whe={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},Ghe={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}},Xhe={ordinalNumber:jz({matchPattern:Lhe,parsePattern:Bhe,valueCallback:n=>parseInt(n,10)}),era:ca({matchPatterns:Ihe,defaultMatchWidth:"wide",parsePatterns:Fhe,defaultParseWidth:"any"}),quarter:ca({matchPatterns:qhe,defaultMatchWidth:"wide",parsePatterns:Qhe,defaultParseWidth:"any",valueCallback:n=>n+1}),month:ca({matchPatterns:$he,defaultMatchWidth:"wide",parsePatterns:Hhe,defaultParseWidth:"any"}),day:ca({matchPatterns:Uhe,defaultMatchWidth:"wide",parsePatterns:Vhe,defaultParseWidth:"any"}),dayPeriod:ca({matchPatterns:Whe,defaultMatchWidth:"any",parsePatterns:Ghe,defaultParseWidth:"any"})},Y5={code:"en-US",formatDistance:bhe,formatLong:khe,formatRelative:Nhe,localize:Rhe,match:Xhe,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Yhe(n,e){const t=Nn(n,e?.in);return bz(t,Oz(t))+1}function Nz(n,e){const t=Nn(n,e?.in),r=+Qf(t)-+ihe(t);return Math.round(r/gz)+1}function Cz(n,e){const t=Nn(n,e?.in),r=t.getFullYear(),s=j0(),i=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,l=vr(e?.in||n,0);l.setFullYear(r+1,0,i),l.setHours(0,0,0,0);const c=wo(l,e),u=vr(e?.in||n,0);u.setFullYear(r,0,i),u.setHours(0,0,0,0);const h=wo(u,e);return+t>=+c?r+1:+t>=+h?r:r-1}function Khe(n,e){const t=j0(),r=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??t.firstWeekContainsDate??t.locale?.options?.firstWeekContainsDate??1,s=Cz(n,e),i=vr(e?.in||n,0);return i.setFullYear(s,0,r),i.setHours(0,0,0,0),wo(i,e)}function Tz(n,e){const t=Nn(n,e?.in),r=+wo(t,e)-+Khe(t,e);return Math.round(r/gz)+1}function xn(n,e){const t=n<0?"-":"",r=Math.abs(n).toString().padStart(e,"0");return t+r}const Kl={y(n,e){const t=n.getFullYear(),r=t>0?t:1-t;return xn(e==="yy"?r%100:r,e.length)},M(n,e){const t=n.getMonth();return e==="M"?String(t+1):xn(t+1,2)},d(n,e){return xn(n.getDate(),e.length)},a(n,e){const t=n.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return t.toUpperCase();case"aaa":return t;case"aaaaa":return t[0];case"aaaa":default:return t==="am"?"a.m.":"p.m."}},h(n,e){return xn(n.getHours()%12||12,e.length)},H(n,e){return xn(n.getHours(),e.length)},m(n,e){return xn(n.getMinutes(),e.length)},s(n,e){return xn(n.getSeconds(),e.length)},S(n,e){const t=e.length,r=n.getMilliseconds(),s=Math.trunc(r*Math.pow(10,t-3));return xn(s,e.length)}},Eu={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},r9={G:function(n,e,t){const r=n.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return t.era(r,{width:"abbreviated"});case"GGGGG":return t.era(r,{width:"narrow"});case"GGGG":default:return t.era(r,{width:"wide"})}},y:function(n,e,t){if(e==="yo"){const r=n.getFullYear(),s=r>0?r:1-r;return t.ordinalNumber(s,{unit:"year"})}return Kl.y(n,e)},Y:function(n,e,t,r){const s=Cz(n,r),i=s>0?s:1-s;if(e==="YY"){const l=i%100;return xn(l,2)}return e==="Yo"?t.ordinalNumber(i,{unit:"year"}):xn(i,e.length)},R:function(n,e){const t=yz(n);return xn(t,e.length)},u:function(n,e){const t=n.getFullYear();return xn(t,e.length)},Q:function(n,e,t){const r=Math.ceil((n.getMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return xn(r,2);case"Qo":return t.ordinalNumber(r,{unit:"quarter"});case"QQQ":return t.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return t.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return t.quarter(r,{width:"wide",context:"formatting"})}},q:function(n,e,t){const r=Math.ceil((n.getMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return xn(r,2);case"qo":return t.ordinalNumber(r,{unit:"quarter"});case"qqq":return t.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return t.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return t.quarter(r,{width:"wide",context:"standalone"})}},M:function(n,e,t){const r=n.getMonth();switch(e){case"M":case"MM":return Kl.M(n,e);case"Mo":return t.ordinalNumber(r+1,{unit:"month"});case"MMM":return t.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return t.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return t.month(r,{width:"wide",context:"formatting"})}},L:function(n,e,t){const r=n.getMonth();switch(e){case"L":return String(r+1);case"LL":return xn(r+1,2);case"Lo":return t.ordinalNumber(r+1,{unit:"month"});case"LLL":return t.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return t.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return t.month(r,{width:"wide",context:"standalone"})}},w:function(n,e,t,r){const s=Tz(n,r);return e==="wo"?t.ordinalNumber(s,{unit:"week"}):xn(s,e.length)},I:function(n,e,t){const r=Nz(n);return e==="Io"?t.ordinalNumber(r,{unit:"week"}):xn(r,e.length)},d:function(n,e,t){return e==="do"?t.ordinalNumber(n.getDate(),{unit:"date"}):Kl.d(n,e)},D:function(n,e,t){const r=Yhe(n);return e==="Do"?t.ordinalNumber(r,{unit:"dayOfYear"}):xn(r,e.length)},E:function(n,e,t){const r=n.getDay();switch(e){case"E":case"EE":case"EEE":return t.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return t.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return t.day(r,{width:"short",context:"formatting"});case"EEEE":default:return t.day(r,{width:"wide",context:"formatting"})}},e:function(n,e,t,r){const s=n.getDay(),i=(s-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(i);case"ee":return xn(i,2);case"eo":return t.ordinalNumber(i,{unit:"day"});case"eee":return t.day(s,{width:"abbreviated",context:"formatting"});case"eeeee":return t.day(s,{width:"narrow",context:"formatting"});case"eeeeee":return t.day(s,{width:"short",context:"formatting"});case"eeee":default:return t.day(s,{width:"wide",context:"formatting"})}},c:function(n,e,t,r){const s=n.getDay(),i=(s-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(i);case"cc":return xn(i,e.length);case"co":return t.ordinalNumber(i,{unit:"day"});case"ccc":return t.day(s,{width:"abbreviated",context:"standalone"});case"ccccc":return t.day(s,{width:"narrow",context:"standalone"});case"cccccc":return t.day(s,{width:"short",context:"standalone"});case"cccc":default:return t.day(s,{width:"wide",context:"standalone"})}},i:function(n,e,t){const r=n.getDay(),s=r===0?7:r;switch(e){case"i":return String(s);case"ii":return xn(s,e.length);case"io":return t.ordinalNumber(s,{unit:"day"});case"iii":return t.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return t.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return t.day(r,{width:"short",context:"formatting"});case"iiii":default:return t.day(r,{width:"wide",context:"formatting"})}},a:function(n,e,t){const s=n.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return t.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"aaa":return t.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return t.dayPeriod(s,{width:"narrow",context:"formatting"});case"aaaa":default:return t.dayPeriod(s,{width:"wide",context:"formatting"})}},b:function(n,e,t){const r=n.getHours();let s;switch(r===12?s=Eu.noon:r===0?s=Eu.midnight:s=r/12>=1?"pm":"am",e){case"b":case"bb":return t.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"bbb":return t.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return t.dayPeriod(s,{width:"narrow",context:"formatting"});case"bbbb":default:return t.dayPeriod(s,{width:"wide",context:"formatting"})}},B:function(n,e,t){const r=n.getHours();let s;switch(r>=17?s=Eu.evening:r>=12?s=Eu.afternoon:r>=4?s=Eu.morning:s=Eu.night,e){case"B":case"BB":case"BBB":return t.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"BBBBB":return t.dayPeriod(s,{width:"narrow",context:"formatting"});case"BBBB":default:return t.dayPeriod(s,{width:"wide",context:"formatting"})}},h:function(n,e,t){if(e==="ho"){let r=n.getHours()%12;return r===0&&(r=12),t.ordinalNumber(r,{unit:"hour"})}return Kl.h(n,e)},H:function(n,e,t){return e==="Ho"?t.ordinalNumber(n.getHours(),{unit:"hour"}):Kl.H(n,e)},K:function(n,e,t){const r=n.getHours()%12;return e==="Ko"?t.ordinalNumber(r,{unit:"hour"}):xn(r,e.length)},k:function(n,e,t){let r=n.getHours();return r===0&&(r=24),e==="ko"?t.ordinalNumber(r,{unit:"hour"}):xn(r,e.length)},m:function(n,e,t){return e==="mo"?t.ordinalNumber(n.getMinutes(),{unit:"minute"}):Kl.m(n,e)},s:function(n,e,t){return e==="so"?t.ordinalNumber(n.getSeconds(),{unit:"second"}):Kl.s(n,e)},S:function(n,e){return Kl.S(n,e)},X:function(n,e,t){const r=n.getTimezoneOffset();if(r===0)return"Z";switch(e){case"X":return i9(r);case"XXXX":case"XX":return nc(r);case"XXXXX":case"XXX":default:return nc(r,":")}},x:function(n,e,t){const r=n.getTimezoneOffset();switch(e){case"x":return i9(r);case"xxxx":case"xx":return nc(r);case"xxxxx":case"xxx":default:return nc(r,":")}},O:function(n,e,t){const r=n.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+s9(r,":");case"OOOO":default:return"GMT"+nc(r,":")}},z:function(n,e,t){const r=n.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+s9(r,":");case"zzzz":default:return"GMT"+nc(r,":")}},t:function(n,e,t){const r=Math.trunc(+n/1e3);return xn(r,e.length)},T:function(n,e,t){return xn(+n,e.length)}};function s9(n,e=""){const t=n>0?"-":"+",r=Math.abs(n),s=Math.trunc(r/60),i=r%60;return i===0?t+String(s):t+String(s)+e+xn(i,2)}function i9(n,e){return n%60===0?(n>0?"-":"+")+xn(Math.abs(n)/60,2):nc(n,e)}function nc(n,e=""){const t=n>0?"-":"+",r=Math.abs(n),s=xn(Math.trunc(r/60),2),i=xn(r%60,2);return t+s+e+i}const a9=(n,e)=>{switch(n){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},Mz=(n,e)=>{switch(n){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},Zhe=(n,e)=>{const t=n.match(/(P+)(p+)?/)||[],r=t[1],s=t[2];if(!s)return a9(n,e);let i;switch(r){case"P":i=e.dateTime({width:"short"});break;case"PP":i=e.dateTime({width:"medium"});break;case"PPP":i=e.dateTime({width:"long"});break;case"PPPP":default:i=e.dateTime({width:"full"});break}return i.replace("{{date}}",a9(r,e)).replace("{{time}}",Mz(s,e))},Jhe={p:Mz,P:Zhe},efe=/^D+$/,tfe=/^Y+$/,nfe=["D","DD","YY","YYYY"];function rfe(n){return efe.test(n)}function sfe(n){return tfe.test(n)}function ife(n,e,t){const r=afe(n,e,t);if(console.warn(r),nfe.includes(n))throw new RangeError(r)}function afe(n,e,t){const r=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${e}\`) for formatting ${r} to the input \`${t}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const lfe=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ofe=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,cfe=/^'([^]*?)'?$/,ufe=/''/g,dfe=/[a-zA-Z]/;function hg(n,e,t){const r=j0(),s=t?.locale??r.locale??Y5,i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,l=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,c=Nn(n,t?.in);if(!dhe(c))throw new RangeError("Invalid time value");let u=e.match(ofe).map(m=>{const p=m[0];if(p==="p"||p==="P"){const x=Jhe[p];return x(m,s.formatLong)}return m}).join("").match(lfe).map(m=>{if(m==="''")return{isToken:!1,value:"'"};const p=m[0];if(p==="'")return{isToken:!1,value:hfe(m)};if(r9[p])return{isToken:!0,value:m};if(p.match(dfe))throw new RangeError("Format string contains an unescaped latin alphabet character `"+p+"`");return{isToken:!1,value:m}});s.localize.preprocessor&&(u=s.localize.preprocessor(c,u));const h={firstWeekContainsDate:i,weekStartsOn:l,locale:s};return u.map(m=>{if(!m.isToken)return m.value;const p=m.value;(!t?.useAdditionalWeekYearTokens&&sfe(p)||!t?.useAdditionalDayOfYearTokens&&rfe(p))&&ife(p,e,String(n));const x=r9[p[0]];return x(c,p,s.localize,h)}).join("")}function hfe(n){const e=n.match(cfe);return e?e[1].replace(ufe,"'"):n}function ffe(n,e){const t=Nn(n,e?.in),r=t.getFullYear(),s=t.getMonth(),i=vr(t,0);return i.setFullYear(r,s+1,0),i.setHours(0,0,0,0),i.getDate()}function mfe(n,e){return Nn(n,e?.in).getMonth()}function pfe(n,e){return Nn(n,e?.in).getFullYear()}function gfe(n,e){return+Nn(n)>+Nn(e)}function xfe(n,e){return+Nn(n)<+Nn(e)}function vfe(n,e,t){const[r,s]=Lc(t?.in,n,e);return+wo(r,t)==+wo(s,t)}function yfe(n,e,t){const[r,s]=Lc(t?.in,n,e);return r.getFullYear()===s.getFullYear()&&r.getMonth()===s.getMonth()}function bfe(n,e,t){const[r,s]=Lc(t?.in,n,e);return r.getFullYear()===s.getFullYear()}function wfe(n,e,t){const r=Nn(n,t?.in),s=r.getFullYear(),i=r.getDate(),l=vr(n,0);l.setFullYear(s,e,15),l.setHours(0,0,0,0);const c=ffe(l);return r.setMonth(e,Math.min(i,c)),r}function Sfe(n,e,t){const r=Nn(n,t?.in);return isNaN(+r)?vr(n,NaN):(r.setFullYear(e),r)}const l9=5,Ofe=4;function kfe(n,e){const t=e.startOfMonth(n),r=t.getDay()>0?t.getDay():7,s=e.addDays(n,-r+1),i=e.addDays(s,l9*7-1);return e.getMonth(n)===e.getMonth(i)?l9:Ofe}function Az(n,e){const t=e.startOfMonth(n),r=t.getDay();return r===1?t:r===0?e.addDays(t,-6):e.addDays(t,-1*(r-1))}function jfe(n,e){const t=Az(n,e),r=kfe(n,e);return e.addDays(t,r*7-1)}class ii{constructor(e,t){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?Zr.tz(this.options.timeZone):new this.Date,this.newDate=(r,s,i)=>this.overrides?.newDate?this.overrides.newDate(r,s,i):this.options.timeZone?new Zr(r,s,i,this.options.timeZone):new Date(r,s,i),this.addDays=(r,s)=>this.overrides?.addDays?this.overrides.addDays(r,s):xz(r,s),this.addMonths=(r,s)=>this.overrides?.addMonths?this.overrides.addMonths(r,s):vz(r,s),this.addWeeks=(r,s)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,s):ahe(r,s),this.addYears=(r,s)=>this.overrides?.addYears?this.overrides.addYears(r,s):lhe(r,s),this.differenceInCalendarDays=(r,s)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,s):bz(r,s),this.differenceInCalendarMonths=(r,s)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,s):hhe(r,s),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):mhe(r),this.eachYearOfInterval=r=>{const s=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):xhe(r),i=new Set(s.map(c=>this.getYear(c)));if(i.size===s.length)return s;const l=[];return i.forEach(c=>{l.push(new Date(c,0,1))}),l},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):jfe(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):vhe(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):fhe(r),this.endOfWeek=(r,s)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,s):kz(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):ghe(r),this.format=(r,s,i)=>{const l=this.overrides?.format?this.overrides.format(r,s,this.options):hg(r,s,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(l):l},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):Nz(r),this.getMonth=(r,s)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):mfe(r,this.options),this.getYear=(r,s)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):pfe(r,this.options),this.getWeek=(r,s)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):Tz(r,this.options),this.isAfter=(r,s)=>this.overrides?.isAfter?this.overrides.isAfter(r,s):gfe(r,s),this.isBefore=(r,s)=>this.overrides?.isBefore?this.overrides.isBefore(r,s):xfe(r,s),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):wz(r),this.isSameDay=(r,s)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,s):uhe(r,s),this.isSameMonth=(r,s)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,s):yfe(r,s),this.isSameYear=(r,s)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,s):bfe(r,s),this.max=r=>this.overrides?.max?this.overrides.max(r):ohe(r),this.min=r=>this.overrides?.min?this.overrides.min(r):che(r),this.setMonth=(r,s)=>this.overrides?.setMonth?this.overrides.setMonth(r,s):wfe(r,s),this.setYear=(r,s)=>this.overrides?.setYear?this.overrides.setYear(r,s):Sfe(r,s),this.startOfBroadcastWeek=(r,s)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):Az(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):$f(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):Qf(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):phe(r),this.startOfWeek=(r,s)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):wo(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):Oz(r),this.options={locale:Y5,...e},this.overrides=t}getDigitMap(){const{numerals:e="latn"}=this.options,t=new Intl.NumberFormat("en-US",{numberingSystem:e}),r={};for(let s=0;s<10;s++)r[s.toString()]=t.format(s);return r}replaceDigits(e){const t=this.getDigitMap();return e.replace(/\d/g,r=>t[r]||r)}formatNumber(e){return this.replaceDigits(e.toString())}getMonthYearOrder(){const e=this.options.locale?.code;return e&&ii.yearFirstLocales.has(e)?"year-first":"month-first"}formatMonthYear(e){const{locale:t,timeZone:r,numerals:s}=this.options,i=t?.code;if(i&&ii.yearFirstLocales.has(i))try{return new Intl.DateTimeFormat(i,{month:"long",year:"numeric",timeZone:r,numberingSystem:s}).format(e)}catch{}const l=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(e,l)}}ii.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 Ma=new ii;class Ez{constructor(e,t,r=Ma){this.date=e,this.displayMonth=t,this.outside=!!(t&&!r.isSameMonth(e,t)),this.dateLib=r}isEqualTo(e){return this.dateLib.isSameDay(e.date,this.date)&&this.dateLib.isSameMonth(e.displayMonth,this.displayMonth)}}class Nfe{constructor(e,t){this.date=e,this.weeks=t}}class Cfe{constructor(e,t){this.days=t,this.weekNumber=e}}function Tfe(n){return Ue.createElement("button",{...n})}function Mfe(n){return Ue.createElement("span",{...n})}function Afe(n){const{size:e=24,orientation:t="left",className:r}=n;return Ue.createElement("svg",{className:r,width:e,height:e,viewBox:"0 0 24 24"},t==="up"&&Ue.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),t==="down"&&Ue.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),t==="left"&&Ue.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),t==="right"&&Ue.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function Efe(n){const{day:e,modifiers:t,...r}=n;return Ue.createElement("td",{...r})}function _fe(n){const{day:e,modifiers:t,...r}=n,s=Ue.useRef(null);return Ue.useEffect(()=>{t.focused&&s.current?.focus()},[t.focused]),Ue.createElement("button",{ref:s,...r})}var et;(function(n){n.Root="root",n.Chevron="chevron",n.Day="day",n.DayButton="day_button",n.CaptionLabel="caption_label",n.Dropdowns="dropdowns",n.Dropdown="dropdown",n.DropdownRoot="dropdown_root",n.Footer="footer",n.MonthGrid="month_grid",n.MonthCaption="month_caption",n.MonthsDropdown="months_dropdown",n.Month="month",n.Months="months",n.Nav="nav",n.NextMonthButton="button_next",n.PreviousMonthButton="button_previous",n.Week="week",n.Weeks="weeks",n.Weekday="weekday",n.Weekdays="weekdays",n.WeekNumber="week_number",n.WeekNumberHeader="week_number_header",n.YearsDropdown="years_dropdown"})(et||(et={}));var Yn;(function(n){n.disabled="disabled",n.hidden="hidden",n.outside="outside",n.focused="focused",n.today="today"})(Yn||(Yn={}));var Bi;(function(n){n.range_end="range_end",n.range_middle="range_middle",n.range_start="range_start",n.selected="selected"})(Bi||(Bi={}));var ei;(function(n){n.weeks_before_enter="weeks_before_enter",n.weeks_before_exit="weeks_before_exit",n.weeks_after_enter="weeks_after_enter",n.weeks_after_exit="weeks_after_exit",n.caption_after_enter="caption_after_enter",n.caption_after_exit="caption_after_exit",n.caption_before_enter="caption_before_enter",n.caption_before_exit="caption_before_exit"})(ei||(ei={}));function Dfe(n){const{options:e,className:t,components:r,classNames:s,...i}=n,l=[s[et.Dropdown],t].join(" "),c=e?.find(({value:u})=>u===i.value);return Ue.createElement("span",{"data-disabled":i.disabled,className:s[et.DropdownRoot]},Ue.createElement(r.Select,{className:l,...i},e?.map(({value:u,label:h,disabled:m})=>Ue.createElement(r.Option,{key:u,value:u,disabled:m},h))),Ue.createElement("span",{className:s[et.CaptionLabel],"aria-hidden":!0},c?.label,Ue.createElement(r.Chevron,{orientation:"down",size:18,className:s[et.Chevron]})))}function Rfe(n){return Ue.createElement("div",{...n})}function zfe(n){return Ue.createElement("div",{...n})}function Pfe(n){const{calendarMonth:e,displayIndex:t,...r}=n;return Ue.createElement("div",{...r},n.children)}function Lfe(n){const{calendarMonth:e,displayIndex:t,...r}=n;return Ue.createElement("div",{...r})}function Bfe(n){return Ue.createElement("table",{...n})}function Ife(n){return Ue.createElement("div",{...n})}const _z=S.createContext(void 0);function N0(){const n=S.useContext(_z);if(n===void 0)throw new Error("useDayPicker() must be used within a custom component.");return n}function Ffe(n){const{components:e}=N0();return Ue.createElement(e.Dropdown,{...n})}function qfe(n){const{onPreviousClick:e,onNextClick:t,previousMonth:r,nextMonth:s,...i}=n,{components:l,classNames:c,labels:{labelPrevious:u,labelNext:h}}=N0(),m=S.useCallback(x=>{s&&t?.(x)},[s,t]),p=S.useCallback(x=>{r&&e?.(x)},[r,e]);return Ue.createElement("nav",{...i},Ue.createElement(l.PreviousMonthButton,{type:"button",className:c[et.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":u(r),onClick:p},Ue.createElement(l.Chevron,{disabled:r?void 0:!0,className:c[et.Chevron],orientation:"left"})),Ue.createElement(l.NextMonthButton,{type:"button",className:c[et.NextMonthButton],tabIndex:s?void 0:-1,"aria-disabled":s?void 0:!0,"aria-label":h(s),onClick:m},Ue.createElement(l.Chevron,{disabled:s?void 0:!0,orientation:"right",className:c[et.Chevron]})))}function Qfe(n){const{components:e}=N0();return Ue.createElement(e.Button,{...n})}function $fe(n){return Ue.createElement("option",{...n})}function Hfe(n){const{components:e}=N0();return Ue.createElement(e.Button,{...n})}function Ufe(n){const{rootRef:e,...t}=n;return Ue.createElement("div",{...t,ref:e})}function Vfe(n){return Ue.createElement("select",{...n})}function Wfe(n){const{week:e,...t}=n;return Ue.createElement("tr",{...t})}function Gfe(n){return Ue.createElement("th",{...n})}function Xfe(n){return Ue.createElement("thead",{"aria-hidden":!0},Ue.createElement("tr",{...n}))}function Yfe(n){const{week:e,...t}=n;return Ue.createElement("th",{...t})}function Kfe(n){return Ue.createElement("th",{...n})}function Zfe(n){return Ue.createElement("tbody",{...n})}function Jfe(n){const{components:e}=N0();return Ue.createElement(e.Dropdown,{...n})}const e0e=Object.freeze(Object.defineProperty({__proto__:null,Button:Tfe,CaptionLabel:Mfe,Chevron:Afe,Day:Efe,DayButton:_fe,Dropdown:Dfe,DropdownNav:Rfe,Footer:zfe,Month:Pfe,MonthCaption:Lfe,MonthGrid:Bfe,Months:Ife,MonthsDropdown:Ffe,Nav:qfe,NextMonthButton:Qfe,Option:$fe,PreviousMonthButton:Hfe,Root:Ufe,Select:Vfe,Week:Wfe,WeekNumber:Yfe,WeekNumberHeader:Kfe,Weekday:Gfe,Weekdays:Xfe,Weeks:Zfe,YearsDropdown:Jfe},Symbol.toStringTag,{value:"Module"}));function al(n,e,t=!1,r=Ma){let{from:s,to:i}=n;const{differenceInCalendarDays:l,isSameDay:c}=r;return s&&i?(l(i,s)<0&&([s,i]=[i,s]),l(e,s)>=(t?1:0)&&l(i,e)>=(t?1:0)):!t&&i?c(i,e):!t&&s?c(s,e):!1}function Dz(n){return!!(n&&typeof n=="object"&&"before"in n&&"after"in n)}function K5(n){return!!(n&&typeof n=="object"&&"from"in n)}function Rz(n){return!!(n&&typeof n=="object"&&"after"in n)}function zz(n){return!!(n&&typeof n=="object"&&"before"in n)}function Pz(n){return!!(n&&typeof n=="object"&&"dayOfWeek"in n)}function Lz(n,e){return Array.isArray(n)&&n.every(e.isDate)}function ll(n,e,t=Ma){const r=Array.isArray(e)?e:[e],{isSameDay:s,differenceInCalendarDays:i,isAfter:l}=t;return r.some(c=>{if(typeof c=="boolean")return c;if(t.isDate(c))return s(n,c);if(Lz(c,t))return c.includes(n);if(K5(c))return al(c,n,!1,t);if(Pz(c))return Array.isArray(c.dayOfWeek)?c.dayOfWeek.includes(n.getDay()):c.dayOfWeek===n.getDay();if(Dz(c)){const u=i(c.before,n),h=i(c.after,n),m=u>0,p=h<0;return l(c.before,c.after)?p&&m:m||p}return Rz(c)?i(n,c.after)>0:zz(c)?i(c.before,n)>0:typeof c=="function"?c(n):!1})}function t0e(n,e,t,r,s){const{disabled:i,hidden:l,modifiers:c,showOutsideDays:u,broadcastCalendar:h,today:m}=e,{isSameDay:p,isSameMonth:x,startOfMonth:v,isBefore:b,endOfMonth:O,isAfter:k}=s,j=t&&v(t),T=r&&O(r),M={[Yn.focused]:[],[Yn.outside]:[],[Yn.disabled]:[],[Yn.hidden]:[],[Yn.today]:[]},_={};for(const D of n){const{date:E,displayMonth:z}=D,Q=!!(z&&!x(E,z)),q=!!(j&&b(E,j)),B=!!(T&&k(E,T)),U=!!(i&&ll(E,i,s)),V=!!(l&&ll(E,l,s))||q||B||!h&&!u&&Q||h&&u===!1&&Q,ce=p(E,m??s.today());Q&&M.outside.push(D),U&&M.disabled.push(D),V&&M.hidden.push(D),ce&&M.today.push(D),c&&Object.keys(c).forEach(W=>{const J=c?.[W];J&&ll(E,J,s)&&(_[W]?_[W].push(D):_[W]=[D])})}return D=>{const E={[Yn.focused]:!1,[Yn.disabled]:!1,[Yn.hidden]:!1,[Yn.outside]:!1,[Yn.today]:!1},z={};for(const Q in M){const q=M[Q];E[Q]=q.some(B=>B===D)}for(const Q in _)z[Q]=_[Q].some(q=>q===D);return{...E,...z}}}function n0e(n,e,t={}){return Object.entries(n).filter(([,s])=>s===!0).reduce((s,[i])=>(t[i]?s.push(t[i]):e[Yn[i]]?s.push(e[Yn[i]]):e[Bi[i]]&&s.push(e[Bi[i]]),s),[e[et.Day]])}function r0e(n){return{...e0e,...n}}function s0e(n){const e={"data-mode":n.mode??void 0,"data-required":"required"in n?n.required:void 0,"data-multiple-months":n.numberOfMonths&&n.numberOfMonths>1||void 0,"data-week-numbers":n.showWeekNumber||void 0,"data-broadcast-calendar":n.broadcastCalendar||void 0,"data-nav-layout":n.navLayout||void 0};return Object.entries(n).forEach(([t,r])=>{t.startsWith("data-")&&(e[t]=r)}),e}function Z5(){const n={};for(const e in et)n[et[e]]=`rdp-${et[e]}`;for(const e in Yn)n[Yn[e]]=`rdp-${Yn[e]}`;for(const e in Bi)n[Bi[e]]=`rdp-${Bi[e]}`;for(const e in ei)n[ei[e]]=`rdp-${ei[e]}`;return n}function Bz(n,e,t){return(t??new ii(e)).formatMonthYear(n)}const i0e=Bz;function a0e(n,e,t){return(t??new ii(e)).format(n,"d")}function l0e(n,e=Ma){return e.format(n,"LLLL")}function o0e(n,e,t){return(t??new ii(e)).format(n,"cccccc")}function c0e(n,e=Ma){return n<10?e.formatNumber(`0${n.toLocaleString()}`):e.formatNumber(`${n.toLocaleString()}`)}function u0e(){return""}function Iz(n,e=Ma){return e.format(n,"yyyy")}const d0e=Iz,h0e=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:Bz,formatDay:a0e,formatMonthCaption:i0e,formatMonthDropdown:l0e,formatWeekNumber:c0e,formatWeekNumberHeader:u0e,formatWeekdayName:o0e,formatYearCaption:d0e,formatYearDropdown:Iz},Symbol.toStringTag,{value:"Module"}));function f0e(n){return n?.formatMonthCaption&&!n.formatCaption&&(n.formatCaption=n.formatMonthCaption),n?.formatYearCaption&&!n.formatYearDropdown&&(n.formatYearDropdown=n.formatYearCaption),{...h0e,...n}}function m0e(n,e,t,r,s){const{startOfMonth:i,startOfYear:l,endOfYear:c,eachMonthOfInterval:u,getMonth:h}=s;return u({start:l(n),end:c(n)}).map(x=>{const v=r.formatMonthDropdown(x,s),b=h(x),O=e&&xi(t)||!1;return{value:b,label:v,disabled:O}})}function p0e(n,e={},t={}){let r={...e?.[et.Day]};return Object.entries(n).filter(([,s])=>s===!0).forEach(([s])=>{r={...r,...t?.[s]}}),r}function g0e(n,e,t){const r=n.today(),s=e?n.startOfISOWeek(r):n.startOfWeek(r),i=[];for(let l=0;l<7;l++){const c=n.addDays(s,l);i.push(c)}return i}function x0e(n,e,t,r,s=!1){if(!n||!e)return;const{startOfYear:i,endOfYear:l,eachYearOfInterval:c,getYear:u}=r,h=i(n),m=l(e),p=c({start:h,end:m});return s&&p.reverse(),p.map(x=>{const v=t.formatYearDropdown(x,r);return{value:u(x),label:v,disabled:!1}})}function Fz(n,e,t,r){let s=(r??new ii(t)).format(n,"PPPP");return e.today&&(s=`Today, ${s}`),e.selected&&(s=`${s}, selected`),s}const v0e=Fz;function qz(n,e,t){return(t??new ii(e)).formatMonthYear(n)}const y0e=qz;function b0e(n,e,t,r){let s=(r??new ii(t)).format(n,"PPPP");return e?.today&&(s=`Today, ${s}`),s}function w0e(n){return"Choose the Month"}function S0e(){return""}function O0e(n){return"Go to the Next Month"}function k0e(n){return"Go to the Previous Month"}function j0e(n,e,t){return(t??new ii(e)).format(n,"cccc")}function N0e(n,e){return`Week ${n}`}function C0e(n){return"Week Number"}function T0e(n){return"Choose the Year"}const M0e=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:y0e,labelDay:v0e,labelDayButton:Fz,labelGrid:qz,labelGridcell:b0e,labelMonthDropdown:w0e,labelNav:S0e,labelNext:O0e,labelPrevious:k0e,labelWeekNumber:N0e,labelWeekNumberHeader:C0e,labelWeekday:j0e,labelYearDropdown:T0e},Symbol.toStringTag,{value:"Module"})),C0=n=>n instanceof HTMLElement?n:null,Vb=n=>[...n.querySelectorAll("[data-animated-month]")??[]],A0e=n=>C0(n.querySelector("[data-animated-month]")),Wb=n=>C0(n.querySelector("[data-animated-caption]")),Gb=n=>C0(n.querySelector("[data-animated-weeks]")),E0e=n=>C0(n.querySelector("[data-animated-nav]")),_0e=n=>C0(n.querySelector("[data-animated-weekdays]"));function D0e(n,e,{classNames:t,months:r,focused:s,dateLib:i}){const l=S.useRef(null),c=S.useRef(r),u=S.useRef(!1);S.useLayoutEffect(()=>{const h=c.current;if(c.current=r,!e||!n.current||!(n.current instanceof HTMLElement)||r.length===0||h.length===0||r.length!==h.length)return;const m=i.isSameMonth(r[0].date,h[0].date),p=i.isAfter(r[0].date,h[0].date),x=p?t[ei.caption_after_enter]:t[ei.caption_before_enter],v=p?t[ei.weeks_after_enter]:t[ei.weeks_before_enter],b=l.current,O=n.current.cloneNode(!0);if(O instanceof HTMLElement?(Vb(O).forEach(M=>{if(!(M instanceof HTMLElement))return;const _=A0e(M);_&&M.contains(_)&&M.removeChild(_);const D=Wb(M);D&&D.classList.remove(x);const E=Gb(M);E&&E.classList.remove(v)}),l.current=O):l.current=null,u.current||m||s)return;const k=b instanceof HTMLElement?Vb(b):[],j=Vb(n.current);if(j?.every(T=>T instanceof HTMLElement)&&k&&k.every(T=>T instanceof HTMLElement)){u.current=!0,n.current.style.isolation="isolate";const T=E0e(n.current);T&&(T.style.zIndex="1"),j.forEach((M,_)=>{const D=k[_];if(!D)return;M.style.position="relative",M.style.overflow="hidden";const E=Wb(M);E&&E.classList.add(x);const z=Gb(M);z&&z.classList.add(v);const Q=()=>{u.current=!1,n.current&&(n.current.style.isolation=""),T&&(T.style.zIndex=""),E&&E.classList.remove(x),z&&z.classList.remove(v),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 q=_0e(D);q&&(q.style.opacity="0");const B=Wb(D);B&&(B.classList.add(p?t[ei.caption_before_exit]:t[ei.caption_after_exit]),B.addEventListener("animationend",Q));const U=Gb(D);U&&U.classList.add(p?t[ei.weeks_before_exit]:t[ei.weeks_after_exit]),M.insertBefore(D,M.firstChild)})}})}function R0e(n,e,t,r){const s=n[0],i=n[n.length-1],{ISOWeek:l,fixedWeeks:c,broadcastCalendar:u}=t??{},{addDays:h,differenceInCalendarDays:m,differenceInCalendarMonths:p,endOfBroadcastWeek:x,endOfISOWeek:v,endOfMonth:b,endOfWeek:O,isAfter:k,startOfBroadcastWeek:j,startOfISOWeek:T,startOfWeek:M}=r,_=u?j(s,r):l?T(s):M(s),D=u?x(i):l?v(b(i)):O(b(i)),E=m(D,_),z=p(i,s)+1,Q=[];for(let U=0;U<=E;U++){const V=h(_,U);if(e&&k(V,e))break;Q.push(V)}const B=(u?35:42)*z;if(c&&Q.length{const s=r.weeks.reduce((i,l)=>i.concat(l.days.slice()),e.slice());return t.concat(s.slice())},e.slice())}function P0e(n,e,t,r){const{numberOfMonths:s=1}=t,i=[];for(let l=0;le)break;i.push(c)}return i}function o9(n,e,t,r){const{month:s,defaultMonth:i,today:l=r.today(),numberOfMonths:c=1}=n;let u=s||i||l;const{differenceInCalendarMonths:h,addMonths:m,startOfMonth:p}=r;if(t&&h(t,u){const j=t.broadcastCalendar?p(k,r):t.ISOWeek?x(k):v(k),T=t.broadcastCalendar?i(k):t.ISOWeek?l(c(k)):u(c(k)),M=e.filter(z=>z>=j&&z<=T),_=t.broadcastCalendar?35:42;if(t.fixedWeeks&&M.length<_){const z=e.filter(Q=>{const q=_-M.length;return Q>T&&Q<=s(T,q)});M.push(...z)}const D=M.reduce((z,Q)=>{const q=t.ISOWeek?h(Q):m(Q),B=z.find(V=>V.weekNumber===q),U=new Ez(Q,k,r);return B?B.days.push(U):z.push(new Cfe(q,[U])),z},[]),E=new Nfe(k,D);return O.push(E),O},[]);return t.reverseMonths?b.reverse():b}function B0e(n,e){let{startMonth:t,endMonth:r}=n;const{startOfYear:s,startOfDay:i,startOfMonth:l,endOfMonth:c,addYears:u,endOfYear:h,newDate:m,today:p}=e,{fromYear:x,toYear:v,fromMonth:b,toMonth:O}=n;!t&&b&&(t=b),!t&&x&&(t=e.newDate(x,0,1)),!r&&O&&(r=O),!r&&v&&(r=m(v,11,31));const k=n.captionLayout==="dropdown"||n.captionLayout==="dropdown-years";return t?t=l(t):x?t=m(x,0,1):!t&&k&&(t=s(u(n.today??p(),-100))),r?r=c(r):v?r=m(v,11,31):!r&&k&&(r=h(n.today??p())),[t&&i(t),r&&i(r)]}function I0e(n,e,t,r){if(t.disableNavigation)return;const{pagedNavigation:s,numberOfMonths:i=1}=t,{startOfMonth:l,addMonths:c,differenceInCalendarMonths:u}=r,h=s?i:1,m=l(n);if(!e)return c(m,h);if(!(u(e,n)t.concat(r.weeks.slice()),e.slice())}function Kx(n,e){const[t,r]=S.useState(n);return[e===void 0?t:e,r]}function Q0e(n,e){const[t,r]=B0e(n,e),{startOfMonth:s,endOfMonth:i}=e,l=o9(n,t,r,e),[c,u]=Kx(l,n.month?l:void 0);S.useEffect(()=>{const E=o9(n,t,r,e);u(E)},[n.timeZone]);const h=P0e(c,r,n,e),m=R0e(h,n.endMonth?i(n.endMonth):void 0,n,e),p=L0e(h,m,n,e),x=q0e(p),v=z0e(p),b=F0e(c,t,n,e),O=I0e(c,r,n,e),{disableNavigation:k,onMonthChange:j}=n,T=E=>x.some(z=>z.days.some(Q=>Q.isEqualTo(E))),M=E=>{if(k)return;let z=s(E);t&&zs(r)&&(z=s(r)),u(z),j?.(z)};return{months:p,weeks:x,days:v,navStart:t,navEnd:r,previousMonth:b,nextMonth:O,goToMonth:M,goToDay:E=>{T(E)||M(E.date)}}}var sa;(function(n){n[n.Today=0]="Today",n[n.Selected=1]="Selected",n[n.LastFocused=2]="LastFocused",n[n.FocusedModifier=3]="FocusedModifier"})(sa||(sa={}));function c9(n){return!n[Yn.disabled]&&!n[Yn.hidden]&&!n[Yn.outside]}function $0e(n,e,t,r){let s,i=-1;for(const l of n){const c=e(l);c9(c)&&(c[Yn.focused]&&ic9(e(l)))),s}function H0e(n,e,t,r,s,i,l){const{ISOWeek:c,broadcastCalendar:u}=i,{addDays:h,addMonths:m,addWeeks:p,addYears:x,endOfBroadcastWeek:v,endOfISOWeek:b,endOfWeek:O,max:k,min:j,startOfBroadcastWeek:T,startOfISOWeek:M,startOfWeek:_}=l;let E={day:h,week:p,month:m,year:x,startOfWeek:z=>u?T(z,l):c?M(z):_(z),endOfWeek:z=>u?v(z):c?b(z):O(z)}[n](t,e==="after"?1:-1);return e==="before"&&r?E=k([r,E]):e==="after"&&s&&(E=j([s,E])),E}function Qz(n,e,t,r,s,i,l,c=0){if(c>365)return;const u=H0e(n,e,t.date,r,s,i,l),h=!!(i.disabled&&ll(u,i.disabled,l)),m=!!(i.hidden&&ll(u,i.hidden,l)),p=u,x=new Ez(u,p,l);return!h&&!m?x:Qz(n,e,x,r,s,i,l,c+1)}function U0e(n,e,t,r,s){const{autoFocus:i}=n,[l,c]=S.useState(),u=$0e(e.days,t,r||(()=>!1),l),[h,m]=S.useState(i?u:void 0);return{isFocusTarget:O=>!!u?.isEqualTo(O),setFocused:m,focused:h,blur:()=>{c(h),m(void 0)},moveFocus:(O,k)=>{if(!h)return;const j=Qz(O,k,h,e.navStart,e.navEnd,n,s);j&&(n.disableNavigation&&!e.days.some(M=>M.isEqualTo(j))||(e.goToDay(j),m(j)))}}}function V0e(n,e){const{selected:t,required:r,onSelect:s}=n,[i,l]=Kx(t,s?t:void 0),c=s?t:i,{isSameDay:u}=e,h=v=>c?.some(b=>u(b,v))??!1,{min:m,max:p}=n;return{selected:c,select:(v,b,O)=>{let k=[...c??[]];if(h(v)){if(c?.length===m||r&&c?.length===1)return;k=c?.filter(j=>!u(j,v))}else c?.length===p?k=[v]:k=[...k,v];return s||l(k),s?.(k,v,b,O),k},isSelected:h}}function W0e(n,e,t=0,r=0,s=!1,i=Ma){const{from:l,to:c}=e||{},{isSameDay:u,isAfter:h,isBefore:m}=i;let p;if(!l&&!c)p={from:n,to:t>0?void 0:n};else if(l&&!c)u(l,n)?t===0?p={from:l,to:n}:s?p={from:l,to:void 0}:p=void 0:m(n,l)?p={from:n,to:l}:p={from:l,to:n};else if(l&&c)if(u(l,n)&&u(c,n))s?p={from:l,to:c}:p=void 0;else if(u(l,n))p={from:l,to:t>0?void 0:n};else if(u(c,n))p={from:n,to:t>0?void 0:n};else if(m(n,l))p={from:n,to:c};else if(h(n,l))p={from:l,to:n};else if(h(n,c))p={from:l,to:n};else throw new Error("Invalid range");if(p?.from&&p?.to){const x=i.differenceInCalendarDays(p.to,p.from);r>0&&x>r?p={from:n,to:void 0}:t>1&&xtypeof c!="function").some(c=>typeof c=="boolean"?c:t.isDate(c)?al(n,c,!1,t):Lz(c,t)?c.some(u=>al(n,u,!1,t)):K5(c)?c.from&&c.to?u9(n,{from:c.from,to:c.to},t):!1:Pz(c)?G0e(n,c.dayOfWeek,t):Dz(c)?t.isAfter(c.before,c.after)?u9(n,{from:t.addDays(c.after,1),to:t.addDays(c.before,-1)},t):ll(n.from,c,t)||ll(n.to,c,t):Rz(c)||zz(c)?ll(n.from,c,t)||ll(n.to,c,t):!1))return!0;const l=r.filter(c=>typeof c=="function");if(l.length){let c=n.from;const u=t.differenceInCalendarDays(n.to,n.from);for(let h=0;h<=u;h++){if(l.some(m=>m(c)))return!0;c=t.addDays(c,1)}}return!1}function Y0e(n,e){const{disabled:t,excludeDisabled:r,selected:s,required:i,onSelect:l}=n,[c,u]=Kx(s,l?s:void 0),h=l?s:c;return{selected:h,select:(x,v,b)=>{const{min:O,max:k}=n,j=x?W0e(x,h,O,k,i,e):void 0;return r&&t&&j?.from&&j.to&&X0e({from:j.from,to:j.to},t,e)&&(j.from=x,j.to=void 0),l||u(j),l?.(j,x,v,b),j},isSelected:x=>h&&al(h,x,!1,e)}}function K0e(n,e){const{selected:t,required:r,onSelect:s}=n,[i,l]=Kx(t,s?t:void 0),c=s?t:i,{isSameDay:u}=e;return{selected:c,select:(p,x,v)=>{let b=p;return!r&&c&&c&&u(p,c)&&(b=void 0),s||l(b),s?.(b,p,x,v),b},isSelected:p=>c?u(c,p):!1}}function Z0e(n,e){const t=K0e(n,e),r=V0e(n,e),s=Y0e(n,e);switch(n.mode){case"single":return t;case"multiple":return r;case"range":return s;default:return}}function J0e(n){let e=n;e.timeZone&&(e={...n},e.today&&(e.today=new Zr(e.today,e.timeZone)),e.month&&(e.month=new Zr(e.month,e.timeZone)),e.defaultMonth&&(e.defaultMonth=new Zr(e.defaultMonth,e.timeZone)),e.startMonth&&(e.startMonth=new Zr(e.startMonth,e.timeZone)),e.endMonth&&(e.endMonth=new Zr(e.endMonth,e.timeZone)),e.mode==="single"&&e.selected?e.selected=new Zr(e.selected,e.timeZone):e.mode==="multiple"&&e.selected?e.selected=e.selected?.map(dt=>new Zr(dt,e.timeZone)):e.mode==="range"&&e.selected&&(e.selected={from:e.selected.from?new Zr(e.selected.from,e.timeZone):void 0,to:e.selected.to?new Zr(e.selected.to,e.timeZone):void 0}));const{components:t,formatters:r,labels:s,dateLib:i,locale:l,classNames:c}=S.useMemo(()=>{const dt={...Y5,...e.locale};return{dateLib:new ii({locale:dt,weekStartsOn:e.broadcastCalendar?1:e.weekStartsOn,firstWeekContainsDate:e.firstWeekContainsDate,useAdditionalWeekYearTokens:e.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:e.useAdditionalDayOfYearTokens,timeZone:e.timeZone,numerals:e.numerals},e.dateLib),components:r0e(e.components),formatters:f0e(e.formatters),labels:{...M0e,...e.labels},locale:dt,classNames:{...Z5(),...e.classNames}}},[e.locale,e.broadcastCalendar,e.weekStartsOn,e.firstWeekContainsDate,e.useAdditionalWeekYearTokens,e.useAdditionalDayOfYearTokens,e.timeZone,e.numerals,e.dateLib,e.components,e.formatters,e.labels,e.classNames]),{captionLayout:u,mode:h,navLayout:m,numberOfMonths:p=1,onDayBlur:x,onDayClick:v,onDayFocus:b,onDayKeyDown:O,onDayMouseEnter:k,onDayMouseLeave:j,onNextClick:T,onPrevClick:M,showWeekNumber:_,styles:D}=e,{formatCaption:E,formatDay:z,formatMonthDropdown:Q,formatWeekNumber:q,formatWeekNumberHeader:B,formatWeekdayName:U,formatYearDropdown:V}=r,ce=Q0e(e,i),{days:W,months:J,navStart:H,navEnd:ae,previousMonth:ne,nextMonth:ue,goToMonth:R}=ce,me=t0e(W,e,H,ae,i),{isSelected:Y,select:P,selected:K}=Z0e(e,i)??{},{blur:$,focused:fe,isFocusTarget:ye,moveFocus:Re,setFocused:de}=U0e(e,ce,me,Y??(()=>!1),i),{labelDayButton:We,labelGridcell:ct,labelGrid:ke,labelMonthDropdown:nt,labelNav:ut,labelPrevious:Ct,labelNext:Bn,labelWeekday:Tn,labelWeekNumber:Jn,labelWeekNumberHeader:nn,labelYearDropdown:_t}=s,Yr=S.useMemo(()=>g0e(i,e.ISOWeek),[i,e.ISOWeek]),In=h!==void 0||v!==void 0,or=S.useCallback(()=>{ne&&(R(ne),M?.(ne))},[ne,R,M]),yn=S.useCallback(()=>{ue&&(R(ue),T?.(ue))},[R,ue,T]),ft=S.useCallback((dt,zn)=>mt=>{mt.preventDefault(),mt.stopPropagation(),de(dt),P?.(dt.date,zn,mt),v?.(dt.date,zn,mt)},[P,v,de]),ee=S.useCallback((dt,zn)=>mt=>{de(dt),b?.(dt.date,zn,mt)},[b,de]),Se=S.useCallback((dt,zn)=>mt=>{$(),x?.(dt.date,zn,mt)},[$,x]),Le=S.useCallback((dt,zn)=>mt=>{const rn={ArrowLeft:[mt.shiftKey?"month":"day",e.dir==="rtl"?"after":"before"],ArrowRight:[mt.shiftKey?"month":"day",e.dir==="rtl"?"before":"after"],ArrowDown:[mt.shiftKey?"year":"week","after"],ArrowUp:[mt.shiftKey?"year":"week","before"],PageUp:[mt.shiftKey?"year":"month","before"],PageDown:[mt.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(rn[mt.key]){mt.preventDefault(),mt.stopPropagation();const[Ar,Mt]=rn[mt.key];Re(Ar,Mt)}O?.(dt.date,zn,mt)},[Re,O,e.dir]),rt=S.useCallback((dt,zn)=>mt=>{k?.(dt.date,zn,mt)},[k]),Tt=S.useCallback((dt,zn)=>mt=>{j?.(dt.date,zn,mt)},[j]),cr=S.useCallback(dt=>zn=>{const mt=Number(zn.target.value),rn=i.setMonth(i.startOfMonth(dt),mt);R(rn)},[i,R]),Kr=S.useCallback(dt=>zn=>{const mt=Number(zn.target.value),rn=i.setYear(i.startOfMonth(dt),mt);R(rn)},[i,R]),{className:re,style:Me}=S.useMemo(()=>({className:[c[et.Root],e.className].filter(Boolean).join(" "),style:{...D?.[et.Root],...e.style}}),[c,e.className,e.style,D]),pt=s0e(e),vt=S.useRef(null);D0e(vt,!!e.animate,{classNames:c,months:J,focused:fe,dateLib:i});const vs={dayPickerProps:e,selected:K,select:P,isSelected:Y,months:J,nextMonth:ue,previousMonth:ne,goToMonth:R,getModifiers:me,components:t,classNames:c,styles:D,labels:s,formatters:r};return Ue.createElement(_z.Provider,{value:vs},Ue.createElement(t.Root,{rootRef:e.animate?vt:void 0,className:re,style:Me,dir:e.dir,id:e.id,lang:e.lang,nonce:e.nonce,title:e.title,role:e.role,"aria-label":e["aria-label"],"aria-labelledby":e["aria-labelledby"],...pt},Ue.createElement(t.Months,{className:c[et.Months],style:D?.[et.Months]},!e.hideNavigation&&!m&&Ue.createElement(t.Nav,{"data-animated-nav":e.animate?"true":void 0,className:c[et.Nav],style:D?.[et.Nav],"aria-label":ut(),onPreviousClick:or,onNextClick:yn,previousMonth:ne,nextMonth:ue}),J.map((dt,zn)=>Ue.createElement(t.Month,{"data-animated-month":e.animate?"true":void 0,className:c[et.Month],style:D?.[et.Month],key:zn,displayIndex:zn,calendarMonth:dt},m==="around"&&!e.hideNavigation&&zn===0&&Ue.createElement(t.PreviousMonthButton,{type:"button",className:c[et.PreviousMonthButton],tabIndex:ne?void 0:-1,"aria-disabled":ne?void 0:!0,"aria-label":Ct(ne),onClick:or,"data-animated-button":e.animate?"true":void 0},Ue.createElement(t.Chevron,{disabled:ne?void 0:!0,className:c[et.Chevron],orientation:e.dir==="rtl"?"right":"left"})),Ue.createElement(t.MonthCaption,{"data-animated-caption":e.animate?"true":void 0,className:c[et.MonthCaption],style:D?.[et.MonthCaption],calendarMonth:dt,displayIndex:zn},u?.startsWith("dropdown")?Ue.createElement(t.DropdownNav,{className:c[et.Dropdowns],style:D?.[et.Dropdowns]},(()=>{const mt=u==="dropdown"||u==="dropdown-months"?Ue.createElement(t.MonthsDropdown,{key:"month",className:c[et.MonthsDropdown],"aria-label":nt(),classNames:c,components:t,disabled:!!e.disableNavigation,onChange:cr(dt.date),options:m0e(dt.date,H,ae,r,i),style:D?.[et.Dropdown],value:i.getMonth(dt.date)}):Ue.createElement("span",{key:"month"},Q(dt.date,i)),rn=u==="dropdown"||u==="dropdown-years"?Ue.createElement(t.YearsDropdown,{key:"year",className:c[et.YearsDropdown],"aria-label":_t(i.options),classNames:c,components:t,disabled:!!e.disableNavigation,onChange:Kr(dt.date),options:x0e(H,ae,r,i,!!e.reverseYears),style:D?.[et.Dropdown],value:i.getYear(dt.date)}):Ue.createElement("span",{key:"year"},V(dt.date,i));return i.getMonthYearOrder()==="year-first"?[rn,mt]:[mt,rn]})(),Ue.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"}},E(dt.date,i.options,i))):Ue.createElement(t.CaptionLabel,{className:c[et.CaptionLabel],role:"status","aria-live":"polite"},E(dt.date,i.options,i))),m==="around"&&!e.hideNavigation&&zn===p-1&&Ue.createElement(t.NextMonthButton,{type:"button",className:c[et.NextMonthButton],tabIndex:ue?void 0:-1,"aria-disabled":ue?void 0:!0,"aria-label":Bn(ue),onClick:yn,"data-animated-button":e.animate?"true":void 0},Ue.createElement(t.Chevron,{disabled:ue?void 0:!0,className:c[et.Chevron],orientation:e.dir==="rtl"?"left":"right"})),zn===p-1&&m==="after"&&!e.hideNavigation&&Ue.createElement(t.Nav,{"data-animated-nav":e.animate?"true":void 0,className:c[et.Nav],style:D?.[et.Nav],"aria-label":ut(),onPreviousClick:or,onNextClick:yn,previousMonth:ne,nextMonth:ue}),Ue.createElement(t.MonthGrid,{role:"grid","aria-multiselectable":h==="multiple"||h==="range","aria-label":ke(dt.date,i.options,i)||void 0,className:c[et.MonthGrid],style:D?.[et.MonthGrid]},!e.hideWeekdays&&Ue.createElement(t.Weekdays,{"data-animated-weekdays":e.animate?"true":void 0,className:c[et.Weekdays],style:D?.[et.Weekdays]},_&&Ue.createElement(t.WeekNumberHeader,{"aria-label":nn(i.options),className:c[et.WeekNumberHeader],style:D?.[et.WeekNumberHeader],scope:"col"},B()),Yr.map(mt=>Ue.createElement(t.Weekday,{"aria-label":Tn(mt,i.options,i),className:c[et.Weekday],key:String(mt),style:D?.[et.Weekday],scope:"col"},U(mt,i.options,i)))),Ue.createElement(t.Weeks,{"data-animated-weeks":e.animate?"true":void 0,className:c[et.Weeks],style:D?.[et.Weeks]},dt.weeks.map(mt=>Ue.createElement(t.Week,{className:c[et.Week],key:mt.weekNumber,style:D?.[et.Week],week:mt},_&&Ue.createElement(t.WeekNumber,{week:mt,style:D?.[et.WeekNumber],"aria-label":Jn(mt.weekNumber,{locale:l}),className:c[et.WeekNumber],scope:"row",role:"rowheader"},q(mt.weekNumber,i)),mt.days.map(rn=>{const{date:Ar}=rn,Mt=me(rn);if(Mt[Yn.focused]=!Mt.hidden&&!!fe?.isEqualTo(rn),Mt[Bi.selected]=Y?.(Ar)||Mt.selected,K5(K)){const{from:Fc,to:_o}=K;Mt[Bi.range_start]=!!(Fc&&_o&&i.isSameDay(Ar,Fc)),Mt[Bi.range_end]=!!(Fc&&_o&&i.isSameDay(Ar,_o)),Mt[Bi.range_middle]=al(K,Ar,!0,i)}const Ic=p0e(Mt,D,e.modifiersStyles),Eo=n0e(Mt,c,e.modifiersClassNames),n1=!In&&!Mt.hidden?ct(Ar,Mt,i.options,i):void 0;return Ue.createElement(t.Day,{key:`${i.format(Ar,"yyyy-MM-dd")}_${i.format(rn.displayMonth,"yyyy-MM")}`,day:rn,modifiers:Mt,className:Eo.join(" "),style:Ic,role:"gridcell","aria-selected":Mt.selected||void 0,"aria-label":n1,"data-day":i.format(Ar,"yyyy-MM-dd"),"data-month":rn.outside?i.format(Ar,"yyyy-MM"):void 0,"data-selected":Mt.selected||void 0,"data-disabled":Mt.disabled||void 0,"data-hidden":Mt.hidden||void 0,"data-outside":rn.outside||void 0,"data-focused":Mt.focused||void 0,"data-today":Mt.today||void 0},!Mt.hidden&&In?Ue.createElement(t.DayButton,{className:c[et.DayButton],style:D?.[et.DayButton],type:"button",day:rn,modifiers:Mt,disabled:Mt.disabled||void 0,tabIndex:ye(rn)?0:-1,"aria-label":We(Ar,Mt,i.options,i),onClick:ft(rn,Mt),onBlur:Se(rn,Mt),onFocus:ee(rn,Mt),onKeyDown:Le(rn,Mt),onMouseEnter:rt(rn,Mt),onMouseLeave:Tt(rn,Mt)},z(Ar,i.options,i)):!Mt.hidden&&z(rn.date,i.options,i))})))))))),e.footer&&Ue.createElement(t.Footer,{className:c[et.Footer],style:D?.[et.Footer],role:"status","aria-live":"polite"},e.footer)))}function d9({className:n,classNames:e,showOutsideDays:t=!0,captionLayout:r="label",buttonVariant:s="ghost",formatters:i,components:l,...c}){const u=Z5();return a.jsx(J0e,{showOutsideDays:t,className:ve("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`,n),captionLayout:r,formatters:{formatMonthDropdown:h=>h.toLocaleString("default",{month:"short"}),...i},classNames:{root:ve("w-fit",u.root),months:ve("relative flex flex-col gap-4 md:flex-row",u.months),month:ve("flex w-full flex-col gap-4",u.month),nav:ve("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",u.nav),button_previous:ve(mf({variant:s}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",u.button_previous),button_next:ve(mf({variant:s}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",u.button_next),month_caption:ve("flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",u.month_caption),dropdowns:ve("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",u.dropdowns),dropdown_root:ve("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",u.dropdown_root),dropdown:ve("bg-popover absolute inset-0 opacity-0",u.dropdown),caption_label:ve("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",u.caption_label),table:"w-full border-collapse",weekdays:ve("flex",u.weekdays),weekday:ve("text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",u.weekday),week:ve("mt-2 flex w-full",u.week),week_number_header:ve("w-[--cell-size] select-none",u.week_number_header),week_number:ve("text-muted-foreground select-none text-[0.8rem]",u.week_number),day:ve("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",u.day),range_start:ve("bg-accent rounded-l-md",u.range_start),range_middle:ve("rounded-none",u.range_middle),range_end:ve("bg-accent rounded-r-md",u.range_end),today:ve("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",u.today),outside:ve("text-muted-foreground aria-selected:text-muted-foreground",u.outside),disabled:ve("text-muted-foreground opacity-50",u.disabled),hidden:ve("invisible",u.hidden),...e},components:{Root:({className:h,rootRef:m,...p})=>a.jsx("div",{"data-slot":"calendar",ref:m,className:ve(h),...p}),Chevron:({className:h,orientation:m,...p})=>m==="left"?a.jsx(Tc,{className:ve("size-4",h),...p}):m==="right"?a.jsx(Mc,{className:ve("size-4",h),...p}):a.jsx(hf,{className:ve("size-4",h),...p}),DayButton:eme,WeekNumber:({children:h,...m})=>a.jsx("td",{...m,children:a.jsx("div",{className:"flex size-[--cell-size] items-center justify-center text-center",children:h})}),...l},...c})}function eme({className:n,day:e,modifiers:t,...r}){const s=Z5(),i=S.useRef(null);return S.useEffect(()=>{t.focused&&i.current?.focus()},[t.focused]),a.jsx(ie,{ref:i,variant:"ghost",size:"icon","data-day":e.date.toLocaleDateString(),"data-selected-single":t.selected&&!t.range_start&&!t.range_end&&!t.range_middle,"data-range-start":t.range_start,"data-range-end":t.range_end,"data-range-middle":t.range_middle,className:ve("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",s.day,n),...r})}class tme{ws=null;reconnectTimeout=null;reconnectAttempts=0;maxReconnectAttempts=10;heartbeatInterval=null;logCallbacks=new Set;connectionCallbacks=new Set;isConnected=!1;logCache=[];maxCacheSize=1e3;getWebSocketUrl(){{const e=window.location.protocol==="https:"?"wss:":"ws:",t=window.location.host;return`${e}//${t}/ws/logs`}}connect(){if(this.ws?.readyState===WebSocket.OPEN||this.ws?.readyState===WebSocket.CONNECTING)return;const e=this.getWebSocketUrl();try{this.ws=new WebSocket(e),this.ws.onopen=()=>{this.isConnected=!0,this.reconnectAttempts=0,this.notifyConnection(!0),this.startHeartbeat()},this.ws.onmessage=t=>{try{if(t.data==="pong")return;const r=JSON.parse(t.data);this.notifyLog(r)}catch(r){console.error("解析日志消息失败:",r)}},this.ws.onerror=t=>{console.error("❌ WebSocket 错误:",t),this.isConnected=!1,this.notifyConnection(!1)},this.ws.onclose=()=>{this.isConnected=!1,this.notifyConnection(!1),this.stopHeartbeat(),this.attemptReconnect()}}catch(t){console.error("创建 WebSocket 连接失败:",t),this.attemptReconnect()}}attemptReconnect(){if(this.reconnectAttempts>=this.maxReconnectAttempts)return;this.reconnectAttempts+=1;const e=Math.min(1e3*this.reconnectAttempts,1e4);this.reconnectTimeout=window.setTimeout(()=>{this.connect()},e)}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(e){return this.logCallbacks.add(e),()=>this.logCallbacks.delete(e)}onConnectionChange(e){return this.connectionCallbacks.add(e),e(this.isConnected),()=>this.connectionCallbacks.delete(e)}notifyLog(e){this.logCache.some(r=>r.id===e.id)||(this.logCache.push(e),this.logCache.length>this.maxCacheSize&&(this.logCache=this.logCache.slice(-this.maxCacheSize)),this.logCallbacks.forEach(r=>{try{r(e)}catch(s){console.error("日志回调执行失败:",s)}}))}notifyConnection(e){this.connectionCallbacks.forEach(t=>{try{t(e)}catch(r){console.error("连接状态回调执行失败:",r)}})}getAllLogs(){return[...this.logCache]}clearLogs(){this.logCache=[]}getConnectionStatus(){return this.isConnected}}const Fu=new tme;typeof window<"u"&&Fu.connect();const nme={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}} 年"}},rme=(n,e,t)=>{let r;const s=nme[n];return typeof s=="string"?r=s:e===1?r=s.one:r=s.other.replace("{{count}}",String(e)),t?.addSuffix?t.comparison&&t.comparison>0?r+"内":r+"前":r},sme={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},ime={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},ame={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},lme={date:nd({formats:sme,defaultWidth:"full"}),time:nd({formats:ime,defaultWidth:"full"}),dateTime:nd({formats:ame,defaultWidth:"full"})};function h9(n,e,t){const r="eeee p";return vfe(n,e,t)?r:n.getTime()>e.getTime()?"'下个'"+r:"'上个'"+r}const ome={lastWeek:h9,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:h9,other:"PP p"},cme=(n,e,t,r)=>{const s=ome[n];return typeof s=="function"?s(e,t,r):s},ume={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},dme={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},hme={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},fme={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},mme={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:"夜间"}},pme={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:"夜间"}},gme=(n,e)=>{const t=Number(n);switch(e?.unit){case"date":return t.toString()+"日";case"hour":return t.toString()+"时";case"minute":return t.toString()+"分";case"second":return t.toString()+"秒";default:return"第 "+t.toString()}},xme={ordinalNumber:gme,era:oa({values:ume,defaultWidth:"wide"}),quarter:oa({values:dme,defaultWidth:"wide",argumentCallback:n=>n-1}),month:oa({values:hme,defaultWidth:"wide"}),day:oa({values:fme,defaultWidth:"wide"}),dayPeriod:oa({values:mme,defaultWidth:"wide",formattingValues:pme,defaultFormattingWidth:"wide"})},vme=/^(第\s*)?\d+(日|时|分|秒)?/i,yme=/\d+/i,bme={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},wme={any:[/^(前)/i,/^(公元)/i]},Sme={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},Ome={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},kme={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},jme={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]},Nme={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},Cme={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Tme={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},Mme={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},Ame={ordinalNumber:jz({matchPattern:vme,parsePattern:yme,valueCallback:n=>parseInt(n,10)}),era:ca({matchPatterns:bme,defaultMatchWidth:"wide",parsePatterns:wme,defaultParseWidth:"any"}),quarter:ca({matchPatterns:Sme,defaultMatchWidth:"wide",parsePatterns:Ome,defaultParseWidth:"any",valueCallback:n=>n+1}),month:ca({matchPatterns:kme,defaultMatchWidth:"wide",parsePatterns:jme,defaultParseWidth:"any"}),day:ca({matchPatterns:Nme,defaultMatchWidth:"wide",parsePatterns:Cme,defaultParseWidth:"any"}),dayPeriod:ca({matchPatterns:Tme,defaultMatchWidth:"any",parsePatterns:Mme,defaultParseWidth:"any"})},Bp={code:"zh-CN",formatDistance:rme,formatLong:lme,formatRelative:cme,localize:xme,match:Ame,options:{weekStartsOn:1,firstWeekContainsDate:4}};function Eme(){const[n,e]=S.useState([]),[t,r]=S.useState(""),[s,i]=S.useState("all"),[l,c]=S.useState("all"),[u,h]=S.useState(void 0),[m,p]=S.useState(void 0),[x,v]=S.useState(!0),[b,O]=S.useState(!1),k=S.useRef(null);S.useEffect(()=>{const U=Fu.getAllLogs();e(U);const V=Fu.onLog(()=>{e(Fu.getAllLogs())}),ce=Fu.onConnectionChange(W=>{O(W)});return()=>{V(),ce()}},[]);const j=S.useMemo(()=>{const U=new Set(n.map(V=>V.module));return Array.from(U).sort()},[n]),T=U=>{switch(U){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"}},M=U=>{switch(U){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"}},_=()=>{window.location.reload()},D=()=>{Fu.clearLogs(),e([])},E=()=>{const U=q.map(J=>`${J.timestamp} [${J.level.padEnd(8)}] [${J.module}] ${J.message}`).join(` -`),V=new Blob([U],{type:"text/plain;charset=utf-8"}),ce=URL.createObjectURL(V),W=document.createElement("a");W.href=ce,W.download=`logs-${hg(new Date,"yyyy-MM-dd-HHmmss")}.txt`,W.click(),URL.revokeObjectURL(ce)},z=()=>{v(!x)},Q=()=>{h(void 0),p(void 0)},q=S.useMemo(()=>n.filter(U=>{const V=t===""||U.message.toLowerCase().includes(t.toLowerCase())||U.module.toLowerCase().includes(t.toLowerCase()),ce=s==="all"||U.level===s,W=l==="all"||U.module===l;let J=!0;if(u||m){const H=new Date(U.timestamp);if(u){const ae=new Date(u);ae.setHours(0,0,0,0),J=J&&H>=ae}if(m){const ae=new Date(m);ae.setHours(23,59,59,999),J=J&&H<=ae}}return V&&ce&&W&&J}),[n,t,s,l,u,m]),B=Zde({count:q.length,getScrollElement:()=>k.current,estimateSize:()=>80,overscan:10});return S.useEffect(()=>{x&&q.length>0&&B.scrollToIndex(q.length-1,{align:"end",behavior:"auto"})},[q.length,x,B]),a.jsx(fn,{className:"h-full",children:a.jsxs("div",{className:"space-y-4 p-3 sm:p-4 lg:p-6",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-xl sm:text-2xl lg:text-3xl font-bold",children:"日志查看器"}),a.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:"实时查看和分析麦麦运行日志"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:ve("h-2.5 w-2.5 sm:h-3 sm:w-3 rounded-full",b?"bg-green-500 animate-pulse":"bg-red-500")}),a.jsx("span",{className:"text-xs sm:text-sm text-muted-foreground",children:b?"已连接":"未连接"})]})]}),a.jsx(yt,{className:"p-3 sm:p-4",children:a.jsxs("div",{className:"flex flex-col gap-3 sm:gap-4",children:[a.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:gap-4",children:[a.jsxs("div",{className:"flex-1 relative",children:[a.jsx(Ps,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Ae,{placeholder:"搜索日志...",value:t,onChange:U=>r(U.target.value),className:"pl-9 h-9 text-sm"})]}),a.jsxs(Bt,{value:s,onValueChange:i,children:[a.jsxs(Dt,{className:"w-full sm:w-[140px] lg:w-[180px] h-9 text-sm",children:[a.jsx(n2,{className:"h-4 w-4 mr-2"}),a.jsx(It,{placeholder:"级别"})]}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"all",children:"全部级别"}),a.jsx(Pe,{value:"DEBUG",children:"DEBUG"}),a.jsx(Pe,{value:"INFO",children:"INFO"}),a.jsx(Pe,{value:"WARNING",children:"WARNING"}),a.jsx(Pe,{value:"ERROR",children:"ERROR"}),a.jsx(Pe,{value:"CRITICAL",children:"CRITICAL"})]})]}),a.jsxs(Bt,{value:l,onValueChange:c,children:[a.jsxs(Dt,{className:"w-full sm:w-[160px] lg:w-[200px] h-9 text-sm",children:[a.jsx(n2,{className:"h-4 w-4 mr-2"}),a.jsx(It,{placeholder:"模块"})]}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"all",children:"全部模块"}),j.map(U=>a.jsx(Pe,{value:U,children:U},U))]})]})]}),a.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:gap-4",children:[a.jsxs(co,{children:[a.jsx(uo,{asChild:!0,children:a.jsxs(ie,{variant:"outline",size:"sm",className:ve("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!u&&"text-muted-foreground"),children:[a.jsx(hk,{className:"mr-2 h-4 w-4"}),a.jsx("span",{className:"text-xs sm:text-sm",children:u?hg(u,"PPP",{locale:Bp}):"开始日期"})]})}),a.jsx(hl,{className:"w-auto p-0",align:"start",children:a.jsx(d9,{mode:"single",selected:u,onSelect:h,initialFocus:!0,locale:Bp})})]}),a.jsxs(co,{children:[a.jsx(uo,{asChild:!0,children:a.jsxs(ie,{variant:"outline",size:"sm",className:ve("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!m&&"text-muted-foreground"),children:[a.jsx(hk,{className:"mr-2 h-4 w-4"}),a.jsx("span",{className:"text-xs sm:text-sm",children:m?hg(m,"PPP",{locale:Bp}):"结束日期"})]})}),a.jsx(hl,{className:"w-auto p-0",align:"start",children:a.jsx(d9,{mode:"single",selected:m,onSelect:p,initialFocus:!0,locale:Bp})})]}),(u||m)&&a.jsxs(ie,{variant:"outline",size:"sm",onClick:Q,className:"w-full sm:w-auto h-9",children:[a.jsx(Xf,{className:"h-4 w-4 sm:mr-2"}),a.jsx("span",{className:"hidden sm:inline text-sm",children:"清除时间筛选"}),a.jsx("span",{className:"sm:hidden text-sm",children:"清除"})]})]}),a.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[a.jsxs("div",{className:"flex gap-2 flex-wrap",children:[a.jsxs(ie,{variant:x?"default":"outline",size:"sm",onClick:z,className:"flex-1 sm:flex-none h-9",children:[x?a.jsx(_F,{className:"h-4 w-4"}):a.jsx(DF,{className:"h-4 w-4"}),a.jsx("span",{className:"ml-2 text-sm",children:x?"自动滚动":"已暂停"})]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:_,className:"flex-1 sm:flex-none h-9",children:[a.jsx(Ii,{className:"h-4 w-4"}),a.jsx("span",{className:"ml-2 text-sm",children:"刷新"})]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:D,className:"flex-1 sm:flex-none h-9",children:[a.jsx(Ht,{className:"h-4 w-4"}),a.jsx("span",{className:"ml-2 text-sm",children:"清空"})]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:E,className:"flex-1 sm:flex-none h-9",children:[a.jsx(fc,{className:"h-4 w-4"}),a.jsx("span",{className:"ml-2 text-sm",children:"导出"})]})]}),a.jsx("div",{className:"flex-1 hidden sm:block"}),a.jsxs("div",{className:"text-xs sm:text-sm text-muted-foreground flex items-center justify-center sm:justify-end",children:[a.jsxs("span",{className:"font-mono",children:[q.length," / ",n.length]}),a.jsx("span",{className:"ml-1",children:"条日志"})]})]})]})}),a.jsx(yt,{className:"bg-black dark:bg-gray-950 border-gray-800 dark:border-gray-900",children:a.jsx(fn,{viewportRef:k,className:"h-[calc(100vh-280px)] sm:h-[calc(100vh-320px)] lg:h-[calc(100vh-400px)]",children:a.jsx("div",{className:"p-2 sm:p-3 lg:p-4 font-mono text-xs sm:text-sm relative",style:{height:`${B.getTotalSize()}px`},children:q.length===0?a.jsx("div",{className:"text-gray-500 dark:text-gray-600 text-center py-8 text-sm",children:"暂无日志数据"}):B.getVirtualItems().map(U=>{const V=q[U.index];return a.jsxs("div",{"data-index":U.index,ref:B.measureElement,className:ve("absolute top-0 left-0 w-full py-2 px-2 sm:px-3 rounded hover:bg-white/5 transition-colors group",M(V.level)),style:{transform:`translateY(${U.start}px)`},children:[a.jsxs("div",{className:"flex flex-col gap-1 sm:hidden",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-gray-500 dark:text-gray-600 text-xs",children:V.timestamp}),a.jsxs("span",{className:ve("text-xs font-semibold",T(V.level)),children:["[",V.level,"]"]})]}),a.jsx("div",{className:"text-cyan-400 dark:text-cyan-500 text-xs truncate",children:V.module}),a.jsx("div",{className:"text-gray-300 dark:text-gray-400 text-xs whitespace-pre-wrap break-words",children:V.message})]}),a.jsxs("div",{className:"hidden sm:flex gap-3 items-start",children:[a.jsx("span",{className:"text-gray-500 dark:text-gray-600 flex-shrink-0 w-[140px] lg:w-[180px] text-xs lg:text-sm",children:V.timestamp}),a.jsxs("span",{className:ve("flex-shrink-0 w-[70px] lg:w-[80px] font-semibold text-xs lg:text-sm",T(V.level)),children:["[",V.level,"]"]}),a.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:V.module}),a.jsx("span",{className:"text-gray-300 dark:text-gray-400 flex-1 whitespace-pre-wrap break-words text-xs lg:text-sm",children:V.message})]})]},U.key)})})})})]})})}const _me="Mai-with-u",Dme="plugin-repo",Rme="main",zme="plugin_details.json";async function Pme(){try{const n=await ot("/api/webui/plugins/fetch-raw",{method:"POST",headers:bt(),body:JSON.stringify({owner:_me,repo:Dme,branch:Rme,file_path:zme})});if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);const e=await n.json();if(!e.success||!e.data)throw new Error(e.error||"获取插件列表失败");return JSON.parse(e.data).filter(s=>!s?.id||!s?.manifest?(console.warn("跳过无效插件数据:",s),!1):!s.manifest.name||!s.manifest.version?(console.warn("跳过缺少必需字段的插件:",s.id),!1):!0).map(s=>({id:s.id,manifest:{manifest_version:s.manifest.manifest_version||1,name:s.manifest.name,version:s.manifest.version,description:s.manifest.description||"",author:s.manifest.author||{name:"Unknown"},license:s.manifest.license||"Unknown",host_application:s.manifest.host_application||{min_version:"0.0.0"},homepage_url:s.manifest.homepage_url,repository_url:s.manifest.repository_url,keywords:s.manifest.keywords||[],categories:s.manifest.categories||[],default_locale:s.manifest.default_locale||"zh-CN",locales_path:s.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!1,published_at:new Date().toISOString(),updated_at:new Date().toISOString()}))}catch(n){throw console.error("Failed to fetch plugin list:",n),n}}async function Lme(){try{const n=await ot("/api/webui/plugins/git-status");if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);return await n.json()}catch(n){return console.error("Failed to check Git status:",n),{installed:!1,error:"无法检测 Git 安装状态"}}}async function Bme(){try{const n=await ot("/api/webui/plugins/version");if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);return await n.json()}catch(n){return console.error("Failed to get Maimai version:",n),{version:"0.0.0",version_major:0,version_minor:0,version_patch:0}}}function Ime(n,e,t){const r=n.split(".").map(c=>parseInt(c)||0),s=r[0]||0,i=r[1]||0,l=r[2]||0;if(t.version_majorparseInt(p)||0),u=c[0]||0,h=c[1]||0,m=c[2]||0;if(t.version_major>u||t.version_major===u&&t.version_minor>h||t.version_major===u&&t.version_minor===h&&t.version_patch>m)return!1}return!0}function Fme(n,e){const t=window.location.protocol==="https:"?"wss:":"ws:",r=window.location.host,s=new WebSocket(`${t}//${r}/api/webui/ws/plugin-progress`);return s.onopen=()=>{console.log("Plugin progress WebSocket connected");const i=setInterval(()=>{s.readyState===WebSocket.OPEN?s.send("ping"):clearInterval(i)},3e4)},s.onmessage=i=>{try{if(i.data==="pong")return;const l=JSON.parse(i.data);n(l)}catch(l){console.error("Failed to parse progress data:",l)}},s.onerror=i=>{console.error("Plugin progress WebSocket error:",i),e?.(i)},s.onclose=()=>{console.log("Plugin progress WebSocket disconnected")},s}async function Ip(){try{const n=await ot("/api/webui/plugins/installed",{headers:bt()});if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);const e=await n.json();if(!e.success)throw new Error(e.message||"获取已安装插件列表失败");return e.plugins||[]}catch(n){return console.error("Failed to get installed plugins:",n),[]}}function Fp(n,e){return e.some(t=>t.id===n)}function qp(n,e){const t=e.find(r=>r.id===n);if(t)return t.manifest?.version||t.version}async function qme(n,e,t="main"){const r=await ot("/api/webui/plugins/install",{method:"POST",headers:bt(),body:JSON.stringify({plugin_id:n,repository_url:e,branch:t})});if(!r.ok){const s=await r.json();throw new Error(s.detail||"安装失败")}return await r.json()}async function Qme(n){const e=await ot("/api/webui/plugins/uninstall",{method:"POST",headers:bt(),body:JSON.stringify({plugin_id:n})});if(!e.ok){const t=await e.json();throw new Error(t.detail||"卸载失败")}return await e.json()}async function $me(n,e,t="main"){const r=await ot("/api/webui/plugins/update",{method:"POST",headers:bt(),body:JSON.stringify({plugin_id:n,repository_url:e,branch:t})});if(!r.ok){const s=await r.json();throw new Error(s.detail||"更新失败")}return await r.json()}const T0="https://maibot-plugin-stats.maibot-webui.workers.dev";async function $z(n){try{const e=await fetch(`${T0}/stats/${n}`);return e.ok?await e.json():(console.error("Failed to fetch plugin stats:",e.statusText),null)}catch(e){return console.error("Error fetching plugin stats:",e),null}}async function Hme(n,e){try{const t=e||J5(),r=await fetch(`${T0}/stats/like`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plugin_id:n,user_id:t})}),s=await r.json();return r.status===429?{success:!1,error:"操作过于频繁,请稍后再试"}:r.ok?{success:!0,...s}:{success:!1,error:s.error||"点赞失败"}}catch(t){return console.error("Error liking plugin:",t),{success:!1,error:"网络错误"}}}async function Ume(n,e){try{const t=e||J5(),r=await fetch(`${T0}/stats/dislike`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plugin_id:n,user_id:t})}),s=await r.json();return r.status===429?{success:!1,error:"操作过于频繁,请稍后再试"}:r.ok?{success:!0,...s}:{success:!1,error:s.error||"点踩失败"}}catch(t){return console.error("Error disliking plugin:",t),{success:!1,error:"网络错误"}}}async function Vme(n,e,t,r){if(e<1||e>5)return{success:!1,error:"评分必须在 1-5 之间"};try{const s=r||J5(),i=await fetch(`${T0}/stats/rate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plugin_id:n,rating:e,comment:t,user_id:s})}),l=await i.json();return i.status===429?{success:!1,error:"每天最多评分 3 次"}:i.ok?{success:!0,...l}:{success:!1,error:l.error||"评分失败"}}catch(s){return console.error("Error rating plugin:",s),{success:!1,error:"网络错误"}}}async function Wme(n){try{const e=await fetch(`${T0}/stats/download`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plugin_id:n})}),t=await e.json();return e.status===429?(console.warn("Download recording rate limited"),{success:!0}):e.ok?{success:!0,...t}:(console.error("Failed to record download:",t.error),{success:!1,error:t.error})}catch(e){return console.error("Error recording download:",e),{success:!1,error:"网络错误"}}}function Gme(){const n=navigator,e=[navigator.userAgent,navigator.language,navigator.languages?.join(",")||"",navigator.platform,navigator.hardwareConcurrency||0,screen.width,screen.height,screen.colorDepth,screen.pixelDepth,new Date().getTimezoneOffset(),Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.maxTouchPoints||0,n.deviceMemory||0].join("|");let t=0;for(let r=0;r{i(!0);const j=await $z(n);j&&r(j),i(!1)};S.useEffect(()=>{v()},[n]);const b=async()=>{const j=await Hme(n);j.success?(x({title:"已点赞",description:"感谢你的支持!"}),v()):x({title:"点赞失败",description:j.error||"未知错误",variant:"destructive"})},O=async()=>{const j=await Ume(n);j.success?(x({title:"已反馈",description:"感谢你的反馈!"}),v()):x({title:"操作失败",description:j.error||"未知错误",variant:"destructive"})},k=async()=>{if(l===0){x({title:"请选择评分",description:"至少选择 1 颗星",variant:"destructive"});return}const j=await Vme(n,l,u||void 0);j.success?(x({title:"评分成功",description:"感谢你的评价!"}),p(!1),c(0),h(""),v()):x({title:"评分失败",description:j.error||"未知错误",variant:"destructive"})};return s?a.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(fc,{className:"h-4 w-4"}),a.jsx("span",{children:"-"})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(Zl,{className:"h-4 w-4"}),a.jsx("span",{children:"-"})]})]}):t?e?a.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[a.jsxs("div",{className:"flex items-center gap-1",title:`下载量: ${t.downloads.toLocaleString()}`,children:[a.jsx(fc,{className:"h-4 w-4"}),a.jsx("span",{children:t.downloads.toLocaleString()})]}),a.jsxs("div",{className:"flex items-center gap-1",title:`评分: ${t.rating.toFixed(1)} (${t.rating_count} 条评价)`,children:[a.jsx(Zl,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),a.jsx("span",{children:t.rating.toFixed(1)})]}),a.jsxs("div",{className:"flex items-center gap-1",title:`点赞数: ${t.likes}`,children:[a.jsx(py,{className:"h-4 w-4"}),a.jsx("span",{children:t.likes})]})]}):a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:[a.jsxs("div",{className:"flex flex-col items-center p-3 rounded-lg border bg-card",children:[a.jsx(fc,{className:"h-5 w-5 text-muted-foreground mb-1"}),a.jsx("span",{className:"text-2xl font-bold",children:t.downloads.toLocaleString()}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"下载量"})]}),a.jsxs("div",{className:"flex flex-col items-center p-3 rounded-lg border bg-card",children:[a.jsx(Zl,{className:"h-5 w-5 text-yellow-400 mb-1 fill-yellow-400"}),a.jsx("span",{className:"text-2xl font-bold",children:t.rating.toFixed(1)}),a.jsxs("span",{className:"text-xs text-muted-foreground",children:[t.rating_count," 条评价"]})]}),a.jsxs("div",{className:"flex flex-col items-center p-3 rounded-lg border bg-card",children:[a.jsx(py,{className:"h-5 w-5 text-green-500 mb-1"}),a.jsx("span",{className:"text-2xl font-bold",children:t.likes}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"点赞"})]}),a.jsxs("div",{className:"flex flex-col items-center p-3 rounded-lg border bg-card",children:[a.jsx(fk,{className:"h-5 w-5 text-red-500 mb-1"}),a.jsx("span",{className:"text-2xl font-bold",children:t.dislikes}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"点踩"})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs(ie,{variant:"outline",size:"sm",onClick:b,children:[a.jsx(py,{className:"h-4 w-4 mr-1"}),"点赞"]}),a.jsxs(ie,{variant:"outline",size:"sm",onClick:O,children:[a.jsx(fk,{className:"h-4 w-4 mr-1"}),"点踩"]}),a.jsxs(Rr,{open:m,onOpenChange:p,children:[a.jsx(gw,{asChild:!0,children:a.jsxs(ie,{variant:"default",size:"sm",children:[a.jsx(Zl,{className:"h-4 w-4 mr-1"}),"评分"]})}),a.jsxs(Nr,{children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"为插件评分"}),a.jsx(Gr,{children:"分享你的使用体验,帮助其他用户"})]}),a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"flex flex-col items-center gap-2",children:[a.jsx("div",{className:"flex gap-2",children:[1,2,3,4,5].map(j=>a.jsx("button",{onClick:()=>c(j),className:"focus:outline-none",children:a.jsx(Zl,{className:`h-8 w-8 transition-colors ${j<=l?"fill-yellow-400 text-yellow-400":"text-muted-foreground hover:text-yellow-300"}`})},j))}),a.jsxs("span",{className:"text-sm text-muted-foreground",children:[l===0&&"点击星星进行评分",l===1&&"很差",l===2&&"一般",l===3&&"还行",l===4&&"不错",l===5&&"非常好"]})]}),a.jsxs("div",{children:[a.jsx("label",{className:"text-sm font-medium mb-2 block",children:"评论(可选)"}),a.jsx(kn,{value:u,onChange:j=>h(j.target.value),placeholder:"分享你的使用体验...",rows:4,maxLength:500}),a.jsxs("div",{className:"text-xs text-muted-foreground mt-1 text-right",children:[u.length," / 500"]})]})]}),a.jsxs(ps,{children:[a.jsx(ie,{variant:"outline",onClick:()=>p(!1),children:"取消"}),a.jsx(ie,{onClick:k,disabled:l===0,children:"提交评分"})]})]})]})]}),t.recent_ratings&&t.recent_ratings.length>0&&a.jsxs("div",{className:"space-y-2",children:[a.jsx("h4",{className:"text-sm font-semibold",children:"最近评价"}),a.jsx("div",{className:"space-y-3",children:t.recent_ratings.map((j,T)=>a.jsxs("div",{className:"p-3 rounded-lg border bg-muted/50",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("div",{className:"flex gap-1",children:[1,2,3,4,5].map(M=>a.jsx(Zl,{className:`h-3 w-3 ${M<=j.rating?"fill-yellow-400 text-yellow-400":"text-muted-foreground"}`},M))}),a.jsx("span",{className:"text-xs text-muted-foreground",children:new Date(j.created_at).toLocaleDateString()})]}),j.comment&&a.jsx("p",{className:"text-sm text-muted-foreground",children:j.comment})]},T))})]})]}):null}const f9={"Group Management":"群组管理","Entertainment & Interaction":"娱乐互动","Utility Tools":"实用工具","Content Generation":"内容生成",Multimedia:"多媒体","External Integration":"外部集成","Data Analysis & Insights":"数据分析与洞察",Other:"其他"};function Yme(){const n=ba(),[e,t]=S.useState(null),[r,s]=S.useState(""),[i,l]=S.useState("all"),[c,u]=S.useState("all"),[h,m]=S.useState(!0),[p,x]=S.useState([]),[v,b]=S.useState(!0),[O,k]=S.useState(null),[j,T]=S.useState(null),[M,_]=S.useState(null),[D,E]=S.useState(null),[,z]=S.useState([]),[Q,q]=S.useState({}),{toast:B}=Pr(),U=async R=>{const me=R.map(async K=>{try{const $=await $z(K.id);return{id:K.id,stats:$}}catch($){return console.warn(`Failed to load stats for ${K.id}:`,$),{id:K.id,stats:null}}}),Y=await Promise.all(me),P={};Y.forEach(({id:K,stats:$})=>{$&&(P[K]=$)}),q(P)};S.useEffect(()=>{let R=null,me=!1;return(async()=>{if(R=Fme(P=>{me||(_(P),P.stage==="success"?setTimeout(()=>{me||_(null)},2e3):P.stage==="error"&&(b(!1),k(P.error||"加载失败")))},P=>{console.error("WebSocket error:",P),me||B({title:"WebSocket 连接失败",description:"无法实时显示加载进度",variant:"destructive"})}),await new Promise(P=>{if(!R){P();return}const K=()=>{R&&R.readyState===WebSocket.OPEN?(console.log("WebSocket connected, starting to load plugins"),P()):R&&R.readyState===WebSocket.CLOSED?(console.warn("WebSocket closed before loading plugins"),P()):setTimeout(K,100)};K()}),!me){const P=await Lme();T(P),P.installed||B({title:"Git 未安装",description:P.error||"请先安装 Git 才能使用插件安装功能",variant:"destructive"})}if(!me){const P=await Bme();E(P)}if(!me)try{b(!0),k(null);const P=await Pme();if(!me){const K=await Ip();z(K);const $=P.map(fe=>{const ye=Fp(fe.id,K),Re=qp(fe.id,K);return{...fe,installed:ye,installed_version:Re}});for(const fe of K)!$.some(Re=>Re.id===fe.id)&&fe.manifest&&$.push({id:fe.id,manifest:{manifest_version:fe.manifest.manifest_version||1,name:fe.manifest.name,version:fe.manifest.version,description:fe.manifest.description||"",author:fe.manifest.author,license:fe.manifest.license||"Unknown",host_application:fe.manifest.host_application,homepage_url:fe.manifest.homepage_url,repository_url:fe.manifest.repository_url,keywords:fe.manifest.keywords||[],categories:fe.manifest.categories||[],default_locale:fe.manifest.default_locale||"zh-CN",locales_path:fe.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!0,installed_version:fe.manifest.version,published_at:new Date().toISOString(),updated_at:new Date().toISOString()});x($),U($)}}catch(P){if(!me){const K=P instanceof Error?P.message:"加载插件列表失败";k(K),B({title:"加载失败",description:K,variant:"destructive"})}}finally{me||b(!1)}})(),()=>{me=!0,R&&R.close()}},[B]);const V=R=>{if(!R.installed&&D&&!ce(R))return a.jsxs($n,{variant:"destructive",className:"gap-1",children:[a.jsx(xc,{className:"h-3 w-3"}),"不兼容"]});if(R.installed){const me=R.installed_version?.trim(),Y=R.manifest.version?.trim();if(me!==Y){const P=me?.split(".").map(Number)||[0,0,0],K=Y?.split(".").map(Number)||[0,0,0];for(let $=0;$<3;$++){if((K[$]||0)>(P[$]||0))return a.jsxs($n,{variant:"outline",className:"gap-1 text-orange-600 border-orange-600",children:[a.jsx(xc,{className:"h-3 w-3"}),"可更新"]});if((K[$]||0)<(P[$]||0))break}}return a.jsxs($n,{variant:"default",className:"gap-1",children:[a.jsx(ua,{className:"h-3 w-3"}),"已安装"]})}return null},ce=R=>!D||!R.manifest?.host_application?!0:Ime(R.manifest.host_application.min_version,R.manifest.host_application.max_version,D),W=R=>{if(!R.installed||!R.installed_version||!R.manifest?.version)return!1;const me=R.installed_version.trim(),Y=R.manifest.version.trim();if(me===Y)return!1;const P=me.split(".").map(Number),K=Y.split(".").map(Number);for(let $=0;$<3;$++){if((K[$]||0)>(P[$]||0))return!0;if((K[$]||0)<(P[$]||0))return!1}return!1},J=p.filter(R=>{if(!R.manifest)return console.warn("[过滤] 跳过无 manifest 的插件:",R.id),!1;const me=r===""||R.manifest.name?.toLowerCase().includes(r.toLowerCase())||R.manifest.description?.toLowerCase().includes(r.toLowerCase())||R.manifest.keywords&&R.manifest.keywords.some($=>$.toLowerCase().includes(r.toLowerCase())),Y=i==="all"||R.manifest.categories&&R.manifest.categories.includes(i);let P=!0;c==="installed"?P=R.installed===!0:c==="updates"&&(P=R.installed===!0&&W(R));const K=!h||!D||ce(R);return me&&Y&&P&&K}),H=()=>{t(null)},ae=async R=>{if(!j?.installed){B({title:"无法安装",description:"Git 未安装",variant:"destructive"});return}if(D&&!ce(R)){B({title:"无法安装",description:"插件与当前麦麦版本不兼容",variant:"destructive"});return}try{await qme(R.id,R.manifest.repository_url||"","main"),Wme(R.id).catch(Y=>{console.warn("Failed to record download:",Y)}),B({title:"安装成功",description:`${R.manifest.name} 已成功安装`});const me=await Ip();z(me),x(Y=>Y.map(P=>{if(P.id===R.id){const K=Fp(P.id,me),$=qp(P.id,me);return{...P,installed:K,installed_version:$}}return P}))}catch(me){B({title:"安装失败",description:me instanceof Error?me.message:"未知错误",variant:"destructive"})}},ne=async R=>{try{await Qme(R.id),B({title:"卸载成功",description:`${R.manifest.name} 已成功卸载`});const me=await Ip();z(me),x(Y=>Y.map(P=>{if(P.id===R.id){const K=Fp(P.id,me),$=qp(P.id,me);return{...P,installed:K,installed_version:$}}return P}))}catch(me){B({title:"卸载失败",description:me instanceof Error?me.message:"未知错误",variant:"destructive"})}},ue=async R=>{if(!j?.installed){B({title:"无法更新",description:"Git 未安装",variant:"destructive"});return}try{const me=await $me(R.id,R.manifest.repository_url||"","main");B({title:"更新成功",description:`${R.manifest.name} 已从 ${me.old_version} 更新到 ${me.new_version}`});const Y=await Ip();z(Y),x(P=>P.map(K=>{if(K.id===R.id){const $=Fp(K.id,Y),fe=qp(K.id,Y);return{...K,installed:$,installed_version:fe}}return K}))}catch(me){B({title:"更新失败",description:me instanceof Error?me.message:"未知错误",variant:"destructive"})}};return a.jsx(fn,{className:"h-full",children:a.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件市场"}),a.jsx("p",{className:"text-muted-foreground mt-2",children:"浏览和管理麦麦的插件"})]}),a.jsxs(ie,{onClick:()=>n({to:"/plugin-mirrors"}),children:[a.jsx(RF,{className:"h-4 w-4 mr-2"}),"配置镜像源"]})]}),j&&!j.installed&&a.jsxs(yt,{className:"border-orange-600 bg-orange-50 dark:bg-orange-950/20",children:[a.jsx(Jt,{children:a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(Uu,{className:"h-5 w-5 text-orange-600"}),a.jsxs("div",{children:[a.jsx(en,{className:"text-lg text-orange-900 dark:text-orange-100",children:"Git 未安装"}),a.jsx(Sr,{className:"text-orange-800 dark:text-orange-200",children:j.error||"请先安装 Git 才能使用插件安装功能"})]})]})}),a.jsx(vn,{children:a.jsxs("p",{className:"text-sm text-orange-800 dark:text-orange-200",children:["您可以从 ",a.jsx("a",{href:"https://git-scm.com/downloads",target:"_blank",rel:"noopener noreferrer",className:"underline font-medium",children:"git-scm.com"})," 下载并安装 Git。 安装完成后,请重启麦麦应用。"]})})]}),a.jsx(yt,{className:"p-4",children:a.jsxs("div",{className:"flex flex-col gap-4",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[a.jsxs("div",{className:"flex-1 relative",children:[a.jsx(Ps,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Ae,{placeholder:"搜索插件...",value:r,onChange:R=>s(R.target.value),className:"pl-9"})]}),a.jsxs(Bt,{value:i,onValueChange:l,children:[a.jsx(Dt,{className:"w-full sm:w-[200px]",children:a.jsx(It,{placeholder:"选择分类"})}),a.jsxs(Rt,{children:[a.jsx(Pe,{value:"all",children:"全部分类"}),a.jsx(Pe,{value:"Group Management",children:"群组管理"}),a.jsx(Pe,{value:"Entertainment & Interaction",children:"娱乐互动"}),a.jsx(Pe,{value:"Utility Tools",children:"实用工具"}),a.jsx(Pe,{value:"Content Generation",children:"内容生成"}),a.jsx(Pe,{value:"Multimedia",children:"多媒体"}),a.jsx(Pe,{value:"External Integration",children:"外部集成"}),a.jsx(Pe,{value:"Data Analysis & Insights",children:"数据分析与洞察"}),a.jsx(Pe,{value:"Other",children:"其他"})]})]})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(ss,{id:"compatible-only",checked:h,onCheckedChange:R=>m(R===!0)}),a.jsx("label",{htmlFor:"compatible-only",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer",children:"只显示兼容当前版本的插件"})]})]})}),a.jsx(dl,{value:c,onValueChange:u,className:"w-full",children:a.jsxs(va,{className:"grid w-full grid-cols-3",children:[a.jsxs($t,{value:"all",children:["全部插件 (",p.filter(R=>{if(!R.manifest)return!1;const me=r===""||R.manifest.name?.toLowerCase().includes(r.toLowerCase())||R.manifest.description?.toLowerCase().includes(r.toLowerCase())||R.manifest.keywords&&R.manifest.keywords.some(K=>K.toLowerCase().includes(r.toLowerCase())),Y=i==="all"||R.manifest.categories&&R.manifest.categories.includes(i),P=!h||!D||ce(R);return me&&Y&&P}).length,")"]}),a.jsxs($t,{value:"installed",children:["已安装 (",p.filter(R=>{if(!R.manifest)return!1;const me=r===""||R.manifest.name?.toLowerCase().includes(r.toLowerCase())||R.manifest.description?.toLowerCase().includes(r.toLowerCase())||R.manifest.keywords&&R.manifest.keywords.some(K=>K.toLowerCase().includes(r.toLowerCase())),Y=i==="all"||R.manifest.categories&&R.manifest.categories.includes(i),P=!h||!D||ce(R);return R.installed&&me&&Y&&P}).length,")"]}),a.jsxs($t,{value:"updates",children:["可更新 (",p.filter(R=>{if(!R.manifest)return!1;const me=r===""||R.manifest.name?.toLowerCase().includes(r.toLowerCase())||R.manifest.description?.toLowerCase().includes(r.toLowerCase())||R.manifest.keywords&&R.manifest.keywords.some(K=>K.toLowerCase().includes(r.toLowerCase())),Y=i==="all"||R.manifest.categories&&R.manifest.categories.includes(i),P=!h||!D||ce(R);return R.installed&&W(R)&&me&&Y&&P}).length,")"]})]})}),M&&M.stage==="loading"&&a.jsx(yt,{className:"p-4",children:a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(ff,{className:"h-4 w-4 animate-spin"}),a.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}`:""}`]})]}),a.jsxs("span",{className:"text-sm font-medium",children:[M.progress,"%"]})]}),a.jsx(r0,{value:M.progress,className:"h-2"}),a.jsx("div",{className:"text-xs text-muted-foreground",children:M.message}),M.operation==="fetch"&&M.total_plugins>0&&a.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["已加载 ",M.loaded_plugins," / ",M.total_plugins," 个插件"]})]})}),M&&M.stage==="error"&&M.error&&a.jsx(yt,{className:"border-destructive bg-destructive/10",children:a.jsx(Jt,{children:a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(Uu,{className:"h-5 w-5 text-destructive"}),a.jsxs("div",{children:[a.jsx(en,{className:"text-lg text-destructive",children:"加载失败"}),a.jsx(Sr,{className:"text-destructive/80",children:M.error})]})]})})}),v?a.jsxs("div",{className:"flex items-center justify-center py-12",children:[a.jsx(ff,{className:"h-8 w-8 animate-spin text-muted-foreground"}),a.jsx("span",{className:"ml-3 text-muted-foreground",children:"加载插件列表中..."})]}):O?a.jsx(yt,{className:"p-6",children:a.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[a.jsx(Uu,{className:"h-12 w-12 text-destructive mb-4"}),a.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),a.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:O}),a.jsx(ie,{onClick:()=>window.location.reload(),children:"重新加载"})]})}):J.length===0?a.jsx(yt,{className:"p-6",children:a.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[a.jsx(Ps,{className:"h-12 w-12 text-muted-foreground mb-4"}),a.jsx("h3",{className:"text-lg font-semibold mb-2",children:"未找到插件"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:r||i!=="all"?"尝试调整搜索条件或筛选器":"暂无可用插件"})]})}):a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:J.map(R=>a.jsxs(yt,{className:"flex flex-col hover:shadow-lg transition-shadow h-full",children:[a.jsxs(Jt,{children:[a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsx(en,{className:"text-xl",children:R.manifest?.name||R.id}),a.jsxs("div",{className:"flex flex-col gap-1",children:[R.manifest?.categories&&R.manifest.categories[0]&&a.jsx($n,{variant:"secondary",className:"text-xs whitespace-nowrap",children:f9[R.manifest.categories[0]]||R.manifest.categories[0]}),V(R)]})]}),a.jsx(Sr,{className:"line-clamp-2",children:R.manifest?.description||"无描述"})]}),a.jsx(vn,{className:"flex-1",children:a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(fc,{className:"h-4 w-4"}),a.jsx("span",{children:(Q[R.id]?.downloads??R.downloads??0).toLocaleString()})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(Zl,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),a.jsx("span",{children:(Q[R.id]?.rating??R.rating??0).toFixed(1)})]})]}),a.jsxs("div",{className:"flex flex-wrap gap-2",children:[R.manifest?.keywords&&R.manifest.keywords.slice(0,3).map(me=>a.jsx($n,{variant:"outline",className:"text-xs",children:me},me)),R.manifest?.keywords&&R.manifest.keywords.length>3&&a.jsxs($n,{variant:"outline",className:"text-xs",children:["+",R.manifest.keywords.length-3]})]}),a.jsxs("div",{className:"text-xs text-muted-foreground pt-2 border-t space-y-1",children:[a.jsxs("div",{children:["v",R.manifest?.version||"unknown"," · ",R.manifest?.author?.name||"Unknown"]}),R.manifest?.host_application&&a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("span",{children:"支持:"}),a.jsxs("span",{className:"font-medium",children:[R.manifest.host_application.min_version,R.manifest.host_application.max_version?` - ${R.manifest.host_application.max_version}`:" - 最新版本"]})]})]})]})}),a.jsx(TC,{className:"pt-4",children:a.jsxs("div",{className:"flex items-center justify-end gap-2 w-full",children:[a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>t(R),children:"查看详情"}),R.installed?W(R)?a.jsxs(ie,{size:"sm",disabled:!j?.installed,title:j?.installed?void 0:"Git 未安装",onClick:()=>ue(R),children:[a.jsx(Ii,{className:"h-4 w-4 mr-1"}),"更新"]}):a.jsxs(ie,{variant:"destructive",size:"sm",disabled:!j?.installed,title:j?.installed?void 0:"Git 未安装",onClick:()=>ne(R),children:[a.jsx(Ht,{className:"h-4 w-4 mr-1"}),"卸载"]}):a.jsxs(ie,{size:"sm",disabled:!j?.installed||M?.operation==="install"||D!==null&&!ce(R),title:j?.installed?D!==null&&!ce(R)?`不兼容当前版本 (需要 ${R.manifest?.host_application?.min_version||"未知"}${R.manifest?.host_application?.max_version?` - ${R.manifest.host_application.max_version}`:"+"},当前 ${D?.version})`:void 0:"Git 未安装",onClick:()=>ae(R),children:[a.jsx(fc,{className:"h-4 w-4 mr-1"}),M?.operation==="install"&&M?.plugin_id===R.id?"安装中...":"安装"]})]})})]},R.id))}),a.jsx(Rr,{open:e!==null,onOpenChange:H,children:e&&e.manifest&&a.jsxs(Nr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[a.jsx(Cr,{children:a.jsxs("div",{className:"flex items-start justify-between gap-4",children:[a.jsxs("div",{className:"space-y-2 flex-1",children:[a.jsx(Tr,{className:"text-2xl",children:e.manifest.name}),a.jsxs(Gr,{children:["作者: ",e.manifest.author?.name||"Unknown",e.manifest.author?.url&&a.jsx("a",{href:e.manifest.author.url,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-primary hover:underline",children:a.jsx(Kh,{className:"h-3 w-3 inline"})})]})]}),a.jsxs("div",{className:"flex flex-col gap-2",children:[e.manifest.categories&&e.manifest.categories[0]&&a.jsx($n,{variant:"secondary",children:f9[e.manifest.categories[0]]||e.manifest.categories[0]}),V(e)]})]})}),a.jsxs("div",{className:"space-y-6",children:[a.jsx(Xme,{pluginId:e.id}),a.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium",children:"版本"}),a.jsxs("p",{className:"text-sm text-muted-foreground",children:["v",e.manifest?.version||"unknown"]}),e.installed&&e.installed_version&&a.jsxs("p",{className:"text-xs text-muted-foreground",children:["已安装: v",e.installed_version]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium",children:"下载量"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:(Q[e.id]?.downloads??e.downloads??0).toLocaleString()})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium",children:"评分"}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(Zl,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),a.jsxs("span",{className:"text-sm text-muted-foreground",children:[(Q[e.id]?.rating??e.rating??0).toFixed(1)," (",Q[e.id]?.rating_count??e.review_count??0,")"]})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium",children:"许可证"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:e.manifest.license||"Unknown"})]}),a.jsxs("div",{className:"col-span-2",children:[a.jsx("p",{className:"text-sm font-medium",children:"支持版本"}),a.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.manifest.host_application?.min_version||"未知",e.manifest.host_application?.max_version?` - ${e.manifest.host_application.max_version}`:" - 最新版本"]})]})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium mb-2",children:"关键词"}),a.jsx("div",{className:"flex flex-wrap gap-2",children:e.manifest.keywords&&e.manifest.keywords.map(R=>a.jsx($n,{variant:"outline",children:R},R))})]}),e.detailed_description&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium mb-2",children:"详细说明"}),a.jsx("p",{className:"text-sm text-muted-foreground whitespace-pre-line",children:e.detailed_description})]}),!e.detailed_description&&a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium mb-2",children:"说明"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:e.manifest.description||"无描述"})]}),a.jsxs("div",{className:"space-y-2",children:[e.manifest.homepage_url&&a.jsxs("div",{className:"text-sm",children:[a.jsx("span",{className:"font-medium",children:"主页: "}),a.jsx("a",{href:e.manifest.homepage_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:e.manifest.homepage_url})]}),e.manifest.repository_url&&a.jsxs("div",{className:"text-sm",children:[a.jsx("span",{className:"font-medium",children:"仓库: "}),a.jsx("a",{href:e.manifest.repository_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:e.manifest.repository_url})]})]})]}),a.jsxs(ps,{children:[e.manifest.homepage_url&&a.jsxs(ie,{onClick:()=>window.open(e.manifest.homepage_url,"_blank"),children:[a.jsx(Kh,{className:"h-4 w-4 mr-2"}),"访问主页"]}),e.manifest.repository_url&&a.jsxs(ie,{variant:"outline",onClick:()=>window.open(e.manifest.repository_url,"_blank"),children:[a.jsx(Kh,{className:"h-4 w-4 mr-2"}),"查看仓库"]})]})]})})]})})}function Kme(){return a.jsx(fn,{className:"h-full",children:a.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件配置"}),a.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理和配置已安装的插件"})]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsxs(ie,{variant:"outline",size:"sm",children:[a.jsx(Ii,{className:"h-4 w-4 mr-2"}),"刷新"]}),a.jsxs(ie,{size:"sm",children:[a.jsx(dc,{className:"h-4 w-4 mr-2"}),"全局设置"]})]})]}),a.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"已安装插件"}),a.jsx(gg,{className:"h-4 w-4 text-muted-foreground"})]}),a.jsxs(vn,{children:[a.jsx("div",{className:"text-2xl font-bold",children:"0"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"正在加载..."})]})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"已启用"}),a.jsx(ua,{className:"h-4 w-4 text-green-600"})]}),a.jsxs(vn,{children:[a.jsx("div",{className:"text-2xl font-bold",children:"0"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"运行中的插件"})]})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"已禁用"}),a.jsx(xc,{className:"h-4 w-4 text-orange-600"})]}),a.jsxs(vn,{children:[a.jsx("div",{className:"text-2xl font-bold",children:"0"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"未激活的插件"})]})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[a.jsx(en,{className:"text-sm font-medium",children:"可更新"}),a.jsx(Ii,{className:"h-4 w-4 text-blue-600"})]}),a.jsxs(vn,{children:[a.jsx("div",{className:"text-2xl font-bold",children:"0"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"有新版本可用"})]})]})]}),a.jsxs(yt,{children:[a.jsxs(Jt,{children:[a.jsx(en,{children:"已安装的插件"}),a.jsx(Sr,{children:"查看和管理已安装插件的配置"})]}),a.jsx(vn,{children:a.jsxs("div",{className:"flex flex-col items-center justify-center py-12 space-y-4",children:[a.jsx(gg,{className:"h-16 w-16 text-muted-foreground/50"}),a.jsxs("div",{className:"text-center space-y-2",children:[a.jsx("p",{className:"text-lg font-medium text-muted-foreground",children:"插件配置功能开发中"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"即将支持插件的启用/禁用、参数配置等功能"})]}),a.jsx("div",{className:"flex gap-2",children:a.jsx(ie,{variant:"outline",asChild:!0,children:a.jsxs("a",{href:"/plugins",children:[a.jsx(Kh,{className:"h-4 w-4 mr-2"}),"前往插件市场"]})})})]})})]}),a.jsx(yt,{className:"border-blue-200 bg-blue-50 dark:bg-blue-950/20 dark:border-blue-900",children:a.jsx(vn,{className:"pt-6",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(xc,{className:"h-5 w-5 text-blue-600 mt-0.5 flex-shrink-0"}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-sm font-medium text-blue-900 dark:text-blue-100",children:"开发进行中"}),a.jsxs("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:["插件配置功能正在积极开发中。目前您可以通过",a.jsx("strong",{children:"插件市场"}),"安装和卸载插件,完整的配置管理功能即将推出。"]})]})]})})})]})})}function Zme(){const n=ba(),{toast:e}=Pr(),[t,r]=S.useState([]),[s,i]=S.useState(!0),[l,c]=S.useState(null),[u,h]=S.useState(null),[m,p]=S.useState(!1),[x,v]=S.useState(!1),[b,O]=S.useState({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),k=S.useCallback(async()=>{try{i(!0),c(null);const z=localStorage.getItem("access-token"),Q=await fetch("/api/webui/plugins/mirrors",{headers:{Authorization:`Bearer ${z}`}});if(!Q.ok)throw new Error("获取镜像源列表失败");const q=await Q.json();r(q.mirrors||[])}catch(z){const Q=z instanceof Error?z.message:"加载镜像源失败";c(Q),e({title:"加载失败",description:Q,variant:"destructive"})}finally{i(!1)}},[e]);S.useEffect(()=>{k()},[k]);const j=async()=>{try{const z=localStorage.getItem("access-token"),Q=await fetch("/api/webui/plugins/mirrors",{method:"POST",headers:{Authorization:`Bearer ${z}`,"Content-Type":"application/json"},body:JSON.stringify(b)});if(!Q.ok){const q=await Q.json();throw new Error(q.detail||"添加镜像源失败")}e({title:"添加成功",description:"镜像源已添加"}),p(!1),O({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),k()}catch(z){e({title:"添加失败",description:z instanceof Error?z.message:"未知错误",variant:"destructive"})}},T=async()=>{if(u)try{const z=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${u.id}`,{method:"PUT",headers:{Authorization:`Bearer ${z}`,"Content-Type":"application/json"},body:JSON.stringify({name:b.name,raw_prefix:b.raw_prefix,clone_prefix:b.clone_prefix,enabled:b.enabled,priority:b.priority})})).ok)throw new Error("更新镜像源失败");e({title:"更新成功",description:"镜像源已更新"}),v(!1),h(null),k()}catch(z){e({title:"更新失败",description:z instanceof Error?z.message:"未知错误",variant:"destructive"})}},M=async z=>{if(confirm("确定要删除这个镜像源吗?"))try{const Q=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${z}`,{method:"DELETE",headers:{Authorization:`Bearer ${Q}`}})).ok)throw new Error("删除镜像源失败");e({title:"删除成功",description:"镜像源已删除"}),k()}catch(Q){e({title:"删除失败",description:Q instanceof Error?Q.message:"未知错误",variant:"destructive"})}},_=async z=>{try{const Q=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${z.id}`,{method:"PUT",headers:{Authorization:`Bearer ${Q}`,"Content-Type":"application/json"},body:JSON.stringify({enabled:!z.enabled})})).ok)throw new Error("更新状态失败");k()}catch(Q){e({title:"更新失败",description:Q instanceof Error?Q.message:"未知错误",variant:"destructive"})}},D=z=>{h(z),O({id:z.id,name:z.name,raw_prefix:z.raw_prefix,clone_prefix:z.clone_prefix,enabled:z.enabled,priority:z.priority}),v(!0)},E=async(z,Q)=>{const q=Q==="up"?z.priority-1:z.priority+1;if(!(q<1))try{const B=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${z.id}`,{method:"PUT",headers:{Authorization:`Bearer ${B}`,"Content-Type":"application/json"},body:JSON.stringify({priority:q})})).ok)throw new Error("更新优先级失败");k()}catch(B){e({title:"更新失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}};return a.jsx(fn,{className:"h-full",children:a.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(ie,{variant:"ghost",size:"icon",onClick:()=>n({to:"/plugins"}),children:a.jsx(Q9,{className:"h-5 w-5"})}),a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"镜像源配置"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理 Git 克隆和文件下载的镜像源"})]})]}),a.jsxs(ie,{onClick:()=>p(!0),children:[a.jsx(Wr,{className:"h-4 w-4 mr-2"}),"添加镜像源"]})]}),s?a.jsx(yt,{className:"p-6",children:a.jsx("div",{className:"flex items-center justify-center py-8",children:a.jsx(ff,{className:"h-8 w-8 animate-spin text-primary"})})}):l?a.jsx(yt,{className:"p-6",children:a.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[a.jsx(Uu,{className:"h-12 w-12 text-destructive mb-4"}),a.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),a.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:l}),a.jsx(ie,{onClick:k,children:"重新加载"})]})}):a.jsxs(yt,{children:[a.jsx("div",{className:"hidden md:block",children:a.jsxs(Ac,{children:[a.jsx(Ec,{children:a.jsxs(xr,{children:[a.jsx(gt,{children:"状态"}),a.jsx(gt,{children:"名称"}),a.jsx(gt,{children:"ID"}),a.jsx(gt,{children:"优先级"}),a.jsx(gt,{className:"text-right",children:"操作"})]})}),a.jsx(_c,{children:t.map(z=>a.jsxs(xr,{children:[a.jsx(it,{children:a.jsx(jt,{checked:z.enabled,onCheckedChange:()=>_(z)})}),a.jsx(it,{children:a.jsxs("div",{children:[a.jsx("div",{className:"font-medium",children:z.name}),a.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Raw: ",z.raw_prefix]})]})}),a.jsx(it,{children:a.jsx($n,{variant:"outline",children:z.id})}),a.jsx(it,{children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"font-mono",children:z.priority}),a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx(ie,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>E(z,"up"),disabled:z.priority===1,children:a.jsx(t2,{className:"h-3 w-3"})}),a.jsx(ie,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>E(z,"down"),children:a.jsx(hf,{className:"h-3 w-3"})})]})]})}),a.jsx(it,{className:"text-right",children:a.jsxs("div",{className:"flex items-center justify-end gap-2",children:[a.jsx(ie,{variant:"ghost",size:"icon",onClick:()=>D(z),children:a.jsx(rd,{className:"h-4 w-4"})}),a.jsx(ie,{variant:"ghost",size:"icon",onClick:()=>M(z.id),children:a.jsx(Ht,{className:"h-4 w-4 text-destructive"})})]})})]},z.id))})]})}),a.jsx("div",{className:"md:hidden p-4 space-y-4",children:t.map(z=>a.jsx(yt,{className:"p-4",children:a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsxs("div",{className:"flex-1",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("h3",{className:"font-semibold",children:z.name}),z.enabled&&a.jsx($n,{variant:"default",className:"text-xs",children:"启用"})]}),a.jsx($n,{variant:"outline",className:"mt-1 text-xs",children:z.id})]}),a.jsx(jt,{checked:z.enabled,onCheckedChange:()=>_(z)})]}),a.jsxs("div",{className:"text-sm space-y-1",children:[a.jsxs("div",{className:"text-muted-foreground",children:[a.jsx("span",{className:"font-medium",children:"Raw: "}),a.jsx("span",{className:"break-all",children:z.raw_prefix})]}),a.jsxs("div",{className:"text-muted-foreground",children:[a.jsx("span",{className:"font-medium",children:"优先级: "}),a.jsx("span",{className:"font-mono",children:z.priority})]})]}),a.jsxs("div",{className:"flex items-center gap-2 pt-2 border-t",children:[a.jsxs(ie,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>D(z),children:[a.jsx(rd,{className:"h-4 w-4 mr-1"}),"编辑"]}),a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>E(z,"up"),disabled:z.priority===1,children:a.jsx(t2,{className:"h-4 w-4"})}),a.jsx(ie,{variant:"outline",size:"sm",onClick:()=>E(z,"down"),children:a.jsx(hf,{className:"h-4 w-4"})}),a.jsx(ie,{variant:"destructive",size:"sm",onClick:()=>M(z.id),children:a.jsx(Ht,{className:"h-4 w-4"})})]})]})},z.id))})]}),a.jsx(Rr,{open:m,onOpenChange:p,children:a.jsxs(Nr,{className:"max-w-lg",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"添加镜像源"}),a.jsx(Gr,{children:"添加新的 Git 镜像源配置"})]}),a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"add-id",children:"镜像源 ID *"}),a.jsx(Ae,{id:"add-id",placeholder:"例如: my-mirror",value:b.id,onChange:z=>O({...b,id:z.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"add-name",children:"名称 *"}),a.jsx(Ae,{id:"add-name",placeholder:"例如: 我的镜像源",value:b.name,onChange:z=>O({...b,name:z.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"add-raw",children:"Raw 文件前缀 *"}),a.jsx(Ae,{id:"add-raw",placeholder:"https://example.com/raw",value:b.raw_prefix,onChange:z=>O({...b,raw_prefix:z.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"add-clone",children:"克隆前缀 *"}),a.jsx(Ae,{id:"add-clone",placeholder:"https://example.com/clone",value:b.clone_prefix,onChange:z=>O({...b,clone_prefix:z.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"add-priority",children:"优先级"}),a.jsx(Ae,{id:"add-priority",type:"number",min:"1",value:b.priority,onChange:z=>O({...b,priority:parseInt(z.target.value)||1})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"add-enabled",checked:b.enabled,onCheckedChange:z=>O({...b,enabled:z})}),a.jsx(te,{htmlFor:"add-enabled",children:"启用此镜像源"})]})]}),a.jsxs(ps,{children:[a.jsx(ie,{variant:"outline",onClick:()=>p(!1),children:"取消"}),a.jsx(ie,{onClick:j,children:"添加"})]})]})}),a.jsx(Rr,{open:x,onOpenChange:v,children:a.jsxs(Nr,{className:"max-w-lg",children:[a.jsxs(Cr,{children:[a.jsx(Tr,{children:"编辑镜像源"}),a.jsx(Gr,{children:"修改镜像源配置"})]}),a.jsxs("div",{className:"space-y-4 py-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{children:"镜像源 ID"}),a.jsx(Ae,{value:b.id,disabled:!0})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"edit-name",children:"名称 *"}),a.jsx(Ae,{id:"edit-name",value:b.name,onChange:z=>O({...b,name:z.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"edit-raw",children:"Raw 文件前缀 *"}),a.jsx(Ae,{id:"edit-raw",value:b.raw_prefix,onChange:z=>O({...b,raw_prefix:z.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"edit-clone",children:"克隆前缀 *"}),a.jsx(Ae,{id:"edit-clone",value:b.clone_prefix,onChange:z=>O({...b,clone_prefix:z.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(te,{htmlFor:"edit-priority",children:"优先级"}),a.jsx(Ae,{id:"edit-priority",type:"number",min:"1",value:b.priority,onChange:z=>O({...b,priority:parseInt(z.target.value)||1})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(jt,{id:"edit-enabled",checked:b.enabled,onCheckedChange:z=>O({...b,enabled:z})}),a.jsx(te,{htmlFor:"edit-enabled",children:"启用此镜像源"})]})]}),a.jsxs(ps,{children:[a.jsx(ie,{variant:"outline",onClick:()=>v(!1),children:"取消"}),a.jsx(ie,{onClick:T,children:"保存"})]})]})})]})})}const Jme=Cd("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"}}),Hz=S.forwardRef(({className:n,size:e,abbrTitle:t,children:r,...s},i)=>a.jsx("kbd",{className:ve(Jme({size:e,className:n})),ref:i,...s,children:t?a.jsx("abbr",{title:t,children:r}):r}));Hz.displayName="Kbd";const epe=[{icon:fg,title:"首页",description:"查看仪表板概览",path:"/",category:"概览"},{icon:io,title:"麦麦主程序配置",description:"配置麦麦的核心设置",path:"/config/bot",category:"配置"},{icon:$9,title:"麦麦模型提供商配置",description:"配置模型提供商",path:"/config/modelProvider",category:"配置"},{icon:H9,title:"麦麦模型配置",description:"配置模型参数",path:"/config/model",category:"配置"},{icon:J4,title:"表情包管理",description:"管理麦麦的表情包",path:"/resource/emoji",category:"资源"},{icon:Gf,title:"表达方式管理",description:"管理麦麦的表达方式",path:"/resource/expression",category:"资源"},{icon:U9,title:"人物信息管理",description:"管理人物信息",path:"/resource/person",category:"资源"},{icon:zF,title:"统计信息",description:"查看使用统计",path:"/statistics",category:"监控"},{icon:gg,title:"插件市场",description:"浏览和安装插件",path:"/plugins",category:"扩展"},{icon:mg,title:"日志查看器",description:"查看系统日志",path:"/logs",category:"监控"},{icon:dc,title:"系统设置",description:"配置系统参数",path:"/settings",category:"系统"}];function tpe({open:n,onOpenChange:e}){const[t,r]=S.useState(""),[s,i]=S.useState(0),l=ba(),c=epe.filter(m=>m.title.toLowerCase().includes(t.toLowerCase())||m.description.toLowerCase().includes(t.toLowerCase())||m.category.toLowerCase().includes(t.toLowerCase()));S.useEffect(()=>{n&&(r(""),i(0))},[n]);const u=S.useCallback(m=>{l({to:m}),e(!1)},[l,e]),h=S.useCallback(m=>{m.key==="ArrowDown"?(m.preventDefault(),i(p=>(p+1)%c.length)):m.key==="ArrowUp"?(m.preventDefault(),i(p=>(p-1+c.length)%c.length)):m.key==="Enter"&&c[s]&&(m.preventDefault(),u(c[s].path))},[c,s,u]);return a.jsx(Rr,{open:n,onOpenChange:e,children:a.jsxs(Nr,{className:"max-w-2xl p-0 gap-0",children:[a.jsxs(Cr,{className:"px-4 pt-4 pb-0",children:[a.jsx(Tr,{className:"sr-only",children:"搜索"}),a.jsxs("div",{className:"relative",children:[a.jsx(Ps,{className:"absolute left-3 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground"}),a.jsx(Ae,{value:t,onChange:m=>{r(m.target.value),i(0)},onKeyDown:h,placeholder:"搜索页面...",className:"h-12 pl-11 text-base border-0 focus-visible:ring-0 shadow-none",autoFocus:!0})]})]}),a.jsx("div",{className:"border-t",children:a.jsx(fn,{className:"h-[400px]",children:c.length>0?a.jsx("div",{className:"p-2",children:c.map((m,p)=>{const x=m.icon;return a.jsxs("button",{onClick:()=>u(m.path),onMouseEnter:()=>i(p),className:ve("w-full flex items-center gap-3 px-3 py-2.5 rounded-md text-left transition-colors",p===s?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:[a.jsx(x,{className:"h-5 w-5 flex-shrink-0"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("div",{className:"font-medium text-sm",children:m.title}),a.jsx("div",{className:"text-xs text-muted-foreground truncate",children:m.description})]}),a.jsx("div",{className:"text-xs text-muted-foreground px-2 py-1 bg-muted rounded",children:m.category})]},m.path)})}):a.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[a.jsx(Ps,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:t?"未找到匹配的页面":"输入关键词开始搜索"})]})})}),a.jsx("div",{className:"border-t px-4 py-3 flex items-center justify-between text-xs text-muted-foreground",children:a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↑"}),a.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↓"}),"导航"]}),a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Enter"}),"选择"]}),a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Esc"}),"关闭"]})]})})]})})}function npe(n){const e=rpe(n),t=S.forwardRef((r,s)=>{const{children:i,...l}=r,c=S.Children.toArray(i),u=c.find(ipe);if(u){const h=u.props.children,m=c.map(p=>p===u?S.Children.count(h)>1?S.Children.only(null):S.isValidElement(h)?h.props.children:null:p);return a.jsx(e,{...l,ref:s,children:S.isValidElement(h)?S.cloneElement(h,void 0,m):null})}return a.jsx(e,{...l,ref:s,children:i})});return t.displayName=`${n}.Slot`,t}function rpe(n){const e=S.forwardRef((t,r)=>{const{children:s,...i}=t;if(S.isValidElement(s)){const l=lpe(s),c=ape(i,s.props);return s.type!==S.Fragment&&(c.ref=r?lo(r,l):l),S.cloneElement(s,c)}return S.Children.count(s)>1?S.Children.only(null):null});return e.displayName=`${n}.SlotClone`,e}var spe=Symbol("radix.slottable");function ipe(n){return S.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===spe}function ape(n,e){const t={...e};for(const r in e){const s=n[r],i=e[r];/^on[A-Z]/.test(r)?s&&i?t[r]=(...c)=>{const u=i(...c);return s(...c),u}:s&&(t[r]=s):r==="style"?t[r]={...s,...i}:r==="className"&&(t[r]=[s,i].filter(Boolean).join(" "))}return{...n,...t}}function lpe(n){let e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get,t=e&&"isReactWarning"in e&&e.isReactWarning;return t?n.ref:(e=Object.getOwnPropertyDescriptor(n,"ref")?.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?n.props.ref:n.props.ref||n.ref)}var L4=["Enter"," "],ope=["ArrowDown","PageUp","Home"],Uz=["ArrowUp","PageDown","End"],cpe=[...ope,...Uz],upe={ltr:[...L4,"ArrowRight"],rtl:[...L4,"ArrowLeft"]},dpe={ltr:["ArrowLeft"],rtl:["ArrowRight"]},M0="Menu",[Hf,hpe,fpe]=nx(M0),[Bc,Vz]=Hi(M0,[fpe,Sd,mx]),A0=Sd(),Wz=mx(),[Gz,Ao]=Bc(M0),[mpe,E0]=Bc(M0),Xz=n=>{const{__scopeMenu:e,open:t=!1,children:r,dir:s,onOpenChange:i,modal:l=!0}=n,c=A0(e),[u,h]=S.useState(null),m=S.useRef(!1),p=es(i),x=Wf(s);return S.useEffect(()=>{const v=()=>{m.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>m.current=!1;return document.addEventListener("keydown",v,{capture:!0}),()=>{document.removeEventListener("keydown",v,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),a.jsx(ax,{...c,children:a.jsx(Gz,{scope:e,open:t,onOpenChange:p,content:u,onContentChange:h,children:a.jsx(mpe,{scope:e,onClose:S.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:m,dir:x,modal:l,children:r})})})};Xz.displayName=M0;var ppe="MenuAnchor",e3=S.forwardRef((n,e)=>{const{__scopeMenu:t,...r}=n,s=A0(t);return a.jsx(lx,{...s,...r,ref:e})});e3.displayName=ppe;var t3="MenuPortal",[gpe,Yz]=Bc(t3,{forceMount:void 0}),Kz=n=>{const{__scopeMenu:e,forceMount:t,children:r,container:s}=n,i=Ao(t3,e);return a.jsx(gpe,{scope:e,forceMount:t,children:a.jsx(Ls,{present:t||i.open,children:a.jsx(ix,{asChild:!0,container:s,children:r})})})};Kz.displayName=t3;var Ni="MenuContent",[xpe,n3]=Bc(Ni),Zz=S.forwardRef((n,e)=>{const t=Yz(Ni,n.__scopeMenu),{forceMount:r=t.forceMount,...s}=n,i=Ao(Ni,n.__scopeMenu),l=E0(Ni,n.__scopeMenu);return a.jsx(Hf.Provider,{scope:n.__scopeMenu,children:a.jsx(Ls,{present:r||i.open,children:a.jsx(Hf.Slot,{scope:n.__scopeMenu,children:l.modal?a.jsx(vpe,{...s,ref:e}):a.jsx(ype,{...s,ref:e})})})})}),vpe=S.forwardRef((n,e)=>{const t=Ao(Ni,n.__scopeMenu),r=S.useRef(null),s=Cn(e,r);return S.useEffect(()=>{const i=r.current;if(i)return D9(i)},[]),a.jsx(r3,{...n,ref:s,trapFocus:t.open,disableOutsidePointerEvents:t.open,disableOutsideScroll:!0,onFocusOutside:$e(n.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>t.onOpenChange(!1)})}),ype=S.forwardRef((n,e)=>{const t=Ao(Ni,n.__scopeMenu);return a.jsx(r3,{...n,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})}),bpe=npe("MenuContent.ScrollLock"),r3=S.forwardRef((n,e)=>{const{__scopeMenu:t,loop:r=!1,trapFocus:s,onOpenAutoFocus:i,onCloseAutoFocus:l,disableOutsidePointerEvents:c,onEntryFocus:u,onEscapeKeyDown:h,onPointerDownOutside:m,onFocusOutside:p,onInteractOutside:x,onDismiss:v,disableOutsideScroll:b,...O}=n,k=Ao(Ni,t),j=E0(Ni,t),T=A0(t),M=Wz(t),_=hpe(t),[D,E]=S.useState(null),z=S.useRef(null),Q=Cn(e,z,k.onContentChange),q=S.useRef(0),B=S.useRef(""),U=S.useRef(0),V=S.useRef(null),ce=S.useRef("right"),W=S.useRef(0),J=b?R9:S.Fragment,H=b?{as:bpe,allowPinchZoom:!0}:void 0,ae=ue=>{const R=B.current+ue,me=_().filter(ye=>!ye.disabled),Y=document.activeElement,P=me.find(ye=>ye.ref.current===Y)?.textValue,K=me.map(ye=>ye.textValue),$=_pe(K,R,P),fe=me.find(ye=>ye.textValue===$)?.ref.current;(function ye(Re){B.current=Re,window.clearTimeout(q.current),Re!==""&&(q.current=window.setTimeout(()=>ye(""),1e3))})(R),fe&&setTimeout(()=>fe.focus())};S.useEffect(()=>()=>window.clearTimeout(q.current),[]),z9();const ne=S.useCallback(ue=>ce.current===V.current?.side&&Rpe(ue,V.current?.area),[]);return a.jsx(xpe,{scope:t,searchRef:B,onItemEnter:S.useCallback(ue=>{ne(ue)&&ue.preventDefault()},[ne]),onItemLeave:S.useCallback(ue=>{ne(ue)||(z.current?.focus(),E(null))},[ne]),onTriggerLeave:S.useCallback(ue=>{ne(ue)&&ue.preventDefault()},[ne]),pointerGraceTimerRef:U,onPointerGraceIntentChange:S.useCallback(ue=>{V.current=ue},[]),children:a.jsx(J,{...H,children:a.jsx(P9,{asChild:!0,trapped:s,onMountAutoFocus:$e(i,ue=>{ue.preventDefault(),z.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:l,children:a.jsx(Y4,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:h,onPointerDownOutside:m,onFocusOutside:p,onInteractOutside:x,onDismiss:v,children:a.jsx(RC,{asChild:!0,...M,dir:j.dir,orientation:"vertical",loop:r,currentTabStopId:D,onCurrentTabStopIdChange:E,onEntryFocus:$e(u,ue=>{j.isUsingKeyboardRef.current||ue.preventDefault()}),preventScrollOnEntryFocus:!0,children:a.jsx(K4,{role:"menu","aria-orientation":"vertical","data-state":pP(k.open),"data-radix-menu-content":"",dir:j.dir,...T,...O,ref:Q,style:{outline:"none",...O.style},onKeyDown:$e(O.onKeyDown,ue=>{const me=ue.target.closest("[data-radix-menu-content]")===ue.currentTarget,Y=ue.ctrlKey||ue.altKey||ue.metaKey,P=ue.key.length===1;me&&(ue.key==="Tab"&&ue.preventDefault(),!Y&&P&&ae(ue.key));const K=z.current;if(ue.target!==K||!cpe.includes(ue.key))return;ue.preventDefault();const fe=_().filter(ye=>!ye.disabled).map(ye=>ye.ref.current);Uz.includes(ue.key)&&fe.reverse(),Ape(fe)}),onBlur:$e(n.onBlur,ue=>{ue.currentTarget.contains(ue.target)||(window.clearTimeout(q.current),B.current="")}),onPointerMove:$e(n.onPointerMove,Uf(ue=>{const R=ue.target,me=W.current!==ue.clientX;if(ue.currentTarget.contains(R)&&me){const Y=ue.clientX>W.current?"right":"left";ce.current=Y,W.current=ue.clientX}}))})})})})})})});Zz.displayName=Ni;var wpe="MenuGroup",s3=S.forwardRef((n,e)=>{const{__scopeMenu:t,...r}=n;return a.jsx(Yt.div,{role:"group",...r,ref:e})});s3.displayName=wpe;var Spe="MenuLabel",Jz=S.forwardRef((n,e)=>{const{__scopeMenu:t,...r}=n;return a.jsx(Yt.div,{...r,ref:e})});Jz.displayName=Spe;var ex="MenuItem",m9="menu.itemSelect",Zx=S.forwardRef((n,e)=>{const{disabled:t=!1,onSelect:r,...s}=n,i=S.useRef(null),l=E0(ex,n.__scopeMenu),c=n3(ex,n.__scopeMenu),u=Cn(e,i),h=S.useRef(!1),m=()=>{const p=i.current;if(!t&&p){const x=new CustomEvent(m9,{bubbles:!0,cancelable:!0});p.addEventListener(m9,v=>r?.(v),{once:!0}),B9(p,x),x.defaultPrevented?h.current=!1:l.onClose()}};return a.jsx(eP,{...s,ref:u,disabled:t,onClick:$e(n.onClick,m),onPointerDown:p=>{n.onPointerDown?.(p),h.current=!0},onPointerUp:$e(n.onPointerUp,p=>{h.current||p.currentTarget?.click()}),onKeyDown:$e(n.onKeyDown,p=>{const x=c.searchRef.current!=="";t||x&&p.key===" "||L4.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});Zx.displayName=ex;var eP=S.forwardRef((n,e)=>{const{__scopeMenu:t,disabled:r=!1,textValue:s,...i}=n,l=n3(ex,t),c=Wz(t),u=S.useRef(null),h=Cn(e,u),[m,p]=S.useState(!1),[x,v]=S.useState("");return S.useEffect(()=>{const b=u.current;b&&v((b.textContent??"").trim())},[i.children]),a.jsx(Hf.ItemSlot,{scope:t,disabled:r,textValue:s??x,children:a.jsx(zC,{asChild:!0,...c,focusable:!r,children:a.jsx(Yt.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...i,ref:h,onPointerMove:$e(n.onPointerMove,Uf(b=>{r?l.onItemLeave(b):(l.onItemEnter(b),b.defaultPrevented||b.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:$e(n.onPointerLeave,Uf(b=>l.onItemLeave(b))),onFocus:$e(n.onFocus,()=>p(!0)),onBlur:$e(n.onBlur,()=>p(!1))})})})}),Ope="MenuCheckboxItem",tP=S.forwardRef((n,e)=>{const{checked:t=!1,onCheckedChange:r,...s}=n;return a.jsx(aP,{scope:n.__scopeMenu,checked:t,children:a.jsx(Zx,{role:"menuitemcheckbox","aria-checked":tx(t)?"mixed":t,...s,ref:e,"data-state":l3(t),onSelect:$e(s.onSelect,()=>r?.(tx(t)?!0:!t),{checkForDefaultPrevented:!1})})})});tP.displayName=Ope;var nP="MenuRadioGroup",[kpe,jpe]=Bc(nP,{value:void 0,onValueChange:()=>{}}),rP=S.forwardRef((n,e)=>{const{value:t,onValueChange:r,...s}=n,i=es(r);return a.jsx(kpe,{scope:n.__scopeMenu,value:t,onValueChange:i,children:a.jsx(s3,{...s,ref:e})})});rP.displayName=nP;var sP="MenuRadioItem",iP=S.forwardRef((n,e)=>{const{value:t,...r}=n,s=jpe(sP,n.__scopeMenu),i=t===s.value;return a.jsx(aP,{scope:n.__scopeMenu,checked:i,children:a.jsx(Zx,{role:"menuitemradio","aria-checked":i,...r,ref:e,"data-state":l3(i),onSelect:$e(r.onSelect,()=>s.onValueChange?.(t),{checkForDefaultPrevented:!1})})})});iP.displayName=sP;var i3="MenuItemIndicator",[aP,Npe]=Bc(i3,{checked:!1}),lP=S.forwardRef((n,e)=>{const{__scopeMenu:t,forceMount:r,...s}=n,i=Npe(i3,t);return a.jsx(Ls,{present:r||tx(i.checked)||i.checked===!0,children:a.jsx(Yt.span,{...s,ref:e,"data-state":l3(i.checked)})})});lP.displayName=i3;var Cpe="MenuSeparator",oP=S.forwardRef((n,e)=>{const{__scopeMenu:t,...r}=n;return a.jsx(Yt.div,{role:"separator","aria-orientation":"horizontal",...r,ref:e})});oP.displayName=Cpe;var Tpe="MenuArrow",cP=S.forwardRef((n,e)=>{const{__scopeMenu:t,...r}=n,s=A0(t);return a.jsx(Z4,{...s,...r,ref:e})});cP.displayName=Tpe;var a3="MenuSub",[Mpe,uP]=Bc(a3),dP=n=>{const{__scopeMenu:e,children:t,open:r=!1,onOpenChange:s}=n,i=Ao(a3,e),l=A0(e),[c,u]=S.useState(null),[h,m]=S.useState(null),p=es(s);return S.useEffect(()=>(i.open===!1&&p(!1),()=>p(!1)),[i.open,p]),a.jsx(ax,{...l,children:a.jsx(Gz,{scope:e,open:r,onOpenChange:p,content:h,onContentChange:m,children:a.jsx(Mpe,{scope:e,contentId:ki(),triggerId:ki(),trigger:c,onTriggerChange:u,children:t})})})};dP.displayName=a3;var Xh="MenuSubTrigger",hP=S.forwardRef((n,e)=>{const t=Ao(Xh,n.__scopeMenu),r=E0(Xh,n.__scopeMenu),s=uP(Xh,n.__scopeMenu),i=n3(Xh,n.__scopeMenu),l=S.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:u}=i,h={__scopeMenu:n.__scopeMenu},m=S.useCallback(()=>{l.current&&window.clearTimeout(l.current),l.current=null},[]);return S.useEffect(()=>m,[m]),S.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),u(null)}},[c,u]),a.jsx(e3,{asChild:!0,...h,children:a.jsx(eP,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":t.open,"aria-controls":s.contentId,"data-state":pP(t.open),...n,ref:lo(e,s.onTriggerChange),onClick:p=>{n.onClick?.(p),!(n.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),t.open||t.onOpenChange(!0))},onPointerMove:$e(n.onPointerMove,Uf(p=>{i.onItemEnter(p),!p.defaultPrevented&&!n.disabled&&!t.open&&!l.current&&(i.onPointerGraceIntentChange(null),l.current=window.setTimeout(()=>{t.onOpenChange(!0),m()},100))})),onPointerLeave:$e(n.onPointerLeave,Uf(p=>{m();const x=t.content?.getBoundingClientRect();if(x){const v=t.content?.dataset.side,b=v==="right",O=b?-5:5,k=x[b?"left":"right"],j=x[b?"right":"left"];i.onPointerGraceIntentChange({area:[{x:p.clientX+O,y:p.clientY},{x:k,y:x.top},{x:j,y:x.top},{x:j,y:x.bottom},{x:k,y:x.bottom}],side:v}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(p),p.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:$e(n.onKeyDown,p=>{const x=i.searchRef.current!=="";n.disabled||x&&p.key===" "||upe[r.dir].includes(p.key)&&(t.onOpenChange(!0),t.content?.focus(),p.preventDefault())})})})});hP.displayName=Xh;var fP="MenuSubContent",mP=S.forwardRef((n,e)=>{const t=Yz(Ni,n.__scopeMenu),{forceMount:r=t.forceMount,...s}=n,i=Ao(Ni,n.__scopeMenu),l=E0(Ni,n.__scopeMenu),c=uP(fP,n.__scopeMenu),u=S.useRef(null),h=Cn(e,u);return a.jsx(Hf.Provider,{scope:n.__scopeMenu,children:a.jsx(Ls,{present:r||i.open,children:a.jsx(Hf.Slot,{scope:n.__scopeMenu,children:a.jsx(r3,{id:c.contentId,"aria-labelledby":c.triggerId,...s,ref:h,align:"start",side:l.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:m=>{l.isUsingKeyboardRef.current&&u.current?.focus(),m.preventDefault()},onCloseAutoFocus:m=>m.preventDefault(),onFocusOutside:$e(n.onFocusOutside,m=>{m.target!==c.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:$e(n.onEscapeKeyDown,m=>{l.onClose(),m.preventDefault()}),onKeyDown:$e(n.onKeyDown,m=>{const p=m.currentTarget.contains(m.target),x=dpe[l.dir].includes(m.key);p&&x&&(i.onOpenChange(!1),c.trigger?.focus(),m.preventDefault())})})})})})});mP.displayName=fP;function pP(n){return n?"open":"closed"}function tx(n){return n==="indeterminate"}function l3(n){return tx(n)?"indeterminate":n?"checked":"unchecked"}function Ape(n){const e=document.activeElement;for(const t of n)if(t===e||(t.focus(),document.activeElement!==e))return}function Epe(n,e){return n.map((t,r)=>n[(e+r)%n.length])}function _pe(n,e,t){const s=e.length>1&&Array.from(e).every(h=>h===e[0])?e[0]:e,i=t?n.indexOf(t):-1;let l=Epe(n,Math.max(i,0));s.length===1&&(l=l.filter(h=>h!==t));const u=l.find(h=>h.toLowerCase().startsWith(s.toLowerCase()));return u!==t?u:void 0}function Dpe(n,e){const{x:t,y:r}=n;let s=!1;for(let i=0,l=e.length-1;ir!=x>r&&t<(p-h)*(r-m)/(x-m)+h&&(s=!s)}return s}function Rpe(n,e){if(!e)return!1;const t={x:n.clientX,y:n.clientY};return Dpe(t,e)}function Uf(n){return e=>e.pointerType==="mouse"?n(e):void 0}var zpe=Xz,Ppe=e3,Lpe=Kz,Bpe=Zz,Ipe=s3,Fpe=Jz,qpe=Zx,Qpe=tP,$pe=rP,Hpe=iP,Upe=lP,Vpe=oP,Wpe=cP,Gpe=dP,Xpe=hP,Ype=mP,o3="ContextMenu",[Kpe]=Hi(o3,[Vz]),ls=Vz(),[Zpe,gP]=Kpe(o3),xP=n=>{const{__scopeContextMenu:e,children:t,onOpenChange:r,dir:s,modal:i=!0}=n,[l,c]=S.useState(!1),u=ls(e),h=es(r),m=S.useCallback(p=>{c(p),h(p)},[h]);return a.jsx(Zpe,{scope:e,open:l,onOpenChange:m,modal:i,children:a.jsx(zpe,{...u,dir:s,open:l,onOpenChange:m,modal:i,children:t})})};xP.displayName=o3;var vP="ContextMenuTrigger",yP=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,disabled:r=!1,...s}=n,i=gP(vP,t),l=ls(t),c=S.useRef({x:0,y:0}),u=S.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...c.current})}),h=S.useRef(0),m=S.useCallback(()=>window.clearTimeout(h.current),[]),p=x=>{c.current={x:x.clientX,y:x.clientY},i.onOpenChange(!0)};return S.useEffect(()=>m,[m]),S.useEffect(()=>void(r&&m()),[r,m]),a.jsxs(a.Fragment,{children:[a.jsx(Ppe,{...l,virtualRef:u}),a.jsx(Yt.span,{"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,...s,ref:e,style:{WebkitTouchCallout:"none",...n.style},onContextMenu:r?n.onContextMenu:$e(n.onContextMenu,x=>{m(),p(x),x.preventDefault()}),onPointerDown:r?n.onPointerDown:$e(n.onPointerDown,Qp(x=>{m(),h.current=window.setTimeout(()=>p(x),700)})),onPointerMove:r?n.onPointerMove:$e(n.onPointerMove,Qp(m)),onPointerCancel:r?n.onPointerCancel:$e(n.onPointerCancel,Qp(m)),onPointerUp:r?n.onPointerUp:$e(n.onPointerUp,Qp(m))})]})});yP.displayName=vP;var Jpe="ContextMenuPortal",bP=n=>{const{__scopeContextMenu:e,...t}=n,r=ls(e);return a.jsx(Lpe,{...r,...t})};bP.displayName=Jpe;var wP="ContextMenuContent",SP=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=gP(wP,t),i=ls(t),l=S.useRef(!1);return a.jsx(Bpe,{...i,...r,ref:e,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:c=>{n.onCloseAutoFocus?.(c),!c.defaultPrevented&&l.current&&c.preventDefault(),l.current=!1},onInteractOutside:c=>{n.onInteractOutside?.(c),!c.defaultPrevented&&!s.modal&&(l.current=!0)},style:{...n.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)"}})});SP.displayName=wP;var ege="ContextMenuGroup",tge=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx(Ipe,{...s,...r,ref:e})});tge.displayName=ege;var nge="ContextMenuLabel",OP=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx(Fpe,{...s,...r,ref:e})});OP.displayName=nge;var rge="ContextMenuItem",kP=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx(qpe,{...s,...r,ref:e})});kP.displayName=rge;var sge="ContextMenuCheckboxItem",jP=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx(Qpe,{...s,...r,ref:e})});jP.displayName=sge;var ige="ContextMenuRadioGroup",age=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx($pe,{...s,...r,ref:e})});age.displayName=ige;var lge="ContextMenuRadioItem",NP=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx(Hpe,{...s,...r,ref:e})});NP.displayName=lge;var oge="ContextMenuItemIndicator",CP=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx(Upe,{...s,...r,ref:e})});CP.displayName=oge;var cge="ContextMenuSeparator",TP=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx(Vpe,{...s,...r,ref:e})});TP.displayName=cge;var uge="ContextMenuArrow",dge=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx(Wpe,{...s,...r,ref:e})});dge.displayName=uge;var MP="ContextMenuSub",AP=n=>{const{__scopeContextMenu:e,children:t,onOpenChange:r,open:s,defaultOpen:i}=n,l=ls(e),[c,u]=So({prop:s,defaultProp:i??!1,onChange:r,caller:MP});return a.jsx(Gpe,{...l,open:c,onOpenChange:u,children:t})};AP.displayName=MP;var hge="ContextMenuSubTrigger",EP=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx(Xpe,{...s,...r,ref:e})});EP.displayName=hge;var fge="ContextMenuSubContent",_P=S.forwardRef((n,e)=>{const{__scopeContextMenu:t,...r}=n,s=ls(t);return a.jsx(Ype,{...s,...r,ref:e,style:{...n.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)"}})});_P.displayName=fge;function Qp(n){return e=>e.pointerType!=="mouse"?n(e):void 0}var mge=xP,pge=yP,gge=bP,DP=SP,RP=OP,zP=kP,PP=jP,LP=NP,BP=CP,IP=TP,xge=AP,FP=EP,qP=_P;const vge=mge,yge=pge,bge=xge,QP=S.forwardRef(({className:n,inset:e,children:t,...r},s)=>a.jsxs(FP,{ref:s,className:ve("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",e&&"pl-8",n),...r,children:[t,a.jsx(Mc,{className:"ml-auto h-4 w-4"})]}));QP.displayName=FP.displayName;const $P=S.forwardRef(({className:n,...e},t)=>a.jsx(qP,{ref:t,className:ve("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]",n),...e}));$P.displayName=qP.displayName;const HP=S.forwardRef(({className:n,...e},t)=>a.jsx(gge,{children:a.jsx(DP,{ref:t,className:ve("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]",n),...e})}));HP.displayName=DP.displayName;const Pi=S.forwardRef(({className:n,inset:e,...t},r)=>a.jsx(zP,{ref:r,className:ve("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",e&&"pl-8",n),...t}));Pi.displayName=zP.displayName;const wge=S.forwardRef(({className:n,children:e,checked:t,...r},s)=>a.jsxs(PP,{ref:s,className:ve("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",n),checked:t,...r,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(BP,{children:a.jsx(hc,{className:"h-4 w-4"})})}),e]}));wge.displayName=PP.displayName;const Sge=S.forwardRef(({className:n,children:e,...t},r)=>a.jsxs(LP,{ref:r,className:ve("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",n),...t,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(BP,{children:a.jsx(PF,{className:"h-2 w-2 fill-current"})})}),e]}));Sge.displayName=LP.displayName;const Oge=S.forwardRef(({className:n,inset:e,...t},r)=>a.jsx(RP,{ref:r,className:ve("px-2 py-1.5 text-sm font-semibold text-foreground",e&&"pl-8",n),...t}));Oge.displayName=RP.displayName;const Yh=S.forwardRef(({className:n,...e},t)=>a.jsx(IP,{ref:t,className:ve("-mx-1 my-1 h-px bg-border",n),...e}));Yh.displayName=IP.displayName;const qu=({className:n,...e})=>a.jsx("span",{className:ve("ml-auto text-xs tracking-widest text-muted-foreground",n),...e});qu.displayName="ContextMenuShortcut";var kge=Symbol("radix.slottable");function jge(n){const e=({children:t})=>a.jsx(a.Fragment,{children:t});return e.displayName=`${n}.Slottable`,e.__radixId=kge,e}var[Jx]=Hi("Tooltip",[Sd]),e1=Sd(),UP="TooltipProvider",Nge=700,B4="tooltip.open",[Cge,c3]=Jx(UP),VP=n=>{const{__scopeTooltip:e,delayDuration:t=Nge,skipDelayDuration:r=300,disableHoverableContent:s=!1,children:i}=n,l=S.useRef(!0),c=S.useRef(!1),u=S.useRef(0);return S.useEffect(()=>{const h=u.current;return()=>window.clearTimeout(h)},[]),a.jsx(Cge,{scope:e,isOpenDelayedRef:l,delayDuration:t,onOpen:S.useCallback(()=>{window.clearTimeout(u.current),l.current=!1},[]),onClose:S.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>l.current=!0,r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:S.useCallback(h=>{c.current=h},[]),disableHoverableContent:s,children:i})};VP.displayName=UP;var Vf="Tooltip",[Tge,_0]=Jx(Vf),WP=n=>{const{__scopeTooltip:e,children:t,open:r,defaultOpen:s,onOpenChange:i,disableHoverableContent:l,delayDuration:c}=n,u=c3(Vf,n.__scopeTooltip),h=e1(e),[m,p]=S.useState(null),x=ki(),v=S.useRef(0),b=l??u.disableHoverableContent,O=c??u.delayDuration,k=S.useRef(!1),[j,T]=So({prop:r,defaultProp:s??!1,onChange:z=>{z?(u.onOpen(),document.dispatchEvent(new CustomEvent(B4))):u.onClose(),i?.(z)},caller:Vf}),M=S.useMemo(()=>j?k.current?"delayed-open":"instant-open":"closed",[j]),_=S.useCallback(()=>{window.clearTimeout(v.current),v.current=0,k.current=!1,T(!0)},[T]),D=S.useCallback(()=>{window.clearTimeout(v.current),v.current=0,T(!1)},[T]),E=S.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{k.current=!0,T(!0),v.current=0},O)},[O,T]);return S.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),a.jsx(ax,{...h,children:a.jsx(Tge,{scope:e,contentId:x,open:j,stateAttribute:M,trigger:m,onTriggerChange:p,onTriggerEnter:S.useCallback(()=>{u.isOpenDelayedRef.current?E():_()},[u.isOpenDelayedRef,E,_]),onTriggerLeave:S.useCallback(()=>{b?D():(window.clearTimeout(v.current),v.current=0)},[D,b]),onOpen:_,onClose:D,disableHoverableContent:b,children:t})})};WP.displayName=Vf;var I4="TooltipTrigger",GP=S.forwardRef((n,e)=>{const{__scopeTooltip:t,...r}=n,s=_0(I4,t),i=c3(I4,t),l=e1(t),c=S.useRef(null),u=Cn(e,c,s.onTriggerChange),h=S.useRef(!1),m=S.useRef(!1),p=S.useCallback(()=>h.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),a.jsx(lx,{asChild:!0,...l,children:a.jsx(Yt.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...r,ref:u,onPointerMove:$e(n.onPointerMove,x=>{x.pointerType!=="touch"&&!m.current&&!i.isPointerInTransitRef.current&&(s.onTriggerEnter(),m.current=!0)}),onPointerLeave:$e(n.onPointerLeave,()=>{s.onTriggerLeave(),m.current=!1}),onPointerDown:$e(n.onPointerDown,()=>{s.open&&s.onClose(),h.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:$e(n.onFocus,()=>{h.current||s.onOpen()}),onBlur:$e(n.onBlur,s.onClose),onClick:$e(n.onClick,s.onClose)})})});GP.displayName=I4;var u3="TooltipPortal",[Mge,Age]=Jx(u3,{forceMount:void 0}),XP=n=>{const{__scopeTooltip:e,forceMount:t,children:r,container:s}=n,i=_0(u3,e);return a.jsx(Mge,{scope:e,forceMount:t,children:a.jsx(Ls,{present:t||i.open,children:a.jsx(ix,{asChild:!0,container:s,children:r})})})};XP.displayName=u3;var wd="TooltipContent",YP=S.forwardRef((n,e)=>{const t=Age(wd,n.__scopeTooltip),{forceMount:r=t.forceMount,side:s="top",...i}=n,l=_0(wd,n.__scopeTooltip);return a.jsx(Ls,{present:r||l.open,children:l.disableHoverableContent?a.jsx(KP,{side:s,...i,ref:e}):a.jsx(Ege,{side:s,...i,ref:e})})}),Ege=S.forwardRef((n,e)=>{const t=_0(wd,n.__scopeTooltip),r=c3(wd,n.__scopeTooltip),s=S.useRef(null),i=Cn(e,s),[l,c]=S.useState(null),{trigger:u,onClose:h}=t,m=s.current,{onPointerInTransitChange:p}=r,x=S.useCallback(()=>{c(null),p(!1)},[p]),v=S.useCallback((b,O)=>{const k=b.currentTarget,j={x:b.clientX,y:b.clientY},T=Pge(j,k.getBoundingClientRect()),M=Lge(j,T),_=Bge(O.getBoundingClientRect()),D=Fge([...M,..._]);c(D),p(!0)},[p]);return S.useEffect(()=>()=>x(),[x]),S.useEffect(()=>{if(u&&m){const b=k=>v(k,m),O=k=>v(k,u);return u.addEventListener("pointerleave",b),m.addEventListener("pointerleave",O),()=>{u.removeEventListener("pointerleave",b),m.removeEventListener("pointerleave",O)}}},[u,m,v,x]),S.useEffect(()=>{if(l){const b=O=>{const k=O.target,j={x:O.clientX,y:O.clientY},T=u?.contains(k)||m?.contains(k),M=!Ige(j,l);T?x():M&&(x(),h())};return document.addEventListener("pointermove",b),()=>document.removeEventListener("pointermove",b)}},[u,m,l,h,x]),a.jsx(KP,{...n,ref:i})}),[_ge,Dge]=Jx(Vf,{isInside:!1}),Rge=jge("TooltipContent"),KP=S.forwardRef((n,e)=>{const{__scopeTooltip:t,children:r,"aria-label":s,onEscapeKeyDown:i,onPointerDownOutside:l,...c}=n,u=_0(wd,t),h=e1(t),{onClose:m}=u;return S.useEffect(()=>(document.addEventListener(B4,m),()=>document.removeEventListener(B4,m)),[m]),S.useEffect(()=>{if(u.trigger){const p=x=>{x.target?.contains(u.trigger)&&m()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[u.trigger,m]),a.jsx(Y4,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:p=>p.preventDefault(),onDismiss:m,children:a.jsxs(K4,{"data-state":u.stateAttribute,...h,...c,ref:e,style:{...c.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:[a.jsx(Rge,{children:r}),a.jsx(_ge,{scope:t,isInside:!0,children:a.jsx(dF,{id:u.contentId,role:"tooltip",children:s||r})})]})})});YP.displayName=wd;var ZP="TooltipArrow",zge=S.forwardRef((n,e)=>{const{__scopeTooltip:t,...r}=n,s=e1(t);return Dge(ZP,t).isInside?null:a.jsx(Z4,{...s,...r,ref:e})});zge.displayName=ZP;function Pge(n,e){const t=Math.abs(e.top-n.y),r=Math.abs(e.bottom-n.y),s=Math.abs(e.right-n.x),i=Math.abs(e.left-n.x);switch(Math.min(t,r,s,i)){case i:return"left";case s:return"right";case t:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function Lge(n,e,t=5){const r=[];switch(e){case"top":r.push({x:n.x-t,y:n.y+t},{x:n.x+t,y:n.y+t});break;case"bottom":r.push({x:n.x-t,y:n.y-t},{x:n.x+t,y:n.y-t});break;case"left":r.push({x:n.x+t,y:n.y-t},{x:n.x+t,y:n.y+t});break;case"right":r.push({x:n.x-t,y:n.y-t},{x:n.x-t,y:n.y+t});break}return r}function Bge(n){const{top:e,right:t,bottom:r,left:s}=n;return[{x:s,y:e},{x:t,y:e},{x:t,y:r},{x:s,y:r}]}function Ige(n,e){const{x:t,y:r}=n;let s=!1;for(let i=0,l=e.length-1;ir!=x>r&&t<(p-h)*(r-m)/(x-m)+h&&(s=!s)}return s}function Fge(n){const e=n.slice();return e.sort((t,r)=>t.xr.x?1:t.yr.y?1:0),qge(e)}function qge(n){if(n.length<=1)return n.slice();const e=[];for(let r=0;r=2;){const i=e[e.length-1],l=e[e.length-2];if((i.x-l.x)*(s.y-l.y)>=(i.y-l.y)*(s.x-l.x))e.pop();else break}e.push(s)}e.pop();const t=[];for(let r=n.length-1;r>=0;r--){const s=n[r];for(;t.length>=2;){const i=t[t.length-1],l=t[t.length-2];if((i.x-l.x)*(s.y-l.y)>=(i.y-l.y)*(s.x-l.x))t.pop();else break}t.push(s)}return t.pop(),e.length===1&&t.length===1&&e[0].x===t[0].x&&e[0].y===t[0].y?e:e.concat(t)}var Qge=VP,$ge=WP,Hge=GP,Uge=XP,JP=YP;const Vge=Qge,Wge=$ge,Gge=Hge,eL=S.forwardRef(({className:n,sideOffset:e=4,...t},r)=>a.jsx(Uge,{children:a.jsx(JP,{ref:r,sideOffset:e,className:ve("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]",n),...t})}));eL.displayName=JP.displayName;function Xge({children:n}){RH();const[e,t]=S.useState(!0),[r,s]=S.useState(!1),[i,l]=S.useState(!1),{theme:c,setTheme:u}=fw(),h=LI(),m=ba();S.useEffect(()=>{const O=k=>{(k.metaKey||k.ctrlKey)&&k.key==="k"&&(k.preventDefault(),l(!0))};return window.addEventListener("keydown",O),()=>window.removeEventListener("keydown",O)},[]);const p=[{title:"概览",items:[{icon:fg,label:"首页",path:"/"}]},{title:"麦麦配置编辑",items:[{icon:io,label:"麦麦主程序配置",path:"/config/bot"},{icon:$9,label:"麦麦模型提供商配置",path:"/config/modelProvider"},{icon:H9,label:"麦麦模型配置",path:"/config/model"},{icon:mk,label:"麦麦适配器配置",path:"/config/adapter"}]},{title:"麦麦资源管理",items:[{icon:J4,label:"表情包管理",path:"/resource/emoji"},{icon:Gf,label:"表达方式管理",path:"/resource/expression"},{icon:U9,label:"人物信息管理",path:"/resource/person"}]},{title:"扩展与监控",items:[{icon:gg,label:"插件市场",path:"/plugins"},{icon:mk,label:"插件配置",path:"/plugin-config"},{icon:mg,label:"日志查看器",path:"/logs"}]},{title:"系统",items:[{icon:dc,label:"系统设置",path:"/settings"}]}],v=c==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":c,b=()=>{localStorage.removeItem("access-token"),m({to:"/auth"})};return a.jsx(Vge,{delayDuration:300,children:a.jsxs("div",{className:"flex h-screen overflow-hidden",children:[a.jsxs("aside",{className:ve("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",e?"lg:w-64":"lg:w-16",r?"translate-x-0":"-translate-x-full lg:translate-x-0"),children:[a.jsx("div",{className:"flex h-16 items-center border-b px-4",children:a.jsxs("div",{className:ve("relative flex items-center justify-center flex-1 transition-all overflow-hidden","lg:flex-1",!e&&"lg:flex-none lg:w-8"),children:[a.jsxs("div",{className:ve("flex items-baseline gap-2",!e&&"lg:hidden"),children:[a.jsx("span",{className:"font-bold text-xl text-primary-gradient whitespace-nowrap",children:"MaiBot WebUI"}),a.jsx("span",{className:"text-xs text-primary/60 whitespace-nowrap",children:uH()})]}),!e&&a.jsx("span",{className:"hidden lg:block font-bold text-primary-gradient text-2xl",children:"M"})]})}),a.jsx(fn,{className:ve("flex-1 overflow-x-hidden",!e&&"lg:w-16"),children:a.jsx("nav",{className:ve("p-4",!e&&"lg:p-2 lg:w-16"),children:a.jsx("ul",{className:ve("space-y-6",!e&&"lg:space-y-3 lg:w-full"),children:p.map((O,k)=>a.jsxs("li",{children:[a.jsx("div",{className:ve("px-3 h-[1.25rem]","mb-2",!e&&"lg:mb-1 lg:invisible"),children:a.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground/60 whitespace-nowrap",children:O.title})}),!e&&k>0&&a.jsx("div",{className:"hidden lg:block mb-2 border-t border-border"}),a.jsx("ul",{className:"space-y-1",children:O.items.map(j=>{const T=h({to:j.path}),M=j.icon,_=a.jsxs(a.Fragment,{children:[T&&a.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"}),a.jsxs("div",{className:ve("flex items-center transition-all duration-300",e?"gap-3":"gap-3 lg:gap-0"),children:[a.jsx(M,{className:ve("h-5 w-5 flex-shrink-0",T&&"text-primary"),strokeWidth:2,fill:"none"}),a.jsx("span",{className:ve("text-sm font-medium whitespace-nowrap transition-all duration-300",T&&"font-semibold",e?"opacity-100 max-w-[200px]":"opacity-100 max-w-[200px] lg:opacity-0 lg:max-w-0 lg:overflow-hidden"),children:j.label})]})]});return a.jsx("li",{className:"relative",children:a.jsxs(Wge,{children:[a.jsx(Gge,{asChild:!0,children:a.jsx(BI,{to:j.path,className:ve("relative flex items-center rounded-lg py-2 transition-all duration-300","hover:bg-accent hover:text-accent-foreground",T?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground",e?"px-3":"px-3 lg:px-0 lg:justify-center lg:w-12 lg:mx-auto"),onClick:()=>s(!1),children:_})}),!e&&a.jsx(eL,{side:"right",className:"hidden lg:block",children:a.jsx("p",{children:j.label})})]})},j.path)})})]},O.title))})})})]}),r&&a.jsx("div",{className:"fixed inset-0 z-40 bg-black/50 lg:hidden",onClick:()=>s(!1)}),a.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[a.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:[a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx("button",{onClick:()=>s(!r),className:"rounded-lg p-2 hover:bg-accent lg:hidden",children:a.jsx(LF,{className:"h-5 w-5"})}),a.jsx("button",{onClick:()=>t(!e),className:"hidden rounded-lg p-2 hover:bg-accent lg:block",title:e?"收起侧边栏":"展开侧边栏",children:a.jsx(Tc,{className:ve("h-5 w-5 transition-transform",!e&&"rotate-180")})})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.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:[a.jsx(Ps,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"搜索..."}),a.jsxs(Hz,{size:"sm",className:"absolute right-2 top-1/2 -translate-y-1/2",children:[a.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),a.jsx(tpe,{open:i,onOpenChange:l}),a.jsxs(ie,{variant:"ghost",size:"sm",onClick:()=>window.open("https://docs.mai-mai.org","_blank"),className:"gap-2",title:"查看麦麦文档",children:[a.jsx(BF,{className:"h-4 w-4"}),a.jsx("span",{className:"hidden sm:inline",children:"麦麦文档"})]}),a.jsx("button",{onClick:O=>{X$(v==="dark"?"light":"dark",u,O)},className:"rounded-lg p-2 hover:bg-accent",title:v==="dark"?"切换到浅色模式":"切换到深色模式",children:v==="dark"?a.jsx(Jb,{className:"h-5 w-5"}):a.jsx(e2,{className:"h-5 w-5"})}),a.jsx("div",{className:"h-6 w-px bg-border"}),a.jsxs(ie,{variant:"ghost",size:"sm",onClick:b,className:"gap-2",title:"登出系统",children:[a.jsx(pk,{className:"h-4 w-4"}),a.jsx("span",{className:"hidden sm:inline",children:"登出"})]})]})]}),a.jsxs(vge,{children:[a.jsx(yge,{asChild:!0,children:a.jsx("main",{className:"flex-1 overflow-hidden bg-background",children:n})}),a.jsxs(HP,{className:"w-64",children:[a.jsxs(Pi,{onClick:()=>m({to:"/"}),children:[a.jsx(fg,{className:"mr-2 h-4 w-4"}),"首页"]}),a.jsxs(Pi,{onClick:()=>m({to:"/settings"}),children:[a.jsx(dc,{className:"mr-2 h-4 w-4"}),"系统设置"]}),a.jsxs(Pi,{onClick:()=>m({to:"/logs"}),children:[a.jsx(mg,{className:"mr-2 h-4 w-4"}),"日志查看器"]}),a.jsx(Yh,{}),a.jsxs(bge,{children:[a.jsxs(QP,{children:[a.jsx(F9,{className:"mr-2 h-4 w-4"}),"切换主题"]}),a.jsxs($P,{className:"w-48",children:[a.jsxs(Pi,{onClick:()=>u("light"),disabled:c==="light",children:[a.jsx(Jb,{className:"mr-2 h-4 w-4"}),"浅色",c==="light"&&a.jsx(qu,{children:"✓"})]}),a.jsxs(Pi,{onClick:()=>u("dark"),disabled:c==="dark",children:[a.jsx(e2,{className:"mr-2 h-4 w-4"}),"深色",c==="dark"&&a.jsx(qu,{children:"✓"})]}),a.jsxs(Pi,{onClick:()=>u("system"),disabled:c==="system",children:[a.jsx(dc,{className:"mr-2 h-4 w-4"}),"跟随系统",c==="system"&&a.jsx(qu,{children:"✓"})]})]})]}),a.jsx(Yh,{}),a.jsxs(Pi,{onClick:()=>window.location.reload(),children:[a.jsx(IF,{className:"mr-2 h-4 w-4"}),"刷新页面",a.jsx(qu,{children:"⌘R"})]}),a.jsxs(Pi,{onClick:()=>l(!0),children:[a.jsx(Ps,{className:"mr-2 h-4 w-4"}),"搜索",a.jsx(qu,{children:"⌘K"})]}),a.jsx(Yh,{}),a.jsxs(Pi,{onClick:()=>window.open("https://docs.mai-mai.org","_blank"),children:[a.jsx(Kh,{className:"mr-2 h-4 w-4"}),"麦麦文档"]}),a.jsx(Yh,{}),a.jsxs(Pi,{onClick:b,className:"text-destructive focus:text-destructive",children:[a.jsx(pk,{className:"mr-2 h-4 w-4"}),"登出系统"]})]})]})]})]})})}const D0=II({component:()=>a.jsxs(a.Fragment,{children:[a.jsx(x9,{}),!1]}),beforeLoad:()=>{if(window.location.pathname==="/"&&!WT())throw qI({to:"/auth"})}}),Yge=Xr({getParentRoute:()=>D0,path:"/auth",component:zH}),Kge=Xr({getParentRoute:()=>D0,path:"/setup",component:eU}),qs=Xr({getParentRoute:()=>D0,id:"protected",component:()=>a.jsx(Xge,{children:a.jsx(x9,{})})}),Zge=Xr({getParentRoute:()=>qs,path:"/",component:W$}),Jge=Xr({getParentRoute:()=>qs,path:"/config/bot",component:Jee}),exe=Xr({getParentRoute:()=>qs,path:"/config/modelProvider",component:pte}),txe=Xr({getParentRoute:()=>qs,path:"/config/model",component:$te}),nxe=Xr({getParentRoute:()=>qs,path:"/config/adapter",component:Wte}),rxe=Xr({getParentRoute:()=>qs,path:"/resource/emoji",component:xde}),sxe=Xr({getParentRoute:()=>qs,path:"/resource/expression",component:Cde}),ixe=Xr({getParentRoute:()=>qs,path:"/resource/person",component:Bde}),axe=Xr({getParentRoute:()=>qs,path:"/logs",component:Eme}),lxe=Xr({getParentRoute:()=>qs,path:"/plugins",component:Yme}),oxe=Xr({getParentRoute:()=>qs,path:"/plugin-config",component:Kme}),cxe=Xr({getParentRoute:()=>qs,path:"/plugin-mirrors",component:Zme}),uxe=Xr({getParentRoute:()=>qs,path:"/settings",component:CH}),dxe=Xr({getParentRoute:()=>D0,path:"*",component:YT}),hxe=D0.addChildren([Yge,Kge,qs.addChildren([Zge,Jge,exe,txe,nxe,rxe,sxe,ixe,lxe,oxe,cxe,axe,uxe]),dxe]),fxe=FI({routeTree:hxe,defaultNotFoundComponent:YT});function mxe({children:n,defaultTheme:e="system",storageKey:t="ui-theme",...r}){const[s,i]=S.useState(()=>localStorage.getItem(t)||e);S.useEffect(()=>{const c=window.document.documentElement;if(c.classList.remove("light","dark"),s==="system"){const u=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";c.classList.add(u);return}c.classList.add(s)},[s]),S.useEffect(()=>{const c=localStorage.getItem("accent-color");if(c){const u=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%)"}}[c];m&&(u.style.setProperty("--primary",m.hsl),m.gradient?(u.style.setProperty("--primary-gradient",m.gradient),u.classList.add("has-gradient")):(u.style.removeProperty("--primary-gradient"),u.classList.remove("has-gradient")))}},[]);const l={theme:s,setTheme:c=>{localStorage.setItem(t,c),i(c)}};return a.jsx(xT.Provider,{...r,value:l,children:n})}function pxe({children:n,defaultEnabled:e=!0,defaultWavesEnabled:t=!0,storageKey:r="enable-animations",wavesStorageKey:s="enable-waves-background"}){const[i,l]=S.useState(()=>{const m=localStorage.getItem(r);return m!==null?m==="true":e}),[c,u]=S.useState(()=>{const m=localStorage.getItem(s);return m!==null?m==="true":t});S.useEffect(()=>{const m=document.documentElement;i?m.classList.remove("no-animations"):m.classList.add("no-animations"),localStorage.setItem(r,String(i))},[i,r]),S.useEffect(()=>{localStorage.setItem(s,String(c))},[c,s]);const h={enableAnimations:i,setEnableAnimations:l,enableWavesBackground:c,setEnableWavesBackground:u};return a.jsx(vT.Provider,{value:h,children:n})}var d3="ToastProvider",[h3,gxe,xxe]=nx("Toast"),[tL]=Hi("Toast",[xxe]),[vxe,t1]=tL(d3),nL=n=>{const{__scopeToast:e,label:t="Notification",duration:r=5e3,swipeDirection:s="right",swipeThreshold:i=50,children:l}=n,[c,u]=S.useState(null),[h,m]=S.useState(0),p=S.useRef(!1),x=S.useRef(!1);return t.trim()||console.error(`Invalid prop \`label\` supplied to \`${d3}\`. Expected non-empty \`string\`.`),a.jsx(h3.Provider,{scope:e,children:a.jsx(vxe,{scope:e,label:t,duration:r,swipeDirection:s,swipeThreshold:i,toastCount:h,viewport:c,onViewportChange:u,onToastAdd:S.useCallback(()=>m(v=>v+1),[]),onToastRemove:S.useCallback(()=>m(v=>v-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:x,children:l})})};nL.displayName=d3;var rL="ToastViewport",yxe=["F8"],F4="toast.viewportPause",q4="toast.viewportResume",sL=S.forwardRef((n,e)=>{const{__scopeToast:t,hotkey:r=yxe,label:s="Notifications ({hotkey})",...i}=n,l=t1(rL,t),c=gxe(t),u=S.useRef(null),h=S.useRef(null),m=S.useRef(null),p=S.useRef(null),x=Cn(e,p,l.onViewportChange),v=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),b=l.toastCount>0;S.useEffect(()=>{const k=j=>{r.length!==0&&r.every(M=>j[M]||j.code===M)&&p.current?.focus()};return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)},[r]),S.useEffect(()=>{const k=u.current,j=p.current;if(b&&k&&j){const T=()=>{if(!l.isClosePausedRef.current){const E=new CustomEvent(F4);j.dispatchEvent(E),l.isClosePausedRef.current=!0}},M=()=>{if(l.isClosePausedRef.current){const E=new CustomEvent(q4);j.dispatchEvent(E),l.isClosePausedRef.current=!1}},_=E=>{!k.contains(E.relatedTarget)&&M()},D=()=>{k.contains(document.activeElement)||M()};return k.addEventListener("focusin",T),k.addEventListener("focusout",_),k.addEventListener("pointermove",T),k.addEventListener("pointerleave",D),window.addEventListener("blur",T),window.addEventListener("focus",M),()=>{k.removeEventListener("focusin",T),k.removeEventListener("focusout",_),k.removeEventListener("pointermove",T),k.removeEventListener("pointerleave",D),window.removeEventListener("blur",T),window.removeEventListener("focus",M)}}},[b,l.isClosePausedRef]);const O=S.useCallback(({tabbingDirection:k})=>{const T=c().map(M=>{const _=M.ref.current,D=[_,..._xe(_)];return k==="forwards"?D:D.reverse()});return(k==="forwards"?T.reverse():T).flat()},[c]);return S.useEffect(()=>{const k=p.current;if(k){const j=T=>{const M=T.altKey||T.ctrlKey||T.metaKey;if(T.key==="Tab"&&!M){const D=document.activeElement,E=T.shiftKey;if(T.target===k&&E){h.current?.focus();return}const q=O({tabbingDirection:E?"backwards":"forwards"}),B=q.findIndex(U=>U===D);Xb(q.slice(B+1))?T.preventDefault():E?h.current?.focus():m.current?.focus()}};return k.addEventListener("keydown",j),()=>k.removeEventListener("keydown",j)}},[c,O]),a.jsxs(hF,{ref:u,role:"region","aria-label":s.replace("{hotkey}",v),tabIndex:-1,style:{pointerEvents:b?void 0:"none"},children:[b&&a.jsx(Q4,{ref:h,onFocusFromOutsideViewport:()=>{const k=O({tabbingDirection:"forwards"});Xb(k)}}),a.jsx(h3.Slot,{scope:t,children:a.jsx(Yt.ol,{tabIndex:-1,...i,ref:x})}),b&&a.jsx(Q4,{ref:m,onFocusFromOutsideViewport:()=>{const k=O({tabbingDirection:"backwards"});Xb(k)}})]})});sL.displayName=rL;var iL="ToastFocusProxy",Q4=S.forwardRef((n,e)=>{const{__scopeToast:t,onFocusFromOutsideViewport:r,...s}=n,i=t1(iL,t);return a.jsx(I9,{tabIndex:0,...s,ref:e,style:{position:"fixed"},onFocus:l=>{const c=l.relatedTarget;!i.viewport?.contains(c)&&r()}})});Q4.displayName=iL;var R0="Toast",bxe="toast.swipeStart",wxe="toast.swipeMove",Sxe="toast.swipeCancel",Oxe="toast.swipeEnd",aL=S.forwardRef((n,e)=>{const{forceMount:t,open:r,defaultOpen:s,onOpenChange:i,...l}=n,[c,u]=So({prop:r,defaultProp:s??!0,onChange:i,caller:R0});return a.jsx(Ls,{present:t||c,children:a.jsx(Nxe,{open:c,...l,ref:e,onClose:()=>u(!1),onPause:es(n.onPause),onResume:es(n.onResume),onSwipeStart:$e(n.onSwipeStart,h=>{h.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:$e(n.onSwipeMove,h=>{const{x:m,y:p}=h.detail.delta;h.currentTarget.setAttribute("data-swipe","move"),h.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${m}px`),h.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${p}px`)}),onSwipeCancel:$e(n.onSwipeCancel,h=>{h.currentTarget.setAttribute("data-swipe","cancel"),h.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),h.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),h.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),h.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:$e(n.onSwipeEnd,h=>{const{x:m,y:p}=h.detail.delta;h.currentTarget.setAttribute("data-swipe","end"),h.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),h.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),h.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${m}px`),h.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${p}px`),u(!1)})})})});aL.displayName=R0;var[kxe,jxe]=tL(R0,{onClose(){}}),Nxe=S.forwardRef((n,e)=>{const{__scopeToast:t,type:r="foreground",duration:s,open:i,onClose:l,onEscapeKeyDown:c,onPause:u,onResume:h,onSwipeStart:m,onSwipeMove:p,onSwipeCancel:x,onSwipeEnd:v,...b}=n,O=t1(R0,t),[k,j]=S.useState(null),T=Cn(e,W=>j(W)),M=S.useRef(null),_=S.useRef(null),D=s||O.duration,E=S.useRef(0),z=S.useRef(D),Q=S.useRef(0),{onToastAdd:q,onToastRemove:B}=O,U=es(()=>{k?.contains(document.activeElement)&&O.viewport?.focus(),l()}),V=S.useCallback(W=>{!W||W===1/0||(window.clearTimeout(Q.current),E.current=new Date().getTime(),Q.current=window.setTimeout(U,W))},[U]);S.useEffect(()=>{const W=O.viewport;if(W){const J=()=>{V(z.current),h?.()},H=()=>{const ae=new Date().getTime()-E.current;z.current=z.current-ae,window.clearTimeout(Q.current),u?.()};return W.addEventListener(F4,H),W.addEventListener(q4,J),()=>{W.removeEventListener(F4,H),W.removeEventListener(q4,J)}}},[O.viewport,D,u,h,V]),S.useEffect(()=>{i&&!O.isClosePausedRef.current&&V(D)},[i,D,O.isClosePausedRef,V]),S.useEffect(()=>(q(),()=>B()),[q,B]);const ce=S.useMemo(()=>k?fL(k):null,[k]);return O.viewport?a.jsxs(a.Fragment,{children:[ce&&a.jsx(Cxe,{__scopeToast:t,role:"status","aria-live":r==="foreground"?"assertive":"polite",children:ce}),a.jsx(kxe,{scope:t,onClose:U,children:g9.createPortal(a.jsx(h3.ItemSlot,{scope:t,children:a.jsx(fF,{asChild:!0,onEscapeKeyDown:$e(c,()=>{O.isFocusedToastEscapeKeyDownRef.current||U(),O.isFocusedToastEscapeKeyDownRef.current=!1}),children:a.jsx(Yt.li,{tabIndex:0,"data-state":i?"open":"closed","data-swipe-direction":O.swipeDirection,...b,ref:T,style:{userSelect:"none",touchAction:"none",...n.style},onKeyDown:$e(n.onKeyDown,W=>{W.key==="Escape"&&(c?.(W.nativeEvent),W.nativeEvent.defaultPrevented||(O.isFocusedToastEscapeKeyDownRef.current=!0,U()))}),onPointerDown:$e(n.onPointerDown,W=>{W.button===0&&(M.current={x:W.clientX,y:W.clientY})}),onPointerMove:$e(n.onPointerMove,W=>{if(!M.current)return;const J=W.clientX-M.current.x,H=W.clientY-M.current.y,ae=!!_.current,ne=["left","right"].includes(O.swipeDirection),ue=["left","up"].includes(O.swipeDirection)?Math.min:Math.max,R=ne?ue(0,J):0,me=ne?0:ue(0,H),Y=W.pointerType==="touch"?10:2,P={x:R,y:me},K={originalEvent:W,delta:P};ae?(_.current=P,$p(wxe,p,K,{discrete:!1})):p9(P,O.swipeDirection,Y)?(_.current=P,$p(bxe,m,K,{discrete:!1}),W.target.setPointerCapture(W.pointerId)):(Math.abs(J)>Y||Math.abs(H)>Y)&&(M.current=null)}),onPointerUp:$e(n.onPointerUp,W=>{const J=_.current,H=W.target;if(H.hasPointerCapture(W.pointerId)&&H.releasePointerCapture(W.pointerId),_.current=null,M.current=null,J){const ae=W.currentTarget,ne={originalEvent:W,delta:J};p9(J,O.swipeDirection,O.swipeThreshold)?$p(Oxe,v,ne,{discrete:!0}):$p(Sxe,x,ne,{discrete:!0}),ae.addEventListener("click",ue=>ue.preventDefault(),{once:!0})}})})})}),O.viewport)})]}):null}),Cxe=n=>{const{__scopeToast:e,children:t,...r}=n,s=t1(R0,e),[i,l]=S.useState(!1),[c,u]=S.useState(!1);return Axe(()=>l(!0)),S.useEffect(()=>{const h=window.setTimeout(()=>u(!0),1e3);return()=>window.clearTimeout(h)},[]),c?null:a.jsx(ix,{asChild:!0,children:a.jsx(I9,{...r,children:i&&a.jsxs(a.Fragment,{children:[s.label," ",t]})})})},Txe="ToastTitle",lL=S.forwardRef((n,e)=>{const{__scopeToast:t,...r}=n;return a.jsx(Yt.div,{...r,ref:e})});lL.displayName=Txe;var Mxe="ToastDescription",oL=S.forwardRef((n,e)=>{const{__scopeToast:t,...r}=n;return a.jsx(Yt.div,{...r,ref:e})});oL.displayName=Mxe;var cL="ToastAction",uL=S.forwardRef((n,e)=>{const{altText:t,...r}=n;return t.trim()?a.jsx(hL,{altText:t,asChild:!0,children:a.jsx(f3,{...r,ref:e})}):(console.error(`Invalid prop \`altText\` supplied to \`${cL}\`. Expected non-empty \`string\`.`),null)});uL.displayName=cL;var dL="ToastClose",f3=S.forwardRef((n,e)=>{const{__scopeToast:t,...r}=n,s=jxe(dL,t);return a.jsx(hL,{asChild:!0,children:a.jsx(Yt.button,{type:"button",...r,ref:e,onClick:$e(n.onClick,s.onClose)})})});f3.displayName=dL;var hL=S.forwardRef((n,e)=>{const{__scopeToast:t,altText:r,...s}=n;return a.jsx(Yt.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...s,ref:e})});function fL(n){const e=[];return Array.from(n.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&e.push(r.textContent),Exe(r)){const s=r.ariaHidden||r.hidden||r.style.display==="none",i=r.dataset.radixToastAnnounceExclude==="";if(!s)if(i){const l=r.dataset.radixToastAnnounceAlt;l&&e.push(l)}else e.push(...fL(r))}}),e}function $p(n,e,t,{discrete:r}){const s=t.originalEvent.currentTarget,i=new CustomEvent(n,{bubbles:!0,cancelable:!0,detail:t});e&&s.addEventListener(n,e,{once:!0}),r?B9(s,i):s.dispatchEvent(i)}var p9=(n,e,t=0)=>{const r=Math.abs(n.x),s=Math.abs(n.y),i=r>s;return e==="left"||e==="right"?i&&r>t:!i&&s>t};function Axe(n=()=>{}){const e=es(n);b9(()=>{let t=0,r=0;return t=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(e)),()=>{window.cancelAnimationFrame(t),window.cancelAnimationFrame(r)}},[e])}function Exe(n){return n.nodeType===n.ELEMENT_NODE}function _xe(n){const e=[],t=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const s=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||s?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)e.push(t.currentNode);return e}function Xb(n){const e=document.activeElement;return n.some(t=>t===e?!0:(t.focus(),document.activeElement!==e))}var Dxe=nL,mL=sL,pL=aL,gL=lL,xL=oL,vL=uL,yL=f3;const Rxe=Dxe,bL=S.forwardRef(({className:n,...e},t)=>a.jsx(mL,{ref:t,className:ve("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]",n),...e}));bL.displayName=mL.displayName;const zxe=Cd("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"}}),wL=S.forwardRef(({className:n,variant:e,...t},r)=>a.jsx(pL,{ref:r,className:ve(zxe({variant:e}),n),...t}));wL.displayName=pL.displayName;const Pxe=S.forwardRef(({className:n,...e},t)=>a.jsx(vL,{ref:t,className:ve("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",n),...e}));Pxe.displayName=vL.displayName;const SL=S.forwardRef(({className:n,...e},t)=>a.jsx(yL,{ref:t,className:ve("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",n),"toast-close":"",...e,children:a.jsx(Xf,{className:"h-4 w-4"})}));SL.displayName=yL.displayName;const OL=S.forwardRef(({className:n,...e},t)=>a.jsx(gL,{ref:t,className:ve("text-sm font-semibold [&+div]:text-xs",n),...e}));OL.displayName=gL.displayName;const kL=S.forwardRef(({className:n,...e},t)=>a.jsx(xL,{ref:t,className:ve("text-sm opacity-90",n),...e}));kL.displayName=xL.displayName;function Lxe(){const{toasts:n}=Pr();return a.jsxs(Rxe,{children:[n.map(function({id:e,title:t,description:r,action:s,...i}){return a.jsxs(wL,{...i,children:[a.jsxs("div",{className:"grid gap-1",children:[t&&a.jsx(OL,{children:t}),r&&a.jsx(kL,{children:r})]}),s,a.jsx(SL,{})]},e)}),a.jsx(bL,{})]})}HF.createRoot(document.getElementById("root")).render(a.jsx(S.StrictMode,{children:a.jsx(mxe,{defaultTheme:"system",children:a.jsxs(pxe,{children:[a.jsx(QI,{router:fxe}),a.jsx(Lxe,{})]})})})); diff --git a/webui/dist/assets/index-Du48JcWB.js b/webui/dist/assets/index-Du48JcWB.js new file mode 100644 index 00000000..e356c5cc --- /dev/null +++ b/webui/dist/assets/index-Du48JcWB.js @@ -0,0 +1,363 @@ +import{r as O,j as l,u as aa,d as aG,R as fe,b as UA,e as lG,L as oG,f as cG,g as Gr,h as uG,k as dG,O as WA,l as hG}from"./router-SinpzM5S.js";import{a as fG,b as mG,g as qS}from"./react-vendor-Dtc2IqVY.js";import{c as GA,R as pG,T as gG,L as xG,a as vG,C as mg,X as pg,Y as jf,b as yG,B as o2,d as gg,P as bG,e as wG,f as SG,_ as kG,g as OG,i as jG,h as S8,j as NG,k as k8,l as CG,m as TG,n as EG,r as XA,o as _G,p as FS,q as YA,s as xu,t as $S,u as MG,v as AG,w as ZA,x as KA,y as JA,z as QS,A as HS,D as VS,E as RG,F as DG,G as zG,H as PG,I as LG,J as BG,K as IG,M as US,N as F1,O as qG,Q as FG,S as WS,U as $G,V as QG,W as eR,Z as tR,$ as nR,a0 as rR,a1 as $1,a2 as sR,a3 as iR,a4 as HG,a5 as VG,a6 as UG,a7 as WG,a8 as GG,a9 as XG,aa as YG,ab as ZG,ac as aR,ad as lR,ae as KG,af as JG,ag as eX,ah as tX,ai as nX,aj as rX,ak as sX,al as iX,am as aX,an as lX,ao as oX,ap as cX,aq as uX,ar as dX,as as hX,at as fX}from"./charts-BH1Uno6i.js";import{c as la,a as Q1,u as Li,P as fn,b as Xe,d as Pn,e as n0,f as ac,g as us,h as Ws,i as oR,j as GS,k as XS,S as mX,l as cR,m as uR,R as dR,O as H1,n as YS,C as V1,o as ZS,T as KS,D as JS,p as ek,q as hR,r as fR,W as pX,s as mR,I as gX,t as pR,v as gR,w as xX,x as xR,V as vX,L as vR,y as yR,z as yX,A as bX,B as bR,E as wX,F as SX,G as Uo,H as U1,J as ph,K as wR,M as SR,N as kR,Q as OR,U as tk,X as nk,Y as W1,Z as G1,_ as rk,$ as jR,a0 as kX,a1 as NR,a2 as OX,a3 as jX,a4 as CR,a5 as NX}from"./ui-vendor-BLBhIcJ8.js";import{R as hi,A as CX,D as TX,a as R5,Z as pm,C as Yc,M as r0,T as EX,X as s0,P as TR,S as _X,b as Zc,I as Il,c as Rd,d as Kc,e as D5,E as z5,f as na,g as Ea,h as P5,i as MX,j as L5,k as B5,L as O8,K as AX,l as su,m as RX,n as DX,F as Dl,o as zX,B as PX,U as ER,p as sk,q as LX,r as BX,s as js,H as Hx,t as _R,u as gm,v as I5,w as xm,x as IX,y as qX,z as X1,G as ik,J as is,N as Kt,O as Vx,Q as Wd,V as i0,W as vu,Y as yu,_ as a0,$ as FX,a0 as j8,a1 as $X,a2 as Jc,a3 as q5,a4 as Gd,a5 as N8,a6 as Ux,a7 as QX,a8 as MR,a9 as C8,aa as HX,ab as VX,ac as zo,ad as c2,ae as T8,af as UX,ag as nm,ah as Wx,ai as AR,aj as RR,ak as DR,al as WX,am as GX,an as E8,ao as XX,ap as YX,aq as _8,ar as ZX}from"./icons-COIni9ke.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();var u2={exports:{}},Nf={},d2={exports:{}},h2={};var M8;function KX(){return M8||(M8=1,(function(t){function e(q,J){var ee=q.length;q.push(J);e:for(;0>>1,R=q[Y];if(0>>1;Ys(I,ee))Qs($,I)?(q[Y]=$,q[Q]=ee,Y=Q):(q[Y]=I,q[K]=ee,Y=K);else if(Qs($,ee))q[Y]=$,q[Q]=ee,Y=Q;else break e}}return J}function s(q,J){var ee=q.sortIndex-J.sortIndex;return ee!==0?ee:q.id-J.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var i=performance;t.unstable_now=function(){return i.now()}}else{var a=Date,o=a.now();t.unstable_now=function(){return a.now()-o}}var u=[],h=[],f=1,m=null,g=3,x=!1,y=!1,w=!1,b=!1,k=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;function T(q){for(var J=n(h);J!==null;){if(J.callback===null)r(h);else if(J.startTime<=q)r(h),J.sortIndex=J.expirationTime,e(u,J);else break;J=n(h)}}function E(q){if(w=!1,T(q),!y)if(n(u)!==null)y=!0,_||(_=!0,U());else{var J=n(h);J!==null&&W(E,J.startTime-q)}}var _=!1,A=-1,F=5,B=-1;function P(){return b?!0:!(t.unstable_now()-Bq&&P());){var Y=m.callback;if(typeof Y=="function"){m.callback=null,g=m.priorityLevel;var R=Y(m.expirationTime<=q);if(q=t.unstable_now(),typeof R=="function"){m.callback=R,T(q),J=!0;break t}m===n(u)&&r(u),T(q)}else r(u);m=n(u)}if(m!==null)J=!0;else{var re=n(h);re!==null&&W(E,re.startTime-q),J=!1}}break e}finally{m=null,g=ee,x=!1}J=void 0}}finally{J?U():_=!1}}}var U;if(typeof C=="function")U=function(){C(H)};else if(typeof MessageChannel<"u"){var te=new MessageChannel,z=te.port2;te.port1.onmessage=H,U=function(){z.postMessage(null)}}else U=function(){k(H,0)};function W(q,J){A=k(function(){q(t.unstable_now())},J)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(q){q.callback=null},t.unstable_forceFrameRate=function(q){0>q||125Y?(q.sortIndex=ee,e(h,q),n(u)===null&&q===n(h)&&(w?(N(A),A=-1):w=!0,W(E,ee-Y))):(q.sortIndex=R,e(u,q),y||x||(y=!0,_||(_=!0,U()))),q},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(q){var J=g;return function(){var ee=g;g=J;try{return q.apply(this,arguments)}finally{g=ee}}}})(h2)),h2}var A8;function JX(){return A8||(A8=1,d2.exports=KX()),d2.exports}var R8;function eY(){if(R8)return Nf;R8=1;var t=JX(),e=fG(),n=mG();function r(c){var d="https://react.dev/errors/"+c;if(1R||(c.current=Y[R],Y[R]=null,R--)}function I(c,d){R++,Y[R]=c.current,c.current=d}var Q=re(null),$=re(null),Z=re(null),ne=re(null);function ge(c,d){switch(I(Z,d),I($,c),I(Q,null),d.nodeType){case 9:case 11:c=(c=d.documentElement)&&(c=c.namespaceURI)?VN(c):0;break;default:if(c=d.tagName,d=d.namespaceURI)d=VN(d),c=UN(d,c);else switch(c){case"svg":c=1;break;case"math":c=2;break;default:c=0}}K(Q),I(Q,c)}function se(){K(Q),K($),K(Z)}function Te(c){c.memoizedState!==null&&I(ne,c);var d=Q.current,p=UN(d,c.type);d!==p&&(I($,c),I(Q,p))}function qe(c){$.current===c&&(K(Q),K($)),ne.current===c&&(K(ne),wf._currentValue=ee)}var ve,Fe;function Qe(c){if(ve===void 0)try{throw Error()}catch(p){var d=p.stack.trim().match(/\n( *(at )?)/);ve=d&&d[1]||"",Fe=-1)":-1S||oe[v]!==we[S]){var Ee=` +`+oe[v].replace(" at new "," at ");return c.displayName&&Ee.includes("")&&(Ee=Ee.replace("",c.displayName)),Ee}while(1<=v&&0<=S);break}}}finally{Ke=!1,Error.prepareStackTrace=p}return(p=c?c.displayName||c.name:"")?Qe(p):""}function st(c,d){switch(c.tag){case 26:case 27:case 5:return Qe(c.type);case 16:return Qe("Lazy");case 13:return c.child!==d&&d!==null?Qe("Suspense Fallback"):Qe("Suspense");case 19:return Qe("SuspenseList");case 0:case 15:return Tt(c.type,!1);case 11:return Tt(c.type.render,!1);case 1:return Tt(c.type,!0);case 31:return Qe("Activity");default:return""}}function He(c){try{var d="",p=null;do d+=st(c,p),p=c,c=c.return;while(c);return d}catch(v){return` +Error generating stack: `+v.message+` +`+v.stack}}var St=Object.prototype.hasOwnProperty,bt=t.unstable_scheduleCallback,nr=t.unstable_cancelCallback,mn=t.unstable_shouldYield,Hn=t.unstable_requestPaint,$t=t.unstable_now,ht=t.unstable_getCurrentPriorityLevel,le=t.unstable_ImmediatePriority,Oe=t.unstable_UserBlockingPriority,Le=t.unstable_NormalPriority,nt=t.unstable_LowPriority,Ot=t.unstable_IdlePriority,Vt=t.log,Ln=t.unstable_setDisableYieldValue,ue=null,Ce=null;function lt(c){if(typeof Vt=="function"&&Ln(c),Ce&&typeof Ce.setStrictMode=="function")try{Ce.setStrictMode(ue,c)}catch{}}var ut=Math.clz32?Math.clz32:On,or=Math.log,ft=Math.LN2;function On(c){return c>>>=0,c===0?32:31-(or(c)/ft|0)|0}var mt=256,Jt=262144,fr=4194304;function kt(c){var d=c&42;if(d!==0)return d;switch(c&-c){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 c&261888;case 262144:case 524288:case 1048576:case 2097152:return c&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return c&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return c}}function eo(c,d,p){var v=c.pendingLanes;if(v===0)return 0;var S=0,j=c.suspendedLanes,L=c.pingedLanes;c=c.warmLanes;var G=v&134217727;return G!==0?(v=G&~j,v!==0?S=kt(v):(L&=G,L!==0?S=kt(L):p||(p=G&~c,p!==0&&(S=kt(p))))):(G=v&~j,G!==0?S=kt(G):L!==0?S=kt(L):p||(p=v&~c,p!==0&&(S=kt(p)))),S===0?0:d!==0&&d!==S&&(d&j)===0&&(j=S&-S,p=d&-d,j>=p||j===32&&(p&4194048)!==0)?d:S}function Xa(c,d){return(c.pendingLanes&~(c.suspendedLanes&~c.pingedLanes)&d)===0}function Mh(c,d){switch(c){case 1:case 2:case 4:case 8:case 64:return d+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 d+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 to(){var c=fr;return fr<<=1,(fr&62914560)===0&&(fr=4194304),c}function Ya(c){for(var d=[],p=0;31>p;p++)d.push(c);return d}function pc(c,d){c.pendingLanes|=d,d!==268435456&&(c.suspendedLanes=0,c.pingedLanes=0,c.warmLanes=0)}function Zv(c,d,p,v,S,j){var L=c.pendingLanes;c.pendingLanes=p,c.suspendedLanes=0,c.pingedLanes=0,c.warmLanes=0,c.expiredLanes&=p,c.entangledLanes&=p,c.errorRecoveryDisabledLanes&=p,c.shellSuspendCounter=0;var G=c.entanglements,oe=c.expirationTimes,we=c.hiddenUpdates;for(p=L&~p;0"u")return null;try{return c.activeElement||c.body}catch{return c.body}}var eU=/[\n"\\]/g;function yi(c){return c.replace(eU,function(d){return"\\"+d.charCodeAt(0).toString(16)+" "})}function ny(c,d,p,v,S,j,L,G){c.name="",L!=null&&typeof L!="function"&&typeof L!="symbol"&&typeof L!="boolean"?c.type=L:c.removeAttribute("type"),d!=null?L==="number"?(d===0&&c.value===""||c.value!=d)&&(c.value=""+vi(d)):c.value!==""+vi(d)&&(c.value=""+vi(d)):L!=="submit"&&L!=="reset"||c.removeAttribute("value"),d!=null?ry(c,L,vi(d)):p!=null?ry(c,L,vi(p)):v!=null&&c.removeAttribute("value"),S==null&&j!=null&&(c.defaultChecked=!!j),S!=null&&(c.checked=S&&typeof S!="function"&&typeof S!="symbol"),G!=null&&typeof G!="function"&&typeof G!="symbol"&&typeof G!="boolean"?c.name=""+vi(G):c.removeAttribute("name")}function IO(c,d,p,v,S,j,L,G){if(j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"&&(c.type=j),d!=null||p!=null){if(!(j!=="submit"&&j!=="reset"||d!=null)){ty(c);return}p=p!=null?""+vi(p):"",d=d!=null?""+vi(d):p,G||d===c.value||(c.value=d),c.defaultValue=d}v=v??S,v=typeof v!="function"&&typeof v!="symbol"&&!!v,c.checked=G?c.checked:!!v,c.defaultChecked=!!v,L!=null&&typeof L!="function"&&typeof L!="symbol"&&typeof L!="boolean"&&(c.name=L),ty(c)}function ry(c,d,p){d==="number"&&sp(c.ownerDocument)===c||c.defaultValue===""+p||(c.defaultValue=""+p)}function Eu(c,d,p,v){if(c=c.options,d){d={};for(var S=0;S"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),oy=!1;if(nl)try{var Bh={};Object.defineProperty(Bh,"passive",{get:function(){oy=!0}}),window.addEventListener("test",Bh,Bh),window.removeEventListener("test",Bh,Bh)}catch{oy=!1}var io=null,cy=null,ap=null;function UO(){if(ap)return ap;var c,d=cy,p=d.length,v,S="value"in io?io.value:io.textContent,j=S.length;for(c=0;c=Fh),KO=" ",JO=!1;function ej(c,d){switch(c){case"keyup":return TU.indexOf(d.keyCode)!==-1;case"keydown":return d.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function tj(c){return c=c.detail,typeof c=="object"&&"data"in c?c.data:null}var Ru=!1;function _U(c,d){switch(c){case"compositionend":return tj(d);case"keypress":return d.which!==32?null:(JO=!0,KO);case"textInput":return c=d.data,c===KO&&JO?null:c;default:return null}}function MU(c,d){if(Ru)return c==="compositionend"||!my&&ej(c,d)?(c=UO(),ap=cy=io=null,Ru=!1,c):null;switch(c){case"paste":return null;case"keypress":if(!(d.ctrlKey||d.altKey||d.metaKey)||d.ctrlKey&&d.altKey){if(d.char&&1=d)return{node:p,offset:d-c};c=v}e:{for(;p;){if(p.nextSibling){p=p.nextSibling;break e}p=p.parentNode}p=void 0}p=cj(p)}}function dj(c,d){return c&&d?c===d?!0:c&&c.nodeType===3?!1:d&&d.nodeType===3?dj(c,d.parentNode):"contains"in c?c.contains(d):c.compareDocumentPosition?!!(c.compareDocumentPosition(d)&16):!1:!1}function hj(c){c=c!=null&&c.ownerDocument!=null&&c.ownerDocument.defaultView!=null?c.ownerDocument.defaultView:window;for(var d=sp(c.document);d instanceof c.HTMLIFrameElement;){try{var p=typeof d.contentWindow.location.href=="string"}catch{p=!1}if(p)c=d.contentWindow;else break;d=sp(c.document)}return d}function xy(c){var d=c&&c.nodeName&&c.nodeName.toLowerCase();return d&&(d==="input"&&(c.type==="text"||c.type==="search"||c.type==="tel"||c.type==="url"||c.type==="password")||d==="textarea"||c.contentEditable==="true")}var IU=nl&&"documentMode"in document&&11>=document.documentMode,Du=null,vy=null,Vh=null,yy=!1;function fj(c,d,p){var v=p.window===p?p.document:p.nodeType===9?p:p.ownerDocument;yy||Du==null||Du!==sp(v)||(v=Du,"selectionStart"in v&&xy(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}),Vh&&Hh(Vh,v)||(Vh=v,v=Jp(vy,"onSelect"),0>=L,S-=L,fa=1<<32-ut(d)+S|p<At?(Yt=rt,rt=null):Yt=rt.sibling;var gn=ke(pe,rt,ye[At],_e);if(gn===null){rt===null&&(rt=Yt);break}c&&rt&&gn.alternate===null&&d(pe,rt),he=j(gn,he,At),pn===null?dt=gn:pn.sibling=gn,pn=gn,rt=Yt}if(At===ye.length)return p(pe,rt),en&&sl(pe,At),dt;if(rt===null){for(;AtAt?(Yt=rt,rt=null):Yt=rt.sibling;var To=ke(pe,rt,gn.value,_e);if(To===null){rt===null&&(rt=Yt);break}c&&rt&&To.alternate===null&&d(pe,rt),he=j(To,he,At),pn===null?dt=To:pn.sibling=To,pn=To,rt=Yt}if(gn.done)return p(pe,rt),en&&sl(pe,At),dt;if(rt===null){for(;!gn.done;At++,gn=ye.next())gn=Ae(pe,gn.value,_e),gn!==null&&(he=j(gn,he,At),pn===null?dt=gn:pn.sibling=gn,pn=gn);return en&&sl(pe,At),dt}for(rt=v(rt);!gn.done;At++,gn=ye.next())gn=Ne(rt,pe,At,gn.value,_e),gn!==null&&(c&&gn.alternate!==null&&rt.delete(gn.key===null?At:gn.key),he=j(gn,he,At),pn===null?dt=gn:pn.sibling=gn,pn=gn);return c&&rt.forEach(function(iG){return d(pe,iG)}),en&&sl(pe,At),dt}function Mn(pe,he,ye,_e){if(typeof ye=="object"&&ye!==null&&ye.type===w&&ye.key===null&&(ye=ye.props.children),typeof ye=="object"&&ye!==null){switch(ye.$$typeof){case x:e:{for(var dt=ye.key;he!==null;){if(he.key===dt){if(dt=ye.type,dt===w){if(he.tag===7){p(pe,he.sibling),_e=S(he,ye.props.children),_e.return=pe,pe=_e;break e}}else if(he.elementType===dt||typeof dt=="object"&&dt!==null&&dt.$$typeof===F&&Cc(dt)===he.type){p(pe,he.sibling),_e=S(he,ye.props),Zh(_e,ye),_e.return=pe,pe=_e;break e}p(pe,he);break}else d(pe,he);he=he.sibling}ye.type===w?(_e=Sc(ye.props.children,pe.mode,_e,ye.key),_e.return=pe,pe=_e):(_e=gp(ye.type,ye.key,ye.props,null,pe.mode,_e),Zh(_e,ye),_e.return=pe,pe=_e)}return L(pe);case y:e:{for(dt=ye.key;he!==null;){if(he.key===dt)if(he.tag===4&&he.stateNode.containerInfo===ye.containerInfo&&he.stateNode.implementation===ye.implementation){p(pe,he.sibling),_e=S(he,ye.children||[]),_e.return=pe,pe=_e;break e}else{p(pe,he);break}else d(pe,he);he=he.sibling}_e=Ny(ye,pe.mode,_e),_e.return=pe,pe=_e}return L(pe);case F:return ye=Cc(ye),Mn(pe,he,ye,_e)}if(W(ye))return Je(pe,he,ye,_e);if(U(ye)){if(dt=U(ye),typeof dt!="function")throw Error(r(150));return ye=dt.call(ye),vt(pe,he,ye,_e)}if(typeof ye.then=="function")return Mn(pe,he,kp(ye),_e);if(ye.$$typeof===C)return Mn(pe,he,yp(pe,ye),_e);Op(pe,ye)}return typeof ye=="string"&&ye!==""||typeof ye=="number"||typeof ye=="bigint"?(ye=""+ye,he!==null&&he.tag===6?(p(pe,he.sibling),_e=S(he,ye),_e.return=pe,pe=_e):(p(pe,he),_e=jy(ye,pe.mode,_e),_e.return=pe,pe=_e),L(pe)):p(pe,he)}return function(pe,he,ye,_e){try{Yh=0;var dt=Mn(pe,he,ye,_e);return Vu=null,dt}catch(rt){if(rt===Hu||rt===wp)throw rt;var pn=Ks(29,rt,null,pe.mode);return pn.lanes=_e,pn.return=pe,pn}finally{}}}var Ec=Pj(!0),Lj=Pj(!1),uo=!1;function By(c){c.updateQueue={baseState:c.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Iy(c,d){c=c.updateQueue,d.updateQueue===c&&(d.updateQueue={baseState:c.baseState,firstBaseUpdate:c.firstBaseUpdate,lastBaseUpdate:c.lastBaseUpdate,shared:c.shared,callbacks:null})}function ho(c){return{lane:c,tag:0,payload:null,callback:null,next:null}}function fo(c,d,p){var v=c.updateQueue;if(v===null)return null;if(v=v.shared,(Sn&2)!==0){var S=v.pending;return S===null?d.next=d:(d.next=S.next,S.next=d),v.pending=d,d=pp(c),bj(c,null,p),d}return mp(c,v,d,p),pp(c)}function Kh(c,d,p){if(d=d.updateQueue,d!==null&&(d=d.shared,(p&4194048)!==0)){var v=d.lanes;v&=c.pendingLanes,p|=v,d.lanes=p,W0(c,p)}}function qy(c,d){var p=c.updateQueue,v=c.alternate;if(v!==null&&(v=v.updateQueue,p===v)){var S=null,j=null;if(p=p.firstBaseUpdate,p!==null){do{var L={lane:p.lane,tag:p.tag,payload:p.payload,callback:null,next:null};j===null?S=j=L:j=j.next=L,p=p.next}while(p!==null);j===null?S=j=d:j=j.next=d}else S=j=d;p={baseState:v.baseState,firstBaseUpdate:S,lastBaseUpdate:j,shared:v.shared,callbacks:v.callbacks},c.updateQueue=p;return}c=p.lastBaseUpdate,c===null?p.firstBaseUpdate=d:c.next=d,p.lastBaseUpdate=d}var Fy=!1;function Jh(){if(Fy){var c=Qu;if(c!==null)throw c}}function ef(c,d,p,v){Fy=!1;var S=c.updateQueue;uo=!1;var j=S.firstBaseUpdate,L=S.lastBaseUpdate,G=S.shared.pending;if(G!==null){S.shared.pending=null;var oe=G,we=oe.next;oe.next=null,L===null?j=we:L.next=we,L=oe;var Ee=c.alternate;Ee!==null&&(Ee=Ee.updateQueue,G=Ee.lastBaseUpdate,G!==L&&(G===null?Ee.firstBaseUpdate=we:G.next=we,Ee.lastBaseUpdate=oe))}if(j!==null){var Ae=S.baseState;L=0,Ee=we=oe=null,G=j;do{var ke=G.lane&-536870913,Ne=ke!==G.lane;if(Ne?(Xt&ke)===ke:(v&ke)===ke){ke!==0&&ke===$u&&(Fy=!0),Ee!==null&&(Ee=Ee.next={lane:0,tag:G.tag,payload:G.payload,callback:null,next:null});e:{var Je=c,vt=G;ke=d;var Mn=p;switch(vt.tag){case 1:if(Je=vt.payload,typeof Je=="function"){Ae=Je.call(Mn,Ae,ke);break e}Ae=Je;break e;case 3:Je.flags=Je.flags&-65537|128;case 0:if(Je=vt.payload,ke=typeof Je=="function"?Je.call(Mn,Ae,ke):Je,ke==null)break e;Ae=m({},Ae,ke);break e;case 2:uo=!0}}ke=G.callback,ke!==null&&(c.flags|=64,Ne&&(c.flags|=8192),Ne=S.callbacks,Ne===null?S.callbacks=[ke]:Ne.push(ke))}else Ne={lane:ke,tag:G.tag,payload:G.payload,callback:G.callback,next:null},Ee===null?(we=Ee=Ne,oe=Ae):Ee=Ee.next=Ne,L|=ke;if(G=G.next,G===null){if(G=S.shared.pending,G===null)break;Ne=G,G=Ne.next,Ne.next=null,S.lastBaseUpdate=Ne,S.shared.pending=null}}while(!0);Ee===null&&(oe=Ae),S.baseState=oe,S.firstBaseUpdate=we,S.lastBaseUpdate=Ee,j===null&&(S.shared.lanes=0),vo|=L,c.lanes=L,c.memoizedState=Ae}}function Bj(c,d){if(typeof c!="function")throw Error(r(191,c));c.call(d)}function Ij(c,d){var p=c.callbacks;if(p!==null)for(c.callbacks=null,c=0;cj?j:8;var L=q.T,G={};q.T=G,ab(c,!1,d,p);try{var oe=S(),we=q.S;if(we!==null&&we(G,oe),oe!==null&&typeof oe=="object"&&typeof oe.then=="function"){var Ee=GU(oe,v);rf(c,d,Ee,ri(c))}else rf(c,d,v,ri(c))}catch(Ae){rf(c,d,{then:function(){},status:"rejected",reason:Ae},ri())}finally{J.p=j,L!==null&&G.types!==null&&(L.types=G.types),q.T=L}}function eW(){}function sb(c,d,p,v){if(c.tag!==5)throw Error(r(476));var S=x7(c).queue;g7(c,S,d,ee,p===null?eW:function(){return v7(c),p(v)})}function x7(c){var d=c.memoizedState;if(d!==null)return d;d={memoizedState:ee,baseState:ee,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ol,lastRenderedState:ee},next:null};var p={};return d.next={memoizedState:p,baseState:p,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ol,lastRenderedState:p},next:null},c.memoizedState=d,c=c.alternate,c!==null&&(c.memoizedState=d),d}function v7(c){var d=x7(c);d.next===null&&(d=c.alternate.memoizedState),rf(c,d.next.queue,{},ri())}function ib(){return Kr(wf)}function y7(){return pr().memoizedState}function b7(){return pr().memoizedState}function tW(c){for(var d=c.return;d!==null;){switch(d.tag){case 24:case 3:var p=ri();c=ho(p);var v=fo(d,c,p);v!==null&&(zs(v,d,p),Kh(v,d,p)),d={cache:Dy()},c.payload=d;return}d=d.return}}function nW(c,d,p){var v=ri();p={lane:v,revertLane:0,gesture:null,action:p,hasEagerState:!1,eagerState:null,next:null},Dp(c)?S7(d,p):(p=ky(c,d,p,v),p!==null&&(zs(p,c,v),k7(p,d,v)))}function w7(c,d,p){var v=ri();rf(c,d,p,v)}function rf(c,d,p,v){var S={lane:v,revertLane:0,gesture:null,action:p,hasEagerState:!1,eagerState:null,next:null};if(Dp(c))S7(d,S);else{var j=c.alternate;if(c.lanes===0&&(j===null||j.lanes===0)&&(j=d.lastRenderedReducer,j!==null))try{var L=d.lastRenderedState,G=j(L,p);if(S.hasEagerState=!0,S.eagerState=G,Zs(G,L))return mp(c,d,S,0),Bn===null&&fp(),!1}catch{}finally{}if(p=ky(c,d,S,v),p!==null)return zs(p,c,v),k7(p,d,v),!0}return!1}function ab(c,d,p,v){if(v={lane:2,revertLane:Bb(),gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},Dp(c)){if(d)throw Error(r(479))}else d=ky(c,p,v,2),d!==null&&zs(d,c,2)}function Dp(c){var d=c.alternate;return c===_t||d!==null&&d===_t}function S7(c,d){Wu=Cp=!0;var p=c.pending;p===null?d.next=d:(d.next=p.next,p.next=d),c.pending=d}function k7(c,d,p){if((p&4194048)!==0){var v=d.lanes;v&=c.pendingLanes,p|=v,d.lanes=p,W0(c,p)}}var sf={readContext:Kr,use:_p,useCallback:cr,useContext:cr,useEffect:cr,useImperativeHandle:cr,useLayoutEffect:cr,useInsertionEffect:cr,useMemo:cr,useReducer:cr,useRef:cr,useState:cr,useDebugValue:cr,useDeferredValue:cr,useTransition:cr,useSyncExternalStore:cr,useId:cr,useHostTransitionStatus:cr,useFormState:cr,useActionState:cr,useOptimistic:cr,useMemoCache:cr,useCacheRefresh:cr};sf.useEffectEvent=cr;var O7={readContext:Kr,use:_p,useCallback:function(c,d){return vs().memoizedState=[c,d===void 0?null:d],c},useContext:Kr,useEffect:l7,useImperativeHandle:function(c,d,p){p=p!=null?p.concat([c]):null,Ap(4194308,4,d7.bind(null,d,c),p)},useLayoutEffect:function(c,d){return Ap(4194308,4,c,d)},useInsertionEffect:function(c,d){Ap(4,2,c,d)},useMemo:function(c,d){var p=vs();d=d===void 0?null:d;var v=c();if(_c){lt(!0);try{c()}finally{lt(!1)}}return p.memoizedState=[v,d],v},useReducer:function(c,d,p){var v=vs();if(p!==void 0){var S=p(d);if(_c){lt(!0);try{p(d)}finally{lt(!1)}}}else S=d;return v.memoizedState=v.baseState=S,c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:S},v.queue=c,c=c.dispatch=nW.bind(null,_t,c),[v.memoizedState,c]},useRef:function(c){var d=vs();return c={current:c},d.memoizedState=c},useState:function(c){c=Jy(c);var d=c.queue,p=w7.bind(null,_t,d);return d.dispatch=p,[c.memoizedState,p]},useDebugValue:nb,useDeferredValue:function(c,d){var p=vs();return rb(p,c,d)},useTransition:function(){var c=Jy(!1);return c=g7.bind(null,_t,c.queue,!0,!1),vs().memoizedState=c,[!1,c]},useSyncExternalStore:function(c,d,p){var v=_t,S=vs();if(en){if(p===void 0)throw Error(r(407));p=p()}else{if(p=d(),Bn===null)throw Error(r(349));(Xt&127)!==0||Vj(v,d,p)}S.memoizedState=p;var j={value:p,getSnapshot:d};return S.queue=j,l7(Wj.bind(null,v,j,c),[c]),v.flags|=2048,Xu(9,{destroy:void 0},Uj.bind(null,v,j,p,d),null),p},useId:function(){var c=vs(),d=Bn.identifierPrefix;if(en){var p=ma,v=fa;p=(v&~(1<<32-ut(v)-1)).toString(32)+p,d="_"+d+"R_"+p,p=Tp++,0<\/script>",j=j.removeChild(j.firstChild);break;case"select":j=typeof v.is=="string"?L.createElement("select",{is:v.is}):L.createElement("select"),v.multiple?j.multiple=!0:v.size&&(j.size=v.size);break;default:j=typeof v.is=="string"?L.createElement(S,{is:v.is}):L.createElement(S)}}j[Dr]=d,j[Yr]=v;e:for(L=d.child;L!==null;){if(L.tag===5||L.tag===6)j.appendChild(L.stateNode);else if(L.tag!==4&&L.tag!==27&&L.child!==null){L.child.return=L,L=L.child;continue}if(L===d)break e;for(;L.sibling===null;){if(L.return===null||L.return===d)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}d.stateNode=j;e:switch(es(j,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&&ul(d)}}return Xn(d),bb(d,d.type,c===null?null:c.memoizedProps,d.pendingProps,p),null;case 6:if(c&&d.stateNode!=null)c.memoizedProps!==v&&ul(d);else{if(typeof v!="string"&&d.stateNode===null)throw Error(r(166));if(c=Z.current,qu(d)){if(c=d.stateNode,p=d.memoizedProps,v=null,S=Zr,S!==null)switch(S.tag){case 27:case 5:v=S.memoizedProps}c[Dr]=d,c=!!(c.nodeValue===p||v!==null&&v.suppressHydrationWarning===!0||QN(c.nodeValue,p)),c||oo(d,!0)}else c=eg(c).createTextNode(v),c[Dr]=d,d.stateNode=c}return Xn(d),null;case 31:if(p=d.memoizedState,c===null||c.memoizedState!==null){if(v=qu(d),p!==null){if(c===null){if(!v)throw Error(r(318));if(c=d.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(r(557));c[Dr]=d}else kc(),(d.flags&128)===0&&(d.memoizedState=null),d.flags|=4;Xn(d),c=!1}else p=_y(),c!==null&&c.memoizedState!==null&&(c.memoizedState.hydrationErrors=p),c=!0;if(!c)return d.flags&256?(ei(d),d):(ei(d),null);if((d.flags&128)!==0)throw Error(r(558))}return Xn(d),null;case 13:if(v=d.memoizedState,c===null||c.memoizedState!==null&&c.memoizedState.dehydrated!==null){if(S=qu(d),v!==null&&v.dehydrated!==null){if(c===null){if(!S)throw Error(r(318));if(S=d.memoizedState,S=S!==null?S.dehydrated:null,!S)throw Error(r(317));S[Dr]=d}else kc(),(d.flags&128)===0&&(d.memoizedState=null),d.flags|=4;Xn(d),S=!1}else S=_y(),c!==null&&c.memoizedState!==null&&(c.memoizedState.hydrationErrors=S),S=!0;if(!S)return d.flags&256?(ei(d),d):(ei(d),null)}return ei(d),(d.flags&128)!==0?(d.lanes=p,d):(p=v!==null,c=c!==null&&c.memoizedState!==null,p&&(v=d.child,S=null,v.alternate!==null&&v.alternate.memoizedState!==null&&v.alternate.memoizedState.cachePool!==null&&(S=v.alternate.memoizedState.cachePool.pool),j=null,v.memoizedState!==null&&v.memoizedState.cachePool!==null&&(j=v.memoizedState.cachePool.pool),j!==S&&(v.flags|=2048)),p!==c&&p&&(d.child.flags|=8192),Ip(d,d.updateQueue),Xn(d),null);case 4:return se(),c===null&&$b(d.stateNode.containerInfo),Xn(d),null;case 10:return al(d.type),Xn(d),null;case 19:if(K(mr),v=d.memoizedState,v===null)return Xn(d),null;if(S=(d.flags&128)!==0,j=v.rendering,j===null)if(S)lf(v,!1);else{if(ur!==0||c!==null&&(c.flags&128)!==0)for(c=d.child;c!==null;){if(j=Np(c),j!==null){for(d.flags|=128,lf(v,!1),c=j.updateQueue,d.updateQueue=c,Ip(d,c),d.subtreeFlags=0,c=p,p=d.child;p!==null;)wj(p,c),p=p.sibling;return I(mr,mr.current&1|2),en&&sl(d,v.treeForkCount),d.child}c=c.sibling}v.tail!==null&&$t()>Hp&&(d.flags|=128,S=!0,lf(v,!1),d.lanes=4194304)}else{if(!S)if(c=Np(j),c!==null){if(d.flags|=128,S=!0,c=c.updateQueue,d.updateQueue=c,Ip(d,c),lf(v,!0),v.tail===null&&v.tailMode==="hidden"&&!j.alternate&&!en)return Xn(d),null}else 2*$t()-v.renderingStartTime>Hp&&p!==536870912&&(d.flags|=128,S=!0,lf(v,!1),d.lanes=4194304);v.isBackwards?(j.sibling=d.child,d.child=j):(c=v.last,c!==null?c.sibling=j:d.child=j,v.last=j)}return v.tail!==null?(c=v.tail,v.rendering=c,v.tail=c.sibling,v.renderingStartTime=$t(),c.sibling=null,p=mr.current,I(mr,S?p&1|2:p&1),en&&sl(d,v.treeForkCount),c):(Xn(d),null);case 22:case 23:return ei(d),Qy(),v=d.memoizedState!==null,c!==null?c.memoizedState!==null!==v&&(d.flags|=8192):v&&(d.flags|=8192),v?(p&536870912)!==0&&(d.flags&128)===0&&(Xn(d),d.subtreeFlags&6&&(d.flags|=8192)):Xn(d),p=d.updateQueue,p!==null&&Ip(d,p.retryQueue),p=null,c!==null&&c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(p=c.memoizedState.cachePool.pool),v=null,d.memoizedState!==null&&d.memoizedState.cachePool!==null&&(v=d.memoizedState.cachePool.pool),v!==p&&(d.flags|=2048),c!==null&&K(Nc),null;case 24:return p=null,c!==null&&(p=c.memoizedState.cache),d.memoizedState.cache!==p&&(d.flags|=2048),al(kr),Xn(d),null;case 25:return null;case 30:return null}throw Error(r(156,d.tag))}function lW(c,d){switch(Ty(d),d.tag){case 1:return c=d.flags,c&65536?(d.flags=c&-65537|128,d):null;case 3:return al(kr),se(),c=d.flags,(c&65536)!==0&&(c&128)===0?(d.flags=c&-65537|128,d):null;case 26:case 27:case 5:return qe(d),null;case 31:if(d.memoizedState!==null){if(ei(d),d.alternate===null)throw Error(r(340));kc()}return c=d.flags,c&65536?(d.flags=c&-65537|128,d):null;case 13:if(ei(d),c=d.memoizedState,c!==null&&c.dehydrated!==null){if(d.alternate===null)throw Error(r(340));kc()}return c=d.flags,c&65536?(d.flags=c&-65537|128,d):null;case 19:return K(mr),null;case 4:return se(),null;case 10:return al(d.type),null;case 22:case 23:return ei(d),Qy(),c!==null&&K(Nc),c=d.flags,c&65536?(d.flags=c&-65537|128,d):null;case 24:return al(kr),null;case 25:return null;default:return null}}function G7(c,d){switch(Ty(d),d.tag){case 3:al(kr),se();break;case 26:case 27:case 5:qe(d);break;case 4:se();break;case 31:d.memoizedState!==null&&ei(d);break;case 13:ei(d);break;case 19:K(mr);break;case 10:al(d.type);break;case 22:case 23:ei(d),Qy(),c!==null&&K(Nc);break;case 24:al(kr)}}function of(c,d){try{var p=d.updateQueue,v=p!==null?p.lastEffect:null;if(v!==null){var S=v.next;p=S;do{if((p.tag&c)===c){v=void 0;var j=p.create,L=p.inst;v=j(),L.destroy=v}p=p.next}while(p!==S)}}catch(G){Nn(d,d.return,G)}}function go(c,d,p){try{var v=d.updateQueue,S=v!==null?v.lastEffect:null;if(S!==null){var j=S.next;v=j;do{if((v.tag&c)===c){var L=v.inst,G=L.destroy;if(G!==void 0){L.destroy=void 0,S=d;var oe=p,we=G;try{we()}catch(Ee){Nn(S,oe,Ee)}}}v=v.next}while(v!==j)}}catch(Ee){Nn(d,d.return,Ee)}}function X7(c){var d=c.updateQueue;if(d!==null){var p=c.stateNode;try{Ij(d,p)}catch(v){Nn(c,c.return,v)}}}function Y7(c,d,p){p.props=Mc(c.type,c.memoizedProps),p.state=c.memoizedState;try{p.componentWillUnmount()}catch(v){Nn(c,d,v)}}function cf(c,d){try{var p=c.ref;if(p!==null){switch(c.tag){case 26:case 27:case 5:var v=c.stateNode;break;case 30:v=c.stateNode;break;default:v=c.stateNode}typeof p=="function"?c.refCleanup=p(v):p.current=v}}catch(S){Nn(c,d,S)}}function pa(c,d){var p=c.ref,v=c.refCleanup;if(p!==null)if(typeof v=="function")try{v()}catch(S){Nn(c,d,S)}finally{c.refCleanup=null,c=c.alternate,c!=null&&(c.refCleanup=null)}else if(typeof p=="function")try{p(null)}catch(S){Nn(c,d,S)}else p.current=null}function Z7(c){var d=c.type,p=c.memoizedProps,v=c.stateNode;try{e:switch(d){case"button":case"input":case"select":case"textarea":p.autoFocus&&v.focus();break e;case"img":p.src?v.src=p.src:p.srcSet&&(v.srcset=p.srcSet)}}catch(S){Nn(c,c.return,S)}}function wb(c,d,p){try{var v=c.stateNode;EW(v,c.type,p,d),v[Yr]=d}catch(S){Nn(c,c.return,S)}}function K7(c){return c.tag===5||c.tag===3||c.tag===26||c.tag===27&&ko(c.type)||c.tag===4}function Sb(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||K7(c.return))return null;c=c.return}for(c.sibling.return=c.return,c=c.sibling;c.tag!==5&&c.tag!==6&&c.tag!==18;){if(c.tag===27&&ko(c.type)||c.flags&2||c.child===null||c.tag===4)continue e;c.child.return=c,c=c.child}if(!(c.flags&2))return c.stateNode}}function kb(c,d,p){var v=c.tag;if(v===5||v===6)c=c.stateNode,d?(p.nodeType===9?p.body:p.nodeName==="HTML"?p.ownerDocument.body:p).insertBefore(c,d):(d=p.nodeType===9?p.body:p.nodeName==="HTML"?p.ownerDocument.body:p,d.appendChild(c),p=p._reactRootContainer,p!=null||d.onclick!==null||(d.onclick=tl));else if(v!==4&&(v===27&&ko(c.type)&&(p=c.stateNode,d=null),c=c.child,c!==null))for(kb(c,d,p),c=c.sibling;c!==null;)kb(c,d,p),c=c.sibling}function qp(c,d,p){var v=c.tag;if(v===5||v===6)c=c.stateNode,d?p.insertBefore(c,d):p.appendChild(c);else if(v!==4&&(v===27&&ko(c.type)&&(p=c.stateNode),c=c.child,c!==null))for(qp(c,d,p),c=c.sibling;c!==null;)qp(c,d,p),c=c.sibling}function J7(c){var d=c.stateNode,p=c.memoizedProps;try{for(var v=c.type,S=d.attributes;S.length;)d.removeAttributeNode(S[0]);es(d,v,p),d[Dr]=c,d[Yr]=p}catch(j){Nn(c,c.return,j)}}var dl=!1,Nr=!1,Ob=!1,eN=typeof WeakSet=="function"?WeakSet:Set,Hr=null;function oW(c,d){if(c=c.containerInfo,Vb=lg,c=hj(c),xy(c)){if("selectionStart"in c)var p={start:c.selectionStart,end:c.selectionEnd};else e:{p=(p=c.ownerDocument)&&p.defaultView||window;var v=p.getSelection&&p.getSelection();if(v&&v.rangeCount!==0){p=v.anchorNode;var S=v.anchorOffset,j=v.focusNode;v=v.focusOffset;try{p.nodeType,j.nodeType}catch{p=null;break e}var L=0,G=-1,oe=-1,we=0,Ee=0,Ae=c,ke=null;t:for(;;){for(var Ne;Ae!==p||S!==0&&Ae.nodeType!==3||(G=L+S),Ae!==j||v!==0&&Ae.nodeType!==3||(oe=L+v),Ae.nodeType===3&&(L+=Ae.nodeValue.length),(Ne=Ae.firstChild)!==null;)ke=Ae,Ae=Ne;for(;;){if(Ae===c)break t;if(ke===p&&++we===S&&(G=L),ke===j&&++Ee===v&&(oe=L),(Ne=Ae.nextSibling)!==null)break;Ae=ke,ke=Ae.parentNode}Ae=Ne}p=G===-1||oe===-1?null:{start:G,end:oe}}else p=null}p=p||{start:0,end:0}}else p=null;for(Ub={focusedElem:c,selectionRange:p},lg=!1,Hr=d;Hr!==null;)if(d=Hr,c=d.child,(d.subtreeFlags&1028)!==0&&c!==null)c.return=d,Hr=c;else for(;Hr!==null;){switch(d=Hr,j=d.alternate,c=d.flags,d.tag){case 0:if((c&4)!==0&&(c=d.updateQueue,c=c!==null?c.events:null,c!==null))for(p=0;p title"))),es(j,v,p),j[Dr]=c,Sr(j),v=j;break e;case"link":var L=a8("link","href",S).get(v+(p.href||""));if(L){for(var G=0;GMn&&(L=Mn,Mn=vt,vt=L);var pe=uj(G,vt),he=uj(G,Mn);if(pe&&he&&(Ne.rangeCount!==1||Ne.anchorNode!==pe.node||Ne.anchorOffset!==pe.offset||Ne.focusNode!==he.node||Ne.focusOffset!==he.offset)){var ye=Ae.createRange();ye.setStart(pe.node,pe.offset),Ne.removeAllRanges(),vt>Mn?(Ne.addRange(ye),Ne.extend(he.node,he.offset)):(ye.setEnd(he.node,he.offset),Ne.addRange(ye))}}}}for(Ae=[],Ne=G;Ne=Ne.parentNode;)Ne.nodeType===1&&Ae.push({element:Ne,left:Ne.scrollLeft,top:Ne.scrollTop});for(typeof G.focus=="function"&&G.focus(),G=0;Gp?32:p,q.T=null,p=Mb,Mb=null;var j=bo,L=gl;if(zr=0,ed=bo=null,gl=0,(Sn&6)!==0)throw Error(r(331));var G=Sn;if(Sn|=4,dN(j.current),oN(j,j.current,L,p),Sn=G,pf(0,!1),Ce&&typeof Ce.onPostCommitFiberRoot=="function")try{Ce.onPostCommitFiberRoot(ue,j)}catch{}return!0}finally{J.p=S,q.T=v,EN(c,d)}}function MN(c,d,p){d=wi(p,d),d=ub(c.stateNode,d,2),c=fo(c,d,2),c!==null&&(pc(c,2),ga(c))}function Nn(c,d,p){if(c.tag===3)MN(c,c,p);else for(;d!==null;){if(d.tag===3){MN(d,c,p);break}else if(d.tag===1){var v=d.stateNode;if(typeof d.type.getDerivedStateFromError=="function"||typeof v.componentDidCatch=="function"&&(yo===null||!yo.has(v))){c=wi(p,c),p=A7(2),v=fo(d,p,2),v!==null&&(R7(p,v,d,c),pc(v,2),ga(v));break}}d=d.return}}function zb(c,d,p){var v=c.pingCache;if(v===null){v=c.pingCache=new dW;var S=new Set;v.set(d,S)}else S=v.get(d),S===void 0&&(S=new Set,v.set(d,S));S.has(p)||(Cb=!0,S.add(p),c=gW.bind(null,c,d,p),d.then(c,c))}function gW(c,d,p){var v=c.pingCache;v!==null&&v.delete(d),c.pingedLanes|=c.suspendedLanes&p,c.warmLanes&=~p,Bn===c&&(Xt&p)===p&&(ur===4||ur===3&&(Xt&62914560)===Xt&&300>$t()-Qp?(Sn&2)===0&&td(c,0):Tb|=p,Ju===Xt&&(Ju=0)),ga(c)}function AN(c,d){d===0&&(d=to()),c=wc(c,d),c!==null&&(pc(c,d),ga(c))}function xW(c){var d=c.memoizedState,p=0;d!==null&&(p=d.retryLane),AN(c,p)}function vW(c,d){var p=0;switch(c.tag){case 31:case 13:var v=c.stateNode,S=c.memoizedState;S!==null&&(p=S.retryLane);break;case 19:v=c.stateNode;break;case 22:v=c.stateNode._retryCache;break;default:throw Error(r(314))}v!==null&&v.delete(d),AN(c,p)}function yW(c,d){return bt(c,d)}var Yp=null,rd=null,Pb=!1,Zp=!1,Lb=!1,So=0;function ga(c){c!==rd&&c.next===null&&(rd===null?Yp=rd=c:rd=rd.next=c),Zp=!0,Pb||(Pb=!0,wW())}function pf(c,d){if(!Lb&&Zp){Lb=!0;do for(var p=!1,v=Yp;v!==null;){if(c!==0){var S=v.pendingLanes;if(S===0)var j=0;else{var L=v.suspendedLanes,G=v.pingedLanes;j=(1<<31-ut(42|c)+1)-1,j&=S&~(L&~G),j=j&201326741?j&201326741|1:j?j|2:0}j!==0&&(p=!0,PN(v,j))}else j=Xt,j=eo(v,v===Bn?j:0,v.cancelPendingCommit!==null||v.timeoutHandle!==-1),(j&3)===0||Xa(v,j)||(p=!0,PN(v,j));v=v.next}while(p);Lb=!1}}function bW(){RN()}function RN(){Zp=Pb=!1;var c=0;So!==0&&MW()&&(c=So);for(var d=$t(),p=null,v=Yp;v!==null;){var S=v.next,j=DN(v,d);j===0?(v.next=null,p===null?Yp=S:p.next=S,S===null&&(rd=p)):(p=v,(c!==0||(j&3)!==0)&&(Zp=!0)),v=S}zr!==0&&zr!==5||pf(c),So!==0&&(So=0)}function DN(c,d){for(var p=c.suspendedLanes,v=c.pingedLanes,S=c.expirationTimes,j=c.pendingLanes&-62914561;0G)break;var Ee=oe.transferSize,Ae=oe.initiatorType;Ee&&HN(Ae)&&(oe=oe.responseEnd,L+=Ee*(oe"u"?null:document;function n8(c,d,p){var v=sd;if(v&&typeof d=="string"&&d){var S=yi(d);S='link[rel="'+c+'"][href="'+S+'"]',typeof p=="string"&&(S+='[crossorigin="'+p+'"]'),t8.has(S)||(t8.add(S),c={rel:c,crossOrigin:p,href:d},v.querySelector(S)===null&&(d=v.createElement("link"),es(d,"link",c),Sr(d),v.head.appendChild(d)))}}function qW(c){xl.D(c),n8("dns-prefetch",c,null)}function FW(c,d){xl.C(c,d),n8("preconnect",c,d)}function $W(c,d,p){xl.L(c,d,p);var v=sd;if(v&&c&&d){var S='link[rel="preload"][as="'+yi(d)+'"]';d==="image"&&p&&p.imageSrcSet?(S+='[imagesrcset="'+yi(p.imageSrcSet)+'"]',typeof p.imageSizes=="string"&&(S+='[imagesizes="'+yi(p.imageSizes)+'"]')):S+='[href="'+yi(c)+'"]';var j=S;switch(d){case"style":j=id(c);break;case"script":j=ad(c)}Ci.has(j)||(c=m({rel:"preload",href:d==="image"&&p&&p.imageSrcSet?void 0:c,as:d},p),Ci.set(j,c),v.querySelector(S)!==null||d==="style"&&v.querySelector(yf(j))||d==="script"&&v.querySelector(bf(j))||(d=v.createElement("link"),es(d,"link",c),Sr(d),v.head.appendChild(d)))}}function QW(c,d){xl.m(c,d);var p=sd;if(p&&c){var v=d&&typeof d.as=="string"?d.as:"script",S='link[rel="modulepreload"][as="'+yi(v)+'"][href="'+yi(c)+'"]',j=S;switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":j=ad(c)}if(!Ci.has(j)&&(c=m({rel:"modulepreload",href:c},d),Ci.set(j,c),p.querySelector(S)===null)){switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(p.querySelector(bf(j)))return}v=p.createElement("link"),es(v,"link",c),Sr(v),p.head.appendChild(v)}}}function HW(c,d,p){xl.S(c,d,p);var v=sd;if(v&&c){var S=so(v).hoistableStyles,j=id(c);d=d||"default";var L=S.get(j);if(!L){var G={loading:0,preload:null};if(L=v.querySelector(yf(j)))G.loading=5;else{c=m({rel:"stylesheet",href:c,"data-precedence":d},p),(p=Ci.get(j))&&Jb(c,p);var oe=L=v.createElement("link");Sr(oe),es(oe,"link",c),oe._p=new Promise(function(we,Ee){oe.onload=we,oe.onerror=Ee}),oe.addEventListener("load",function(){G.loading|=1}),oe.addEventListener("error",function(){G.loading|=2}),G.loading|=4,ng(L,d,v)}L={type:"stylesheet",instance:L,count:1,state:G},S.set(j,L)}}}function VW(c,d){xl.X(c,d);var p=sd;if(p&&c){var v=so(p).hoistableScripts,S=ad(c),j=v.get(S);j||(j=p.querySelector(bf(S)),j||(c=m({src:c,async:!0},d),(d=Ci.get(S))&&e2(c,d),j=p.createElement("script"),Sr(j),es(j,"link",c),p.head.appendChild(j)),j={type:"script",instance:j,count:1,state:null},v.set(S,j))}}function UW(c,d){xl.M(c,d);var p=sd;if(p&&c){var v=so(p).hoistableScripts,S=ad(c),j=v.get(S);j||(j=p.querySelector(bf(S)),j||(c=m({src:c,async:!0,type:"module"},d),(d=Ci.get(S))&&e2(c,d),j=p.createElement("script"),Sr(j),es(j,"link",c),p.head.appendChild(j)),j={type:"script",instance:j,count:1,state:null},v.set(S,j))}}function r8(c,d,p,v){var S=(S=Z.current)?tg(S):null;if(!S)throw Error(r(446));switch(c){case"meta":case"title":return null;case"style":return typeof p.precedence=="string"&&typeof p.href=="string"?(d=id(p.href),p=so(S).hoistableStyles,v=p.get(d),v||(v={type:"style",instance:null,count:0,state:null},p.set(d,v)),v):{type:"void",instance:null,count:0,state:null};case"link":if(p.rel==="stylesheet"&&typeof p.href=="string"&&typeof p.precedence=="string"){c=id(p.href);var j=so(S).hoistableStyles,L=j.get(c);if(L||(S=S.ownerDocument||S,L={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},j.set(c,L),(j=S.querySelector(yf(c)))&&!j._p&&(L.instance=j,L.state.loading=5),Ci.has(c)||(p={rel:"preload",as:"style",href:p.href,crossOrigin:p.crossOrigin,integrity:p.integrity,media:p.media,hrefLang:p.hrefLang,referrerPolicy:p.referrerPolicy},Ci.set(c,p),j||WW(S,c,p,L.state))),d&&v===null)throw Error(r(528,""));return L}if(d&&v!==null)throw Error(r(529,""));return null;case"script":return d=p.async,p=p.src,typeof p=="string"&&d&&typeof d!="function"&&typeof d!="symbol"?(d=ad(p),p=so(S).hoistableScripts,v=p.get(d),v||(v={type:"script",instance:null,count:0,state:null},p.set(d,v)),v):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,c))}}function id(c){return'href="'+yi(c)+'"'}function yf(c){return'link[rel="stylesheet"]['+c+"]"}function s8(c){return m({},c,{"data-precedence":c.precedence,precedence:null})}function WW(c,d,p,v){c.querySelector('link[rel="preload"][as="style"]['+d+"]")?v.loading=1:(d=c.createElement("link"),v.preload=d,d.addEventListener("load",function(){return v.loading|=1}),d.addEventListener("error",function(){return v.loading|=2}),es(d,"link",p),Sr(d),c.head.appendChild(d))}function ad(c){return'[src="'+yi(c)+'"]'}function bf(c){return"script[async]"+c}function i8(c,d,p){if(d.count++,d.instance===null)switch(d.type){case"style":var v=c.querySelector('style[data-href~="'+yi(p.href)+'"]');if(v)return d.instance=v,Sr(v),v;var S=m({},p,{"data-href":p.href,"data-precedence":p.precedence,href:null,precedence:null});return v=(c.ownerDocument||c).createElement("style"),Sr(v),es(v,"style",S),ng(v,p.precedence,c),d.instance=v;case"stylesheet":S=id(p.href);var j=c.querySelector(yf(S));if(j)return d.state.loading|=4,d.instance=j,Sr(j),j;v=s8(p),(S=Ci.get(S))&&Jb(v,S),j=(c.ownerDocument||c).createElement("link"),Sr(j);var L=j;return L._p=new Promise(function(G,oe){L.onload=G,L.onerror=oe}),es(j,"link",v),d.state.loading|=4,ng(j,p.precedence,c),d.instance=j;case"script":return j=ad(p.src),(S=c.querySelector(bf(j)))?(d.instance=S,Sr(S),S):(v=p,(S=Ci.get(j))&&(v=m({},p),e2(v,S)),c=c.ownerDocument||c,S=c.createElement("script"),Sr(S),es(S,"link",v),c.head.appendChild(S),d.instance=S);case"void":return null;default:throw Error(r(443,d.type))}else d.type==="stylesheet"&&(d.state.loading&4)===0&&(v=d.instance,d.state.loading|=4,ng(v,p.precedence,c));return d.instance}function ng(c,d,p){for(var v=p.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),S=v.length?v[v.length-1]:null,j=S,L=0;L title"):null)}function GW(c,d,p){if(p===1||d.itemProp!=null)return!1;switch(c){case"meta":case"title":return!0;case"style":if(typeof d.precedence!="string"||typeof d.href!="string"||d.href==="")break;return!0;case"link":if(typeof d.rel!="string"||typeof d.href!="string"||d.href===""||d.onLoad||d.onError)break;switch(d.rel){case"stylesheet":return c=d.disabled,typeof d.precedence=="string"&&c==null;default:return!0}case"script":if(d.async&&typeof d.async!="function"&&typeof d.async!="symbol"&&!d.onLoad&&!d.onError&&d.src&&typeof d.src=="string")return!0}return!1}function o8(c){return!(c.type==="stylesheet"&&(c.state.loading&3)===0)}function XW(c,d,p,v){if(p.type==="stylesheet"&&(typeof v.media!="string"||matchMedia(v.media).matches!==!1)&&(p.state.loading&4)===0){if(p.instance===null){var S=id(v.href),j=d.querySelector(yf(S));if(j){d=j._p,d!==null&&typeof d=="object"&&typeof d.then=="function"&&(c.count++,c=sg.bind(c),d.then(c,c)),p.state.loading|=4,p.instance=j,Sr(j);return}j=d.ownerDocument||d,v=s8(v),(S=Ci.get(S))&&Jb(v,S),j=j.createElement("link"),Sr(j);var L=j;L._p=new Promise(function(G,oe){L.onload=G,L.onerror=oe}),es(j,"link",v),p.instance=j}c.stylesheets===null&&(c.stylesheets=new Map),c.stylesheets.set(p,d),(d=p.state.preload)&&(p.state.loading&3)===0&&(c.count++,p=sg.bind(c),d.addEventListener("load",p),d.addEventListener("error",p))}}var t2=0;function YW(c,d){return c.stylesheets&&c.count===0&&ag(c,c.stylesheets),0t2?50:800)+d);return c.unsuspend=p,function(){c.unsuspend=null,clearTimeout(v),clearTimeout(S)}}:null}function sg(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ag(this,this.stylesheets);else if(this.unsuspend){var c=this.unsuspend;this.unsuspend=null,c()}}}var ig=null;function ag(c,d){c.stylesheets=null,c.unsuspend!==null&&(c.count++,ig=new Map,d.forEach(ZW,c),ig=null,sg.call(c))}function ZW(c,d){if(!(d.state.loading&4)){var p=ig.get(c);if(p)var v=p.get(null);else{p=new Map,ig.set(c,p);for(var S=c.querySelectorAll("link[data-precedence],style[data-precedence]"),j=0;j"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),u2.exports=eY(),u2.exports}var nY=tY();function zR(t,e){return function(){return t.apply(e,arguments)}}const{toString:rY}=Object.prototype,{getPrototypeOf:ak}=Object,{iterator:Y1,toStringTag:PR}=Symbol,Z1=(t=>e=>{const n=rY.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),oa=t=>(t=t.toLowerCase(),e=>Z1(e)===t),K1=t=>e=>typeof e===t,{isArray:gh}=Array,Xd=K1("undefined");function l0(t){return t!==null&&!Xd(t)&&t.constructor!==null&&!Xd(t.constructor)&&Qs(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const LR=oa("ArrayBuffer");function sY(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&LR(t.buffer),e}const iY=K1("string"),Qs=K1("function"),BR=K1("number"),o0=t=>t!==null&&typeof t=="object",aY=t=>t===!0||t===!1,xx=t=>{if(Z1(t)!=="object")return!1;const e=ak(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(PR in t)&&!(Y1 in t)},lY=t=>{if(!o0(t)||l0(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},oY=oa("Date"),cY=oa("File"),uY=oa("Blob"),dY=oa("FileList"),hY=t=>o0(t)&&Qs(t.pipe),fY=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||Qs(t.append)&&((e=Z1(t))==="formdata"||e==="object"&&Qs(t.toString)&&t.toString()==="[object FormData]"))},mY=oa("URLSearchParams"),[pY,gY,xY,vY]=["ReadableStream","Request","Response","Headers"].map(oa),yY=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function c0(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,s;if(typeof t!="object"&&(t=[t]),gh(t))for(r=0,s=t.length;r0;)if(s=n[r],e===s.toLowerCase())return s;return null}const Hc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,qR=t=>!Xd(t)&&t!==Hc;function F5(){const{caseless:t,skipUndefined:e}=qR(this)&&this||{},n={},r=(s,i)=>{const a=t&&IR(n,i)||i;xx(n[a])&&xx(s)?n[a]=F5(n[a],s):xx(s)?n[a]=F5({},s):gh(s)?n[a]=s.slice():(!e||!Xd(s))&&(n[a]=s)};for(let s=0,i=arguments.length;s(c0(e,(s,i)=>{n&&Qs(s)?t[i]=zR(s,n):t[i]=s},{allOwnKeys:r}),t),wY=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),SY=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},kY=(t,e,n,r)=>{let s,i,a;const o={};if(e=e||{},t==null)return e;do{for(s=Object.getOwnPropertyNames(t),i=s.length;i-- >0;)a=s[i],(!r||r(a,t,e))&&!o[a]&&(e[a]=t[a],o[a]=!0);t=n!==!1&&ak(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},OY=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return r!==-1&&r===n},jY=t=>{if(!t)return null;if(gh(t))return t;let e=t.length;if(!BR(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},NY=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&ak(Uint8Array)),CY=(t,e)=>{const r=(t&&t[Y1]).call(t);let s;for(;(s=r.next())&&!s.done;){const i=s.value;e.call(t,i[0],i[1])}},TY=(t,e)=>{let n;const r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},EY=oa("HTMLFormElement"),_Y=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),z8=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),MY=oa("RegExp"),FR=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};c0(n,(s,i)=>{let a;(a=e(s,i,t))!==!1&&(r[i]=a||s)}),Object.defineProperties(t,r)},AY=t=>{FR(t,(e,n)=>{if(Qs(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=t[n];if(Qs(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},RY=(t,e)=>{const n={},r=s=>{s.forEach(i=>{n[i]=!0})};return gh(t)?r(t):r(String(t).split(e)),n},DY=()=>{},zY=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function PY(t){return!!(t&&Qs(t.append)&&t[PR]==="FormData"&&t[Y1])}const LY=t=>{const e=new Array(10),n=(r,s)=>{if(o0(r)){if(e.indexOf(r)>=0)return;if(l0(r))return r;if(!("toJSON"in r)){e[s]=r;const i=gh(r)?[]:{};return c0(r,(a,o)=>{const u=n(a,s+1);!Xd(u)&&(i[o]=u)}),e[s]=void 0,i}}return r};return n(t,0)},BY=oa("AsyncFunction"),IY=t=>t&&(o0(t)||Qs(t))&&Qs(t.then)&&Qs(t.catch),$R=((t,e)=>t?setImmediate:e?((n,r)=>(Hc.addEventListener("message",({source:s,data:i})=>{s===Hc&&i===n&&r.length&&r.shift()()},!1),s=>{r.push(s),Hc.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Qs(Hc.postMessage)),qY=typeof queueMicrotask<"u"?queueMicrotask.bind(Hc):typeof process<"u"&&process.nextTick||$R,FY=t=>t!=null&&Qs(t[Y1]),je={isArray:gh,isArrayBuffer:LR,isBuffer:l0,isFormData:fY,isArrayBufferView:sY,isString:iY,isNumber:BR,isBoolean:aY,isObject:o0,isPlainObject:xx,isEmptyObject:lY,isReadableStream:pY,isRequest:gY,isResponse:xY,isHeaders:vY,isUndefined:Xd,isDate:oY,isFile:cY,isBlob:uY,isRegExp:MY,isFunction:Qs,isStream:hY,isURLSearchParams:mY,isTypedArray:NY,isFileList:dY,forEach:c0,merge:F5,extend:bY,trim:yY,stripBOM:wY,inherits:SY,toFlatObject:kY,kindOf:Z1,kindOfTest:oa,endsWith:OY,toArray:jY,forEachEntry:CY,matchAll:TY,isHTMLForm:EY,hasOwnProperty:z8,hasOwnProp:z8,reduceDescriptors:FR,freezeMethods:AY,toObjectSet:RY,toCamelCase:_Y,noop:DY,toFiniteNumber:zY,findKey:IR,global:Hc,isContextDefined:qR,isSpecCompliantForm:PY,toJSONObject:LY,isAsyncFn:BY,isThenable:IY,setImmediate:$R,asap:qY,isIterable:FY};function Mt(t,e,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}je.inherits(Mt,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:je.toJSONObject(this.config),code:this.code,status:this.status}}});const QR=Mt.prototype,HR={};["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(t=>{HR[t]={value:t}});Object.defineProperties(Mt,HR);Object.defineProperty(QR,"isAxiosError",{value:!0});Mt.from=(t,e,n,r,s,i)=>{const a=Object.create(QR);je.toFlatObject(t,a,function(f){return f!==Error.prototype},h=>h!=="isAxiosError");const o=t&&t.message?t.message:"Error",u=e==null&&t?t.code:e;return Mt.call(a,o,u,n,r,s),t&&a.cause==null&&Object.defineProperty(a,"cause",{value:t,configurable:!0}),a.name=t&&t.name||"Error",i&&Object.assign(a,i),a};const $Y=null;function $5(t){return je.isPlainObject(t)||je.isArray(t)}function VR(t){return je.endsWith(t,"[]")?t.slice(0,-2):t}function P8(t,e,n){return t?t.concat(e).map(function(s,i){return s=VR(s),!n&&i?"["+s+"]":s}).join(n?".":""):e}function QY(t){return je.isArray(t)&&!t.some($5)}const HY=je.toFlatObject(je,{},null,function(e){return/^is[A-Z]/.test(e)});function J1(t,e,n){if(!je.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=je.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,b){return!je.isUndefined(b[w])});const r=n.metaTokens,s=n.visitor||f,i=n.dots,a=n.indexes,u=(n.Blob||typeof Blob<"u"&&Blob)&&je.isSpecCompliantForm(e);if(!je.isFunction(s))throw new TypeError("visitor must be a function");function h(y){if(y===null)return"";if(je.isDate(y))return y.toISOString();if(je.isBoolean(y))return y.toString();if(!u&&je.isBlob(y))throw new Mt("Blob is not supported. Use a Buffer instead.");return je.isArrayBuffer(y)||je.isTypedArray(y)?u&&typeof Blob=="function"?new Blob([y]):Buffer.from(y):y}function f(y,w,b){let k=y;if(y&&!b&&typeof y=="object"){if(je.endsWith(w,"{}"))w=r?w:w.slice(0,-2),y=JSON.stringify(y);else if(je.isArray(y)&&QY(y)||(je.isFileList(y)||je.endsWith(w,"[]"))&&(k=je.toArray(y)))return w=VR(w),k.forEach(function(C,T){!(je.isUndefined(C)||C===null)&&e.append(a===!0?P8([w],T,i):a===null?w:w+"[]",h(C))}),!1}return $5(y)?!0:(e.append(P8(b,w,i),h(y)),!1)}const m=[],g=Object.assign(HY,{defaultVisitor:f,convertValue:h,isVisitable:$5});function x(y,w){if(!je.isUndefined(y)){if(m.indexOf(y)!==-1)throw Error("Circular reference detected in "+w.join("."));m.push(y),je.forEach(y,function(k,N){(!(je.isUndefined(k)||k===null)&&s.call(e,k,je.isString(N)?N.trim():N,w,g))===!0&&x(k,w?w.concat(N):[N])}),m.pop()}}if(!je.isObject(t))throw new TypeError("data must be an object");return x(t),e}function L8(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function lk(t,e){this._pairs=[],t&&J1(t,this,e)}const UR=lk.prototype;UR.append=function(e,n){this._pairs.push([e,n])};UR.toString=function(e){const n=e?function(r){return e.call(this,r,L8)}:L8;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function VY(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function WR(t,e,n){if(!e)return t;const r=n&&n.encode||VY;je.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let i;if(s?i=s(e,n):i=je.isURLSearchParams(e)?e.toString():new lk(e,n).toString(r),i){const a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t}class B8{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){je.forEach(this.handlers,function(r){r!==null&&e(r)})}}const GR={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},UY=typeof URLSearchParams<"u"?URLSearchParams:lk,WY=typeof FormData<"u"?FormData:null,GY=typeof Blob<"u"?Blob:null,XY={isBrowser:!0,classes:{URLSearchParams:UY,FormData:WY,Blob:GY},protocols:["http","https","file","blob","url","data"]},ok=typeof window<"u"&&typeof document<"u",Q5=typeof navigator=="object"&&navigator||void 0,YY=ok&&(!Q5||["ReactNative","NativeScript","NS"].indexOf(Q5.product)<0),ZY=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",KY=ok&&window.location.href||"http://localhost",JY=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ok,hasStandardBrowserEnv:YY,hasStandardBrowserWebWorkerEnv:ZY,navigator:Q5,origin:KY},Symbol.toStringTag,{value:"Module"})),ds={...JY,...XY};function eZ(t,e){return J1(t,new ds.classes.URLSearchParams,{visitor:function(n,r,s,i){return ds.isNode&&je.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...e})}function tZ(t){return je.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function nZ(t){const e={},n=Object.keys(t);let r;const s=n.length;let i;for(r=0;r=n.length;return a=!a&&je.isArray(s)?s.length:a,u?(je.hasOwnProp(s,a)?s[a]=[s[a],r]:s[a]=r,!o):((!s[a]||!je.isObject(s[a]))&&(s[a]=[]),e(n,r,s[a],i)&&je.isArray(s[a])&&(s[a]=nZ(s[a])),!o)}if(je.isFormData(t)&&je.isFunction(t.entries)){const n={};return je.forEachEntry(t,(r,s)=>{e(tZ(r),s,n,0)}),n}return null}function rZ(t,e,n){if(je.isString(t))try{return(e||JSON.parse)(t),je.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}const u0={transitional:GR,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,i=je.isObject(e);if(i&&je.isHTMLForm(e)&&(e=new FormData(e)),je.isFormData(e))return s?JSON.stringify(XR(e)):e;if(je.isArrayBuffer(e)||je.isBuffer(e)||je.isStream(e)||je.isFile(e)||je.isBlob(e)||je.isReadableStream(e))return e;if(je.isArrayBufferView(e))return e.buffer;if(je.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return eZ(e,this.formSerializer).toString();if((o=je.isFileList(e))||r.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return J1(o?{"files[]":e}:e,u&&new u,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),rZ(e)):e}],transformResponse:[function(e){const n=this.transitional||u0.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(je.isResponse(e)||je.isReadableStream(e))return e;if(e&&je.isString(e)&&(r&&!this.responseType||s)){const a=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(e,this.parseReviver)}catch(o){if(a)throw o.name==="SyntaxError"?Mt.from(o,Mt.ERR_BAD_RESPONSE,this,null,this.response):o}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ds.classes.FormData,Blob:ds.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};je.forEach(["delete","get","head","post","put","patch"],t=>{u0.headers[t]={}});const sZ=je.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"]),iZ=t=>{const e={};let n,r,s;return t&&t.split(` +`).forEach(function(a){s=a.indexOf(":"),n=a.substring(0,s).trim().toLowerCase(),r=a.substring(s+1).trim(),!(!n||e[n]&&sZ[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},I8=Symbol("internals");function Cf(t){return t&&String(t).trim().toLowerCase()}function vx(t){return t===!1||t==null?t:je.isArray(t)?t.map(vx):String(t)}function aZ(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}const lZ=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function f2(t,e,n,r,s){if(je.isFunction(r))return r.call(this,e,n);if(s&&(e=n),!!je.isString(e)){if(je.isString(r))return e.indexOf(r)!==-1;if(je.isRegExp(r))return r.test(e)}}function oZ(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function cZ(t,e){const n=je.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(s,i,a){return this[r].call(this,e,s,i,a)},configurable:!0})})}let Hs=class{constructor(e){e&&this.set(e)}set(e,n,r){const s=this;function i(o,u,h){const f=Cf(u);if(!f)throw new Error("header name must be a non-empty string");const m=je.findKey(s,f);(!m||s[m]===void 0||h===!0||h===void 0&&s[m]!==!1)&&(s[m||u]=vx(o))}const a=(o,u)=>je.forEach(o,(h,f)=>i(h,f,u));if(je.isPlainObject(e)||e instanceof this.constructor)a(e,n);else if(je.isString(e)&&(e=e.trim())&&!lZ(e))a(iZ(e),n);else if(je.isObject(e)&&je.isIterable(e)){let o={},u,h;for(const f of e){if(!je.isArray(f))throw TypeError("Object iterator must return a key-value pair");o[h=f[0]]=(u=o[h])?je.isArray(u)?[...u,f[1]]:[u,f[1]]:f[1]}a(o,n)}else e!=null&&i(n,e,r);return this}get(e,n){if(e=Cf(e),e){const r=je.findKey(this,e);if(r){const s=this[r];if(!n)return s;if(n===!0)return aZ(s);if(je.isFunction(n))return n.call(this,s,r);if(je.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Cf(e),e){const r=je.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||f2(this,this[r],r,n)))}return!1}delete(e,n){const r=this;let s=!1;function i(a){if(a=Cf(a),a){const o=je.findKey(r,a);o&&(!n||f2(r,r[o],o,n))&&(delete r[o],s=!0)}}return je.isArray(e)?e.forEach(i):i(e),s}clear(e){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const i=n[r];(!e||f2(this,this[i],i,e,!0))&&(delete this[i],s=!0)}return s}normalize(e){const n=this,r={};return je.forEach(this,(s,i)=>{const a=je.findKey(r,i);if(a){n[a]=vx(s),delete n[i];return}const o=e?oZ(i):String(i).trim();o!==i&&delete n[i],n[o]=vx(s),r[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return je.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=e&&je.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const r=new this(e);return n.forEach(s=>r.set(s)),r}static accessor(e){const r=(this[I8]=this[I8]={accessors:{}}).accessors,s=this.prototype;function i(a){const o=Cf(a);r[o]||(cZ(s,a),r[o]=!0)}return je.isArray(e)?e.forEach(i):i(e),this}};Hs.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);je.reduceDescriptors(Hs.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}});je.freezeMethods(Hs);function m2(t,e){const n=this||u0,r=e||n,s=Hs.from(r.headers);let i=r.data;return je.forEach(t,function(o){i=o.call(n,i,s.normalize(),e?e.status:void 0)}),s.normalize(),i}function YR(t){return!!(t&&t.__CANCEL__)}function xh(t,e,n){Mt.call(this,t??"canceled",Mt.ERR_CANCELED,e,n),this.name="CanceledError"}je.inherits(xh,Mt,{__CANCEL__:!0});function ZR(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new Mt("Request failed with status code "+n.status,[Mt.ERR_BAD_REQUEST,Mt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function uZ(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function dZ(t,e){t=t||10;const n=new Array(t),r=new Array(t);let s=0,i=0,a;return e=e!==void 0?e:1e3,function(u){const h=Date.now(),f=r[i];a||(a=h),n[s]=u,r[s]=h;let m=i,g=0;for(;m!==s;)g+=n[m++],m=m%t;if(s=(s+1)%t,s===i&&(i=(i+1)%t),h-a{n=f,s=null,i&&(clearTimeout(i),i=null),t(...h)};return[(...h)=>{const f=Date.now(),m=f-n;m>=r?a(h,f):(s=h,i||(i=setTimeout(()=>{i=null,a(s)},r-m)))},()=>s&&a(s)]}const Gx=(t,e,n=3)=>{let r=0;const s=dZ(50,250);return hZ(i=>{const a=i.loaded,o=i.lengthComputable?i.total:void 0,u=a-r,h=s(u),f=a<=o;r=a;const m={loaded:a,total:o,progress:o?a/o:void 0,bytes:u,rate:h||void 0,estimated:h&&o&&f?(o-a)/h:void 0,event:i,lengthComputable:o!=null,[e?"download":"upload"]:!0};t(m)},n)},q8=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},F8=t=>(...e)=>je.asap(()=>t(...e)),fZ=ds.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,ds.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(ds.origin),ds.navigator&&/(msie|trident)/i.test(ds.navigator.userAgent)):()=>!0,mZ=ds.hasStandardBrowserEnv?{write(t,e,n,r,s,i,a){if(typeof document>"u")return;const o=[`${t}=${encodeURIComponent(e)}`];je.isNumber(n)&&o.push(`expires=${new Date(n).toUTCString()}`),je.isString(r)&&o.push(`path=${r}`),je.isString(s)&&o.push(`domain=${s}`),i===!0&&o.push("secure"),je.isString(a)&&o.push(`SameSite=${a}`),document.cookie=o.join("; ")},read(t){if(typeof document>"u")return null;const e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function pZ(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function gZ(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function KR(t,e,n){let r=!pZ(e);return t&&(r||n==!1)?gZ(t,e):e}const $8=t=>t instanceof Hs?{...t}:t;function iu(t,e){e=e||{};const n={};function r(h,f,m,g){return je.isPlainObject(h)&&je.isPlainObject(f)?je.merge.call({caseless:g},h,f):je.isPlainObject(f)?je.merge({},f):je.isArray(f)?f.slice():f}function s(h,f,m,g){if(je.isUndefined(f)){if(!je.isUndefined(h))return r(void 0,h,m,g)}else return r(h,f,m,g)}function i(h,f){if(!je.isUndefined(f))return r(void 0,f)}function a(h,f){if(je.isUndefined(f)){if(!je.isUndefined(h))return r(void 0,h)}else return r(void 0,f)}function o(h,f,m){if(m in e)return r(h,f);if(m in t)return r(void 0,h)}const u={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:o,headers:(h,f,m)=>s($8(h),$8(f),m,!0)};return je.forEach(Object.keys({...t,...e}),function(f){const m=u[f]||s,g=m(t[f],e[f],f);je.isUndefined(g)&&m!==o||(n[f]=g)}),n}const JR=t=>{const e=iu({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:i,headers:a,auth:o}=e;if(e.headers=a=Hs.from(a),e.url=WR(KR(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),o&&a.set("Authorization","Basic "+btoa((o.username||"")+":"+(o.password?unescape(encodeURIComponent(o.password)):""))),je.isFormData(n)){if(ds.hasStandardBrowserEnv||ds.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(je.isFunction(n.getHeaders)){const u=n.getHeaders(),h=["content-type","content-length"];Object.entries(u).forEach(([f,m])=>{h.includes(f.toLowerCase())&&a.set(f,m)})}}if(ds.hasStandardBrowserEnv&&(r&&je.isFunction(r)&&(r=r(e)),r||r!==!1&&fZ(e.url))){const u=s&&i&&mZ.read(i);u&&a.set(s,u)}return e},xZ=typeof XMLHttpRequest<"u",vZ=xZ&&function(t){return new Promise(function(n,r){const s=JR(t);let i=s.data;const a=Hs.from(s.headers).normalize();let{responseType:o,onUploadProgress:u,onDownloadProgress:h}=s,f,m,g,x,y;function w(){x&&x(),y&&y(),s.cancelToken&&s.cancelToken.unsubscribe(f),s.signal&&s.signal.removeEventListener("abort",f)}let b=new XMLHttpRequest;b.open(s.method.toUpperCase(),s.url,!0),b.timeout=s.timeout;function k(){if(!b)return;const C=Hs.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),E={data:!o||o==="text"||o==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:C,config:t,request:b};ZR(function(A){n(A),w()},function(A){r(A),w()},E),b=null}"onloadend"in b?b.onloadend=k:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(k)},b.onabort=function(){b&&(r(new Mt("Request aborted",Mt.ECONNABORTED,t,b)),b=null)},b.onerror=function(T){const E=T&&T.message?T.message:"Network Error",_=new Mt(E,Mt.ERR_NETWORK,t,b);_.event=T||null,r(_),b=null},b.ontimeout=function(){let T=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const E=s.transitional||GR;s.timeoutErrorMessage&&(T=s.timeoutErrorMessage),r(new Mt(T,E.clarifyTimeoutError?Mt.ETIMEDOUT:Mt.ECONNABORTED,t,b)),b=null},i===void 0&&a.setContentType(null),"setRequestHeader"in b&&je.forEach(a.toJSON(),function(T,E){b.setRequestHeader(E,T)}),je.isUndefined(s.withCredentials)||(b.withCredentials=!!s.withCredentials),o&&o!=="json"&&(b.responseType=s.responseType),h&&([g,y]=Gx(h,!0),b.addEventListener("progress",g)),u&&b.upload&&([m,x]=Gx(u),b.upload.addEventListener("progress",m),b.upload.addEventListener("loadend",x)),(s.cancelToken||s.signal)&&(f=C=>{b&&(r(!C||C.type?new xh(null,t,b):C),b.abort(),b=null)},s.cancelToken&&s.cancelToken.subscribe(f),s.signal&&(s.signal.aborted?f():s.signal.addEventListener("abort",f)));const N=uZ(s.url);if(N&&ds.protocols.indexOf(N)===-1){r(new Mt("Unsupported protocol "+N+":",Mt.ERR_BAD_REQUEST,t));return}b.send(i||null)})},yZ=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,s;const i=function(h){if(!s){s=!0,o();const f=h instanceof Error?h:this.reason;r.abort(f instanceof Mt?f:new xh(f instanceof Error?f.message:f))}};let a=e&&setTimeout(()=>{a=null,i(new Mt(`timeout ${e} of ms exceeded`,Mt.ETIMEDOUT))},e);const o=()=>{t&&(a&&clearTimeout(a),a=null,t.forEach(h=>{h.unsubscribe?h.unsubscribe(i):h.removeEventListener("abort",i)}),t=null)};t.forEach(h=>h.addEventListener("abort",i));const{signal:u}=r;return u.unsubscribe=()=>je.asap(o),u}},bZ=function*(t,e){let n=t.byteLength;if(n{const s=wZ(t,e);let i=0,a,o=u=>{a||(a=!0,r&&r(u))};return new ReadableStream({async pull(u){try{const{done:h,value:f}=await s.next();if(h){o(),u.close();return}let m=f.byteLength;if(n){let g=i+=m;n(g)}u.enqueue(new Uint8Array(f))}catch(h){throw o(h),h}},cancel(u){return o(u),s.return()}},{highWaterMark:2})},H8=64*1024,{isFunction:xg}=je,kZ=(({Request:t,Response:e})=>({Request:t,Response:e}))(je.global),{ReadableStream:V8,TextEncoder:U8}=je.global,W8=(t,...e)=>{try{return!!t(...e)}catch{return!1}},OZ=t=>{t=je.merge.call({skipUndefined:!0},kZ,t);const{fetch:e,Request:n,Response:r}=t,s=e?xg(e):typeof fetch=="function",i=xg(n),a=xg(r);if(!s)return!1;const o=s&&xg(V8),u=s&&(typeof U8=="function"?(y=>w=>y.encode(w))(new U8):async y=>new Uint8Array(await new n(y).arrayBuffer())),h=i&&o&&W8(()=>{let y=!1;const w=new n(ds.origin,{body:new V8,method:"POST",get duplex(){return y=!0,"half"}}).headers.has("Content-Type");return y&&!w}),f=a&&o&&W8(()=>je.isReadableStream(new r("").body)),m={stream:f&&(y=>y.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(y=>{!m[y]&&(m[y]=(w,b)=>{let k=w&&w[y];if(k)return k.call(w);throw new Mt(`Response type '${y}' is not supported`,Mt.ERR_NOT_SUPPORT,b)})});const g=async y=>{if(y==null)return 0;if(je.isBlob(y))return y.size;if(je.isSpecCompliantForm(y))return(await new n(ds.origin,{method:"POST",body:y}).arrayBuffer()).byteLength;if(je.isArrayBufferView(y)||je.isArrayBuffer(y))return y.byteLength;if(je.isURLSearchParams(y)&&(y=y+""),je.isString(y))return(await u(y)).byteLength},x=async(y,w)=>{const b=je.toFiniteNumber(y.getContentLength());return b??g(w)};return async y=>{let{url:w,method:b,data:k,signal:N,cancelToken:C,timeout:T,onDownloadProgress:E,onUploadProgress:_,responseType:A,headers:F,withCredentials:B="same-origin",fetchOptions:P}=JR(y),H=e||fetch;A=A?(A+"").toLowerCase():"text";let U=yZ([N,C&&C.toAbortSignal()],T),te=null;const z=U&&U.unsubscribe&&(()=>{U.unsubscribe()});let W;try{if(_&&h&&b!=="get"&&b!=="head"&&(W=await x(F,k))!==0){let re=new n(w,{method:"POST",body:k,duplex:"half"}),K;if(je.isFormData(k)&&(K=re.headers.get("content-type"))&&F.setContentType(K),re.body){const[I,Q]=q8(W,Gx(F8(_)));k=Q8(re.body,H8,I,Q)}}je.isString(B)||(B=B?"include":"omit");const q=i&&"credentials"in n.prototype,J={...P,signal:U,method:b.toUpperCase(),headers:F.normalize().toJSON(),body:k,duplex:"half",credentials:q?B:void 0};te=i&&new n(w,J);let ee=await(i?H(te,P):H(w,J));const Y=f&&(A==="stream"||A==="response");if(f&&(E||Y&&z)){const re={};["status","statusText","headers"].forEach($=>{re[$]=ee[$]});const K=je.toFiniteNumber(ee.headers.get("content-length")),[I,Q]=E&&q8(K,Gx(F8(E),!0))||[];ee=new r(Q8(ee.body,H8,I,()=>{Q&&Q(),z&&z()}),re)}A=A||"text";let R=await m[je.findKey(m,A)||"text"](ee,y);return!Y&&z&&z(),await new Promise((re,K)=>{ZR(re,K,{data:R,headers:Hs.from(ee.headers),status:ee.status,statusText:ee.statusText,config:y,request:te})})}catch(q){throw z&&z(),q&&q.name==="TypeError"&&/Load failed|fetch/i.test(q.message)?Object.assign(new Mt("Network Error",Mt.ERR_NETWORK,y,te),{cause:q.cause||q}):Mt.from(q,q&&q.code,y,te)}}},jZ=new Map,eD=t=>{let e=t&&t.env||{};const{fetch:n,Request:r,Response:s}=e,i=[r,s,n];let a=i.length,o=a,u,h,f=jZ;for(;o--;)u=i[o],h=f.get(u),h===void 0&&f.set(u,h=o?new Map:OZ(e)),f=h;return h};eD();const ck={http:$Y,xhr:vZ,fetch:{get:eD}};je.forEach(ck,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const G8=t=>`- ${t}`,NZ=t=>je.isFunction(t)||t===null||t===!1;function CZ(t,e){t=je.isArray(t)?t:[t];const{length:n}=t;let r,s;const i={};for(let a=0;a`adapter ${u} `+(h===!1?"is not supported by the environment":"is not available in the build"));let o=n?a.length>1?`since : +`+a.map(G8).join(` +`):" "+G8(a[0]):"as no adapter specified";throw new Mt("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return s}const tD={getAdapter:CZ,adapters:ck};function p2(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new xh(null,t)}function X8(t){return p2(t),t.headers=Hs.from(t.headers),t.data=m2.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),tD.getAdapter(t.adapter||u0.adapter,t)(t).then(function(r){return p2(t),r.data=m2.call(t,t.transformResponse,r),r.headers=Hs.from(r.headers),r},function(r){return YR(r)||(p2(t),r&&r.response&&(r.response.data=m2.call(t,t.transformResponse,r.response),r.response.headers=Hs.from(r.response.headers))),Promise.reject(r)})}const nD="1.13.2",ev={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{ev[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const Y8={};ev.transitional=function(e,n,r){function s(i,a){return"[Axios v"+nD+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return(i,a,o)=>{if(e===!1)throw new Mt(s(a," has been removed"+(n?" in "+n:"")),Mt.ERR_DEPRECATED);return n&&!Y8[a]&&(Y8[a]=!0,console.warn(s(a," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(i,a,o):!0}};ev.spelling=function(e){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function TZ(t,e,n){if(typeof t!="object")throw new Mt("options must be an object",Mt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let s=r.length;for(;s-- >0;){const i=r[s],a=e[i];if(a){const o=t[i],u=o===void 0||a(o,i,t);if(u!==!0)throw new Mt("option "+i+" must be "+u,Mt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Mt("Unknown option "+i,Mt.ERR_BAD_OPTION)}}const yx={assertOptions:TZ,validators:ev},xa=yx.validators;let eu=class{constructor(e){this.defaults=e||{},this.interceptors={request:new B8,response:new B8}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+i):r.stack=i}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=iu(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:i}=n;r!==void 0&&yx.assertOptions(r,{silentJSONParsing:xa.transitional(xa.boolean),forcedJSONParsing:xa.transitional(xa.boolean),clarifyTimeoutError:xa.transitional(xa.boolean)},!1),s!=null&&(je.isFunction(s)?n.paramsSerializer={serialize:s}:yx.assertOptions(s,{encode:xa.function,serialize:xa.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),yx.assertOptions(n,{baseUrl:xa.spelling("baseURL"),withXsrfToken:xa.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&je.merge(i.common,i[n.method]);i&&je.forEach(["delete","get","head","post","put","patch","common"],y=>{delete i[y]}),n.headers=Hs.concat(a,i);const o=[];let u=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(n)===!1||(u=u&&w.synchronous,o.unshift(w.fulfilled,w.rejected))});const h=[];this.interceptors.response.forEach(function(w){h.push(w.fulfilled,w.rejected)});let f,m=0,g;if(!u){const y=[X8.bind(this),void 0];for(y.unshift(...o),y.push(...h),g=y.length,f=Promise.resolve(n);m{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const a=new Promise(o=>{r.subscribe(o),i=o}).then(s);return a.cancel=function(){r.unsubscribe(i)},a},e(function(i,a,o){r.reason||(r.reason=new xh(i,a,o),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new rD(function(s){e=s}),cancel:e}}};function _Z(t){return function(n){return t.apply(null,n)}}function MZ(t){return je.isObject(t)&&t.isAxiosError===!0}const H5={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(H5).forEach(([t,e])=>{H5[e]=t});function sD(t){const e=new eu(t),n=zR(eu.prototype.request,e);return je.extend(n,eu.prototype,e,{allOwnKeys:!0}),je.extend(n,e,null,{allOwnKeys:!0}),n.create=function(s){return sD(iu(t,s))},n}const lr=sD(u0);lr.Axios=eu;lr.CanceledError=xh;lr.CancelToken=EZ;lr.isCancel=YR;lr.VERSION=nD;lr.toFormData=J1;lr.AxiosError=Mt;lr.Cancel=lr.CanceledError;lr.all=function(e){return Promise.all(e)};lr.spread=_Z;lr.isAxiosError=MZ;lr.mergeConfig=iu;lr.AxiosHeaders=Hs;lr.formToJSON=t=>XR(je.isHTMLForm(t)?new FormData(t):t);lr.getAdapter=tD.getAdapter;lr.HttpStatusCode=H5;lr.default=lr;const{Axios:VNe,AxiosError:UNe,CanceledError:WNe,isCancel:GNe,CancelToken:XNe,VERSION:YNe,all:ZNe,Cancel:KNe,isAxiosError:JNe,spread:e8e,toFormData:t8e,AxiosHeaders:n8e,HttpStatusCode:r8e,formToJSON:s8e,getAdapter:i8e,mergeConfig:a8e}=lr,AZ=(t,e)=>{const n=new Array(t.length+e.length);for(let r=0;r({classGroupId:t,validator:e}),iD=(t=new Map,e=null,n)=>({nextPart:t,validators:e,classGroupId:n}),Xx="-",Z8=[],DZ="arbitrary..",zZ=t=>{const e=LZ(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return PZ(a);const o=a.split(Xx),u=o[0]===""&&o.length>1?1:0;return aD(o,u,e)},getConflictingClassGroupIds:(a,o)=>{if(o){const u=r[a],h=n[a];return u?h?AZ(h,u):u:h||Z8}return n[a]||Z8}}},aD=(t,e,n)=>{if(t.length-e===0)return n.classGroupId;const s=t[e],i=n.nextPart.get(s);if(i){const h=aD(t,e+1,i);if(h)return h}const a=n.validators;if(a===null)return;const o=e===0?t.join(Xx):t.slice(e).join(Xx),u=a.length;for(let h=0;ht.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const e=t.slice(1,-1),n=e.indexOf(":"),r=e.slice(0,n);return r?DZ+r:void 0})(),LZ=t=>{const{theme:e,classGroups:n}=t;return BZ(n,e)},BZ=(t,e)=>{const n=iD();for(const r in t){const s=t[r];uk(s,n,r,e)}return n},uk=(t,e,n,r)=>{const s=t.length;for(let i=0;i{if(typeof t=="string"){qZ(t,e,n);return}if(typeof t=="function"){FZ(t,e,n,r);return}$Z(t,e,n,r)},qZ=(t,e,n)=>{const r=t===""?e:lD(e,t);r.classGroupId=n},FZ=(t,e,n,r)=>{if(QZ(t)){uk(t(r),e,n,r);return}e.validators===null&&(e.validators=[]),e.validators.push(RZ(n,t))},$Z=(t,e,n,r)=>{const s=Object.entries(t),i=s.length;for(let a=0;a{let n=t;const r=e.split(Xx),s=r.length;for(let i=0;i"isThemeGetter"in t&&t.isThemeGetter===!0,HZ=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=Object.create(null),r=Object.create(null);const s=(i,a)=>{n[i]=a,e++,e>t&&(e=0,r=n,n=Object.create(null))};return{get(i){let a=n[i];if(a!==void 0)return a;if((a=r[i])!==void 0)return s(i,a),a},set(i,a){i in n?n[i]=a:s(i,a)}}},V5="!",K8=":",VZ=[],J8=(t,e,n,r,s)=>({modifiers:t,hasImportantModifier:e,baseClassName:n,maybePostfixModifierPosition:r,isExternal:s}),UZ=t=>{const{prefix:e,experimentalParseClassName:n}=t;let r=s=>{const i=[];let a=0,o=0,u=0,h;const f=s.length;for(let w=0;wu?h-u:void 0;return J8(i,x,g,y)};if(e){const s=e+K8,i=r;r=a=>a.startsWith(s)?i(a.slice(s.length)):J8(VZ,!1,a,void 0,!0)}if(n){const s=r;r=i=>n({className:i,parseClassName:s})}return r},WZ=t=>{const e=new Map;return t.orderSensitiveModifiers.forEach((n,r)=>{e.set(n,1e6+r)}),n=>{const r=[];let s=[];for(let i=0;i0&&(s.sort(),r.push(...s),s=[]),r.push(a)):s.push(a)}return s.length>0&&(s.sort(),r.push(...s)),r}},GZ=t=>({cache:HZ(t.cacheSize),parseClassName:UZ(t),sortModifiers:WZ(t),...zZ(t)}),XZ=/\s+/,YZ=(t,e)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:s,sortModifiers:i}=e,a=[],o=t.trim().split(XZ);let u="";for(let h=o.length-1;h>=0;h-=1){const f=o[h],{isExternal:m,modifiers:g,hasImportantModifier:x,baseClassName:y,maybePostfixModifierPosition:w}=n(f);if(m){u=f+(u.length>0?" "+u:u);continue}let b=!!w,k=r(b?y.substring(0,w):y);if(!k){if(!b){u=f+(u.length>0?" "+u:u);continue}if(k=r(y),!k){u=f+(u.length>0?" "+u:u);continue}b=!1}const N=g.length===0?"":g.length===1?g[0]:i(g).join(":"),C=x?N+V5:N,T=C+k;if(a.indexOf(T)>-1)continue;a.push(T);const E=s(k,b);for(let _=0;_0?" "+u:u)}return u},ZZ=(...t)=>{let e=0,n,r,s="";for(;e{if(typeof t=="string")return t;let e,n="";for(let r=0;r{let n,r,s,i;const a=u=>{const h=e.reduce((f,m)=>m(f),t());return n=GZ(h),r=n.cache.get,s=n.cache.set,i=o,o(u)},o=u=>{const h=r(u);if(h)return h;const f=YZ(u,n);return s(u,f),f};return i=a,(...u)=>i(ZZ(...u))},JZ=[],Pr=t=>{const e=n=>n[t]||JZ;return e.isThemeGetter=!0,e},cD=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,uD=/^\((?:(\w[\w-]*):)?(.+)\)$/i,eK=/^\d+\/\d+$/,tK=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,nK=/\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$/,rK=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,sK=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,iK=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,od=t=>eK.test(t),Bt=t=>!!t&&!Number.isNaN(Number(t)),Eo=t=>!!t&&Number.isInteger(Number(t)),g2=t=>t.endsWith("%")&&Bt(t.slice(0,-1)),vl=t=>tK.test(t),aK=()=>!0,lK=t=>nK.test(t)&&!rK.test(t),dD=()=>!1,oK=t=>sK.test(t),cK=t=>iK.test(t),uK=t=>!et(t)&&!tt(t),dK=t=>vh(t,mD,dD),et=t=>cD.test(t),Dc=t=>vh(t,pD,lK),x2=t=>vh(t,gK,Bt),eC=t=>vh(t,hD,dD),hK=t=>vh(t,fD,cK),vg=t=>vh(t,gD,oK),tt=t=>uD.test(t),Tf=t=>yh(t,pD),fK=t=>yh(t,xK),tC=t=>yh(t,hD),mK=t=>yh(t,mD),pK=t=>yh(t,fD),yg=t=>yh(t,gD,!0),vh=(t,e,n)=>{const r=cD.exec(t);return r?r[1]?e(r[1]):n(r[2]):!1},yh=(t,e,n=!1)=>{const r=uD.exec(t);return r?r[1]?e(r[1]):n:!1},hD=t=>t==="position"||t==="percentage",fD=t=>t==="image"||t==="url",mD=t=>t==="length"||t==="size"||t==="bg-size",pD=t=>t==="length",gK=t=>t==="number",xK=t=>t==="family-name",gD=t=>t==="shadow",vK=()=>{const t=Pr("color"),e=Pr("font"),n=Pr("text"),r=Pr("font-weight"),s=Pr("tracking"),i=Pr("leading"),a=Pr("breakpoint"),o=Pr("container"),u=Pr("spacing"),h=Pr("radius"),f=Pr("shadow"),m=Pr("inset-shadow"),g=Pr("text-shadow"),x=Pr("drop-shadow"),y=Pr("blur"),w=Pr("perspective"),b=Pr("aspect"),k=Pr("ease"),N=Pr("animate"),C=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],E=()=>[...T(),tt,et],_=()=>["auto","hidden","clip","visible","scroll"],A=()=>["auto","contain","none"],F=()=>[tt,et,u],B=()=>[od,"full","auto",...F()],P=()=>[Eo,"none","subgrid",tt,et],H=()=>["auto",{span:["full",Eo,tt,et]},Eo,tt,et],U=()=>[Eo,"auto",tt,et],te=()=>["auto","min","max","fr",tt,et],z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],W=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...F()],J=()=>[od,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...F()],ee=()=>[t,tt,et],Y=()=>[...T(),tC,eC,{position:[tt,et]}],R=()=>["no-repeat",{repeat:["","x","y","space","round"]}],re=()=>["auto","cover","contain",mK,dK,{size:[tt,et]}],K=()=>[g2,Tf,Dc],I=()=>["","none","full",h,tt,et],Q=()=>["",Bt,Tf,Dc],$=()=>["solid","dashed","dotted","double"],Z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ne=()=>[Bt,g2,tC,eC],ge=()=>["","none",y,tt,et],se=()=>["none",Bt,tt,et],Te=()=>["none",Bt,tt,et],qe=()=>[Bt,tt,et],ve=()=>[od,"full",...F()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[vl],breakpoint:[vl],color:[aK],container:[vl],"drop-shadow":[vl],ease:["in","out","in-out"],font:[uK],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[vl],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[vl],shadow:[vl],spacing:["px",Bt],text:[vl],"text-shadow":[vl],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",od,et,tt,b]}],container:["container"],columns:[{columns:[Bt,et,tt,o]}],"break-after":[{"break-after":C()}],"break-before":[{"break-before":C()}],"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:E()}],overflow:[{overflow:_()}],"overflow-x":[{"overflow-x":_()}],"overflow-y":[{"overflow-y":_()}],overscroll:[{overscroll:A()}],"overscroll-x":[{"overscroll-x":A()}],"overscroll-y":[{"overscroll-y":A()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:B()}],"inset-x":[{"inset-x":B()}],"inset-y":[{"inset-y":B()}],start:[{start:B()}],end:[{end:B()}],top:[{top:B()}],right:[{right:B()}],bottom:[{bottom:B()}],left:[{left:B()}],visibility:["visible","invisible","collapse"],z:[{z:[Eo,"auto",tt,et]}],basis:[{basis:[od,"full","auto",o,...F()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Bt,od,"auto","initial","none",et]}],grow:[{grow:["",Bt,tt,et]}],shrink:[{shrink:["",Bt,tt,et]}],order:[{order:[Eo,"first","last","none",tt,et]}],"grid-cols":[{"grid-cols":P()}],"col-start-end":[{col:H()}],"col-start":[{"col-start":U()}],"col-end":[{"col-end":U()}],"grid-rows":[{"grid-rows":P()}],"row-start-end":[{row:H()}],"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":te()}],"auto-rows":[{"auto-rows":te()}],gap:[{gap:F()}],"gap-x":[{"gap-x":F()}],"gap-y":[{"gap-y":F()}],"justify-content":[{justify:[...z(),"normal"]}],"justify-items":[{"justify-items":[...W(),"normal"]}],"justify-self":[{"justify-self":["auto",...W()]}],"align-content":[{content:["normal",...z()]}],"align-items":[{items:[...W(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...W(),{baseline:["","last"]}]}],"place-content":[{"place-content":z()}],"place-items":[{"place-items":[...W(),"baseline"]}],"place-self":[{"place-self":["auto",...W()]}],p:[{p:F()}],px:[{px:F()}],py:[{py:F()}],ps:[{ps:F()}],pe:[{pe:F()}],pt:[{pt:F()}],pr:[{pr:F()}],pb:[{pb:F()}],pl:[{pl:F()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":F()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":F()}],"space-y-reverse":["space-y-reverse"],size:[{size:J()}],w:[{w:[o,"screen",...J()]}],"min-w":[{"min-w":[o,"screen","none",...J()]}],"max-w":[{"max-w":[o,"screen","none","prose",{screen:[a]},...J()]}],h:[{h:["screen","lh",...J()]}],"min-h":[{"min-h":["screen","lh","none",...J()]}],"max-h":[{"max-h":["screen","lh",...J()]}],"font-size":[{text:["base",n,Tf,Dc]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,tt,x2]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",g2,et]}],"font-family":[{font:[fK,et,e]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,tt,et]}],"line-clamp":[{"line-clamp":[Bt,"none",tt,x2]}],leading:[{leading:[i,...F()]}],"list-image":[{"list-image":["none",tt,et]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",tt,et]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ee()}],"text-color":[{text:ee()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...$(),"wavy"]}],"text-decoration-thickness":[{decoration:[Bt,"from-font","auto",tt,Dc]}],"text-decoration-color":[{decoration:ee()}],"underline-offset":[{"underline-offset":[Bt,"auto",tt,et]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:F()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",tt,et]}],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",tt,et]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Y()}],"bg-repeat":[{bg:R()}],"bg-size":[{bg:re()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Eo,tt,et],radial:["",tt,et],conic:[Eo,tt,et]},pK,hK]}],"bg-color":[{bg:ee()}],"gradient-from-pos":[{from:K()}],"gradient-via-pos":[{via:K()}],"gradient-to-pos":[{to:K()}],"gradient-from":[{from:ee()}],"gradient-via":[{via:ee()}],"gradient-to":[{to:ee()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:Q()}],"border-w-x":[{"border-x":Q()}],"border-w-y":[{"border-y":Q()}],"border-w-s":[{"border-s":Q()}],"border-w-e":[{"border-e":Q()}],"border-w-t":[{"border-t":Q()}],"border-w-r":[{"border-r":Q()}],"border-w-b":[{"border-b":Q()}],"border-w-l":[{"border-l":Q()}],"divide-x":[{"divide-x":Q()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Q()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...$(),"hidden","none"]}],"divide-style":[{divide:[...$(),"hidden","none"]}],"border-color":[{border:ee()}],"border-color-x":[{"border-x":ee()}],"border-color-y":[{"border-y":ee()}],"border-color-s":[{"border-s":ee()}],"border-color-e":[{"border-e":ee()}],"border-color-t":[{"border-t":ee()}],"border-color-r":[{"border-r":ee()}],"border-color-b":[{"border-b":ee()}],"border-color-l":[{"border-l":ee()}],"divide-color":[{divide:ee()}],"outline-style":[{outline:[...$(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Bt,tt,et]}],"outline-w":[{outline:["",Bt,Tf,Dc]}],"outline-color":[{outline:ee()}],shadow:[{shadow:["","none",f,yg,vg]}],"shadow-color":[{shadow:ee()}],"inset-shadow":[{"inset-shadow":["none",m,yg,vg]}],"inset-shadow-color":[{"inset-shadow":ee()}],"ring-w":[{ring:Q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ee()}],"ring-offset-w":[{"ring-offset":[Bt,Dc]}],"ring-offset-color":[{"ring-offset":ee()}],"inset-ring-w":[{"inset-ring":Q()}],"inset-ring-color":[{"inset-ring":ee()}],"text-shadow":[{"text-shadow":["none",g,yg,vg]}],"text-shadow-color":[{"text-shadow":ee()}],opacity:[{opacity:[Bt,tt,et]}],"mix-blend":[{"mix-blend":[...Z(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Z()}],"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":[Bt]}],"mask-image-linear-from-pos":[{"mask-linear-from":ne()}],"mask-image-linear-to-pos":[{"mask-linear-to":ne()}],"mask-image-linear-from-color":[{"mask-linear-from":ee()}],"mask-image-linear-to-color":[{"mask-linear-to":ee()}],"mask-image-t-from-pos":[{"mask-t-from":ne()}],"mask-image-t-to-pos":[{"mask-t-to":ne()}],"mask-image-t-from-color":[{"mask-t-from":ee()}],"mask-image-t-to-color":[{"mask-t-to":ee()}],"mask-image-r-from-pos":[{"mask-r-from":ne()}],"mask-image-r-to-pos":[{"mask-r-to":ne()}],"mask-image-r-from-color":[{"mask-r-from":ee()}],"mask-image-r-to-color":[{"mask-r-to":ee()}],"mask-image-b-from-pos":[{"mask-b-from":ne()}],"mask-image-b-to-pos":[{"mask-b-to":ne()}],"mask-image-b-from-color":[{"mask-b-from":ee()}],"mask-image-b-to-color":[{"mask-b-to":ee()}],"mask-image-l-from-pos":[{"mask-l-from":ne()}],"mask-image-l-to-pos":[{"mask-l-to":ne()}],"mask-image-l-from-color":[{"mask-l-from":ee()}],"mask-image-l-to-color":[{"mask-l-to":ee()}],"mask-image-x-from-pos":[{"mask-x-from":ne()}],"mask-image-x-to-pos":[{"mask-x-to":ne()}],"mask-image-x-from-color":[{"mask-x-from":ee()}],"mask-image-x-to-color":[{"mask-x-to":ee()}],"mask-image-y-from-pos":[{"mask-y-from":ne()}],"mask-image-y-to-pos":[{"mask-y-to":ne()}],"mask-image-y-from-color":[{"mask-y-from":ee()}],"mask-image-y-to-color":[{"mask-y-to":ee()}],"mask-image-radial":[{"mask-radial":[tt,et]}],"mask-image-radial-from-pos":[{"mask-radial-from":ne()}],"mask-image-radial-to-pos":[{"mask-radial-to":ne()}],"mask-image-radial-from-color":[{"mask-radial-from":ee()}],"mask-image-radial-to-color":[{"mask-radial-to":ee()}],"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":T()}],"mask-image-conic-pos":[{"mask-conic":[Bt]}],"mask-image-conic-from-pos":[{"mask-conic-from":ne()}],"mask-image-conic-to-pos":[{"mask-conic-to":ne()}],"mask-image-conic-from-color":[{"mask-conic-from":ee()}],"mask-image-conic-to-color":[{"mask-conic-to":ee()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Y()}],"mask-repeat":[{mask:R()}],"mask-size":[{mask:re()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",tt,et]}],filter:[{filter:["","none",tt,et]}],blur:[{blur:ge()}],brightness:[{brightness:[Bt,tt,et]}],contrast:[{contrast:[Bt,tt,et]}],"drop-shadow":[{"drop-shadow":["","none",x,yg,vg]}],"drop-shadow-color":[{"drop-shadow":ee()}],grayscale:[{grayscale:["",Bt,tt,et]}],"hue-rotate":[{"hue-rotate":[Bt,tt,et]}],invert:[{invert:["",Bt,tt,et]}],saturate:[{saturate:[Bt,tt,et]}],sepia:[{sepia:["",Bt,tt,et]}],"backdrop-filter":[{"backdrop-filter":["","none",tt,et]}],"backdrop-blur":[{"backdrop-blur":ge()}],"backdrop-brightness":[{"backdrop-brightness":[Bt,tt,et]}],"backdrop-contrast":[{"backdrop-contrast":[Bt,tt,et]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Bt,tt,et]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Bt,tt,et]}],"backdrop-invert":[{"backdrop-invert":["",Bt,tt,et]}],"backdrop-opacity":[{"backdrop-opacity":[Bt,tt,et]}],"backdrop-saturate":[{"backdrop-saturate":[Bt,tt,et]}],"backdrop-sepia":[{"backdrop-sepia":["",Bt,tt,et]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":F()}],"border-spacing-x":[{"border-spacing-x":F()}],"border-spacing-y":[{"border-spacing-y":F()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",tt,et]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Bt,"initial",tt,et]}],ease:[{ease:["linear","initial",k,tt,et]}],delay:[{delay:[Bt,tt,et]}],animate:[{animate:["none",N,tt,et]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,tt,et]}],"perspective-origin":[{"perspective-origin":E()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:Te()}],"scale-x":[{"scale-x":Te()}],"scale-y":[{"scale-y":Te()}],"scale-z":[{"scale-z":Te()}],"scale-3d":["scale-3d"],skew:[{skew:qe()}],"skew-x":[{"skew-x":qe()}],"skew-y":[{"skew-y":qe()}],transform:[{transform:[tt,et,"","none","gpu","cpu"]}],"transform-origin":[{origin:E()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ve()}],"translate-x":[{"translate-x":ve()}],"translate-y":[{"translate-y":ve()}],"translate-z":[{"translate-z":ve()}],"translate-none":["translate-none"],accent:[{accent:ee()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ee()}],"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",tt,et]}],"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":F()}],"scroll-mx":[{"scroll-mx":F()}],"scroll-my":[{"scroll-my":F()}],"scroll-ms":[{"scroll-ms":F()}],"scroll-me":[{"scroll-me":F()}],"scroll-mt":[{"scroll-mt":F()}],"scroll-mr":[{"scroll-mr":F()}],"scroll-mb":[{"scroll-mb":F()}],"scroll-ml":[{"scroll-ml":F()}],"scroll-p":[{"scroll-p":F()}],"scroll-px":[{"scroll-px":F()}],"scroll-py":[{"scroll-py":F()}],"scroll-ps":[{"scroll-ps":F()}],"scroll-pe":[{"scroll-pe":F()}],"scroll-pt":[{"scroll-pt":F()}],"scroll-pr":[{"scroll-pr":F()}],"scroll-pb":[{"scroll-pb":F()}],"scroll-pl":[{"scroll-pl":F()}],"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",tt,et]}],fill:[{fill:["none",...ee()]}],"stroke-w":[{stroke:[Bt,Tf,Dc,x2]}],stroke:[{stroke:["none",...ee()]}],"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"]}},yK=KZ(vK);function Se(...t){return yK(GA(t))}const Ct=O.forwardRef(({className:t,...e},n)=>l.jsx("div",{ref:n,className:Se("rounded-xl border bg-card text-card-foreground shadow",t),...e}));Ct.displayName="Card";const xn=O.forwardRef(({className:t,...e},n)=>l.jsx("div",{ref:n,className:Se("flex flex-col space-y-1.5 p-6",t),...e}));xn.displayName="CardHeader";const vn=O.forwardRef(({className:t,...e},n)=>l.jsx("div",{ref:n,className:Se("font-semibold leading-none tracking-tight",t),...e}));vn.displayName="CardTitle";const Lr=O.forwardRef(({className:t,...e},n)=>l.jsx("div",{ref:n,className:Se("text-sm text-muted-foreground",t),...e}));Lr.displayName="CardDescription";const Tn=O.forwardRef(({className:t,...e},n)=>l.jsx("div",{ref:n,className:Se("p-6 pt-0",t),...e}));Tn.displayName="CardContent";const xD=O.forwardRef(({className:t,...e},n)=>l.jsx("div",{ref:n,className:Se("flex items-center p-6 pt-0",t),...e}));xD.displayName="CardFooter";var v2="rovingFocusGroup.onEntryFocus",bK={bubbles:!1,cancelable:!0},d0="RovingFocusGroup",[U5,vD,wK]=Q1(d0),[SK,tv]=la(d0,[wK]),[kK,OK]=SK(d0),yD=O.forwardRef((t,e)=>l.jsx(U5.Provider,{scope:t.__scopeRovingFocusGroup,children:l.jsx(U5.Slot,{scope:t.__scopeRovingFocusGroup,children:l.jsx(jK,{...t,ref:e})})}));yD.displayName=d0;var jK=O.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:s=!1,dir:i,currentTabStopId:a,defaultCurrentTabStopId:o,onCurrentTabStopIdChange:u,onEntryFocus:h,preventScrollOnEntryFocus:f=!1,...m}=t,g=O.useRef(null),x=Pn(e,g),y=n0(i),[w,b]=ac({prop:a,defaultProp:o??null,onChange:u,caller:d0}),[k,N]=O.useState(!1),C=us(h),T=vD(n),E=O.useRef(!1),[_,A]=O.useState(0);return O.useEffect(()=>{const F=g.current;if(F)return F.addEventListener(v2,C),()=>F.removeEventListener(v2,C)},[C]),l.jsx(kK,{scope:n,orientation:r,dir:y,loop:s,currentTabStopId:w,onItemFocus:O.useCallback(F=>b(F),[b]),onItemShiftTab:O.useCallback(()=>N(!0),[]),onFocusableItemAdd:O.useCallback(()=>A(F=>F+1),[]),onFocusableItemRemove:O.useCallback(()=>A(F=>F-1),[]),children:l.jsx(fn.div,{tabIndex:k||_===0?-1:0,"data-orientation":r,...m,ref:x,style:{outline:"none",...t.style},onMouseDown:Xe(t.onMouseDown,()=>{E.current=!0}),onFocus:Xe(t.onFocus,F=>{const B=!E.current;if(F.target===F.currentTarget&&B&&!k){const P=new CustomEvent(v2,bK);if(F.currentTarget.dispatchEvent(P),!P.defaultPrevented){const H=T().filter(q=>q.focusable),U=H.find(q=>q.active),te=H.find(q=>q.id===w),W=[U,te,...H].filter(Boolean).map(q=>q.ref.current);SD(W,f)}}E.current=!1}),onBlur:Xe(t.onBlur,()=>N(!1))})})}),bD="RovingFocusGroupItem",wD=O.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:s=!1,tabStopId:i,children:a,...o}=t,u=Li(),h=i||u,f=OK(bD,n),m=f.currentTabStopId===h,g=vD(n),{onFocusableItemAdd:x,onFocusableItemRemove:y,currentTabStopId:w}=f;return O.useEffect(()=>{if(r)return x(),()=>y()},[r,x,y]),l.jsx(U5.ItemSlot,{scope:n,id:h,focusable:r,active:s,children:l.jsx(fn.span,{tabIndex:m?0:-1,"data-orientation":f.orientation,...o,ref:e,onMouseDown:Xe(t.onMouseDown,b=>{r?f.onItemFocus(h):b.preventDefault()}),onFocus:Xe(t.onFocus,()=>f.onItemFocus(h)),onKeyDown:Xe(t.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){f.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const k=TK(b,f.orientation,f.dir);if(k!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let C=g().filter(T=>T.focusable).map(T=>T.ref.current);if(k==="last")C.reverse();else if(k==="prev"||k==="next"){k==="prev"&&C.reverse();const T=C.indexOf(b.currentTarget);C=f.loop?EK(C,T+1):C.slice(T+1)}setTimeout(()=>SD(C))}}),children:typeof a=="function"?a({isCurrentTabStop:m,hasTabStop:w!=null}):a})})});wD.displayName=bD;var NK={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function CK(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function TK(t,e,n){const r=CK(t.key,n);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return NK[r]}function SD(t,e=!1){const n=document.activeElement;for(const r of t)if(r===n||(r.focus({preventScroll:e}),document.activeElement!==n))return}function EK(t,e){return t.map((n,r)=>t[(e+r)%t.length])}var kD=yD,OD=wD,nv="Tabs",[_K]=la(nv,[tv]),jD=tv(),[MK,dk]=_K(nv),ND=O.forwardRef((t,e)=>{const{__scopeTabs:n,value:r,onValueChange:s,defaultValue:i,orientation:a="horizontal",dir:o,activationMode:u="automatic",...h}=t,f=n0(o),[m,g]=ac({prop:r,onChange:s,defaultProp:i??"",caller:nv});return l.jsx(MK,{scope:n,baseId:Li(),value:m,onValueChange:g,orientation:a,dir:f,activationMode:u,children:l.jsx(fn.div,{dir:f,"data-orientation":a,...h,ref:e})})});ND.displayName=nv;var CD="TabsList",TD=O.forwardRef((t,e)=>{const{__scopeTabs:n,loop:r=!0,...s}=t,i=dk(CD,n),a=jD(n);return l.jsx(kD,{asChild:!0,...a,orientation:i.orientation,dir:i.dir,loop:r,children:l.jsx(fn.div,{role:"tablist","aria-orientation":i.orientation,...s,ref:e})})});TD.displayName=CD;var ED="TabsTrigger",_D=O.forwardRef((t,e)=>{const{__scopeTabs:n,value:r,disabled:s=!1,...i}=t,a=dk(ED,n),o=jD(n),u=RD(a.baseId,r),h=DD(a.baseId,r),f=r===a.value;return l.jsx(OD,{asChild:!0,...o,focusable:!s,active:f,children:l.jsx(fn.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":h,"data-state":f?"active":"inactive","data-disabled":s?"":void 0,disabled:s,id:u,...i,ref:e,onMouseDown:Xe(t.onMouseDown,m=>{!s&&m.button===0&&m.ctrlKey===!1?a.onValueChange(r):m.preventDefault()}),onKeyDown:Xe(t.onKeyDown,m=>{[" ","Enter"].includes(m.key)&&a.onValueChange(r)}),onFocus:Xe(t.onFocus,()=>{const m=a.activationMode!=="manual";!f&&!s&&m&&a.onValueChange(r)})})})});_D.displayName=ED;var MD="TabsContent",AD=O.forwardRef((t,e)=>{const{__scopeTabs:n,value:r,forceMount:s,children:i,...a}=t,o=dk(MD,n),u=RD(o.baseId,r),h=DD(o.baseId,r),f=r===o.value,m=O.useRef(f);return O.useEffect(()=>{const g=requestAnimationFrame(()=>m.current=!1);return()=>cancelAnimationFrame(g)},[]),l.jsx(Ws,{present:s||f,children:({present:g})=>l.jsx(fn.div,{"data-state":f?"active":"inactive","data-orientation":o.orientation,role:"tabpanel","aria-labelledby":u,hidden:!g,id:h,tabIndex:0,...a,ref:e,style:{...t.style,animationDuration:m.current?"0s":void 0},children:g&&i})})});AD.displayName=MD;function RD(t,e){return`${t}-trigger-${e}`}function DD(t,e){return`${t}-content-${e}`}var AK=ND,zD=TD,PD=_D,LD=AD;const ql=AK,La=O.forwardRef(({className:t,...e},n)=>l.jsx(zD,{ref:n,className:Se("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",t),...e}));La.displayName=zD.displayName;const Zt=O.forwardRef(({className:t,...e},n)=>l.jsx(PD,{ref:n,className:Se("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",t),...e}));Zt.displayName=PD.displayName;const An=O.forwardRef(({className:t,...e},n)=>l.jsx(LD,{ref:n,className:Se("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",t),...e}));An.displayName=LD.displayName;function RK(t,e){return O.useReducer((n,r)=>e[n][r]??n,t)}var hk="ScrollArea",[BD]=la(hk),[DK,Hi]=BD(hk),ID=O.forwardRef((t,e)=>{const{__scopeScrollArea:n,type:r="hover",dir:s,scrollHideDelay:i=600,...a}=t,[o,u]=O.useState(null),[h,f]=O.useState(null),[m,g]=O.useState(null),[x,y]=O.useState(null),[w,b]=O.useState(null),[k,N]=O.useState(0),[C,T]=O.useState(0),[E,_]=O.useState(!1),[A,F]=O.useState(!1),B=Pn(e,H=>u(H)),P=n0(s);return l.jsx(DK,{scope:n,type:r,dir:P,scrollHideDelay:i,scrollArea:o,viewport:h,onViewportChange:f,content:m,onContentChange:g,scrollbarX:x,onScrollbarXChange:y,scrollbarXEnabled:E,onScrollbarXEnabledChange:_,scrollbarY:w,onScrollbarYChange:b,scrollbarYEnabled:A,onScrollbarYEnabledChange:F,onCornerWidthChange:N,onCornerHeightChange:T,children:l.jsx(fn.div,{dir:P,...a,ref:B,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":C+"px",...t.style}})})});ID.displayName=hk;var qD="ScrollAreaViewport",FD=O.forwardRef((t,e)=>{const{__scopeScrollArea:n,children:r,nonce:s,...i}=t,a=Hi(qD,n),o=O.useRef(null),u=Pn(e,o,a.onViewportChange);return l.jsxs(l.Fragment,{children:[l.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:s}),l.jsx(fn.div,{"data-radix-scroll-area-viewport":"",...i,ref:u,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...t.style},children:l.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});FD.displayName=qD;var Ia="ScrollAreaScrollbar",fk=O.forwardRef((t,e)=>{const{forceMount:n,...r}=t,s=Hi(Ia,t.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=s,o=t.orientation==="horizontal";return O.useEffect(()=>(o?i(!0):a(!0),()=>{o?i(!1):a(!1)}),[o,i,a]),s.type==="hover"?l.jsx(zK,{...r,ref:e,forceMount:n}):s.type==="scroll"?l.jsx(PK,{...r,ref:e,forceMount:n}):s.type==="auto"?l.jsx($D,{...r,ref:e,forceMount:n}):s.type==="always"?l.jsx(mk,{...r,ref:e}):null});fk.displayName=Ia;var zK=O.forwardRef((t,e)=>{const{forceMount:n,...r}=t,s=Hi(Ia,t.__scopeScrollArea),[i,a]=O.useState(!1);return O.useEffect(()=>{const o=s.scrollArea;let u=0;if(o){const h=()=>{window.clearTimeout(u),a(!0)},f=()=>{u=window.setTimeout(()=>a(!1),s.scrollHideDelay)};return o.addEventListener("pointerenter",h),o.addEventListener("pointerleave",f),()=>{window.clearTimeout(u),o.removeEventListener("pointerenter",h),o.removeEventListener("pointerleave",f)}}},[s.scrollArea,s.scrollHideDelay]),l.jsx(Ws,{present:n||i,children:l.jsx($D,{"data-state":i?"visible":"hidden",...r,ref:e})})}),PK=O.forwardRef((t,e)=>{const{forceMount:n,...r}=t,s=Hi(Ia,t.__scopeScrollArea),i=t.orientation==="horizontal",a=sv(()=>u("SCROLL_END"),100),[o,u]=RK("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 O.useEffect(()=>{if(o==="idle"){const h=window.setTimeout(()=>u("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(h)}},[o,s.scrollHideDelay,u]),O.useEffect(()=>{const h=s.viewport,f=i?"scrollLeft":"scrollTop";if(h){let m=h[f];const g=()=>{const x=h[f];m!==x&&(u("SCROLL"),a()),m=x};return h.addEventListener("scroll",g),()=>h.removeEventListener("scroll",g)}},[s.viewport,i,u,a]),l.jsx(Ws,{present:n||o!=="hidden",children:l.jsx(mk,{"data-state":o==="hidden"?"hidden":"visible",...r,ref:e,onPointerEnter:Xe(t.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:Xe(t.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),$D=O.forwardRef((t,e)=>{const n=Hi(Ia,t.__scopeScrollArea),{forceMount:r,...s}=t,[i,a]=O.useState(!1),o=t.orientation==="horizontal",u=sv(()=>{if(n.viewport){const h=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=t,s=Hi(Ia,t.__scopeScrollArea),i=O.useRef(null),a=O.useRef(0),[o,u]=O.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),h=WD(o.viewport,o.content),f={...r,sizes:o,onSizesChange:u,hasThumb:h>0&&h<1,onThumbChange:g=>i.current=g,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:g=>a.current=g};function m(g,x){return $K(g,a.current,o,x)}return n==="horizontal"?l.jsx(LK,{...f,ref:e,onThumbPositionChange:()=>{if(s.viewport&&i.current){const g=s.viewport.scrollLeft,x=nC(g,o,s.dir);i.current.style.transform=`translate3d(${x}px, 0, 0)`}},onWheelScroll:g=>{s.viewport&&(s.viewport.scrollLeft=g)},onDragScroll:g=>{s.viewport&&(s.viewport.scrollLeft=m(g,s.dir))}}):n==="vertical"?l.jsx(BK,{...f,ref:e,onThumbPositionChange:()=>{if(s.viewport&&i.current){const g=s.viewport.scrollTop,x=nC(g,o);i.current.style.transform=`translate3d(0, ${x}px, 0)`}},onWheelScroll:g=>{s.viewport&&(s.viewport.scrollTop=g)},onDragScroll:g=>{s.viewport&&(s.viewport.scrollTop=m(g))}}):null}),LK=O.forwardRef((t,e)=>{const{sizes:n,onSizesChange:r,...s}=t,i=Hi(Ia,t.__scopeScrollArea),[a,o]=O.useState(),u=O.useRef(null),h=Pn(e,u,i.onScrollbarXChange);return O.useEffect(()=>{u.current&&o(getComputedStyle(u.current))},[u]),l.jsx(HD,{"data-orientation":"horizontal",...s,ref:h,sizes:n,style:{bottom:0,left:i.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:i.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":rv(n)+"px",...t.style},onThumbPointerDown:f=>t.onThumbPointerDown(f.x),onDragScroll:f=>t.onDragScroll(f.x),onWheelScroll:(f,m)=>{if(i.viewport){const g=i.viewport.scrollLeft+f.deltaX;t.onWheelScroll(g),XD(g,m)&&f.preventDefault()}},onResize:()=>{u.current&&i.viewport&&a&&r({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:Zx(a.paddingLeft),paddingEnd:Zx(a.paddingRight)}})}})}),BK=O.forwardRef((t,e)=>{const{sizes:n,onSizesChange:r,...s}=t,i=Hi(Ia,t.__scopeScrollArea),[a,o]=O.useState(),u=O.useRef(null),h=Pn(e,u,i.onScrollbarYChange);return O.useEffect(()=>{u.current&&o(getComputedStyle(u.current))},[u]),l.jsx(HD,{"data-orientation":"vertical",...s,ref:h,sizes:n,style:{top:0,right:i.dir==="ltr"?0:void 0,left:i.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":rv(n)+"px",...t.style},onThumbPointerDown:f=>t.onThumbPointerDown(f.y),onDragScroll:f=>t.onDragScroll(f.y),onWheelScroll:(f,m)=>{if(i.viewport){const g=i.viewport.scrollTop+f.deltaY;t.onWheelScroll(g),XD(g,m)&&f.preventDefault()}},onResize:()=>{u.current&&i.viewport&&a&&r({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:Zx(a.paddingTop),paddingEnd:Zx(a.paddingBottom)}})}})}),[IK,QD]=BD(Ia),HD=O.forwardRef((t,e)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:s,onThumbChange:i,onThumbPointerUp:a,onThumbPointerDown:o,onThumbPositionChange:u,onDragScroll:h,onWheelScroll:f,onResize:m,...g}=t,x=Hi(Ia,n),[y,w]=O.useState(null),b=Pn(e,B=>w(B)),k=O.useRef(null),N=O.useRef(""),C=x.viewport,T=r.content-r.viewport,E=us(f),_=us(u),A=sv(m,10);function F(B){if(k.current){const P=B.clientX-k.current.left,H=B.clientY-k.current.top;h({x:P,y:H})}}return O.useEffect(()=>{const B=P=>{const H=P.target;y?.contains(H)&&E(P,T)};return document.addEventListener("wheel",B,{passive:!1}),()=>document.removeEventListener("wheel",B,{passive:!1})},[C,y,T,E]),O.useEffect(_,[r,_]),Yd(y,A),Yd(x.content,A),l.jsx(IK,{scope:n,scrollbar:y,hasThumb:s,onThumbChange:us(i),onThumbPointerUp:us(a),onThumbPositionChange:_,onThumbPointerDown:us(o),children:l.jsx(fn.div,{...g,ref:b,style:{position:"absolute",...g.style},onPointerDown:Xe(t.onPointerDown,B=>{B.button===0&&(B.target.setPointerCapture(B.pointerId),k.current=y.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),F(B))}),onPointerMove:Xe(t.onPointerMove,F),onPointerUp:Xe(t.onPointerUp,B=>{const P=B.target;P.hasPointerCapture(B.pointerId)&&P.releasePointerCapture(B.pointerId),document.body.style.webkitUserSelect=N.current,x.viewport&&(x.viewport.style.scrollBehavior=""),k.current=null})})})}),Yx="ScrollAreaThumb",VD=O.forwardRef((t,e)=>{const{forceMount:n,...r}=t,s=QD(Yx,t.__scopeScrollArea);return l.jsx(Ws,{present:n||s.hasThumb,children:l.jsx(qK,{ref:e,...r})})}),qK=O.forwardRef((t,e)=>{const{__scopeScrollArea:n,style:r,...s}=t,i=Hi(Yx,n),a=QD(Yx,n),{onThumbPositionChange:o}=a,u=Pn(e,m=>a.onThumbChange(m)),h=O.useRef(void 0),f=sv(()=>{h.current&&(h.current(),h.current=void 0)},100);return O.useEffect(()=>{const m=i.viewport;if(m){const g=()=>{if(f(),!h.current){const x=QK(m,o);h.current=x,o()}};return o(),m.addEventListener("scroll",g),()=>m.removeEventListener("scroll",g)}},[i.viewport,f,o]),l.jsx(fn.div,{"data-state":a.hasThumb?"visible":"hidden",...s,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Xe(t.onPointerDownCapture,m=>{const x=m.target.getBoundingClientRect(),y=m.clientX-x.left,w=m.clientY-x.top;a.onThumbPointerDown({x:y,y:w})}),onPointerUp:Xe(t.onPointerUp,a.onThumbPointerUp)})});VD.displayName=Yx;var pk="ScrollAreaCorner",UD=O.forwardRef((t,e)=>{const n=Hi(pk,t.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?l.jsx(FK,{...t,ref:e}):null});UD.displayName=pk;var FK=O.forwardRef((t,e)=>{const{__scopeScrollArea:n,...r}=t,s=Hi(pk,n),[i,a]=O.useState(0),[o,u]=O.useState(0),h=!!(i&&o);return Yd(s.scrollbarX,()=>{const f=s.scrollbarX?.offsetHeight||0;s.onCornerHeightChange(f),u(f)}),Yd(s.scrollbarY,()=>{const f=s.scrollbarY?.offsetWidth||0;s.onCornerWidthChange(f),a(f)}),h?l.jsx(fn.div,{...r,ref:e,style:{width:i,height:o,position:"absolute",right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:0,...t.style}}):null});function Zx(t){return t?parseInt(t,10):0}function WD(t,e){const n=t/e;return isNaN(n)?0:n}function rv(t){const e=WD(t.viewport,t.content),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,r=(t.scrollbar.size-n)*e;return Math.max(r,18)}function $K(t,e,n,r="ltr"){const s=rv(n),i=s/2,a=e||i,o=s-a,u=n.scrollbar.paddingStart+a,h=n.scrollbar.size-n.scrollbar.paddingEnd-o,f=n.content-n.viewport,m=r==="ltr"?[0,f]:[f*-1,0];return GD([u,h],m)(t)}function nC(t,e,n="ltr"){const r=rv(e),s=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,i=e.scrollbar.size-s,a=e.content-e.viewport,o=i-r,u=n==="ltr"?[0,a]:[a*-1,0],h=GS(t,u);return GD([0,a],[0,o])(h)}function GD(t,e){return n=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(t[1]-t[0]);return e[0]+r*(n-t[0])}}function XD(t,e){return t>0&&t{})=>{let n={left:t.scrollLeft,top:t.scrollTop},r=0;return(function s(){const i={left:t.scrollLeft,top:t.scrollTop},a=n.left!==i.left,o=n.top!==i.top;(a||o)&&e(),n=i,r=window.requestAnimationFrame(s)})(),()=>window.cancelAnimationFrame(r)};function sv(t,e){const n=us(t),r=O.useRef(0);return O.useEffect(()=>()=>window.clearTimeout(r.current),[]),O.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,e)},[n,e])}function Yd(t,e){const n=us(e);oR(()=>{let r=0;if(t){const s=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return s.observe(t),()=>{window.cancelAnimationFrame(r),s.unobserve(t)}}},[t,n])}var YD=ID,HK=FD,VK=UD;const yn=O.forwardRef(({className:t,children:e,viewportRef:n,...r},s)=>l.jsxs(YD,{ref:s,className:Se("relative overflow-hidden",t),...r,children:[l.jsx(HK,{ref:n,className:"h-full w-full rounded-[inherit]",children:e}),l.jsx(W5,{}),l.jsx(W5,{orientation:"horizontal"}),l.jsx(VK,{})]}));yn.displayName=YD.displayName;const W5=O.forwardRef(({className:t,orientation:e="vertical",...n},r)=>l.jsx(fk,{ref:r,orientation:e,className:Se("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...n,children:l.jsx(VD,{className:"relative flex-1 rounded-full bg-border"})}));W5.displayName=fk.displayName;function rC({className:t,...e}){return l.jsx("div",{className:Se("animate-pulse rounded-md bg-primary/10",t),...e})}function UK(t,e=[]){let n=[];function r(i,a){const o=O.createContext(a);o.displayName=i+"Context";const u=n.length;n=[...n,a];const h=m=>{const{scope:g,children:x,...y}=m,w=g?.[t]?.[u]||o,b=O.useMemo(()=>y,Object.values(y));return l.jsx(w.Provider,{value:b,children:x})};h.displayName=i+"Provider";function f(m,g){const x=g?.[t]?.[u]||o,y=O.useContext(x);if(y)return y;if(a!==void 0)return a;throw new Error(`\`${m}\` must be used within \`${i}\``)}return[h,f]}const s=()=>{const i=n.map(a=>O.createContext(a));return function(o){const u=o?.[t]||i;return O.useMemo(()=>({[`__scope${t}`]:{...o,[t]:u}}),[o,u])}};return s.scopeName=t,[r,WK(s,...e)]}function WK(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(i){const a=r.reduce((o,{useScope:u,scopeName:h})=>{const m=u(i)[`__scope${h}`];return{...o,...m}},{});return O.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var GK=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ZD=GK.reduce((t,e)=>{const n=XS(`Primitive.${e}`),r=O.forwardRef((s,i)=>{const{asChild:a,...o}=s,u=a?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(u,{...o,ref:i})});return r.displayName=`Primitive.${e}`,{...t,[e]:r}},{}),gk="Progress",xk=100,[XK]=UK(gk),[YK,ZK]=XK(gk),KD=O.forwardRef((t,e)=>{const{__scopeProgress:n,value:r=null,max:s,getValueLabel:i=KK,...a}=t;(s||s===0)&&!sC(s)&&console.error(JK(`${s}`,"Progress"));const o=sC(s)?s:xk;r!==null&&!iC(r,o)&&console.error(eJ(`${r}`,"Progress"));const u=iC(r,o)?r:null,h=Kx(u)?i(u,o):void 0;return l.jsx(YK,{scope:n,value:u,max:o,children:l.jsx(ZD.div,{"aria-valuemax":o,"aria-valuemin":0,"aria-valuenow":Kx(u)?u:void 0,"aria-valuetext":h,role:"progressbar","data-state":tz(u,o),"data-value":u??void 0,"data-max":o,...a,ref:e})})});KD.displayName=gk;var JD="ProgressIndicator",ez=O.forwardRef((t,e)=>{const{__scopeProgress:n,...r}=t,s=ZK(JD,n);return l.jsx(ZD.div,{"data-state":tz(s.value,s.max),"data-value":s.value??void 0,"data-max":s.max,...r,ref:e})});ez.displayName=JD;function KK(t,e){return`${Math.round(t/e*100)}%`}function tz(t,e){return t==null?"indeterminate":t===e?"complete":"loading"}function Kx(t){return typeof t=="number"}function sC(t){return Kx(t)&&!isNaN(t)&&t>0}function iC(t,e){return Kx(t)&&!isNaN(t)&&t<=e&&t>=0}function JK(t,e){return`Invalid prop \`max\` of value \`${t}\` supplied to \`${e}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${xk}\`.`}function eJ(t,e){return`Invalid prop \`value\` of value \`${t}\` supplied to \`${e}\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${xk} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.`}var nz=KD,tJ=ez;const h0=O.forwardRef(({className:t,value:e,...n},r)=>l.jsx(nz,{ref:r,className:Se("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",t),...n,children:l.jsx(tJ,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(e||0)}%)`}})}));h0.displayName=nz.displayName;const nJ={light:"",dark:".dark"},rz=O.createContext(null);function sz(){const t=O.useContext(rz);if(!t)throw new Error("useChart must be used within a ");return t}const yd=O.forwardRef(({id:t,className:e,children:n,config:r,...s},i)=>{const a=O.useId(),o=`chart-${t||a.replace(/:/g,"")}`;return l.jsx(rz.Provider,{value:{config:r},children:l.jsxs("div",{"data-chart":o,ref:i,className:Se("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",e),...s,children:[l.jsx(rJ,{id:o,config:r}),l.jsx(pG,{children:n})]})})});yd.displayName="Chart";const rJ=({id:t,config:e})=>{const n=Object.entries(e).filter(([,r])=>r.theme||r.color);return n.length?l.jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(nJ).map(([r,s])=>` +${s} [data-chart=${t}] { +${n.map(([i,a])=>{const o=a.theme?.[r]||a.color;return o?` --color-${i}: ${o};`:null}).join(` +`)} +} +`).join(` +`)}}):null},Ef=gG,bd=O.forwardRef(({active:t,payload:e,className:n,indicator:r="dot",hideLabel:s=!1,hideIndicator:i=!1,label:a,labelFormatter:o,labelClassName:u,formatter:h,color:f,nameKey:m,labelKey:g},x)=>{const{config:y}=sz(),w=O.useMemo(()=>{if(s||!e?.length)return null;const[k]=e,N=`${g||k?.dataKey||k?.name||"value"}`,C=G5(y,k,N),T=!g&&typeof a=="string"?y[a]?.label||a:C?.label;return o?l.jsx("div",{className:Se("font-medium",u),children:o(T,e)}):T?l.jsx("div",{className:Se("font-medium",u),children:T}):null},[a,o,e,s,u,y,g]);if(!t||!e?.length)return null;const b=e.length===1&&r!=="dot";return l.jsxs("div",{ref:x,className:Se("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,l.jsx("div",{className:"grid gap-1.5",children:e.filter(k=>k.type!=="none").map((k,N)=>{const C=`${m||k.name||k.dataKey||"value"}`,T=G5(y,k,C),E=f||k.payload.fill||k.color;return l.jsx("div",{className:Se("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:h&&k?.value!==void 0&&k.name?h(k.value,k.name,k,N,k.payload):l.jsxs(l.Fragment,{children:[T?.icon?l.jsx(T.icon,{}):!i&&l.jsx("div",{className:Se("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":E,"--color-border":E}}),l.jsxs("div",{className:Se("flex flex-1 justify-between leading-none",b?"items-end":"items-center"),children:[l.jsxs("div",{className:"grid gap-1.5",children:[b?w:null,l.jsx("span",{className:"text-muted-foreground",children:T?.label||k.name})]}),k.value&&l.jsx("span",{className:"font-mono font-medium tabular-nums text-foreground",children:k.value.toLocaleString()})]})]})},k.dataKey)})})]})});bd.displayName="ChartTooltip";const sJ=xG,iz=O.forwardRef(({className:t,hideIcon:e=!1,payload:n,verticalAlign:r="bottom",nameKey:s},i)=>{const{config:a}=sz();return n?.length?l.jsx("div",{ref:i,className:Se("flex items-center justify-center gap-4",r==="top"?"pb-3":"pt-3",t),children:n.filter(o=>o.type!=="none").map(o=>{const u=`${s||o.dataKey||"value"}`,h=G5(a,o,u);return l.jsxs("div",{className:Se("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[h?.icon&&!e?l.jsx(h.icon,{}):l.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:o.color}}),h?.label]},o.value)})}):null});iz.displayName="ChartLegend";function G5(t,e,n){if(typeof e!="object"||e===null)return;const r="payload"in e&&typeof e.payload=="object"&&e.payload!==null?e.payload:void 0;let s=n;return n in e&&typeof e[n]=="string"?s=e[n]:r&&n in r&&typeof r[n]=="string"&&(s=r[n]),s in t?t[s]:t[n]}const aC=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,lC=GA,bh=(t,e)=>n=>{var r;if(e?.variants==null)return lC(t,n?.class,n?.className);const{variants:s,defaultVariants:i}=e,a=Object.keys(s).map(h=>{const f=n?.[h],m=i?.[h];if(f===null)return null;const g=aC(f)||aC(m);return s[h][g]}),o=n&&Object.entries(n).reduce((h,f)=>{let[m,g]=f;return g===void 0||(h[m]=g),h},{}),u=e==null||(r=e.compoundVariants)===null||r===void 0?void 0:r.reduce((h,f)=>{let{class:m,className:g,...x}=f;return Object.entries(x).every(y=>{let[w,b]=y;return Array.isArray(b)?b.includes({...i,...o}[w]):{...i,...o}[w]===b})?[...h,m,g]:h},[]);return lC(t,a,u,n?.class,n?.className)},vm=bh("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"}}),de=O.forwardRef(({className:t,variant:e,size:n,asChild:r=!1,...s},i)=>{const a=r?mX:"button";return l.jsx(a,{className:Se(vm({variant:e,size:n,className:t})),ref:i,...s})});de.displayName="Button";function iJ(){const[t,e]=O.useState(null),[n,r]=O.useState(!0),[s,i]=O.useState(0),[a,o]=O.useState(24),[u,h]=O.useState(!0),[f,m]=O.useState(null),[g,x]=O.useState(!0),y=O.useCallback(async()=>{try{x(!0);const B=await lr.get("https://v1.hitokoto.cn/?c=a&c=b&c=c&c=d&c=h&c=i&c=k");m({hitokoto:B.data.hitokoto,from:B.data.from||B.data.from_who||"未知"})}catch(B){console.error("获取一言失败:",B),m({hitokoto:"人生就像一盒巧克力,你永远不知道下一颗是什么味道。",from:"阿甘正传"})}finally{x(!1)}},[]),w=O.useCallback(async()=>{try{const B=localStorage.getItem("access-token"),P=await lr.get(`/api/webui/statistics/dashboard?hours=${a}`,{headers:{Authorization:`Bearer ${B}`}});e(P.data),r(!1),i(100)}catch(B){console.error("Failed to fetch dashboard data:",B),r(!1),i(100)}},[a]);if(O.useEffect(()=>{if(!n)return;i(0);const B=setTimeout(()=>i(15),200),P=setTimeout(()=>i(30),800),H=setTimeout(()=>i(45),2e3),U=setTimeout(()=>i(60),4e3),te=setTimeout(()=>i(75),6500),z=setTimeout(()=>i(85),9e3),W=setTimeout(()=>i(92),11e3);return()=>{clearTimeout(B),clearTimeout(P),clearTimeout(H),clearTimeout(U),clearTimeout(te),clearTimeout(z),clearTimeout(W)}},[n]),O.useEffect(()=>{w(),y()},[w,y]),O.useEffect(()=>{if(!u)return;const B=setInterval(()=>{w()},3e4);return()=>clearInterval(B)},[u,w]),n||!t)return l.jsx("div",{className:"flex items-center justify-center h-[calc(100vh-200px)]",children:l.jsxs("div",{className:"text-center space-y-6 w-full max-w-md px-4",children:[l.jsx(hi,{className:"h-12 w-12 animate-spin mx-auto text-primary"}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-lg font-medium",children:"加载统计数据中..."}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"正在获取麦麦运行数据"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(h0,{value:s,className:"h-2"}),l.jsxs("p",{className:"text-xs text-muted-foreground",children:[s,"%"]})]})]})});const{summary:b,model_stats:k,hourly_data:N,daily_data:C,recent_activity:T}=t,E=B=>{const P=Math.floor(B/3600),H=Math.floor(B%3600/60);return`${P}小时${H}分钟`},_=B=>new Date(B).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),A=k.slice(0,6).map(B=>({name:B.model_name,value:B.request_count,fill:`hsl(var(--chart-${k.indexOf(B)%5+1}))`})),F={requests:{label:"请求数",color:"hsl(var(--chart-1))"},cost:{label:"花费(¥)",color:"hsl(var(--chart-2))"},tokens:{label:"Tokens",color:"hsl(var(--chart-3))"}};return l.jsx(yn,{className:"h-full",children:l.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"实时监控面板"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"麦麦运行状态和统计数据一览"})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx(ql,{value:a.toString(),onValueChange:B=>o(Number(B)),children:l.jsxs(La,{className:"grid grid-cols-3 w-full sm:w-auto",children:[l.jsx(Zt,{value:"24",children:"24小时"}),l.jsx(Zt,{value:"168",children:"7天"}),l.jsx(Zt,{value:"720",children:"30天"})]})}),l.jsxs(de,{variant:u?"default":"outline",size:"sm",onClick:()=>h(!u),className:"gap-2",children:[l.jsx(hi,{className:`h-4 w-4 ${u?"animate-spin":""}`}),l.jsx("span",{className:"hidden sm:inline",children:"自动刷新"})]}),l.jsx(de,{variant:"outline",size:"sm",onClick:w,children:l.jsx(hi,{className:"h-4 w-4"})})]})]}),l.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"总请求数"}),l.jsx(CX,{className:"h-4 w-4 text-muted-foreground"})]}),l.jsxs(Tn,{children:[l.jsx("div",{className:"text-2xl font-bold",children:b.total_requests.toLocaleString()}),l.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["最近",a<48?a+"小时":Math.floor(a/24)+"天"]})]})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"总花费"}),l.jsx(TX,{className:"h-4 w-4 text-muted-foreground"})]}),l.jsxs(Tn,{children:[l.jsxs("div",{className:"text-2xl font-bold",children:["¥",b.total_cost.toFixed(2)]}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:b.cost_per_hour>0?`¥${b.cost_per_hour.toFixed(2)}/小时`:"暂无数据"})]})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"Token消耗"}),l.jsx(R5,{className:"h-4 w-4 text-muted-foreground"})]}),l.jsxs(Tn,{children:[l.jsxs("div",{className:"text-2xl font-bold",children:[(b.total_tokens/1e3).toFixed(1),"K"]}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:b.tokens_per_hour>0?`${(b.tokens_per_hour/1e3).toFixed(1)}K/小时`:"暂无数据"})]})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"平均响应"}),l.jsx(pm,{className:"h-4 w-4 text-muted-foreground"})]}),l.jsxs(Tn,{children:[l.jsxs("div",{className:"text-2xl font-bold",children:[b.avg_response_time.toFixed(2),"s"]}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"API平均耗时"})]})]})]}),l.jsxs("div",{className:"grid gap-4 grid-cols-1 sm:grid-cols-3",children:[l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"在线时长"}),l.jsx(Yc,{className:"h-4 w-4 text-muted-foreground"})]}),l.jsx(Tn,{children:l.jsx("div",{className:"text-xl font-bold",children:E(b.online_time)})})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"消息处理"}),l.jsx(r0,{className:"h-4 w-4 text-muted-foreground"})]}),l.jsxs(Tn,{children:[l.jsx("div",{className:"text-xl font-bold",children:b.total_messages.toLocaleString()}),l.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["回复 ",b.total_replies.toLocaleString()," 条"]})]})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"成本效率"}),l.jsx(EX,{className:"h-4 w-4 text-muted-foreground"})]}),l.jsxs(Tn,{children:[l.jsx("div",{className:"text-xl font-bold",children:b.total_messages>0?`¥${(b.total_cost/b.total_messages*100).toFixed(2)}`:"¥0.00"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"每100条消息"})]})]})]}),l.jsxs(ql,{defaultValue:"trends",className:"space-y-4",children:[l.jsxs(La,{className:"grid w-full grid-cols-2 sm:grid-cols-4",children:[l.jsx(Zt,{value:"trends",children:"趋势"}),l.jsx(Zt,{value:"models",children:"模型"}),l.jsx(Zt,{value:"activity",children:"活动"}),l.jsx(Zt,{value:"daily",children:"日统计"})]}),l.jsxs(An,{value:"trends",className:"space-y-4",children:[l.jsxs(Ct,{children:[l.jsxs(xn,{children:[l.jsx(vn,{children:"请求趋势"}),l.jsxs(Lr,{children:["最近",a,"小时的请求量变化"]})]}),l.jsx(Tn,{children:l.jsx(yd,{config:F,className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:l.jsxs(vG,{data:N,children:[l.jsx(mg,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),l.jsx(pg,{dataKey:"timestamp",tickFormatter:B=>_(B),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),l.jsx(jf,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),l.jsx(Ef,{content:l.jsx(bd,{labelFormatter:B=>_(B)})}),l.jsx(yG,{type:"monotone",dataKey:"requests",stroke:"var(--color-requests)",strokeWidth:2})]})})})]}),l.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[l.jsxs(Ct,{children:[l.jsxs(xn,{children:[l.jsx(vn,{children:"花费趋势"}),l.jsx(Lr,{children:"API调用成本变化"})]}),l.jsx(Tn,{children:l.jsx(yd,{config:F,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:l.jsxs(o2,{data:N,children:[l.jsx(mg,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),l.jsx(pg,{dataKey:"timestamp",tickFormatter:B=>_(B),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),l.jsx(jf,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),l.jsx(Ef,{content:l.jsx(bd,{labelFormatter:B=>_(B)})}),l.jsx(gg,{dataKey:"cost",fill:"var(--color-cost)"})]})})})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{children:[l.jsx(vn,{children:"Token消耗"}),l.jsx(Lr,{children:"Token使用量变化"})]}),l.jsx(Tn,{children:l.jsx(yd,{config:F,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:l.jsxs(o2,{data:N,children:[l.jsx(mg,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),l.jsx(pg,{dataKey:"timestamp",tickFormatter:B=>_(B),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),l.jsx(jf,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),l.jsx(Ef,{content:l.jsx(bd,{labelFormatter:B=>_(B)})}),l.jsx(gg,{dataKey:"tokens",fill:"var(--color-tokens)"})]})})})]})]})]}),l.jsx(An,{value:"models",className:"space-y-4",children:l.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[l.jsxs(Ct,{children:[l.jsxs(xn,{children:[l.jsx(vn,{children:"模型请求分布"}),l.jsx(Lr,{children:"各模型使用占比"})]}),l.jsx(Tn,{children:l.jsx(yd,{config:Object.fromEntries(k.slice(0,6).map((B,P)=>[B.model_name,{label:B.model_name,color:`hsl(var(--chart-${P%5+1}))`}])),className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:l.jsxs(bG,{children:[l.jsx(Ef,{content:l.jsx(bd,{})}),l.jsx(wG,{data:A,cx:"50%",cy:"50%",labelLine:!1,label:({name:B,percent:P})=>`${B} ${P?(P*100).toFixed(0):0}%`,outerRadius:100,dataKey:"value",children:A.map((B,P)=>l.jsx(SG,{fill:B.fill},`cell-${P}`))})]})})})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{children:[l.jsx(vn,{children:"模型详细统计"}),l.jsx(Lr,{children:"请求数、花费和性能"})]}),l.jsx(Tn,{children:l.jsx(yn,{className:"h-[300px] sm:h-[400px]",children:l.jsx("div",{className:"space-y-3",children:k.map((B,P)=>l.jsxs("div",{className:"p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[l.jsxs("div",{className:"flex items-center justify-between mb-2",children:[l.jsx("h4",{className:"font-semibold text-sm truncate flex-1 min-w-0",children:B.model_name}),l.jsx("div",{className:"w-3 h-3 rounded-full ml-2 flex-shrink-0",style:{backgroundColor:`hsl(var(--chart-${P%5+1}))`}})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground",children:"请求数:"}),l.jsx("span",{className:"ml-1 font-medium",children:B.request_count.toLocaleString()})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground",children:"花费:"}),l.jsxs("span",{className:"ml-1 font-medium",children:["¥",B.total_cost.toFixed(2)]})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),l.jsxs("span",{className:"ml-1 font-medium",children:[(B.total_tokens/1e3).toFixed(1),"K"]})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground",children:"平均耗时:"}),l.jsxs("span",{className:"ml-1 font-medium",children:[B.avg_response_time.toFixed(2),"s"]})]})]})]},P))})})})]})]})}),l.jsx(An,{value:"activity",children:l.jsxs(Ct,{children:[l.jsxs(xn,{children:[l.jsx(vn,{children:"最近活动"}),l.jsx(Lr,{children:"最新的API调用记录"})]}),l.jsx(Tn,{children:l.jsx(yn,{className:"h-[400px] sm:h-[500px]",children:l.jsx("div",{className:"space-y-2",children:T.map((B,P)=>l.jsxs("div",{className:"p-3 sm:p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-2 mb-2",children:[l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium text-sm truncate",children:B.model}),l.jsx("div",{className:"text-xs text-muted-foreground",children:B.request_type})]}),l.jsx("div",{className:"text-xs text-muted-foreground flex-shrink-0",children:_(B.timestamp)})]}),l.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2 text-xs",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),l.jsx("span",{className:"ml-1",children:B.tokens})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground",children:"花费:"}),l.jsxs("span",{className:"ml-1",children:["¥",B.cost.toFixed(4)]})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground",children:"耗时:"}),l.jsxs("span",{className:"ml-1",children:[B.time_cost.toFixed(2),"s"]})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground",children:"状态:"}),l.jsx("span",{className:`ml-1 ${B.status==="success"?"text-green-600":"text-red-600"}`,children:B.status})]})]})]},P))})})})]})}),l.jsx(An,{value:"daily",children:l.jsxs(Ct,{children:[l.jsxs(xn,{children:[l.jsx(vn,{children:"每日统计"}),l.jsx(Lr,{children:"最近7天的数据汇总"})]}),l.jsx(Tn,{children:l.jsx(yd,{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:l.jsxs(o2,{data:C,children:[l.jsx(mg,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),l.jsx(pg,{dataKey:"timestamp",tickFormatter:B=>{const P=new Date(B);return`${P.getMonth()+1}/${P.getDate()}`},stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),l.jsx(jf,{yAxisId:"left",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),l.jsx(jf,{yAxisId:"right",orientation:"right",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),l.jsx(Ef,{content:l.jsx(bd,{labelFormatter:B=>new Date(B).toLocaleDateString("zh-CN")})}),l.jsx(sJ,{content:l.jsx(iz,{})}),l.jsx(gg,{yAxisId:"left",dataKey:"requests",fill:"var(--color-requests)"}),l.jsx(gg,{yAxisId:"right",dataKey:"cost",fill:"var(--color-cost)"})]})})})]})})]}),l.jsxs(Ct,{className:"border-2 border-primary/20",children:[l.jsx(xn,{className:"pb-3",children:l.jsx(vn,{className:"text-lg",children:"每日一言"})}),l.jsx(Tn,{children:g?l.jsxs("div",{className:"space-y-2",children:[l.jsx(rC,{className:"h-6 w-3/4"}),l.jsx(rC,{className:"h-4 w-1/4"})]}):f?l.jsxs("div",{className:"space-y-2",children:[l.jsxs("p",{className:"text-lg font-medium leading-relaxed italic",children:['"',f.hitokoto,'"']}),l.jsxs("p",{className:"text-sm text-muted-foreground text-right",children:["—— ",f.from]})]}):null})]})]})})}const aJ={theme:"system",setTheme:()=>null},az=O.createContext(aJ),vk=()=>{const t=O.useContext(az);if(t===void 0)throw new Error("useTheme must be used within a ThemeProvider");return t},lJ=(t,e,n)=>{const r=document.documentElement.classList.contains("no-animations");if(!document.startViewTransition||r){e(t);return}const s=n.clientX,i=n.clientY,a=Math.hypot(Math.max(s,innerWidth-s),Math.max(i,innerHeight-i));document.startViewTransition(()=>{e(t)}).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${s}px ${i}px)`,`circle(${a}px at ${s}px ${i}px)`]},{duration:500,easing:"ease-in-out",pseudoElement:"::view-transition-new(root)"})})},lz=O.createContext(void 0),oz=()=>{const t=O.useContext(lz);if(t===void 0)throw new Error("useAnimation must be used within an AnimationProvider");return t};var iv="Switch",[oJ]=la(iv),[cJ,uJ]=oJ(iv),cz=O.forwardRef((t,e)=>{const{__scopeSwitch:n,name:r,checked:s,defaultChecked:i,required:a,disabled:o,value:u="on",onCheckedChange:h,form:f,...m}=t,[g,x]=O.useState(null),y=Pn(e,C=>x(C)),w=O.useRef(!1),b=g?f||!!g.closest("form"):!0,[k,N]=ac({prop:s,defaultProp:i??!1,onChange:h,caller:iv});return l.jsxs(cJ,{scope:n,checked:k,disabled:o,children:[l.jsx(fn.button,{type:"button",role:"switch","aria-checked":k,"aria-required":a,"data-state":fz(k),"data-disabled":o?"":void 0,disabled:o,value:u,...m,ref:y,onClick:Xe(t.onClick,C=>{N(T=>!T),b&&(w.current=C.isPropagationStopped(),w.current||C.stopPropagation())})}),b&&l.jsx(hz,{control:g,bubbles:!w.current,name:r,value:u,checked:k,required:a,disabled:o,form:f,style:{transform:"translateX(-100%)"}})]})});cz.displayName=iv;var uz="SwitchThumb",dz=O.forwardRef((t,e)=>{const{__scopeSwitch:n,...r}=t,s=uJ(uz,n);return l.jsx(fn.span,{"data-state":fz(s.checked),"data-disabled":s.disabled?"":void 0,...r,ref:e})});dz.displayName=uz;var dJ="SwitchBubbleInput",hz=O.forwardRef(({__scopeSwitch:t,control:e,checked:n,bubbles:r=!0,...s},i)=>{const a=O.useRef(null),o=Pn(a,i),u=cR(n),h=uR(e);return O.useEffect(()=>{const f=a.current;if(!f)return;const m=window.HTMLInputElement.prototype,x=Object.getOwnPropertyDescriptor(m,"checked").set;if(u!==n&&x){const y=new Event("click",{bubbles:r});x.call(f,n),f.dispatchEvent(y)}},[u,n,r]),l.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...s,tabIndex:-1,ref:o,style:{...s.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});hz.displayName=dJ;function fz(t){return t?"checked":"unchecked"}var mz=cz,hJ=dz;const Dt=O.forwardRef(({className:t,...e},n)=>l.jsx(mz,{className:Se("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",t),...e,ref:n,children:l.jsx(hJ,{className:Se("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=mz.displayName;const fJ=bh("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),ce=O.forwardRef(({className:t,...e},n)=>l.jsx(dR,{ref:n,className:Se(fJ(),t),...e}));ce.displayName=dR.displayName;const Re=O.forwardRef(({className:t,type:e,...n},r)=>l.jsx("input",{type:e,className:Se("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",t),ref:r,...n}));Re.displayName="Input";const mJ=5,pJ=5e3;let y2=0;function gJ(){return y2=(y2+1)%Number.MAX_SAFE_INTEGER,y2.toString()}const b2=new Map,oC=t=>{if(b2.has(t))return;const e=setTimeout(()=>{b2.delete(t),rm({type:"REMOVE_TOAST",toastId:t})},pJ);b2.set(t,e)},xJ=(t,e)=>{switch(e.type){case"ADD_TOAST":return{...t,toasts:[e.toast,...t.toasts].slice(0,mJ)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(n=>n.id===e.toast.id?{...n,...e.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=e;return n?oC(n):t.toasts.forEach(r=>{oC(r.id)}),{...t,toasts:t.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return e.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(n=>n.id!==e.toastId)}}},bx=[];let wx={toasts:[]};function rm(t){wx=xJ(wx,t),bx.forEach(e=>{e(wx)})}function vJ({...t}){const e=gJ(),n=s=>rm({type:"UPDATE_TOAST",toast:{...s,id:e}}),r=()=>rm({type:"DISMISS_TOAST",toastId:e});return rm({type:"ADD_TOAST",toast:{...t,id:e,open:!0,onOpenChange:s=>{s||r()}}}),{id:e,dismiss:r,update:n}}function $r(){const[t,e]=O.useState(wx);return O.useEffect(()=>(bx.push(e),()=>{const n=bx.indexOf(e);n>-1&&bx.splice(n,1)}),[t]),{...t,toast:vJ,dismiss:n=>rm({type:"DISMISS_TOAST",toastId:n})}}const yJ=[{id:"minLength",label:"长度至少 10 位",description:"Token 长度必须大于等于 10 个字符",validate:t=>t.length>=10},{id:"hasUppercase",label:"包含大写字母",description:"至少包含一个大写字母 (A-Z)",validate:t=>/[A-Z]/.test(t)},{id:"hasLowercase",label:"包含小写字母",description:"至少包含一个小写字母 (a-z)",validate:t=>/[a-z]/.test(t)},{id:"hasSpecialChar",label:"包含特殊符号",description:"至少包含一个特殊符号 (!@#$%^&*()_+-=[]{}|;:,.<>?/)",validate:t=>/[!@#$%^&*()_+\-=[\]{}|;:,.<>?/]/.test(t)}];function bJ(t){const e=yJ.map(r=>({id:r.id,label:r.label,description:r.description,passed:r.validate(t)}));return{isValid:e.every(r=>r.passed),rules:e}}const yk="0.11.5",bk="MaiBot Dashboard",wJ=`${bk} v${yk}`,SJ=(t="v")=>`${t}${yk}`,Mr=ek,wk=hR,kJ=YS,pz=O.forwardRef(({className:t,...e},n)=>l.jsx(H1,{ref:n,className:Se("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",t),...e}));pz.displayName=H1.displayName;const vr=O.forwardRef(({className:t,children:e,...n},r)=>l.jsxs(kJ,{children:[l.jsx(pz,{}),l.jsxs(V1,{ref:r,className:Se("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",t),...n,children:[e,l.jsxs(ZS,{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:[l.jsx(s0,{className:"h-4 w-4"}),l.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));vr.displayName=V1.displayName;const yr=({className:t,...e})=>l.jsx("div",{className:Se("flex flex-col space-y-1.5 text-center sm:text-left",t),...e});yr.displayName="DialogHeader";const Ns=({className:t,...e})=>l.jsx("div",{className:Se("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});Ns.displayName="DialogFooter";const br=O.forwardRef(({className:t,...e},n)=>l.jsx(KS,{ref:n,className:Se("text-lg font-semibold leading-none tracking-tight",t),...e}));br.displayName=KS.displayName;const as=O.forwardRef(({className:t,...e},n)=>l.jsx(JS,{ref:n,className:Se("text-sm text-muted-foreground",t),...e}));as.displayName=JS.displayName;var OJ=Symbol("radix.slottable");function jJ(t){const e=({children:n})=>l.jsx(l.Fragment,{children:n});return e.displayName=`${t}.Slottable`,e.__radixId=OJ,e}var gz="AlertDialog",[NJ]=la(gz,[fR]),Yl=fR(),xz=t=>{const{__scopeAlertDialog:e,...n}=t,r=Yl(e);return l.jsx(ek,{...r,...n,modal:!0})};xz.displayName=gz;var CJ="AlertDialogTrigger",vz=O.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,s=Yl(n);return l.jsx(hR,{...s,...r,ref:e})});vz.displayName=CJ;var TJ="AlertDialogPortal",yz=t=>{const{__scopeAlertDialog:e,...n}=t,r=Yl(e);return l.jsx(YS,{...r,...n})};yz.displayName=TJ;var EJ="AlertDialogOverlay",bz=O.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,s=Yl(n);return l.jsx(H1,{...s,...r,ref:e})});bz.displayName=EJ;var Dd="AlertDialogContent",[_J,MJ]=NJ(Dd),AJ=jJ("AlertDialogContent"),wz=O.forwardRef((t,e)=>{const{__scopeAlertDialog:n,children:r,...s}=t,i=Yl(n),a=O.useRef(null),o=Pn(e,a),u=O.useRef(null);return l.jsx(pX,{contentName:Dd,titleName:Sz,docsSlug:"alert-dialog",children:l.jsx(_J,{scope:n,cancelRef:u,children:l.jsxs(V1,{role:"alertdialog",...i,...s,ref:o,onOpenAutoFocus:Xe(s.onOpenAutoFocus,h=>{h.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:h=>h.preventDefault(),onInteractOutside:h=>h.preventDefault(),children:[l.jsx(AJ,{children:r}),l.jsx(DJ,{contentRef:a})]})})})});wz.displayName=Dd;var Sz="AlertDialogTitle",kz=O.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,s=Yl(n);return l.jsx(KS,{...s,...r,ref:e})});kz.displayName=Sz;var Oz="AlertDialogDescription",jz=O.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,s=Yl(n);return l.jsx(JS,{...s,...r,ref:e})});jz.displayName=Oz;var RJ="AlertDialogAction",Nz=O.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,s=Yl(n);return l.jsx(ZS,{...s,...r,ref:e})});Nz.displayName=RJ;var Cz="AlertDialogCancel",Tz=O.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,{cancelRef:s}=MJ(Cz,n),i=Yl(n),a=Pn(e,s);return l.jsx(ZS,{...i,...r,ref:a})});Tz.displayName=Cz;var DJ=({contentRef:t})=>{const e=`\`${Dd}\` requires a description for the component to be accessible for screen reader users. + +You can add a description to the \`${Dd}\` by passing a \`${Oz}\` 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 \`${Dd}\`. 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 O.useEffect(()=>{document.getElementById(t.current?.getAttribute("aria-describedby"))||console.warn(e)},[e,t]),null},zJ=xz,PJ=vz,LJ=yz,Ez=bz,_z=wz,Mz=Nz,Az=Tz,Rz=kz,Dz=jz;const wn=zJ,qr=PJ,BJ=LJ,zz=O.forwardRef(({className:t,...e},n)=>l.jsx(Ez,{className:Se("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",t),...e,ref:n}));zz.displayName=Ez.displayName;const sn=O.forwardRef(({className:t,...e},n)=>l.jsxs(BJ,{children:[l.jsx(zz,{}),l.jsx(_z,{ref:n,className:Se("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",t),...e})]}));sn.displayName=_z.displayName;const an=({className:t,...e})=>l.jsx("div",{className:Se("flex flex-col space-y-2 text-center sm:text-left",t),...e});an.displayName="AlertDialogHeader";const ln=({className:t,...e})=>l.jsx("div",{className:Se("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});ln.displayName="AlertDialogFooter";const on=O.forwardRef(({className:t,...e},n)=>l.jsx(Rz,{ref:n,className:Se("text-lg font-semibold",t),...e}));on.displayName=Rz.displayName;const cn=O.forwardRef(({className:t,...e},n)=>l.jsx(Dz,{ref:n,className:Se("text-sm text-muted-foreground",t),...e}));cn.displayName=Dz.displayName;const un=O.forwardRef(({className:t,...e},n)=>l.jsx(Mz,{ref:n,className:Se(vm(),t),...e}));un.displayName=Mz.displayName;const dn=O.forwardRef(({className:t,...e},n)=>l.jsx(Az,{ref:n,className:Se(vm({variant:"outline"}),"mt-2 sm:mt-0",t),...e}));dn.displayName=Az.displayName;function IJ(){return l.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[l.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"系统设置"}),l.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理您的应用偏好设置"})]})}),l.jsxs(ql,{defaultValue:"appearance",className:"w-full",children:[l.jsxs(La,{className:"grid w-full grid-cols-2 sm:grid-cols-4 gap-0.5 sm:gap-1 h-auto p-1",children:[l.jsxs(Zt,{value:"appearance",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[l.jsx(TR,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),l.jsx("span",{children:"外观"})]}),l.jsxs(Zt,{value:"security",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[l.jsx(_X,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),l.jsx("span",{children:"安全"})]}),l.jsxs(Zt,{value:"other",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[l.jsx(Zc,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),l.jsx("span",{children:"其他"})]}),l.jsxs(Zt,{value:"about",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[l.jsx(Il,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),l.jsx("span",{children:"关于"})]})]}),l.jsxs(yn,{className:"h-[calc(100vh-240px)] sm:h-[calc(100vh-280px)] mt-4 sm:mt-6",children:[l.jsx(An,{value:"appearance",className:"mt-0",children:l.jsx(qJ,{})}),l.jsx(An,{value:"security",className:"mt-0",children:l.jsx(FJ,{})}),l.jsx(An,{value:"other",className:"mt-0",children:l.jsx($J,{})}),l.jsx(An,{value:"about",className:"mt-0",children:l.jsx(QJ,{})})]})]})]})}function cC(t){const e=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%)"}}[t];if(r)e.style.setProperty("--primary",r.hsl),r.gradient?(e.style.setProperty("--primary-gradient",r.gradient),e.classList.add("has-gradient")):(e.style.removeProperty("--primary-gradient"),e.classList.remove("has-gradient"));else if(t.startsWith("#")){const s=i=>{i=i.replace("#","");const a=parseInt(i.substring(0,2),16)/255,o=parseInt(i.substring(2,4),16)/255,u=parseInt(i.substring(4,6),16)/255,h=Math.max(a,o,u),f=Math.min(a,o,u);let m=0,g=0;const x=(h+f)/2;if(h!==f){const y=h-f;switch(g=x>.5?y/(2-h-f):y/(h+f),h){case a:m=((o-u)/y+(olocalStorage.getItem("accent-color")||"blue");O.useEffect(()=>{const h=localStorage.getItem("accent-color")||"blue";cC(h)},[]);const u=h=>{o(h),localStorage.setItem("accent-color",h),cC(h)};return l.jsxs("div",{className:"space-y-6 sm:space-y-8",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题模式"}),l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 sm:gap-4",children:[l.jsx(w2,{value:"light",current:t,onChange:e,label:"浅色",description:"始终使用浅色主题"}),l.jsx(w2,{value:"dark",current:t,onChange:e,label:"深色",description:"始终使用深色主题"}),l.jsx(w2,{value:"system",current:t,onChange:e,label:"跟随系统",description:"根据系统设置自动切换"})]})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题色"}),l.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[l.jsxs("div",{children:[l.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"单色"}),l.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[l.jsx(Ti,{value:"blue",current:a,onChange:u,label:"蓝色",colorClass:"bg-blue-500"}),l.jsx(Ti,{value:"purple",current:a,onChange:u,label:"紫色",colorClass:"bg-purple-500"}),l.jsx(Ti,{value:"green",current:a,onChange:u,label:"绿色",colorClass:"bg-green-500"}),l.jsx(Ti,{value:"orange",current:a,onChange:u,label:"橙色",colorClass:"bg-orange-500"}),l.jsx(Ti,{value:"pink",current:a,onChange:u,label:"粉色",colorClass:"bg-pink-500"}),l.jsx(Ti,{value:"red",current:a,onChange:u,label:"红色",colorClass:"bg-red-500"})]})]}),l.jsxs("div",{children:[l.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"渐变色"}),l.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[l.jsx(Ti,{value:"gradient-sunset",current:a,onChange:u,label:"日落",colorClass:"bg-gradient-to-r from-orange-500 to-pink-500"}),l.jsx(Ti,{value:"gradient-ocean",current:a,onChange:u,label:"海洋",colorClass:"bg-gradient-to-r from-blue-500 to-cyan-500"}),l.jsx(Ti,{value:"gradient-forest",current:a,onChange:u,label:"森林",colorClass:"bg-gradient-to-r from-green-500 to-emerald-500"}),l.jsx(Ti,{value:"gradient-aurora",current:a,onChange:u,label:"极光",colorClass:"bg-gradient-to-r from-purple-500 to-pink-500"}),l.jsx(Ti,{value:"gradient-fire",current:a,onChange:u,label:"烈焰",colorClass:"bg-gradient-to-r from-red-500 to-orange-500"}),l.jsx(Ti,{value:"gradient-twilight",current:a,onChange:u,label:"暮光",colorClass:"bg-gradient-to-r from-indigo-500 to-purple-500"})]})]}),l.jsxs("div",{children:[l.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"自定义颜色"}),l.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4",children:[l.jsx("div",{className:"flex-1",children:l.jsx("input",{type:"color",value:a.startsWith("#")?a:"#3b82f6",onChange:h=>u(h.target.value),className:"h-10 sm:h-12 w-full rounded-lg border-2 border-border cursor-pointer",title:"选择自定义颜色"})}),l.jsx("div",{className:"flex-1",children:l.jsx(Re,{type:"text",value:a,onChange:h=>u(h.target.value),placeholder:"#3b82f6",className:"font-mono text-sm"})})]}),l.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground mt-2",children:"点击色块选择颜色,或手动输入 HEX 颜色代码"})]})]})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"动画效果"}),l.jsxs("div",{className:"space-y-2 sm:space-y-3",children:[l.jsx("div",{className:"rounded-lg border bg-card p-3 sm:p-4",children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5 flex-1",children:[l.jsx(ce,{htmlFor:"animations",className:"text-base font-medium cursor-pointer",children:"启用动画效果"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后将禁用所有过渡动画和特效,提升性能"})]}),l.jsx(Dt,{id:"animations",checked:n,onCheckedChange:r})]})}),l.jsx("div",{className:"rounded-lg border bg-card p-4",children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5 flex-1",children:[l.jsx(ce,{htmlFor:"waves-background",className:"text-base font-medium cursor-pointer",children:"登录页波浪背景"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后登录页将使用纯色背景,适合低性能设备"})]}),l.jsx(Dt,{id:"waves-background",checked:s,onCheckedChange:i})]})})]})]})]})}function FJ(){const t=aa(),[e,n]=O.useState(""),[r,s]=O.useState(""),[i,a]=O.useState(!1),[o,u]=O.useState(!1),[h,f]=O.useState(!1),[m,g]=O.useState(!1),[x,y]=O.useState(!1),[w,b]=O.useState(!1),[k,N]=O.useState(""),[C,T]=O.useState(!1),{toast:E}=$r(),_=O.useMemo(()=>bJ(r),[r]),A=()=>localStorage.getItem("access-token")||"",F=async z=>{try{await navigator.clipboard.writeText(z),y(!0),E({title:"复制成功",description:"Token 已复制到剪贴板"}),setTimeout(()=>y(!1),2e3)}catch{E({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},B=async()=>{if(!r.trim()){E({title:"输入错误",description:"请输入新的 Token",variant:"destructive"});return}if(!_.isValid){const z=_.rules.filter(W=>!W.passed).map(W=>W.label).join(", ");E({title:"格式错误",description:`Token 不符合要求: ${z}`,variant:"destructive"});return}f(!0);try{const z=A(),W=await fetch("/api/webui/auth/update",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${z}`},body:JSON.stringify({new_token:r.trim()})}),q=await W.json();W.ok&&q.success?(localStorage.setItem("access-token",r.trim()),s(""),e&&n(r.trim()),E({title:"更新成功",description:"Access Token 已更新,即将跳转到登录页"}),setTimeout(()=>{localStorage.removeItem("access-token"),t({to:"/auth"})},1500)):E({title:"更新失败",description:q.message||"无法更新 Token",variant:"destructive"})}catch(z){console.error("更新 Token 错误:",z),E({title:"更新失败",description:"连接服务器失败",variant:"destructive"})}finally{f(!1)}},P=async()=>{g(!0);try{const z=A(),W=await fetch("/api/webui/auth/regenerate",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${z}`}}),q=await W.json();W.ok&&q.success?(localStorage.setItem("access-token",q.token),n(q.token),N(q.token),b(!0),T(!1),E({title:"生成成功",description:"新的 Access Token 已生成,请及时保存"})):E({title:"生成失败",description:q.message||"无法生成新 Token",variant:"destructive"})}catch(z){console.error("生成 Token 错误:",z),E({title:"生成失败",description:"连接服务器失败",variant:"destructive"})}finally{g(!1)}},H=async()=>{try{await navigator.clipboard.writeText(k),T(!0),E({title:"复制成功",description:"Token 已复制到剪贴板"})}catch{E({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},U=()=>{b(!1),setTimeout(()=>{N(""),T(!1)},300),setTimeout(()=>{localStorage.removeItem("access-token"),t({to:"/auth"})},500)},te=z=>{z||U()};return l.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[l.jsx(Mr,{open:w,onOpenChange:te,children:l.jsxs(vr,{className:"sm:max-w-md",children:[l.jsxs(yr,{children:[l.jsxs(br,{className:"flex items-center gap-2",children:[l.jsx(Rd,{className:"h-5 w-5 text-yellow-500"}),"新的 Access Token"]}),l.jsx(as,{children:"这是您的新 Token,请立即保存。关闭此窗口后将跳转到登录页面。"})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"rounded-lg border-2 border-primary/20 bg-primary/5 p-4",children:[l.jsx(ce,{className:"text-xs text-muted-foreground mb-2 block",children:"您的新 Token (64位安全令牌)"}),l.jsx("div",{className:"font-mono text-sm break-all select-all bg-background p-3 rounded border",children:k})]}),l.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Rd,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5"}),l.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[l.jsx("p",{className:"font-semibold",children:"重要提示"}),l.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[l.jsx("li",{children:"此 Token 仅显示一次,关闭后无法再查看"}),l.jsx("li",{children:"请立即复制并保存到安全的位置"}),l.jsx("li",{children:"关闭窗口后将自动跳转到登录页面"}),l.jsx("li",{children:"请使用新 Token 重新登录系统"})]})]})]})})]}),l.jsxs(Ns,{className:"gap-2 sm:gap-0",children:[l.jsx(de,{variant:"outline",onClick:H,className:"gap-2",children:C?l.jsxs(l.Fragment,{children:[l.jsx(Kc,{className:"h-4 w-4 text-green-500"}),"已复制"]}):l.jsxs(l.Fragment,{children:[l.jsx(D5,{className:"h-4 w-4"}),"复制 Token"]})}),l.jsx(de,{onClick:U,children:"我已保存,关闭"})]})]})}),l.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[l.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"当前 Access Token"}),l.jsx("div",{className:"space-y-3 sm:space-y-4",children:l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"current-token",className:"text-sm",children:"您的访问令牌"}),l.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[l.jsxs("div",{className:"relative flex-1",children:[l.jsx(Re,{id:"current-token",type:i?"text":"password",value:e||A(),readOnly:!0,className:"pr-10 font-mono text-sm",placeholder:"点击查看按钮显示 Token"}),l.jsx("button",{onClick:()=>{e||n(A()),a(!i)},className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:i?"隐藏":"显示",children:i?l.jsx(z5,{className:"h-4 w-4 text-muted-foreground"}):l.jsx(na,{className:"h-4 w-4 text-muted-foreground"})})]}),l.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[l.jsx(de,{variant:"outline",size:"icon",onClick:()=>F(A()),title:"复制到剪贴板",className:"flex-shrink-0",children:x?l.jsx(Kc,{className:"h-4 w-4 text-green-500"}):l.jsx(D5,{className:"h-4 w-4"})}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsxs(de,{variant:"outline",disabled:m,className:"gap-2 flex-1 sm:flex-none",children:[l.jsx(hi,{className:Se("h-4 w-4",m&&"animate-spin")}),l.jsx("span",{className:"hidden sm:inline",children:"重新生成"}),l.jsx("span",{className:"sm:hidden",children:"生成"})]})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认重新生成 Token"}),l.jsx(cn,{children:"这将生成一个新的 64 位安全令牌,并使当前 Token 立即失效。 您需要使用新 Token 重新登录系统。此操作不可撤销,确定要继续吗?"})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:P,children:"确认生成"})]})]})]})]})]}),l.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground",children:"请妥善保管您的 Access Token,不要泄露给他人"})]})})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[l.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"自定义 Access Token"}),l.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"new-token",className:"text-sm",children:"新的访问令牌"}),l.jsxs("div",{className:"relative",children:[l.jsx(Re,{id:"new-token",type:o?"text":"password",value:r,onChange:z=>s(z.target.value),className:"pr-10 font-mono text-sm",placeholder:"输入自定义 Token"}),l.jsx("button",{onClick:()=>u(!o),className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:o?"隐藏":"显示",children:o?l.jsx(z5,{className:"h-4 w-4 text-muted-foreground"}):l.jsx(na,{className:"h-4 w-4 text-muted-foreground"})})]}),r&&l.jsxs("div",{className:"mt-3 space-y-2 p-3 rounded-lg bg-muted/50",children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"Token 安全要求:"}),l.jsx("div",{className:"space-y-1.5",children:_.rules.map(z=>l.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[z.passed?l.jsx(Ea,{className:"h-4 w-4 text-green-500 flex-shrink-0"}):l.jsx(P5,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),l.jsx("span",{className:Se(z.passed?"text-green-600 dark:text-green-400":"text-muted-foreground"),children:z.label})]},z.id))}),_.isValid&&l.jsx("div",{className:"mt-2 pt-2 border-t border-border",children:l.jsxs("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[l.jsx(Kc,{className:"h-4 w-4"}),l.jsx("span",{className:"font-medium",children:"Token 格式正确,可以使用"})]})})]})]}),l.jsx(de,{onClick:B,disabled:h||!_.isValid||!r,className:"w-full sm:w-auto",children:h?"更新中...":"更新自定义 Token"})]})]}),l.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:[l.jsx("h4",{className:"text-sm sm:text-base font-semibold text-yellow-900 dark:text-yellow-200 mb-2",children:"安全提示"}),l.jsxs("ul",{className:"text-xs sm:text-sm text-yellow-800 dark:text-yellow-300 space-y-1 list-disc list-inside",children:[l.jsx("li",{children:"重新生成 Token 会创建系统随机生成的 64 位安全令牌"}),l.jsx("li",{children:"自定义 Token 必须满足所有安全要求才能使用"}),l.jsx("li",{children:"更新 Token 后,旧的 Token 将立即失效"}),l.jsx("li",{children:"请在安全的环境下查看和复制 Token"}),l.jsx("li",{children:"如果怀疑 Token 泄露,请立即重新生成或更新"}),l.jsx("li",{children:"建议使用系统生成的 Token 以获得最高安全性"})]})]})]})}function $J(){const t=aa(),{toast:e}=$r(),[n,r]=O.useState(!1),s=async()=>{r(!0);try{const i=localStorage.getItem("access-token"),a=await fetch("/api/webui/setup/reset",{method:"POST",headers:{Authorization:`Bearer ${i}`}}),o=await a.json();a.ok&&o.success?(e({title:"重置成功",description:"即将进入初次配置向导"}),setTimeout(()=>{t({to:"/setup"})},1e3)):e({title:"重置失败",description:o.message||"无法重置配置状态",variant:"destructive"})}catch(i){console.error("重置配置状态错误:",i),e({title:"重置失败",description:"连接服务器失败",variant:"destructive"})}finally{r(!1)}};return l.jsx("div",{className:"space-y-4 sm:space-y-6",children:l.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[l.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"配置向导"}),l.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[l.jsx("div",{className:"space-y-2",children:l.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"重新进行初次配置向导,可以帮助您重新设置系统的基础配置。"})}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsxs(de,{variant:"outline",disabled:n,className:"gap-2",children:[l.jsx(MX,{className:Se("h-4 w-4",n&&"animate-spin")}),"重新进行初次配置"]})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认重新配置"}),l.jsx(cn,{children:"这将带您重新进入初次配置向导。您可以重新设置系统的基础配置项。确定要继续吗?"})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:s,children:"确认重置"})]})]})]})]})]})})}function QJ(){return l.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[l.jsx("div",{className:"rounded-lg border-2 border-primary/30 bg-gradient-to-r from-primary/5 to-primary/10 p-4 sm:p-6",children:l.jsxs("div",{className:"flex items-start gap-3 sm:gap-4",children:[l.jsx("div",{className:"flex-shrink-0 rounded-lg bg-primary/10 p-2 sm:p-3",children:l.jsx("svg",{className:"h-6 w-6 sm:h-8 sm:w-8 text-primary",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:l.jsx("path",{fillRule:"evenodd",d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z",clipRule:"evenodd"})})}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("h3",{className:"text-lg sm:text-xl font-bold text-foreground mb-2",children:"开源项目"}),l.jsx("p",{className:"text-sm sm:text-base text-muted-foreground mb-3",children:"本项目在 GitHub 开源,欢迎 Star ⭐ 支持!"}),l.jsxs("a",{href:"https://github.com/Mai-with-u/MaiBot-Dashboard",target:"_blank",rel:"noopener noreferrer",className:Se("inline-flex items-center gap-2 px-4 py-2 rounded-lg","bg-primary text-primary-foreground font-medium text-sm","hover:bg-primary/90 transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"),children:[l.jsx("svg",{className:"h-4 w-4",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:l.jsx("path",{fillRule:"evenodd",d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z",clipRule:"evenodd"})}),"前往 GitHub",l.jsx("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:l.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})]})]})}),l.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[l.jsxs("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:["关于 ",bk]}),l.jsxs("div",{className:"space-y-2 text-xs sm:text-sm text-muted-foreground",children:[l.jsxs("p",{children:["版本: ",yk]}),l.jsx("p",{children:"麦麦(MaiBot)的现代化 Web 管理界面"})]})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[l.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"作者"}),l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx("p",{className:"text-sm font-medium",children:"MaiBot 核心"}),l.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"Mai-with-u"})]}),l.jsxs("div",{className:"space-y-1",children:[l.jsx("p",{className:"text-sm font-medium",children:"WebUI"}),l.jsxs("p",{className:"text-xs sm:text-sm text-muted-foreground",children:["Mai-with-u ",l.jsx("a",{href:"https://github.com/DrSmoothl",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"@MotricSeven"})]})]})]})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[l.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"技术栈"}),l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 text-xs sm:text-sm text-muted-foreground",children:[l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("p",{className:"font-medium text-foreground",children:"前端框架"}),l.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[l.jsx("li",{children:"React 19.2.0"}),l.jsx("li",{children:"TypeScript 5.7.2"}),l.jsx("li",{children:"Vite 6.0.7"}),l.jsx("li",{children:"TanStack Router 1.94.2"})]})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("p",{className:"font-medium text-foreground",children:"UI 组件"}),l.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[l.jsx("li",{children:"shadcn/ui"}),l.jsx("li",{children:"Radix UI"}),l.jsx("li",{children:"Tailwind CSS 3.4.17"}),l.jsx("li",{children:"Lucide Icons"})]})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("p",{className:"font-medium text-foreground",children:"后端"}),l.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[l.jsx("li",{children:"Python 3.12+"}),l.jsx("li",{children:"FastAPI"}),l.jsx("li",{children:"Uvicorn"}),l.jsx("li",{children:"WebSocket"})]})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("p",{className:"font-medium text-foreground",children:"构建工具"}),l.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[l.jsx("li",{children:"Bun / npm"}),l.jsx("li",{children:"ESLint 9.17.0"}),l.jsx("li",{children:"PostCSS"})]})]})]})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[l.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源库感谢"}),l.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mb-3",children:"本项目使用了以下优秀的开源库,感谢他们的贡献:"}),l.jsx(yn,{className:"h-[300px] sm:h-[400px]",children:l.jsxs("div",{className:"space-y-4 pr-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"UI 框架与组件"}),l.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[l.jsx(rr,{name:"React",description:"用户界面构建库",license:"MIT"}),l.jsx(rr,{name:"shadcn/ui",description:"优雅的 React 组件库",license:"MIT"}),l.jsx(rr,{name:"Radix UI",description:"无样式的可访问组件库",license:"MIT"}),l.jsx(rr,{name:"Tailwind CSS",description:"实用优先的 CSS 框架",license:"MIT"}),l.jsx(rr,{name:"Lucide React",description:"精美的图标库",license:"ISC"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"路由与状态管理"}),l.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[l.jsx(rr,{name:"TanStack Router",description:"类型安全的路由库",license:"MIT"}),l.jsx(rr,{name:"Zustand",description:"轻量级状态管理",license:"MIT"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"表单处理"}),l.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[l.jsx(rr,{name:"React Hook Form",description:"高性能表单库",license:"MIT"}),l.jsx(rr,{name:"Zod",description:"TypeScript 优先的 schema 验证",license:"MIT"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"工具库"}),l.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[l.jsx(rr,{name:"clsx",description:"条件 className 构建工具",license:"MIT"}),l.jsx(rr,{name:"tailwind-merge",description:"Tailwind 类名合并工具",license:"MIT"}),l.jsx(rr,{name:"class-variance-authority",description:"组件变体管理",license:"Apache-2.0"}),l.jsx(rr,{name:"date-fns",description:"现代化日期处理库",license:"MIT"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"动画效果"}),l.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[l.jsx(rr,{name:"Framer Motion",description:"React 动画库",license:"MIT"}),l.jsx(rr,{name:"vaul",description:"抽屉组件动画",license:"MIT"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"后端框架"}),l.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[l.jsx(rr,{name:"FastAPI",description:"现代化 Python Web 框架",license:"MIT"}),l.jsx(rr,{name:"Uvicorn",description:"ASGI 服务器",license:"BSD-3-Clause"}),l.jsx(rr,{name:"Pydantic",description:"数据验证库",license:"MIT"}),l.jsx(rr,{name:"python-multipart",description:"文件上传支持",license:"Apache-2.0"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"开发工具"}),l.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[l.jsx(rr,{name:"TypeScript",description:"JavaScript 的超集",license:"Apache-2.0"}),l.jsx(rr,{name:"Vite",description:"下一代前端构建工具",license:"MIT"}),l.jsx(rr,{name:"ESLint",description:"JavaScript 代码检查工具",license:"MIT"}),l.jsx(rr,{name:"PostCSS",description:"CSS 转换工具",license:"MIT"})]})]})]})})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[l.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源许可"}),l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{className:"rounded-lg bg-primary/5 border border-primary/20 p-3 sm:p-4",children:l.jsxs("div",{className:"flex items-start gap-2 sm:gap-3",children:[l.jsx("div",{className:"flex-shrink-0 mt-0.5",children:l.jsx("div",{className:"rounded-md bg-primary/10 px-2 py-1",children:l.jsx("span",{className:"text-xs sm:text-sm font-bold text-primary",children:"GPLv3"})})}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("p",{className:"text-sm sm:text-base font-semibold text-foreground mb-1",children:"MaiBot WebUI"}),l.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目采用 GNU General Public License v3.0 开源许可证。 您可以自由地使用、修改和分发本软件,但必须保持相同的开源许可。"})]})]})}),l.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目依赖的所有开源库均遵循各自的开源许可证(MIT、Apache-2.0、BSD 等)。 感谢所有开源贡献者的无私奉献。"})]})]})]})}function rr({name:t,description:e,license:n}){return l.jsxs("div",{className:"flex items-start justify-between gap-2 rounded-lg border bg-muted/30 p-2.5 sm:p-3",children:[l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("p",{className:"font-medium text-foreground truncate",children:t}),l.jsx("p",{className:"text-muted-foreground text-xs mt-0.5",children:e})]}),l.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 w2({value:t,current:e,onChange:n,label:r,description:s}){const i=e===t;return l.jsxs("button",{onClick:()=>n(t),className:Se("relative rounded-lg border-2 p-3 sm:p-4 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",i?"border-primary bg-accent":"border-border"),children:[i&&l.jsx("div",{className:"absolute top-2 right-2 sm:top-3 sm:right-3 h-2 w-2 rounded-full bg-primary"}),l.jsxs("div",{className:"space-y-1",children:[l.jsx("div",{className:"text-sm sm:text-base font-medium",children:r}),l.jsx("div",{className:"text-[10px] sm:text-xs text-muted-foreground",children:s})]}),l.jsxs("div",{className:"mt-2 sm:mt-3 flex gap-1",children:[t==="light"&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-200"}),l.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-300"}),l.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-400"})]}),t==="dark"&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-700"}),l.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-800"}),l.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-900"})]}),t==="system"&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-200 to-slate-700"}),l.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-300 to-slate-800"}),l.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-400 to-slate-900"})]})]})]})}function Ti({value:t,current:e,onChange:n,label:r,colorClass:s}){const i=e===t;return l.jsxs("button",{onClick:()=>n(t),className:Se("relative rounded-lg border-2 p-2 sm:p-3 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",i?"border-primary bg-accent":"border-border"),children:[i&&l.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"}),l.jsxs("div",{className:"flex flex-col items-center gap-1.5 sm:gap-2",children:[l.jsx("div",{className:Se("h-8 w-8 sm:h-10 sm:w-10 rounded-full",s)}),l.jsx("div",{className:"text-[10px] sm:text-xs font-medium text-center",children:r})]})]})}class HJ{grad3;p;perm;constructor(e=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(e,n,r){return e[0]*n+e[1]*r}mix(e,n,r){return(1-r)*e+r*n}fade(e){return e*e*e*(e*(e*6-15)+10)}perlin2(e,n){const r=Math.floor(e)&255,s=Math.floor(n)&255;e-=Math.floor(e),n-=Math.floor(n);const i=this.fade(e),a=this.fade(n),o=this.perm[r]+s,u=this.perm[o],h=this.perm[o+1],f=this.perm[r+1]+s,m=this.perm[f],g=this.perm[f+1];return this.mix(this.mix(this.dot(this.grad3[u%12],e,n),this.dot(this.grad3[m%12],e-1,n),i),this.mix(this.dot(this.grad3[h%12],e,n-1),this.dot(this.grad3[g%12],e-1,n-1),i),a)}}function VJ(){const t=O.useRef(null),e=O.useRef(null),n=O.useRef(void 0),r=O.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 HJ(Math.random()),bounding:null});return O.useEffect(()=>{const s=e.current,i=t.current;if(!s||!i)return;const a=r.current,o=()=>{const w=s.getBoundingClientRect();a.bounding=w,i.style.width=`${w.width}px`,i.style.height=`${w.height}px`},u=()=>{if(!a.bounding)return;const{width:w,height:b}=a.bounding;a.lines=[],a.paths.forEach(B=>B.remove()),a.paths=[];const k=10,N=32,C=w+200,T=b+30,E=Math.ceil(C/k),_=Math.ceil(T/N),A=(w-k*E)/2,F=(b-N*_)/2;for(let B=0;B<=E;B++){const P=[];for(let U=0;U<=_;U++){const te={x:A+k*B,y:F+N*U,wave:{x:0,y:0},cursor:{x:0,y:0,vx:0,vy:0}};P.push(te)}const H=document.createElementNS("http://www.w3.org/2000/svg","path");i.appendChild(H),a.paths.push(H),a.lines.push(P)}},h=w=>{const{lines:b,mouse:k,noise:N}=a;b.forEach(C=>{C.forEach(T=>{const E=N.perlin2((T.x+w*.0125)*.002,(T.y+w*.005)*.0015)*12;T.wave.x=Math.cos(E)*32,T.wave.y=Math.sin(E)*16;const _=T.x-k.sx,A=T.y-k.sy,F=Math.hypot(_,A),B=Math.max(175,k.vs);if(F{const k={x:w.x+w.wave.x+(b?w.cursor.x:0),y:w.y+w.wave.y+(b?w.cursor.y:0)};return k.x=Math.round(k.x*10)/10,k.y=Math.round(k.y*10)/10,k},m=()=>{const{lines:w,paths:b}=a;w.forEach((k,N)=>{let C=f(k[0],!1),T=`M ${C.x} ${C.y}`;k.forEach((E,_)=>{const A=_===k.length-1;C=f(E,!A),T+=`L ${C.x} ${C.y}`}),b[N].setAttribute("d",T)})},g=w=>{const{mouse:b}=a;b.sx+=(b.x-b.sx)*.1,b.sy+=(b.y-b.sy)*.1;const k=b.x-b.lx,N=b.y-b.ly,C=Math.hypot(k,N);b.v=C,b.vs+=(C-b.vs)*.1,b.vs=Math.min(100,b.vs),b.lx=b.x,b.ly=b.y,b.a=Math.atan2(N,k),s&&(s.style.setProperty("--x",`${b.sx}px`),s.style.setProperty("--y",`${b.sy}px`)),h(w),m(),n.current=requestAnimationFrame(g)},x=w=>{if(!a.bounding)return;const{mouse:b}=a;b.x=w.pageX-a.bounding.left,b.y=w.pageY-a.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)},y=()=>{o(),u()};return o(),u(),window.addEventListener("resize",y),window.addEventListener("mousemove",x),n.current=requestAnimationFrame(g),()=>{window.removeEventListener("resize",y),window.removeEventListener("mousemove",x),n.current&&cancelAnimationFrame(n.current)}},[]),l.jsxs("div",{ref:e,className:"waves-background",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none"},children:[l.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"}}),l.jsx("svg",{ref:t,style:{display:"block",width:"100%",height:"100%"},children:l.jsx("style",{children:` + path { + fill: none; + stroke: hsl(var(--primary) / 0.20); + stroke-width: 1px; + } + `})})]})}function UJ(){const t=aa();O.useEffect(()=>{localStorage.getItem("access-token")||t({to:"/auth"})},[t])}function Pz(){return!!localStorage.getItem("access-token")}function WJ(){const[t,e]=O.useState(""),[n,r]=O.useState(!1),[s,i]=O.useState(""),a=aa(),{enableWavesBackground:o,setEnableWavesBackground:u}=oz(),{theme:h,setTheme:f}=vk();O.useEffect(()=>{Pz()&&a({to:"/"})},[a]);const g=h==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":h,x=()=>{f(g==="dark"?"light":"dark")},y=async w=>{if(w.preventDefault(),i(""),!t.trim()){i("请输入 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:t.trim()})}),k=await b.json();if(b.ok&&k.valid){localStorage.setItem("access-token",t.trim());const N=await fetch("/api/webui/setup/status",{method:"GET",headers:{Authorization:`Bearer ${t.trim()}`}}),C=await N.json();N.ok&&C.is_first_setup?a({to:"/setup"}):a({to:"/"})}else i(k.message||"Token 验证失败,请检查后重试")}catch(b){console.error("Token 验证错误:",b),i("连接服务器失败,请检查网络连接")}finally{r(!1)}};return l.jsxs("div",{className:"relative flex min-h-screen items-center justify-center overflow-hidden bg-background p-4",children:[o&&l.jsx(VJ,{}),l.jsxs(Ct,{className:"relative z-10 w-full max-w-md shadow-2xl backdrop-blur-xl bg-card/80 border-border/50",children:[l.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"?l.jsx(L5,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"}):l.jsx(B5,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"})}),l.jsxs(xn,{className:"space-y-4 text-center",children:[l.jsx("div",{className:"mx-auto flex h-16 w-16 items-center justify-center rounded-2xl bg-primary/10",children:l.jsx(O8,{className:"h-8 w-8 text-primary",strokeWidth:2,fill:"none"})}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(vn,{className:"text-2xl font-bold",children:"欢迎使用 MaiBot"}),l.jsx(Lr,{className:"text-base",children:"请输入您的 Access Token 以继续访问系统"})]})]}),l.jsx(Tn,{children:l.jsxs("form",{onSubmit:y,className:"space-y-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"token",className:"text-sm font-medium",children:"Access Token"}),l.jsxs("div",{className:"relative",children:[l.jsx(AX,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground",strokeWidth:2,fill:"none"}),l.jsx(Re,{id:"token",type:"password",placeholder:"请输入您的 Access Token",value:t,onChange:w=>e(w.target.value),className:Se("pl-10",s&&"border-red-500 focus-visible:ring-red-500"),disabled:n,autoFocus:!0,autoComplete:"off"})]})]}),s&&l.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:[l.jsx(su,{className:"h-4 w-4 flex-shrink-0",strokeWidth:2,fill:"none"}),l.jsx("span",{children:s})]}),l.jsx(de,{type:"submit",className:"w-full",disabled:n,children:n?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"mr-2 h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}),"验证中..."]}):"验证并进入"}),l.jsxs(Mr,{children:[l.jsx(wk,{asChild:!0,children:l.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:[l.jsx(RX,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我没有 Token,我该去哪里获得 Token?"]})}),l.jsxs(vr,{className:"sm:max-w-md",children:[l.jsxs(yr,{children:[l.jsxs(br,{className:"flex items-center gap-2",children:[l.jsx(O8,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"如何获取 Access Token"]}),l.jsx(as,{children:"Access Token 是访问 MaiBot WebUI 的唯一凭证,请按以下方式获取"})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx(DX,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx("h4",{className:"font-semibold text-sm",children:"方式一:查看启动日志"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"在 MaiBot 启动时,控制台会显示 WebUI Access Token。"}),l.jsxs("div",{className:"rounded bg-background p-2 font-mono text-xs",children:[l.jsx("p",{className:"text-muted-foreground",children:"🔑 WebUI Access Token: abc123..."}),l.jsx("p",{className:"text-muted-foreground",children:"💡 请使用此 Token 登录 WebUI"})]})]})]})}),l.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx(Dl,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx("h4",{className:"font-semibold text-sm",children:"方式二:查看配置文件"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Token 保存在项目根目录的配置文件中:"}),l.jsx("div",{className:"rounded bg-background p-2 font-mono text-xs break-all",children:l.jsx("code",{className:"text-primary",children:"data/webui.json"})}),l.jsxs("p",{className:"text-xs text-muted-foreground",children:["打开此文件,复制 ",l.jsx("code",{className:"px-1 py-0.5 bg-background rounded",children:"access_token"})," 字段的值"]})]})]})}),l.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:l.jsxs("div",{className:"flex gap-2",children:[l.jsx(su,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),l.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[l.jsx("p",{className:"font-semibold",children:"安全提示"}),l.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[l.jsx("li",{children:"请妥善保管您的 Token,不要泄露给他人"}),l.jsx("li",{children:"如需重置 Token,请在登录后前往系统设置"})]})]})]})})]})]})]}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.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:[l.jsx(pm,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我觉得这个界面很卡怎么办?"]})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsxs(on,{className:"flex items-center gap-2",children:[l.jsx(pm,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"关闭背景动画"]}),l.jsx(cn,{children:"背景动画可能会在低性能设备上造成卡顿。关闭动画可以显著提升界面流畅度。"})]}),l.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:l.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭动画后,背景将变为纯色,但不影响任何功能的使用。您可以随时在系统设置中重新开启动画。"})}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>u(!1),children:"关闭动画"})]})]})]})]})})]}),l.jsx("div",{className:"absolute bottom-4 left-0 right-0 text-center text-xs text-muted-foreground",children:l.jsx("p",{children:wJ})})]})}const Rn=O.forwardRef(({className:t,...e},n)=>l.jsx("textarea",{className:Se("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",t),ref:n,...e}));Rn.displayName="Textarea";var GJ=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],XJ=GJ.reduce((t,e)=>{const n=XS(`Primitive.${e}`),r=O.forwardRef((s,i)=>{const{asChild:a,...o}=s,u=a?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(u,{...o,ref:i})});return r.displayName=`Primitive.${e}`,{...t,[e]:r}},{}),YJ="Separator",uC="horizontal",ZJ=["horizontal","vertical"],Lz=O.forwardRef((t,e)=>{const{decorative:n,orientation:r=uC,...s}=t,i=KJ(r)?r:uC,o=n?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return l.jsx(XJ.div,{"data-orientation":i,...o,...s,ref:e})});Lz.displayName=YJ;function KJ(t){return ZJ.includes(t)}var Bz=Lz;const ym=O.forwardRef(({className:t,orientation:e="horizontal",decorative:n=!0,...r},s)=>l.jsx(Bz,{ref:s,decorative:n,orientation:e,className:Se("shrink-0 bg-border",e==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",t),...r}));ym.displayName=Bz.displayName;const JJ=bh("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 kn({className:t,variant:e,...n}){return l.jsx("div",{className:Se(JJ({variant:e}),t),...n})}function eee({config:t,onChange:e}){const n=s=>{s.trim()&&!t.alias_names.includes(s.trim())&&e({...t,alias_names:[...t.alias_names,s.trim()]})},r=s=>{e({...t,alias_names:t.alias_names.filter((i,a)=>a!==s)})};return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"qq_account",children:"QQ账号 *"}),l.jsx(Re,{id:"qq_account",type:"number",placeholder:"请输入机器人的QQ账号",value:t.qq_account||"",onChange:s=>e({...t,qq_account:Number(s.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人登录使用的QQ账号"})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"nickname",children:"昵称 *"}),l.jsx(Re,{id:"nickname",placeholder:"请输入机器人的昵称",value:t.nickname,onChange:s=>e({...t,nickname:s.target.value})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的主要称呼名称"})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{children:"别名"}),l.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:t.alias_names.map((s,i)=>l.jsxs(kn,{variant:"secondary",className:"gap-1",children:[s,l.jsx("button",{type:"button",onClick:()=>r(i),className:"ml-1 hover:text-destructive",children:l.jsx(s0,{className:"h-3 w-3"})})]},i))}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Re,{id:"alias_input",placeholder:"输入别名后按回车添加",onKeyPress:s=>{s.key==="Enter"&&(n(s.target.value),s.target.value="")}}),l.jsx(de,{type:"button",variant:"outline",onClick:()=>{const s=document.getElementById("alias_input");s&&(n(s.value),s.value="")},children:"添加"})]}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的其他称呼,可以添加多个"})]})]})}function tee({config:t,onChange:e}){return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"personality",children:"人格特征 *"}),l.jsx(Rn,{id:"personality",placeholder:"描述机器人的人格特质和身份特征(建议120字以内)",value:t.personality,onChange:n=>e({...t,personality:n.target.value}),rows:3}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:是一个女大学生,现在在读大二,会刷贴吧"})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"reply_style",children:"表达风格 *"}),l.jsx(Rn,{id:"reply_style",placeholder:"描述机器人说话的表达风格、表达习惯",value:t.reply_style,onChange:n=>e({...t,reply_style:n.target.value}),rows:3}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:回复平淡一些,简短一些,说中文,参考贴吧、知乎和微博的回复风格"})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"interest",children:"兴趣 *"}),l.jsx(Rn,{id:"interest",placeholder:"描述机器人感兴趣的话题",value:t.interest,onChange:n=>e({...t,interest:n.target.value}),rows:2}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"会影响机器人对什么话题进行回复"})]}),l.jsx(ym,{}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"plan_style",children:"群聊说话规则 *"}),l.jsx(Rn,{id:"plan_style",placeholder:"机器人在群聊中的行为风格和规则",value:t.plan_style,onChange:n=>e({...t,plan_style:n.target.value}),rows:4}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在群聊中如何行动,例如回复频率、条件等"})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"private_plan_style",children:"私聊说话规则 *"}),l.jsx(Rn,{id:"private_plan_style",placeholder:"机器人在私聊中的行为风格和规则",value:t.private_plan_style,onChange:n=>e({...t,private_plan_style:n.target.value}),rows:3}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在私聊中的行为方式"})]})]})}function nee({config:t,onChange:e}){return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(ce,{htmlFor:"emoji_chance",children:"表情包激活概率"}),l.jsxs("span",{className:"text-sm text-muted-foreground",children:[(t.emoji_chance*100).toFixed(0),"%"]})]}),l.jsx(Re,{id:"emoji_chance",type:"range",min:"0",max:"1",step:"0.1",value:t.emoji_chance,onChange:n=>e({...t,emoji_chance:Number(n.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人发送表情包的概率"})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"max_reg_num",children:"最大表情包数量"}),l.jsx(Re,{id:"max_reg_num",type:"number",min:"1",max:"200",value:t.max_reg_num,onChange:n=>e({...t,max_reg_num:Number(n.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人最多保存的表情包数量"})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx(ce,{htmlFor:"do_replace",children:"达到最大数量时替换"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"开启后会删除旧表情包,关闭则不再收集新表情包"})]}),l.jsx(Dt,{id:"do_replace",checked:t.do_replace,onCheckedChange:n=>e({...t,do_replace:n})})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),l.jsx(Re,{id:"check_interval",type:"number",min:"1",max:"120",value:t.check_interval,onChange:n=>e({...t,check_interval:Number(n.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包注册、破损、删除的时间间隔"})]}),l.jsx(ym,{}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx(ce,{htmlFor:"steal_emoji",children:"偷取表情包"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人将一些表情包据为己有"})]}),l.jsx(Dt,{id:"steal_emoji",checked:t.steal_emoji,onCheckedChange:n=>e({...t,steal_emoji:n})})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx(ce,{htmlFor:"content_filtration",children:"启用表情包过滤"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"只保存符合要求的表情包"})]}),l.jsx(Dt,{id:"content_filtration",checked:t.content_filtration,onCheckedChange:n=>e({...t,content_filtration:n})})]}),t.content_filtration&&l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"filtration_prompt",children:"过滤要求"}),l.jsx(Re,{id:"filtration_prompt",placeholder:"例如:符合公序良俗",value:t.filtration_prompt,onChange:n=>e({...t,filtration_prompt:n.target.value})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"描述表情包应该符合的要求"})]})]})}function ree({config:t,onChange:e}){return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx(ce,{htmlFor:"enable_tool",children:"启用工具系统"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人使用各种工具增强功能"})]}),l.jsx(Dt,{id:"enable_tool",checked:t.enable_tool,onCheckedChange:n=>e({...t,enable_tool:n})})]}),l.jsx(ym,{}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx(ce,{htmlFor:"enable_mood",children:"启用情绪系统"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"让机器人具有情绪变化能力"})]}),l.jsx(Dt,{id:"enable_mood",checked:t.enable_mood,onCheckedChange:n=>e({...t,enable_mood:n})})]}),t.enable_mood&&l.jsxs("div",{className:"ml-6 space-y-6 border-l-2 border-primary/20 pl-6",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"mood_update_threshold",children:"情绪更新阈值"}),l.jsx(Re,{id:"mood_update_threshold",type:"number",min:"0.1",max:"10",step:"0.1",value:t.mood_update_threshold||1,onChange:n=>e({...t,mood_update_threshold:Number(n.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"值越高,情绪更新越慢"})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(ce,{htmlFor:"emotion_style",children:"情感特征"}),l.jsx(Rn,{id:"emotion_style",placeholder:"描述情绪的变化情况,例如:情绪较为稳定,但遭遇特定事件时起伏较大",value:t.emotion_style||"",onChange:n=>e({...t,emotion_style:n.target.value}),rows:2}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"影响机器人的情绪变化方式"})]})]}),l.jsx(ym,{}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx(ce,{htmlFor:"all_global",children:"启用全局黑话模式"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人学习和使用群组黑话"})]}),l.jsx(Dt,{id:"all_global",checked:t.all_global,onCheckedChange:n=>e({...t,all_global:n})})]})]})}async function yt(t,e){const n=await fetch(t,e);if(n.status===401)throw localStorage.removeItem("access-token"),window.location.href="/auth",new Error("认证失败,请重新登录");return n}function Et(){return{"Content-Type":"application/json",Authorization:`Bearer ${localStorage.getItem("access-token")}`}}async function see(){const t=await yt("/api/webui/config/bot",{method:"GET",headers:Et()});if(!t.ok)throw new Error("读取Bot配置失败");const n=(await t.json()).config.bot||{};return{qq_account:n.qq_account||0,nickname:n.nickname||"",alias_names:n.alias_names||[]}}async function iee(){const t=await yt("/api/webui/config/bot",{method:"GET",headers:Et()});if(!t.ok)throw new Error("读取人格配置失败");const n=(await t.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 aee(){const t=await yt("/api/webui/config/bot",{method:"GET",headers:Et()});if(!t.ok)throw new Error("读取表情包配置失败");const n=(await t.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 lee(){const t=await yt("/api/webui/config/bot",{method:"GET",headers:Et()});if(!t.ok)throw new Error("读取其他配置失败");const n=(await t.json()).config,r=n.tool||{},s=n.mood||{},i=n.jargon||{};return{enable_tool:r.enable_tool??!0,enable_mood:s.enable_mood??!1,mood_update_threshold:s.mood_update_threshold,emotion_style:s.emotion_style,all_global:i.all_global??!0}}async function oee(t){const e=await yt("/api/webui/config/bot/section/bot",{method:"POST",headers:Et(),body:JSON.stringify(t)});if(!e.ok){const n=await e.json();throw new Error(n.detail||"保存Bot基础配置失败")}return await e.json()}async function cee(t){const e=await yt("/api/webui/config/bot/section/personality",{method:"POST",headers:Et(),body:JSON.stringify(t)});if(!e.ok){const n=await e.json();throw new Error(n.detail||"保存人格配置失败")}return await e.json()}async function uee(t){const e=await yt("/api/webui/config/bot/section/emoji",{method:"POST",headers:Et(),body:JSON.stringify(t)});if(!e.ok){const n=await e.json();throw new Error(n.detail||"保存表情包配置失败")}return await e.json()}async function dee(t){const e=[];e.push(yt("/api/webui/config/bot/section/tool",{method:"POST",headers:Et(),body:JSON.stringify({enable_tool:t.enable_tool})})),e.push(yt("/api/webui/config/bot/section/jargon",{method:"POST",headers:Et(),body:JSON.stringify({all_global:t.all_global})}));const n={enable_mood:t.enable_mood};t.enable_mood&&(n.mood_update_threshold=t.mood_update_threshold||1,n.emotion_style=t.emotion_style||""),e.push(yt("/api/webui/config/bot/section/mood",{method:"POST",headers:Et(),body:JSON.stringify(n)}));const r=await Promise.all(e);for(const s of r)if(!s.ok){const i=await s.json();throw new Error(i.detail||"保存其他配置失败")}return{success:!0}}async function dC(){const t=localStorage.getItem("access-token"),e=await yt("/api/webui/setup/complete",{method:"POST",headers:{Authorization:`Bearer ${t}`}});if(!e.ok){const n=await e.json();throw new Error(n.message||"标记配置完成失败")}return await e.json()}function hee(){const t=aa(),{toast:e}=$r(),[n,r]=O.useState(0),[s,i]=O.useState(!1),[a,o]=O.useState(!1),[u,h]=O.useState(!0),[f,m]=O.useState({qq_account:0,nickname:"",alias_names:[]}),[g,x]=O.useState({personality:"是一个女大学生,现在在读大二,会刷贴吧。",reply_style:"请回复的平淡一些,简短一些,说中文,不要刻意突出自身学科背景。可以参考贴吧,知乎和微博的回复风格。",interest:"对技术相关话题,游戏和动漫相关话题感兴趣,也对日常话题感兴趣,不喜欢太过沉重严肃的话题",plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 +2.如果相同的内容已经被执行,请不要重复执行 +3.请控制你的发言频率,不要太过频繁的发言 +4.如果有人对你感到厌烦,请减少回复 +5.如果有人对你进行攻击,或者情绪激动,请你以合适的方法应对`,private_plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 +2.如果相同的内容已经被执行,请不要重复执行 +3.某句话如果已经被回复过,不要重复回复`}),[y,w]=O.useState({emoji_chance:.4,max_reg_num:40,do_replace:!0,check_interval:10,steal_emoji:!0,content_filtration:!1,filtration_prompt:"符合公序良俗"}),[b,k]=O.useState({enable_tool:!0,enable_mood:!1,mood_update_threshold:1,emotion_style:"情绪较为稳定,但遭遇特定事件的时候起伏较大",all_global:!0}),N=[{id:"bot-basic",title:"Bot基础",description:"配置机器人的基本信息",icon:PX},{id:"personality",title:"人格配置",description:"定义机器人的性格和说话风格",icon:ER},{id:"emoji",title:"表情包",description:"配置表情包相关设置",icon:sk},{id:"other",title:"其他设置",description:"工具、情绪系统等配置",icon:Zc},{id:"complete",title:"完成设置",description:"后续配置提示",icon:pm}],C=(n+1)/N.length*100;O.useEffect(()=>{(async()=>{try{h(!0);const[H,U,te,z]=await Promise.all([see(),iee(),aee(),lee()]);m(H),x(U),w(te),k(z)}catch(H){e({title:"加载配置失败",description:H instanceof Error?H.message:"无法加载现有配置,将使用默认值",variant:"destructive"})}finally{h(!1)}})()},[e]);const T=async()=>{o(!0);try{switch(n){case 0:await oee(f);break;case 1:await cee(g);break;case 2:await uee(y);break;case 3:await dee(b);break}return e({title:"保存成功",description:`${N[n].title}配置已保存`}),!0}catch(P){return e({title:"保存失败",description:P instanceof Error?P.message:"未知错误",variant:"destructive"}),!1}finally{o(!1)}},E=async()=>{await T()&&n{n>0&&r(n-1)},A=async()=>{i(!0);try{if(!await T()){i(!1);return}await dC(),e({title:"配置完成",description:"所有配置已保存,正在跳转..."}),setTimeout(()=>{t({to:"/"})},500)}catch(P){e({title:"完成失败",description:P instanceof Error?P.message:"未知错误",variant:"destructive"})}finally{i(!1)}},F=async()=>{try{await dC(),t({to:"/"})}catch(P){e({title:"跳过失败",description:P instanceof Error?P.message:"未知错误",variant:"destructive"})}},B=()=>{switch(n){case 0:return l.jsx(eee,{config:f,onChange:m});case 1:return l.jsx(tee,{config:g,onChange:x});case 2:return l.jsx(nee,{config:y,onChange:w});case 3:return l.jsx(ree,{config:b,onChange:k});case 4:return l.jsxs("div",{className:"space-y-6 text-center py-8",children:[l.jsx("div",{className:"mx-auto w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center",children:l.jsx(pm,{className:"h-8 w-8 text-primary",strokeWidth:2})}),l.jsxs("div",{className:"space-y-3",children:[l.jsx("h3",{className:"text-xl font-semibold",children:"模型配置"}),l.jsx("p",{className:"text-muted-foreground max-w-md mx-auto",children:"为了让机器人正常工作,您需要配置 AI 模型提供商和模型。"})]}),l.jsxs("div",{className:"rounded-lg border bg-muted/50 p-6 max-w-md mx-auto text-left space-y-4",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"mt-0.5",children:l.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"})}),l.jsxs("div",{children:[l.jsx("p",{className:"font-medium",children:"配置 API 提供商"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → API 提供商"中添加您的 API 提供商信息'})]})]}),l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"mt-0.5",children:l.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"})}),l.jsxs("div",{children:[l.jsx("p",{className:"font-medium",children:"添加模型"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型列表"中添加需要使用的模型'})]})]}),l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"mt-0.5",children:l.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"})}),l.jsxs("div",{children:[l.jsx("p",{className:"font-medium",children:"配置模型任务"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型任务配置"中为不同任务分配模型'})]})]})]}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"💡 提示:完成向导后,您可以在系统设置中进行详细的模型配置"})]});default:return null}};return l.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:[l.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[l.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"}),l.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"})]}),u?l.jsxs("div",{className:"relative z-10 text-center",children:[l.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center",children:l.jsx("div",{className:"h-12 w-12 animate-spin rounded-full border-4 border-primary border-t-transparent"})}),l.jsx("p",{className:"text-lg font-medium",children:"加载配置中..."}),l.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"正在读取现有配置"})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"relative z-10 w-full max-w-4xl",children:[l.jsxs("div",{className:"mb-6 md:mb-8 text-center",children:[l.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:l.jsx(zX,{className:"h-6 w-6 md:h-8 md:w-8 text-primary",strokeWidth:2,fill:"none"})}),l.jsx("h1",{className:"mb-2 text-2xl md:text-3xl font-bold",children:"首次配置向导"}),l.jsxs("p",{className:"text-sm md:text-base text-muted-foreground",children:["让我们一起完成 ",bk," 的初始配置"]})]}),l.jsxs("div",{className:"mb-6 md:mb-8",children:[l.jsxs("div",{className:"mb-2 flex items-center justify-between text-xs md:text-sm",children:[l.jsxs("span",{className:"text-muted-foreground",children:["步骤 ",n+1," / ",N.length]}),l.jsxs("span",{className:"font-medium text-primary",children:[Math.round(C),"%"]})]}),l.jsx(h0,{value:C,className:"h-2"})]}),l.jsx("div",{className:"mb-6 md:mb-8 flex justify-between",children:N.map((P,H)=>{const U=P.icon;return l.jsxs("div",{className:Se("flex flex-1 flex-col items-center gap-1 md:gap-2",Ht({to:"/"}),className:"gap-2 w-full sm:w-auto",children:[l.jsx(Hx,{className:"h-4 w-4"}),"返回首页"]}),l.jsxs(de,{size:"lg",variant:"outline",onClick:()=>window.history.back(),className:"gap-2 w-full sm:w-auto",children:[l.jsx(_R,{className:"h-4 w-4"}),"返回上一页"]})]}),l.jsx("div",{className:"mt-12 pt-8 border-t border-border",children:l.jsx("p",{className:"text-sm text-muted-foreground",children:"如果您认为这是一个错误,请联系系统管理员"})})]})})}var qz=["PageUp","PageDown"],Fz=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],$z={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},wh="Slider",[X5,fee,mee]=Q1(wh),[Qz]=la(wh,[mee]),[pee,av]=Qz(wh),Hz=O.forwardRef((t,e)=>{const{name:n,min:r=0,max:s=100,step:i=1,orientation:a="horizontal",disabled:o=!1,minStepsBetweenThumbs:u=0,defaultValue:h=[r],value:f,onValueChange:m=()=>{},onValueCommit:g=()=>{},inverted:x=!1,form:y,...w}=t,b=O.useRef(new Set),k=O.useRef(0),C=a==="horizontal"?gee:xee,[T=[],E]=ac({prop:f,defaultProp:h,onChange:H=>{[...b.current][k.current]?.focus(),m(H)}}),_=O.useRef(T);function A(H){const U=See(T,H);P(H,U)}function F(H){P(H,k.current)}function B(){const H=_.current[k.current];T[k.current]!==H&&g(T)}function P(H,U,{commit:te}={commit:!1}){const z=Nee(i),W=Cee(Math.round((H-r)/i)*i+r,z),q=GS(W,[r,s]);E((J=[])=>{const ee=bee(J,q,U);if(jee(ee,u*i)){k.current=ee.indexOf(q);const Y=String(ee)!==String(J);return Y&&te&&g(ee),Y?ee:J}else return J})}return l.jsx(pee,{scope:t.__scopeSlider,name:n,disabled:o,min:r,max:s,valueIndexToChangeRef:k,thumbs:b.current,values:T,orientation:a,form:y,children:l.jsx(X5.Provider,{scope:t.__scopeSlider,children:l.jsx(X5.Slot,{scope:t.__scopeSlider,children:l.jsx(C,{"aria-disabled":o,"data-disabled":o?"":void 0,...w,ref:e,onPointerDown:Xe(w.onPointerDown,()=>{o||(_.current=T)}),min:r,max:s,inverted:x,onSlideStart:o?void 0:A,onSlideMove:o?void 0:F,onSlideEnd:o?void 0:B,onHomeKeyDown:()=>!o&&P(r,0,{commit:!0}),onEndKeyDown:()=>!o&&P(s,T.length-1,{commit:!0}),onStepKeyDown:({event:H,direction:U})=>{if(!o){const W=qz.includes(H.key)||H.shiftKey&&Fz.includes(H.key)?10:1,q=k.current,J=T[q],ee=i*W*U;P(J+ee,q,{commit:!0})}}})})})})});Hz.displayName=wh;var[Vz,Uz]=Qz(wh,{startEdge:"left",endEdge:"right",size:"width",direction:1}),gee=O.forwardRef((t,e)=>{const{min:n,max:r,dir:s,inverted:i,onSlideStart:a,onSlideMove:o,onSlideEnd:u,onStepKeyDown:h,...f}=t,[m,g]=O.useState(null),x=Pn(e,C=>g(C)),y=O.useRef(void 0),w=n0(s),b=w==="ltr",k=b&&!i||!b&&i;function N(C){const T=y.current||m.getBoundingClientRect(),E=[0,T.width],A=Sk(E,k?[n,r]:[r,n]);return y.current=T,A(C-T.left)}return l.jsx(Vz,{scope:t.__scopeSlider,startEdge:k?"left":"right",endEdge:k?"right":"left",direction:k?1:-1,size:"width",children:l.jsx(Wz,{dir:w,"data-orientation":"horizontal",...f,ref:x,style:{...f.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:C=>{const T=N(C.clientX);a?.(T)},onSlideMove:C=>{const T=N(C.clientX);o?.(T)},onSlideEnd:()=>{y.current=void 0,u?.()},onStepKeyDown:C=>{const E=$z[k?"from-left":"from-right"].includes(C.key);h?.({event:C,direction:E?-1:1})}})})}),xee=O.forwardRef((t,e)=>{const{min:n,max:r,inverted:s,onSlideStart:i,onSlideMove:a,onSlideEnd:o,onStepKeyDown:u,...h}=t,f=O.useRef(null),m=Pn(e,f),g=O.useRef(void 0),x=!s;function y(w){const b=g.current||f.current.getBoundingClientRect(),k=[0,b.height],C=Sk(k,x?[r,n]:[n,r]);return g.current=b,C(w-b.top)}return l.jsx(Vz,{scope:t.__scopeSlider,startEdge:x?"bottom":"top",endEdge:x?"top":"bottom",size:"height",direction:x?1:-1,children:l.jsx(Wz,{"data-orientation":"vertical",...h,ref:m,style:{...h.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:w=>{const b=y(w.clientY);i?.(b)},onSlideMove:w=>{const b=y(w.clientY);a?.(b)},onSlideEnd:()=>{g.current=void 0,o?.()},onStepKeyDown:w=>{const k=$z[x?"from-bottom":"from-top"].includes(w.key);u?.({event:w,direction:k?-1:1})}})})}),Wz=O.forwardRef((t,e)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:s,onSlideEnd:i,onHomeKeyDown:a,onEndKeyDown:o,onStepKeyDown:u,...h}=t,f=av(wh,n);return l.jsx(fn.span,{...h,ref:e,onKeyDown:Xe(t.onKeyDown,m=>{m.key==="Home"?(a(m),m.preventDefault()):m.key==="End"?(o(m),m.preventDefault()):qz.concat(Fz).includes(m.key)&&(u(m),m.preventDefault())}),onPointerDown:Xe(t.onPointerDown,m=>{const g=m.target;g.setPointerCapture(m.pointerId),m.preventDefault(),f.thumbs.has(g)?g.focus():r(m)}),onPointerMove:Xe(t.onPointerMove,m=>{m.target.hasPointerCapture(m.pointerId)&&s(m)}),onPointerUp:Xe(t.onPointerUp,m=>{const g=m.target;g.hasPointerCapture(m.pointerId)&&(g.releasePointerCapture(m.pointerId),i(m))})})}),Gz="SliderTrack",Xz=O.forwardRef((t,e)=>{const{__scopeSlider:n,...r}=t,s=av(Gz,n);return l.jsx(fn.span,{"data-disabled":s.disabled?"":void 0,"data-orientation":s.orientation,...r,ref:e})});Xz.displayName=Gz;var Y5="SliderRange",Yz=O.forwardRef((t,e)=>{const{__scopeSlider:n,...r}=t,s=av(Y5,n),i=Uz(Y5,n),a=O.useRef(null),o=Pn(e,a),u=s.values.length,h=s.values.map(g=>Jz(g,s.min,s.max)),f=u>1?Math.min(...h):0,m=100-Math.max(...h);return l.jsx(fn.span,{"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,...r,ref:o,style:{...t.style,[i.startEdge]:f+"%",[i.endEdge]:m+"%"}})});Yz.displayName=Y5;var Z5="SliderThumb",Zz=O.forwardRef((t,e)=>{const n=fee(t.__scopeSlider),[r,s]=O.useState(null),i=Pn(e,o=>s(o)),a=O.useMemo(()=>r?n().findIndex(o=>o.ref.current===r):-1,[n,r]);return l.jsx(vee,{...t,ref:i,index:a})}),vee=O.forwardRef((t,e)=>{const{__scopeSlider:n,index:r,name:s,...i}=t,a=av(Z5,n),o=Uz(Z5,n),[u,h]=O.useState(null),f=Pn(e,N=>h(N)),m=u?a.form||!!u.closest("form"):!0,g=uR(u),x=a.values[r],y=x===void 0?0:Jz(x,a.min,a.max),w=wee(r,a.values.length),b=g?.[o.size],k=b?kee(b,y,o.direction):0;return O.useEffect(()=>{if(u)return a.thumbs.add(u),()=>{a.thumbs.delete(u)}},[u,a.thumbs]),l.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[o.startEdge]:`calc(${y}% + ${k}px)`},children:[l.jsx(X5.ItemSlot,{scope:t.__scopeSlider,children:l.jsx(fn.span,{role:"slider","aria-label":t["aria-label"]||w,"aria-valuemin":a.min,"aria-valuenow":x,"aria-valuemax":a.max,"aria-orientation":a.orientation,"data-orientation":a.orientation,"data-disabled":a.disabled?"":void 0,tabIndex:a.disabled?void 0:0,...i,ref:f,style:x===void 0?{display:"none"}:t.style,onFocus:Xe(t.onFocus,()=>{a.valueIndexToChangeRef.current=r})})}),m&&l.jsx(Kz,{name:s??(a.name?a.name+(a.values.length>1?"[]":""):void 0),form:a.form,value:x},r)]})});Zz.displayName=Z5;var yee="RadioBubbleInput",Kz=O.forwardRef(({__scopeSlider:t,value:e,...n},r)=>{const s=O.useRef(null),i=Pn(s,r),a=cR(e);return O.useEffect(()=>{const o=s.current;if(!o)return;const u=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(u,"value").set;if(a!==e&&f){const m=new Event("input",{bubbles:!0});f.call(o,e),o.dispatchEvent(m)}},[a,e]),l.jsx(fn.input,{style:{display:"none"},...n,ref:i,defaultValue:e})});Kz.displayName=yee;function bee(t=[],e,n){const r=[...t];return r[n]=e,r.sort((s,i)=>s-i)}function Jz(t,e,n){const i=100/(n-e)*(t-e);return GS(i,[0,100])}function wee(t,e){return e>2?`Value ${t+1} of ${e}`:e===2?["Minimum","Maximum"][t]:void 0}function See(t,e){if(t.length===1)return 0;const n=t.map(s=>Math.abs(s-e)),r=Math.min(...n);return n.indexOf(r)}function kee(t,e,n){const r=t/2,i=Sk([0,50],[0,r]);return(r-i(e)*n)*n}function Oee(t){return t.slice(0,-1).map((e,n)=>t[n+1]-e)}function jee(t,e){if(e>0){const n=Oee(t);return Math.min(...n)>=e}return!0}function Sk(t,e){return n=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(t[1]-t[0]);return e[0]+r*(n-t[0])}}function Nee(t){return(String(t).split(".")[1]||"").length}function Cee(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}var eP=Hz,Tee=Xz,Eee=Yz,_ee=Zz;const lv=O.forwardRef(({className:t,...e},n)=>l.jsxs(eP,{ref:n,className:Se("relative flex w-full touch-none select-none items-center",t),...e,children:[l.jsx(Tee,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20",children:l.jsx(Eee,{className:"absolute h-full bg-primary"})}),l.jsx(_ee,{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"})]}));lv.displayName=eP.displayName;const It=wX,qt=SX,Pt=O.forwardRef(({className:t,children:e,...n},r)=>l.jsxs(mR,{ref:r,className:Se("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",t),...n,children:[e,l.jsx(gX,{asChild:!0,children:l.jsx(gm,{className:"h-4 w-4 opacity-50"})})]}));Pt.displayName=mR.displayName;const tP=O.forwardRef(({className:t,...e},n)=>l.jsx(pR,{ref:n,className:Se("flex cursor-default items-center justify-center py-1",t),...e,children:l.jsx(I5,{className:"h-4 w-4"})}));tP.displayName=pR.displayName;const nP=O.forwardRef(({className:t,...e},n)=>l.jsx(gR,{ref:n,className:Se("flex cursor-default items-center justify-center py-1",t),...e,children:l.jsx(gm,{className:"h-4 w-4"})}));nP.displayName=gR.displayName;const Lt=O.forwardRef(({className:t,children:e,position:n="popper",...r},s)=>l.jsx(xX,{children:l.jsxs(xR,{ref:s,className:Se("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",t),position:n,...r,children:[l.jsx(tP,{}),l.jsx(vX,{className:Se("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:e}),l.jsx(nP,{})]})}));Lt.displayName=xR.displayName;const Mee=O.forwardRef(({className:t,...e},n)=>l.jsx(vR,{ref:n,className:Se("px-2 py-1.5 text-sm font-semibold",t),...e}));Mee.displayName=vR.displayName;const ze=O.forwardRef(({className:t,children:e,...n},r)=>l.jsxs(yR,{ref:r,className:Se("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",t),...n,children:[l.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:l.jsx(yX,{children:l.jsx(Kc,{className:"h-4 w-4"})})}),l.jsx(bX,{children:e})]}));ze.displayName=yR.displayName;const Aee=O.forwardRef(({className:t,...e},n)=>l.jsx(bR,{ref:n,className:Se("-mx-1 my-1 h-px bg-muted",t),...e}));Aee.displayName=bR.displayName;function Ree(t){const e=Dee(t),n=O.forwardRef((r,s)=>{const{children:i,...a}=r,o=O.Children.toArray(i),u=o.find(Pee);if(u){const h=u.props.children,f=o.map(m=>m===u?O.Children.count(h)>1?O.Children.only(null):O.isValidElement(h)?h.props.children:null:m);return l.jsx(e,{...a,ref:s,children:O.isValidElement(h)?O.cloneElement(h,void 0,f):null})}return l.jsx(e,{...a,ref:s,children:i})});return n.displayName=`${t}.Slot`,n}function Dee(t){const e=O.forwardRef((n,r)=>{const{children:s,...i}=n;if(O.isValidElement(s)){const a=Bee(s),o=Lee(i,s.props);return s.type!==O.Fragment&&(o.ref=r?Uo(r,a):a),O.cloneElement(s,o)}return O.Children.count(s)>1?O.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var zee=Symbol("radix.slottable");function Pee(t){return O.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===zee}function Lee(t,e){const n={...e};for(const r in e){const s=t[r],i=e[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...o)=>{const u=i(...o);return s(...o),u}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...t,...n}}function Bee(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var ov="Popover",[rP]=la(ov,[ph]),f0=ph(),[Iee,lc]=rP(ov),sP=t=>{const{__scopePopover:e,children:n,open:r,defaultOpen:s,onOpenChange:i,modal:a=!1}=t,o=f0(e),u=O.useRef(null),[h,f]=O.useState(!1),[m,g]=ac({prop:r,defaultProp:s??!1,onChange:i,caller:ov});return l.jsx(W1,{...o,children:l.jsx(Iee,{scope:e,contentId:Li(),triggerRef:u,open:m,onOpenChange:g,onOpenToggle:O.useCallback(()=>g(x=>!x),[g]),hasCustomAnchor:h,onCustomAnchorAdd:O.useCallback(()=>f(!0),[]),onCustomAnchorRemove:O.useCallback(()=>f(!1),[]),modal:a,children:n})})};sP.displayName=ov;var iP="PopoverAnchor",qee=O.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,s=lc(iP,n),i=f0(n),{onCustomAnchorAdd:a,onCustomAnchorRemove:o}=s;return O.useEffect(()=>(a(),()=>o()),[a,o]),l.jsx(G1,{...i,...r,ref:e})});qee.displayName=iP;var aP="PopoverTrigger",lP=O.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,s=lc(aP,n),i=f0(n),a=Pn(e,s.triggerRef),o=l.jsx(fn.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":hP(s.open),...r,ref:a,onClick:Xe(t.onClick,s.onOpenToggle)});return s.hasCustomAnchor?o:l.jsx(G1,{asChild:!0,...i,children:o})});lP.displayName=aP;var kk="PopoverPortal",[Fee,$ee]=rP(kk,{forceMount:void 0}),oP=t=>{const{__scopePopover:e,forceMount:n,children:r,container:s}=t,i=lc(kk,e);return l.jsx(Fee,{scope:e,forceMount:n,children:l.jsx(Ws,{present:n||i.open,children:l.jsx(U1,{asChild:!0,container:s,children:r})})})};oP.displayName=kk;var Zd="PopoverContent",cP=O.forwardRef((t,e)=>{const n=$ee(Zd,t.__scopePopover),{forceMount:r=n.forceMount,...s}=t,i=lc(Zd,t.__scopePopover);return l.jsx(Ws,{present:r||i.open,children:i.modal?l.jsx(Hee,{...s,ref:e}):l.jsx(Vee,{...s,ref:e})})});cP.displayName=Zd;var Qee=Ree("PopoverContent.RemoveScroll"),Hee=O.forwardRef((t,e)=>{const n=lc(Zd,t.__scopePopover),r=O.useRef(null),s=Pn(e,r),i=O.useRef(!1);return O.useEffect(()=>{const a=r.current;if(a)return wR(a)},[]),l.jsx(SR,{as:Qee,allowPinchZoom:!0,children:l.jsx(uP,{...t,ref:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Xe(t.onCloseAutoFocus,a=>{a.preventDefault(),i.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Xe(t.onPointerDownOutside,a=>{const o=a.detail.originalEvent,u=o.button===0&&o.ctrlKey===!0,h=o.button===2||u;i.current=h},{checkForDefaultPrevented:!1}),onFocusOutside:Xe(t.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),Vee=O.forwardRef((t,e)=>{const n=lc(Zd,t.__scopePopover),r=O.useRef(!1),s=O.useRef(!1);return l.jsx(uP,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{t.onCloseAutoFocus?.(i),i.defaultPrevented||(r.current||n.triggerRef.current?.focus(),i.preventDefault()),r.current=!1,s.current=!1},onInteractOutside:i=>{t.onInteractOutside?.(i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const a=i.target;n.triggerRef.current?.contains(a)&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&s.current&&i.preventDefault()}})}),uP=O.forwardRef((t,e)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:a,onEscapeKeyDown:o,onPointerDownOutside:u,onFocusOutside:h,onInteractOutside:f,...m}=t,g=lc(Zd,n),x=f0(n);return kR(),l.jsx(OR,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:i,children:l.jsx(tk,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:f,onEscapeKeyDown:o,onPointerDownOutside:u,onFocusOutside:h,onDismiss:()=>g.onOpenChange(!1),children:l.jsx(nk,{"data-state":hP(g.open),role:"dialog",id:g.contentId,...x,...m,ref:e,style:{...m.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)"}})})})}),dP="PopoverClose",Uee=O.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,s=lc(dP,n);return l.jsx(fn.button,{type:"button",...r,ref:e,onClick:Xe(t.onClick,()=>s.onOpenChange(!1))})});Uee.displayName=dP;var Wee="PopoverArrow",Gee=O.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,s=f0(n);return l.jsx(rk,{...s,...r,ref:e})});Gee.displayName=Wee;function hP(t){return t?"open":"closed"}var Xee=sP,Yee=lP,Zee=oP,fP=cP;const Wo=Xee,Go=Yee,Fl=O.forwardRef(({className:t,align:e="center",sideOffset:n=4,...r},s)=>l.jsx(Zee,{children:l.jsx(fP,{ref:s,align:e,sideOffset:n,className:Se("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]",t),...r})}));Fl.displayName=fP.displayName;const oc="/api/webui/config";async function hC(){const e=await(await yt(`${oc}/bot`)).json();if(!e.success)throw new Error("获取配置数据失败");return e.config}async function zd(){const e=await(await yt(`${oc}/model`)).json();if(!e.success)throw new Error("获取模型配置数据失败");return e.config}async function fC(t){const n=await(await yt(`${oc}/bot`,{method:"POST",headers:Et(),body:JSON.stringify(t)})).json();if(!n.success)throw new Error(n.message||"保存配置失败")}async function Kee(){const e=await(await yt(`${oc}/bot/raw`)).json();if(!e.success)throw new Error("获取配置源代码失败");return e.content}async function Jee(t){const n=await(await yt(`${oc}/bot/raw`,{method:"POST",headers:Et(),body:JSON.stringify({raw_content:t})})).json();if(!n.success)throw new Error(n.message||"保存配置失败")}async function Jx(t){const n=await(await yt(`${oc}/model`,{method:"POST",headers:Et(),body:JSON.stringify(t)})).json();if(!n.success)throw new Error(n.message||"保存配置失败")}async function ete(t,e){const r=await(await yt(`${oc}/bot/section/${t}`,{method:"POST",headers:Et(),body:JSON.stringify(e)})).json();if(!r.success)throw new Error(r.message||`保存配置节 ${t} 失败`)}async function K5(t,e){const r=await(await yt(`${oc}/model/section/${t}`,{method:"POST",headers:Et(),body:JSON.stringify(e)})).json();if(!r.success)throw new Error(r.message||`保存配置节 ${t} 失败`)}const tte=lr.create({baseURL:"",timeout:1e4});async function Ok(){try{return(await tte.post("/api/webui/system/restart")).data}catch(t){throw console.error("重启麦麦失败:",t),t}}const nte=bh("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"}}),Kd=O.forwardRef(({className:t,variant:e,...n},r)=>l.jsx("div",{ref:r,role:"alert",className:Se(nte({variant:e}),t),...n}));Kd.displayName="Alert";const rte=O.forwardRef(({className:t,...e},n)=>l.jsx("h5",{ref:n,className:Se("mb-1 font-medium leading-none tracking-tight",t),...e}));rte.displayName="AlertTitle";const Jd=O.forwardRef(({className:t,...e},n)=>l.jsx("div",{ref:n,className:Se("text-sm [&_p]:leading-relaxed",t),...e}));Jd.displayName="AlertDescription";function jk({onRestartComplete:t,onRestartFailed:e}){const[n,r]=O.useState(0),[s,i]=O.useState("restarting"),[a,o]=O.useState(0),[u,h]=O.useState(0);O.useEffect(()=>{const g=setInterval(()=>{r(w=>w>=90?w:w+1)},200),x=setInterval(()=>{o(w=>w+1)},1e3),y=setTimeout(()=>{i("checking"),f()},3e3);return()=>{clearInterval(g),clearInterval(x),clearTimeout(y)}},[]);const f=()=>{const x=async()=>{try{if(h(w=>w+1),(await fetch("/api/webui/system/status",{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)})).ok)r(100),i("success"),setTimeout(()=>{t?.()},1500);else throw new Error("Status check failed")}catch{u<60?setTimeout(x,2e3):(i("failed"),e?.())}};x()},m=g=>{const x=Math.floor(g/60),y=g%60;return`${x}:${y.toString().padStart(2,"0")}`};return l.jsx("div",{className:"fixed inset-0 bg-background/95 backdrop-blur-sm z-50 flex items-center justify-center",children:l.jsxs("div",{className:"max-w-md w-full mx-4 space-y-8",children:[l.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[s==="restarting"&&l.jsxs(l.Fragment,{children:[l.jsx(xm,{className:"h-16 w-16 text-primary animate-spin"}),l.jsx("h2",{className:"text-2xl font-bold",children:"正在重启麦麦"}),l.jsx("p",{className:"text-muted-foreground text-center",children:"请稍候,麦麦正在重启中..."})]}),s==="checking"&&l.jsxs(l.Fragment,{children:[l.jsx(xm,{className:"h-16 w-16 text-primary animate-spin"}),l.jsx("h2",{className:"text-2xl font-bold",children:"检查服务状态"}),l.jsxs("p",{className:"text-muted-foreground text-center",children:["等待服务恢复... (尝试 ",u,"/60)"]})]}),s==="success"&&l.jsxs(l.Fragment,{children:[l.jsx(Ea,{className:"h-16 w-16 text-green-500"}),l.jsx("h2",{className:"text-2xl font-bold",children:"重启成功"}),l.jsx("p",{className:"text-muted-foreground text-center",children:"正在跳转到登录页面..."})]}),s==="failed"&&l.jsxs(l.Fragment,{children:[l.jsx(su,{className:"h-16 w-16 text-destructive"}),l.jsx("h2",{className:"text-2xl font-bold",children:"重启超时"}),l.jsx("p",{className:"text-muted-foreground text-center",children:"服务未能在预期时间内恢复,请手动检查或刷新页面"})]})]}),s!=="failed"&&l.jsxs("div",{className:"space-y-2",children:[l.jsx(h0,{value:n,className:"h-2"}),l.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground",children:[l.jsxs("span",{children:[n,"%"]}),l.jsxs("span",{children:["已用时: ",m(a)]})]})]}),l.jsx("div",{className:"bg-muted/50 rounded-lg p-4 space-y-2",children:l.jsxs("p",{className:"text-sm text-muted-foreground",children:[s==="restarting"&&"🔄 配置已保存,正在重启主程序...",s==="checking"&&"⏳ 正在等待服务恢复,请勿关闭页面...",s==="success"&&"✅ 配置已生效,服务运行正常",s==="failed"&&"⚠️ 如果长时间无响应,请尝试手动重启"]})}),s==="failed"&&l.jsxs("div",{className:"flex gap-2",children:[l.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:"刷新页面"}),l.jsx("button",{onClick:()=>{i("checking"),h(0),f()},className:"flex-1 px-4 py-2 bg-secondary text-secondary-foreground rounded-md hover:bg-secondary/90",children:"重试检测"})]})]})})}let J5=[],mP=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,n=0;e>1;if(t=mP[r])e=r+1;else return!0;if(e==n)return!1}}function mC(t){return t>=127462&&t<=127487}const pC=8205;function ite(t,e,n=!0,r=!0){return(n?pP:ate)(t,e,r)}function pP(t,e,n){if(e==t.length)return e;e&&gP(t.charCodeAt(e))&&xP(t.charCodeAt(e-1))&&e--;let r=S2(t,e);for(e+=gC(r);e=0&&mC(S2(t,a));)i++,a-=2;if(i%2==0)break;e+=2}else break}return e}function ate(t,e,n){for(;e>0;){let r=pP(t,e-2,n);if(r=56320&&t<57344}function xP(t){return t>=55296&&t<56320}function gC(t){return t<65536?1:2}class nn{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,n,r){[e,n]=eh(this,e,n);let s=[];return this.decompose(0,e,s,2),r.length&&r.decompose(0,r.length,s,3),this.decompose(n,this.length,s,1),Sx.from(s,this.length-(n-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,n=this.length){[e,n]=eh(this,e,n);let r=[];return this.decompose(e,n,r,0),Sx.from(r,n-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let n=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),s=new sm(this),i=new sm(e);for(let a=n,o=n;;){if(s.next(a),i.next(a),a=0,s.lineBreak!=i.lineBreak||s.done!=i.done||s.value!=i.value)return!1;if(o+=s.value.length,s.done||o>=r)return!0}}iter(e=1){return new sm(this,e)}iterRange(e,n=this.length){return new vP(this,e,n)}iterLines(e,n){let r;if(e==null)r=this.iter();else{n==null&&(n=this.lines+1);let s=this.line(e).from;r=this.iterRange(s,Math.max(s,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new yP(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?nn.empty:e.length<=32?new gr(e):Sx.from(gr.split(e,[]))}}class gr extends nn{constructor(e,n=lte(e)){super(),this.text=e,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(e,n,r,s){for(let i=0;;i++){let a=this.text[i],o=s+a.length;if((n?r:o)>=e)return new ote(s,o,r,a);s=o+1,r++}}decompose(e,n,r,s){let i=e<=0&&n>=this.length?this:new gr(xC(this.text,e,n),Math.min(n,this.length)-Math.max(0,e));if(s&1){let a=r.pop(),o=kx(i.text,a.text.slice(),0,i.length);if(o.length<=32)r.push(new gr(o,a.length+i.length));else{let u=o.length>>1;r.push(new gr(o.slice(0,u)),new gr(o.slice(u)))}}else r.push(i)}replace(e,n,r){if(!(r instanceof gr))return super.replace(e,n,r);[e,n]=eh(this,e,n);let s=kx(this.text,kx(r.text,xC(this.text,0,e)),n),i=this.length+r.length-(n-e);return s.length<=32?new gr(s,i):Sx.from(gr.split(s,[]),i)}sliceString(e,n=this.length,r=` +`){[e,n]=eh(this,e,n);let s="";for(let i=0,a=0;i<=n&&ae&&a&&(s+=r),ei&&(s+=o.slice(Math.max(0,e-i),n-i)),i=u+1}return s}flatten(e){for(let n of this.text)e.push(n)}scanIdentical(){return 0}static split(e,n){let r=[],s=-1;for(let i of e)r.push(i),s+=i.length+1,r.length==32&&(n.push(new gr(r,s)),r=[],s=-1);return s>-1&&n.push(new gr(r,s)),n}}let Sx=class wd extends nn{constructor(e,n){super(),this.children=e,this.length=n,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,n,r,s){for(let i=0;;i++){let a=this.children[i],o=s+a.length,u=r+a.lines-1;if((n?u:o)>=e)return a.lineInner(e,n,r,s);s=o+1,r=u+1}}decompose(e,n,r,s){for(let i=0,a=0;a<=n&&i=a){let h=s&((a<=e?1:0)|(u>=n?2:0));a>=e&&u<=n&&!h?r.push(o):o.decompose(e-a,n-a,r,h)}a=u+1}}replace(e,n,r){if([e,n]=eh(this,e,n),r.lines=i&&n<=o){let u=a.replace(e-i,n-i,r),h=this.lines-a.lines+u.lines;if(u.lines>4&&u.lines>h>>6){let f=this.children.slice();return f[s]=u,new wd(f,this.length-(n-e)+r.length)}return super.replace(i,o,u)}i=o+1}return super.replace(e,n,r)}sliceString(e,n=this.length,r=` +`){[e,n]=eh(this,e,n);let s="";for(let i=0,a=0;ie&&i&&(s+=r),ea&&(s+=o.sliceString(e-a,n-a,r)),a=u+1}return s}flatten(e){for(let n of this.children)n.flatten(e)}scanIdentical(e,n){if(!(e instanceof wd))return 0;let r=0,[s,i,a,o]=n>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=n,i+=n){if(s==a||i==o)return r;let u=this.children[s],h=e.children[i];if(u!=h)return r+u.scanIdentical(h,n);r+=u.length+1}}static from(e,n=e.reduce((r,s)=>r+s.length+1,-1)){let r=0;for(let x of e)r+=x.lines;if(r<32){let x=[];for(let y of e)y.flatten(x);return new gr(x,n)}let s=Math.max(32,r>>5),i=s<<1,a=s>>1,o=[],u=0,h=-1,f=[];function m(x){let y;if(x.lines>i&&x instanceof wd)for(let w of x.children)m(w);else x.lines>a&&(u>a||!u)?(g(),o.push(x)):x instanceof gr&&u&&(y=f[f.length-1])instanceof gr&&x.lines+y.lines<=32?(u+=x.lines,h+=x.length+1,f[f.length-1]=new gr(y.text.concat(x.text),y.length+1+x.length)):(u+x.lines>s&&g(),u+=x.lines,h+=x.length+1,f.push(x))}function g(){u!=0&&(o.push(f.length==1?f[0]:wd.from(f,h)),h=-1,u=f.length=0)}for(let x of e)m(x);return g(),o.length==1?o[0]:new wd(o,n)}};nn.empty=new gr([""],0);function lte(t){let e=-1;for(let n of t)e+=n.length+1;return e}function kx(t,e,n=0,r=1e9){for(let s=0,i=0,a=!0;i=n&&(u>r&&(o=o.slice(0,r-s)),s0?1:(e instanceof gr?e.text.length:e.children.length)<<1]}nextInner(e,n){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,s=this.nodes[r],i=this.offsets[r],a=i>>1,o=s instanceof gr?s.text.length:s.children.length;if(a==(n>0?o:0)){if(r==0)return this.done=!0,this.value="",this;n>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(n>0?0:1)){if(this.offsets[r]+=n,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(s instanceof gr){let u=s.text[a+(n<0?-1:0)];if(this.offsets[r]+=n,u.length>Math.max(0,e))return this.value=e==0?u:n>0?u.slice(e):u.slice(0,u.length-e),this;e-=u.length}else{let u=s.children[a+(n<0?-1:0)];e>u.length?(e-=u.length,this.offsets[r]+=n):(n<0&&this.offsets[r]--,this.nodes.push(u),this.offsets.push(n>0?1:(u instanceof gr?u.text.length:u.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class vP{constructor(e,n,r){this.value="",this.done=!1,this.cursor=new sm(e,n>r?-1:1),this.pos=n>r?e.length:0,this.from=Math.min(n,r),this.to=Math.max(n,r)}nextInner(e,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let r=n<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*n,this.value=s.length<=r?s:n<0?s.slice(s.length-r):s.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class yP{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:n,lineBreak:r,value:s}=this.inner.next(e);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(nn.prototype[Symbol.iterator]=function(){return this.iter()},sm.prototype[Symbol.iterator]=vP.prototype[Symbol.iterator]=yP.prototype[Symbol.iterator]=function(){return this});class ote{constructor(e,n,r,s){this.from=e,this.to=n,this.number=r,this.text=s}get length(){return this.to-this.from}}function eh(t,e,n){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,n))]}function ss(t,e,n=!0,r=!0){return ite(t,e,n,r)}function cte(t){return t>=56320&&t<57344}function ute(t){return t>=55296&&t<56320}function Is(t,e){let n=t.charCodeAt(e);if(!ute(n)||e+1==t.length)return n;let r=t.charCodeAt(e+1);return cte(r)?(n-55296<<10)+(r-56320)+65536:n}function Nk(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function ja(t){return t<65536?1:2}const e3=/\r\n?|\n/;var rs=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(rs||(rs={}));class Pa{constructor(e){this.sections=e}get length(){let e=0;for(let n=0;ne)return i+(e-s);i+=o}else{if(r!=rs.Simple&&h>=e&&(r==rs.TrackDel&&se||r==rs.TrackBefore&&se))return null;if(h>e||h==e&&n<0&&!o)return e==s||n<0?i:i+u;i+=u}s=h}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return i}touchesRange(e,n=e){for(let r=0,s=0;r=0&&s<=n&&o>=e)return sn?"cover":!0;s=o}return!1}toString(){let e="";for(let n=0;n=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Pa(e)}static create(e){return new Pa(e)}}class Br extends Pa{constructor(e,n){super(e),this.inserted=n}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return t3(this,(n,r,s,i,a)=>e=e.replace(s,s+(r-n),a),!1),e}mapDesc(e,n=!1){return n3(this,e,n,!0)}invert(e){let n=this.sections.slice(),r=[];for(let s=0,i=0;s=0){n[s]=o,n[s+1]=a;let u=s>>1;for(;r.length0&&Fo(r,n,i.text),i.forward(f),o+=f}let h=e[a++];for(;o>1].toJSON()))}return e}static of(e,n,r){let s=[],i=[],a=0,o=null;function u(f=!1){if(!f&&!s.length)return;ag||m<0||g>n)throw new RangeError(`Invalid change range ${m} to ${g} (in doc of length ${n})`);let y=x?typeof x=="string"?nn.of(x.split(r||e3)):x:nn.empty,w=y.length;if(m==g&&w==0)return;ma&&cs(s,m-a,-1),cs(s,g-m,w),Fo(i,s,y),a=g}}return h(e),u(!o),o}static empty(e){return new Br(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],r=[];for(let s=0;so&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(i.length==1)n.push(i[0],0);else{for(;r.length=0&&n<=0&&n==t[s+1]?t[s]+=e:s>=0&&e==0&&t[s]==0?t[s+1]+=n:r?(t[s]+=e,t[s+1]+=n):t.push(e,n)}function Fo(t,e,n){if(n.length==0)return;let r=e.length-2>>1;if(r>1])),!(n||a==t.sections.length||t.sections[a+1]<0);)o=t.sections[a++],u=t.sections[a++];e(s,h,i,f,m),s=h,i=f}}}function n3(t,e,n,r=!1){let s=[],i=r?[]:null,a=new bm(t),o=new bm(e);for(let u=-1;;){if(a.done&&o.len||o.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&o.ins==-1){let h=Math.min(a.len,o.len);cs(s,h,-1),a.forward(h),o.forward(h)}else if(o.ins>=0&&(a.ins<0||u==a.i||a.off==0&&(o.len=0&&u=0){let h=0,f=a.len;for(;f;)if(o.ins==-1){let m=Math.min(f,o.len);h+=m,f-=m,o.forward(m)}else if(o.ins==0&&o.lenu||a.ins>=0&&a.len>u)&&(o||r.length>h),i.forward2(u),a.forward(u)}}}}class bm{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return n>=e.length?nn.empty:e[n]}textBit(e){let{inserted:n}=this.set,r=this.i-2>>1;return r>=n.length&&!e?nn.empty:n[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Vc{constructor(e,n,r){this.from=e,this.to=n,this.flags=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,n=-1){let r,s;return this.empty?r=s=e.mapPos(this.from,n):(r=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),r==this.from&&s==this.to?this:new Vc(r,s,this.flags)}extend(e,n=e){if(e<=this.anchor&&n>=this.anchor)return Me.range(e,n);let r=Math.abs(e-this.anchor)>Math.abs(n-this.anchor)?e:n;return Me.range(this.anchor,r)}eq(e,n=!1){return this.anchor==e.anchor&&this.head==e.head&&(!n||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return Me.range(e.anchor,e.head)}static create(e,n,r){return new Vc(e,n,r)}}class Me{constructor(e,n){this.ranges=e,this.mainIndex=n}map(e,n=-1){return e.empty?this:Me.create(this.ranges.map(r=>r.map(e,n)),this.mainIndex)}eq(e,n=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;re.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new Me(e.ranges.map(n=>Vc.fromJSON(n)),e.main)}static single(e,n=e){return new Me([Me.range(e,n)],0)}static create(e,n=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,s=0;se?8:0)|i)}static normalized(e,n=0){let r=e[n];e.sort((s,i)=>s.from-i.from),n=e.indexOf(r);for(let s=1;si.head?Me.range(u,o):Me.range(o,u))}}return new Me(e,n)}}function wP(t,e){for(let n of t.ranges)if(n.to>e)throw new RangeError("Selection points outside of document")}let Ck=0;class Ye{constructor(e,n,r,s,i){this.combine=e,this.compareInput=n,this.compare=r,this.isStatic=s,this.id=Ck++,this.default=e([]),this.extensions=typeof i=="function"?i(this):i}get reader(){return this}static define(e={}){return new Ye(e.combine||(n=>n),e.compareInput||((n,r)=>n===r),e.compare||(e.combine?(n,r)=>n===r:Tk),!!e.static,e.enables)}of(e){return new Ox([],this,0,e)}compute(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ox(e,this,1,n)}computeN(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ox(e,this,2,n)}from(e,n){return n||(n=r=>r),this.compute([e],r=>n(r.field(e)))}}function Tk(t,e){return t==e||t.length==e.length&&t.every((n,r)=>n===e[r])}class Ox{constructor(e,n,r,s){this.dependencies=e,this.facet=n,this.type=r,this.value=s,this.id=Ck++}dynamicSlot(e){var n;let r=this.value,s=this.facet.compareInput,i=this.id,a=e[i]>>1,o=this.type==2,u=!1,h=!1,f=[];for(let m of this.dependencies)m=="doc"?u=!0:m=="selection"?h=!0:(((n=e[m.id])!==null&&n!==void 0?n:1)&1)==0&&f.push(e[m.id]);return{create(m){return m.values[a]=r(m),1},update(m,g){if(u&&g.docChanged||h&&(g.docChanged||g.selection)||r3(m,f)){let x=r(m);if(o?!vC(x,m.values[a],s):!s(x,m.values[a]))return m.values[a]=x,1}return 0},reconfigure:(m,g)=>{let x,y=g.config.address[i];if(y!=null){let w=t1(g,y);if(this.dependencies.every(b=>b instanceof Ye?g.facet(b)===m.facet(b):b instanceof Xr?g.field(b,!1)==m.field(b,!1):!0)||(o?vC(x=r(m),w,s):s(x=r(m),w)))return m.values[a]=w,0}else x=r(m);return m.values[a]=x,1}}}}function vC(t,e,n){if(t.length!=e.length)return!1;for(let r=0;rt[u.id]),s=n.map(u=>u.type),i=r.filter(u=>!(u&1)),a=t[e.id]>>1;function o(u){let h=[];for(let f=0;fr===s),e);return e.provide&&(n.provides=e.provide(n)),n}create(e){let n=e.facet(bg).find(r=>r.field==this);return(n?.create||this.createF)(e)}slot(e){let n=e[this.id]>>1;return{create:r=>(r.values[n]=this.create(r),1),update:(r,s)=>{let i=r.values[n],a=this.updateF(i,s);return this.compareF(i,a)?0:(r.values[n]=a,1)},reconfigure:(r,s)=>{let i=r.facet(bg),a=s.facet(bg),o;return(o=i.find(u=>u.field==this))&&o!=a.find(u=>u.field==this)?(r.values[n]=o.create(r),1):s.config.address[this.id]!=null?(r.values[n]=s.field(this),0):(r.values[n]=this.create(r),1)}}}init(e){return[this,bg.of({field:this,create:e})]}get extension(){return this}}const $c={lowest:4,low:3,default:2,high:1,highest:0};function _f(t){return e=>new SP(e,t)}const cc={highest:_f($c.highest),high:_f($c.high),default:_f($c.default),low:_f($c.low),lowest:_f($c.lowest)};class SP{constructor(e,n){this.inner=e,this.prec=n}}class cv{of(e){return new s3(this,e)}reconfigure(e){return cv.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class s3{constructor(e,n){this.compartment=e,this.inner=n}}class e1{constructor(e,n,r,s,i,a){for(this.base=e,this.compartments=n,this.dynamicSlots=r,this.address=s,this.staticValues=i,this.facets=a,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,n,r){let s=[],i=Object.create(null),a=new Map;for(let g of hte(e,n,a))g instanceof Xr?s.push(g):(i[g.facet.id]||(i[g.facet.id]=[])).push(g);let o=Object.create(null),u=[],h=[];for(let g of s)o[g.id]=h.length<<1,h.push(x=>g.slot(x));let f=r?.config.facets;for(let g in i){let x=i[g],y=x[0].facet,w=f&&f[g]||[];if(x.every(b=>b.type==0))if(o[y.id]=u.length<<1|1,Tk(w,x))u.push(r.facet(y));else{let b=y.combine(x.map(k=>k.value));u.push(r&&y.compare(b,r.facet(y))?r.facet(y):b)}else{for(let b of x)b.type==0?(o[b.id]=u.length<<1|1,u.push(b.value)):(o[b.id]=h.length<<1,h.push(k=>b.dynamicSlot(k)));o[y.id]=h.length<<1,h.push(b=>dte(b,y,x))}}let m=h.map(g=>g(o));return new e1(e,a,m,o,u,i)}}function hte(t,e,n){let r=[[],[],[],[],[]],s=new Map;function i(a,o){let u=s.get(a);if(u!=null){if(u<=o)return;let h=r[u].indexOf(a);h>-1&&r[u].splice(h,1),a instanceof s3&&n.delete(a.compartment)}if(s.set(a,o),Array.isArray(a))for(let h of a)i(h,o);else if(a instanceof s3){if(n.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=e.get(a.compartment)||a.inner;n.set(a.compartment,h),i(h,o)}else if(a instanceof SP)i(a.inner,a.prec);else if(a instanceof Xr)r[o].push(a),a.provides&&i(a.provides,o);else if(a instanceof Ox)r[o].push(a),a.facet.extensions&&i(a.facet.extensions,$c.default);else{let h=a.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);i(h,o)}}return i(t,$c.default),r.reduce((a,o)=>a.concat(o))}function im(t,e){if(e&1)return 2;let n=e>>1,r=t.status[n];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;t.status[n]=4;let s=t.computeSlot(t,t.config.dynamicSlots[n]);return t.status[n]=2|s}function t1(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}const kP=Ye.define(),i3=Ye.define({combine:t=>t.some(e=>e),static:!0}),OP=Ye.define({combine:t=>t.length?t[0]:void 0,static:!0}),jP=Ye.define(),NP=Ye.define(),CP=Ye.define(),TP=Ye.define({combine:t=>t.length?t[0]:!1});class qa{constructor(e,n){this.type=e,this.value=n}static define(){return new fte}}class fte{of(e){return new qa(this,e)}}class mte{constructor(e){this.map=e}of(e){return new Nt(this,e)}}class Nt{constructor(e,n){this.type=e,this.value=n}map(e){let n=this.type.map(this.value,e);return n===void 0?void 0:n==this.value?this:new Nt(this.type,n)}is(e){return this.type==e}static define(e={}){return new mte(e.map||(n=>n))}static mapEffects(e,n){if(!e.length)return e;let r=[];for(let s of e){let i=s.map(n);i&&r.push(i)}return r}}Nt.reconfigure=Nt.define();Nt.appendConfig=Nt.define();class Er{constructor(e,n,r,s,i,a){this.startState=e,this.changes=n,this.selection=r,this.effects=s,this.annotations=i,this.scrollIntoView=a,this._doc=null,this._state=null,r&&wP(r,n.newLength),i.some(o=>o.type==Er.time)||(this.annotations=i.concat(Er.time.of(Date.now())))}static create(e,n,r,s,i,a){return new Er(e,n,r,s,i,a)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let n of this.annotations)if(n.type==e)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let n=this.annotation(Er.userEvent);return!!(n&&(n==e||n.length>e.length&&n.slice(0,e.length)==e&&n[e.length]=="."))}}Er.time=qa.define();Er.userEvent=qa.define();Er.addToHistory=qa.define();Er.remote=qa.define();function pte(t,e){let n=[];for(let r=0,s=0;;){let i,a;if(r=t[r]))i=t[r++],a=t[r++];else if(s=0;s--){let i=r[s](t);i instanceof Er?t=i:Array.isArray(i)&&i.length==1&&i[0]instanceof Er?t=i[0]:t=_P(e,Pd(i),!1)}return t}function xte(t){let e=t.startState,n=e.facet(CP),r=t;for(let s=n.length-1;s>=0;s--){let i=n[s](t);i&&Object.keys(i).length&&(r=EP(r,a3(e,i,t.changes.newLength),!0))}return r==t?t:Er.create(e,t.changes,t.selection,r.effects,r.annotations,r.scrollIntoView)}const vte=[];function Pd(t){return t==null?vte:Array.isArray(t)?t:[t]}var Jn=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(Jn||(Jn={}));const yte=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let l3;try{l3=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function bte(t){if(l3)return l3.test(t);for(let e=0;e"€"&&(n.toUpperCase()!=n.toLowerCase()||yte.test(n)))return!0}return!1}function wte(t){return e=>{if(!/\S/.test(e))return Jn.Space;if(bte(e))return Jn.Word;for(let n=0;n-1)return Jn.Word;return Jn.Other}}class tn{constructor(e,n,r,s,i,a){this.config=e,this.doc=n,this.selection=r,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=i,a&&(a._state=this);for(let o=0;os.set(h,u)),n=null),s.set(o.value.compartment,o.value.extension)):o.is(Nt.reconfigure)?(n=null,r=o.value):o.is(Nt.appendConfig)&&(n=null,r=Pd(r).concat(o.value));let i;n?i=e.startState.values.slice():(n=e1.resolve(r,s,this),i=new tn(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(u,h)=>h.reconfigure(u,this),null).values);let a=e.startState.facet(i3)?e.newSelection:e.newSelection.asSingle();new tn(n,e.newDoc,a,i,(o,u)=>u.update(o,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:e},range:Me.cursor(n.from+e.length)}))}changeByRange(e){let n=this.selection,r=e(n.ranges[0]),s=this.changes(r.changes),i=[r.range],a=Pd(r.effects);for(let o=1;oa.spec.fromJSON(o,u)))}}return tn.create({doc:e.doc,selection:Me.fromJSON(e.selection),extensions:n.extensions?s.concat([n.extensions]):s})}static create(e={}){let n=e1.resolve(e.extensions||[],new Map),r=e.doc instanceof nn?e.doc:nn.of((e.doc||"").split(n.staticFacet(tn.lineSeparator)||e3)),s=e.selection?e.selection instanceof Me?e.selection:Me.single(e.selection.anchor,e.selection.head):Me.single(0);return wP(s,r.length),n.staticFacet(i3)||(s=s.asSingle()),new tn(n,r,s,n.dynamicSlots.map(()=>null),(i,a)=>a.create(i),null)}get tabSize(){return this.facet(tn.tabSize)}get lineBreak(){return this.facet(tn.lineSeparator)||` +`}get readOnly(){return this.facet(TP)}phrase(e,...n){for(let r of this.facet(tn.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return n.length&&(e=e.replace(/\$(\$|\d*)/g,(r,s)=>{if(s=="$")return"$";let i=+(s||1);return!i||i>n.length?r:n[i-1]})),e}languageDataAt(e,n,r=-1){let s=[];for(let i of this.facet(kP))for(let a of i(this,n,r))Object.prototype.hasOwnProperty.call(a,e)&&s.push(a[e]);return s}charCategorizer(e){return wte(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:n,from:r,length:s}=this.doc.lineAt(e),i=this.charCategorizer(e),a=e-r,o=e-r;for(;a>0;){let u=ss(n,a,!1);if(i(n.slice(u,a))!=Jn.Word)break;a=u}for(;ot.length?t[0]:4});tn.lineSeparator=OP;tn.readOnly=TP;tn.phrases=Ye.define({compare(t,e){let n=Object.keys(t),r=Object.keys(e);return n.length==r.length&&n.every(s=>t[s]==e[s])}});tn.languageData=kP;tn.changeFilter=jP;tn.transactionFilter=NP;tn.transactionExtender=CP;cv.reconfigure=Nt.define();function Fa(t,e,n={}){let r={};for(let s of t)for(let i of Object.keys(s)){let a=s[i],o=r[i];if(o===void 0)r[i]=a;else if(!(o===a||a===void 0))if(Object.hasOwnProperty.call(n,i))r[i]=n[i](o,a);else throw new Error("Config merge conflict for field "+i)}for(let s in e)r[s]===void 0&&(r[s]=e[s]);return r}class au{eq(e){return this==e}range(e,n=e){return o3.create(e,n,this)}}au.prototype.startSide=au.prototype.endSide=0;au.prototype.point=!1;au.prototype.mapMode=rs.TrackDel;let o3=class MP{constructor(e,n,r){this.from=e,this.to=n,this.value=r}static create(e,n,r){return new MP(e,n,r)}};function c3(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class Ek{constructor(e,n,r,s){this.from=e,this.to=n,this.value=r,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,n,r,s=0){let i=r?this.to:this.from;for(let a=s,o=i.length;;){if(a==o)return a;let u=a+o>>1,h=i[u]-e||(r?this.value[u].endSide:this.value[u].startSide)-n;if(u==a)return h>=0?a:o;h>=0?o=u:a=u+1}}between(e,n,r,s){for(let i=this.findIndex(n,-1e9,!0),a=this.findIndex(r,1e9,!1,i);ix||g==x&&h.startSide>0&&h.endSide<=0)continue;(x-g||h.endSide-h.startSide)<0||(a<0&&(a=g),h.point&&(o=Math.max(o,x-g)),r.push(h),s.push(g-a),i.push(x-a))}return{mapped:r.length?new Ek(s,i,r,o):null,pos:a}}}class rn{constructor(e,n,r,s){this.chunkPos=e,this.chunk=n,this.nextLayer=r,this.maxPoint=s}static create(e,n,r,s){return new rn(e,n,r,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let n of this.chunk)e+=n.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:n=[],sort:r=!1,filterFrom:s=0,filterTo:i=this.length}=e,a=e.filter;if(n.length==0&&!a)return this;if(r&&(n=n.slice().sort(c3)),this.isEmpty)return n.length?rn.of(n):this;let o=new AP(this,null,-1).goto(0),u=0,h=[],f=new $l;for(;o.value||u=0){let m=n[u++];f.addInner(m.from,m.to,m.value)||h.push(m)}else o.rangeIndex==1&&o.chunkIndexthis.chunkEnd(o.chunkIndex)||io.to||i=i&&e<=i+a.length&&a.between(i,e-i,n-i,r)===!1)return}this.nextLayer.between(e,n,r)}}iter(e=0){return wm.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,n=0){return wm.from(e).goto(n)}static compare(e,n,r,s,i=-1){let a=e.filter(m=>m.maxPoint>0||!m.isEmpty&&m.maxPoint>=i),o=n.filter(m=>m.maxPoint>0||!m.isEmpty&&m.maxPoint>=i),u=yC(a,o,r),h=new Mf(a,u,i),f=new Mf(o,u,i);r.iterGaps((m,g,x)=>bC(h,m,f,g,x,s)),r.empty&&r.length==0&&bC(h,0,f,0,0,s)}static eq(e,n,r=0,s){s==null&&(s=999999999);let i=e.filter(f=>!f.isEmpty&&n.indexOf(f)<0),a=n.filter(f=>!f.isEmpty&&e.indexOf(f)<0);if(i.length!=a.length)return!1;if(!i.length)return!0;let o=yC(i,a),u=new Mf(i,o,0).goto(r),h=new Mf(a,o,0).goto(r);for(;;){if(u.to!=h.to||!u3(u.active,h.active)||u.point&&(!h.point||!u.point.eq(h.point)))return!1;if(u.to>s)return!0;u.next(),h.next()}}static spans(e,n,r,s,i=-1){let a=new Mf(e,null,i).goto(n),o=n,u=a.openStart;for(;;){let h=Math.min(a.to,r);if(a.point){let f=a.activeForPoint(a.to),m=a.pointFromo&&(s.span(o,h,a.active,u),u=a.openEnd(h));if(a.to>r)return u+(a.point&&a.to>r?1:0);o=a.to,a.next()}}static of(e,n=!1){let r=new $l;for(let s of e instanceof o3?[e]:n?Ste(e):e)r.add(s.from,s.to,s.value);return r.finish()}static join(e){if(!e.length)return rn.empty;let n=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let s=e[r];s!=rn.empty;s=s.nextLayer)n=new rn(s.chunkPos,s.chunk,n,Math.max(s.maxPoint,n.maxPoint));return n}}rn.empty=new rn([],[],null,-1);function Ste(t){if(t.length>1)for(let e=t[0],n=1;n0)return t.slice().sort(c3);e=r}return t}rn.empty.nextLayer=rn.empty;class $l{finishChunk(e){this.chunks.push(new Ek(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,n,r){this.addInner(e,n,r)||(this.nextLayer||(this.nextLayer=new $l)).add(e,n,r)}addInner(e,n,r){let s=e-this.lastTo||r.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(n-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=n,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,n-e)),!0)}addChunk(e,n){if((e-this.lastTo||n.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,n.maxPoint),this.chunks.push(n),this.chunkPos.push(e);let r=n.value.length-1;return this.last=n.value[r],this.lastFrom=n.from[r]+e,this.lastTo=n.to[r]+e,!0}finish(){return this.finishInner(rn.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let n=rn.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,n}}function yC(t,e,n){let r=new Map;for(let i of t)for(let a=0;a=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=r&&s.push(new AP(a,n,r,i));return s.length==1?s[0]:new wm(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,n=-1e9){for(let r of this.heap)r.goto(e,n);for(let r=this.heap.length>>1;r>=0;r--)k2(this.heap,r);return this.next(),this}forward(e,n){for(let r of this.heap)r.forward(e,n);for(let r=this.heap.length>>1;r>=0;r--)k2(this.heap,r);(this.to-e||this.value.endSide-n)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),k2(this.heap,0)}}}function k2(t,e){for(let n=t[e];;){let r=(e<<1)+1;if(r>=t.length)break;let s=t[r];if(r+1=0&&(s=t[r+1],r++),n.compare(s)<0)break;t[r]=n,t[e]=s,e=r}}class Mf{constructor(e,n,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=wm.from(e,n,r)}goto(e,n=-1e9){return this.cursor.goto(e,n),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=n,this.openStart=-1,this.next(),this}forward(e,n){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-n)<0;)this.removeActive(this.minActive);this.cursor.forward(e,n)}removeActive(e){wg(this.active,e),wg(this.activeTo,e),wg(this.activeRank,e),this.minActive=wC(this.active,this.activeTo)}addActive(e){let n=0,{value:r,to:s,rank:i}=this.cursor;for(;n0;)n++;Sg(this.active,n,r),Sg(this.activeTo,n,s),Sg(this.activeRank,n,i),e&&Sg(e,n,this.cursor.from),this.minActive=wC(this.active,this.activeTo)}next(){let e=this.to,n=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),r&&wg(r,s)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let i=this.cursor.value;if(!i.point)this.addActive(r),this.cursor.next();else if(n&&this.cursor.to==this.to&&this.cursor.from=0&&r[s]=0&&!(this.activeRank[r]e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&n.push(this.active[r]);return n.reverse()}openEnd(e){let n=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)n++;return n}}function bC(t,e,n,r,s,i){t.goto(e),n.goto(r);let a=r+s,o=r,u=r-e;for(;;){let h=t.to+u-n.to,f=h||t.endSide-n.endSide,m=f<0?t.to+u:n.to,g=Math.min(m,a);if(t.point||n.point?t.point&&n.point&&(t.point==n.point||t.point.eq(n.point))&&u3(t.activeForPoint(t.to),n.activeForPoint(n.to))||i.comparePoint(o,g,t.point,n.point):g>o&&!u3(t.active,n.active)&&i.compareRange(o,g,t.active,n.active),m>a)break;(h||t.openEnd!=n.openEnd)&&i.boundChange&&i.boundChange(m),o=m,f<=0&&t.next(),f>=0&&n.next()}}function u3(t,e){if(t.length!=e.length)return!1;for(let n=0;n=e;r--)t[r+1]=t[r];t[e]=n}function wC(t,e){let n=-1,r=1e9;for(let s=0;s=e)return s;if(s==t.length)break;i+=t.charCodeAt(s)==9?n-i%n:1,s=ss(t,s)}return r===!0?-1:t.length}const h3="ͼ",SC=typeof Symbol>"u"?"__"+h3:Symbol.for(h3),f3=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),kC=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Xo{constructor(e,n){this.rules=[];let{finish:r}=n||{};function s(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function i(a,o,u,h){let f=[],m=/^@(\w+)\b/.exec(a[0]),g=m&&m[1]=="keyframes";if(m&&o==null)return u.push(a[0]+";");for(let x in o){let y=o[x];if(/&/.test(x))i(x.split(/,\s*/).map(w=>a.map(b=>w.replace(/&/,b))).reduce((w,b)=>w.concat(b)),y,u);else if(y&&typeof y=="object"){if(!m)throw new RangeError("The value of a property ("+x+") should be a primitive value.");i(s(x),y,f,g)}else y!=null&&f.push(x.replace(/_.*/,"").replace(/[A-Z]/g,w=>"-"+w.toLowerCase())+": "+y+";")}(f.length||g)&&u.push((r&&!m&&!h?a.map(r):a).join(", ")+" {"+f.join(" ")+"}")}for(let a in e)i(s(a),e[a],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=kC[SC]||1;return kC[SC]=e+1,h3+e.toString(36)}static mount(e,n,r){let s=e[f3],i=r&&r.nonce;s?i&&s.setNonce(i):s=new kte(e,i),s.mount(Array.isArray(n)?n:[n],e)}}let OC=new Map;class kte{constructor(e,n){let r=e.ownerDocument||e,s=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let i=OC.get(r);if(i)return e[f3]=i;this.sheet=new s.CSSStyleSheet,OC.set(r,this)}else this.styleTag=r.createElement("style"),n&&this.styleTag.setAttribute("nonce",n);this.modules=[],e[f3]=this}mount(e,n){let r=this.sheet,s=0,i=0;for(let a=0;a-1&&(this.modules.splice(u,1),i--,u=-1),u==-1){if(this.modules.splice(i++,0,o),r)for(let h=0;h",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Ote=typeof navigator<"u"&&/Mac/.test(navigator.platform),jte=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var ns=0;ns<10;ns++)Yo[48+ns]=Yo[96+ns]=String(ns);for(var ns=1;ns<=24;ns++)Yo[ns+111]="F"+ns;for(var ns=65;ns<=90;ns++)Yo[ns]=String.fromCharCode(ns+32),Sm[ns]=String.fromCharCode(ns);for(var O2 in Yo)Sm.hasOwnProperty(O2)||(Sm[O2]=Yo[O2]);function Nte(t){var e=Ote&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||jte&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?Sm:Yo)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function In(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var s=n[r];typeof s=="string"?t.setAttribute(r,s):s!=null&&(t[r]=s)}e++}for(;e2);var We={mac:NC||/Mac/.test(bs.platform),windows:/Win/.test(bs.platform),linux:/Linux|X11/.test(bs.platform),ie:uv,ie_version:DP?m3.documentMode||6:g3?+g3[1]:p3?+p3[1]:0,gecko:jC,gecko_version:jC?+(/Firefox\/(\d+)/.exec(bs.userAgent)||[0,0])[1]:0,chrome:!!j2,chrome_version:j2?+j2[1]:0,ios:NC,android:/Android\b/.test(bs.userAgent),webkit_version:Cte?+(/\bAppleWebKit\/(\d+)/.exec(bs.userAgent)||[0,0])[1]:0,safari:x3,safari_version:x3?+(/\bVersion\/(\d+(\.\d+)?)/.exec(bs.userAgent)||[0,0])[1]:0,tabSize:m3.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function km(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function v3(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function jx(t,e){if(!e.anchorNode)return!1;try{return v3(t,e.anchorNode)}catch{return!1}}function th(t){return t.nodeType==3?ou(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function am(t,e,n,r){return n?CC(t,e,n,r,-1)||CC(t,e,n,r,1):!1}function lu(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function n1(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function CC(t,e,n,r,s){for(;;){if(t==n&&e==r)return!0;if(e==(s<0?0:Ba(t))){if(t.nodeName=="DIV")return!1;let i=t.parentNode;if(!i||i.nodeType!=1)return!1;e=lu(t)+(s<0?0:1),t=i}else if(t.nodeType==1){if(t=t.childNodes[e+(s<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=s<0?Ba(t):0}else return!1}}function Ba(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function m0(t,e){let n=e?t.left:t.right;return{left:n,right:n,top:t.top,bottom:t.bottom}}function Tte(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function zP(t,e){let n=e.width/t.offsetWidth,r=e.height/t.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.width-t.offsetWidth)<1)&&(n=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-t.offsetHeight)<1)&&(r=1),{scaleX:n,scaleY:r}}function Ete(t,e,n,r,s,i,a,o){let u=t.ownerDocument,h=u.defaultView||window;for(let f=t,m=!1;f&&!m;)if(f.nodeType==1){let g,x=f==u.body,y=1,w=1;if(x)g=Tte(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(f).position)&&(m=!0),f.scrollHeight<=f.clientHeight&&f.scrollWidth<=f.clientWidth){f=f.assignedSlot||f.parentNode;continue}let N=f.getBoundingClientRect();({scaleX:y,scaleY:w}=zP(f,N)),g={left:N.left,right:N.left+f.clientWidth*y,top:N.top,bottom:N.top+f.clientHeight*w}}let b=0,k=0;if(s=="nearest")e.top0&&e.bottom>g.bottom+k&&(k=e.bottom-g.bottom+a)):e.bottom>g.bottom&&(k=e.bottom-g.bottom+a,n<0&&e.top-k0&&e.right>g.right+b&&(b=e.right-g.right+i)):e.right>g.right&&(b=e.right-g.right+i,n<0&&e.leftg.bottom||e.leftg.right)&&(e={left:Math.max(e.left,g.left),right:Math.min(e.right,g.right),top:Math.max(e.top,g.top),bottom:Math.min(e.bottom,g.bottom)}),f=f.assignedSlot||f.parentNode}else if(f.nodeType==11)f=f.host;else break}function _te(t){let e=t.ownerDocument,n,r;for(let s=t.parentNode;s&&!(s==e.body||n&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),!n&&s.scrollWidth>s.clientWidth&&(n=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:n,y:r}}class Mte{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:n,focusNode:r}=e;this.set(n,Math.min(e.anchorOffset,n?Ba(n):0),r,Math.min(e.focusOffset,r?Ba(r):0))}set(e,n,r,s){this.anchorNode=e,this.anchorOffset=n,this.focusNode=r,this.focusOffset=s}}let Ic=null;We.safari&&We.safari_version>=26&&(Ic=!1);function PP(t){if(t.setActive)return t.setActive();if(Ic)return t.focus(Ic);let e=[];for(let n=t;n&&(e.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(t.focus(Ic==null?{get preventScroll(){return Ic={preventScroll:!0},!0}}:void 0),!Ic){Ic=!1;for(let n=0;nMath.max(1,t.scrollHeight-t.clientHeight-4)}function IP(t,e){for(let n=t,r=e;;){if(n.nodeType==3&&r>0)return{node:n,offset:r};if(n.nodeType==1&&r>0){if(n.contentEditable=="false")return null;n=n.childNodes[r-1],r=Ba(n)}else if(n.parentNode&&!n1(n))r=lu(n),n=n.parentNode;else return null}}function qP(t,e){for(let n=t,r=e;;){if(n.nodeType==3&&rn)return m.domBoundsAround(e,n,h);if(g>=e&&s==-1&&(s=u,i=h),h>n&&m.dom.parentNode==this.dom){a=u,o=f;break}f=g,h=g+m.breakAfter}return{from:i,to:o<0?r+this.length:o,startDOM:(s?this.children[s-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:a=0?this.children[a].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let n=this.parent;n;n=n.parent){if(e&&(n.flags|=2),n.flags&1)return;n.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let n=e.parent;if(!n)return e;e=n}}replaceChildren(e,n,r=_k){this.markDirty();for(let s=e;sthis.pos||e==this.pos&&(n>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let r=this.children[--this.i];this.pos-=r.length+r.breakAfter}}}function $P(t,e,n,r,s,i,a,o,u){let{children:h}=t,f=h.length?h[e]:null,m=i.length?i[i.length-1]:null,g=m?m.breakAfter:a;if(!(e==r&&f&&!a&&!g&&i.length<2&&f.merge(n,s,i.length?m:null,n==0,o,u))){if(r0&&(!a&&i.length&&f.merge(n,f.length,i[0],!1,o,0)?f.breakAfter=i.shift().breakAfter:(nDte||r.flags&8)?!1:(this.text=this.text.slice(0,e)+(r?r.text:"")+this.text.slice(n),this.markDirty(),!0)}split(e){let n=new ra(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),n.flags|=this.flags&8,n}localPosFromDOM(e,n){return e==this.dom?n:n?this.text.length:0}domAtPos(e){return new hs(this.dom,e)}domBoundsAround(e,n,r){return{from:r,to:r+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,n){return zte(this.dom,e,n)}}class Ql extends Dn{constructor(e,n=[],r=0){super(),this.mark=e,this.children=n,this.length=r;for(let s of n)s.setParent(this)}setAttrs(e){if(LP(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let n in this.mark.attrs)e.setAttribute(n,this.mark.attrs[n]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,n){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,n)}merge(e,n,r,s,i,a){return r&&(!(r instanceof Ql&&r.mark.eq(this.mark))||e&&i<=0||ne&&n.push(r=e&&(s=i),r=u,i++}let a=this.length-e;return this.length=e,s>-1&&(this.children.length=s,this.markDirty()),new Ql(this.mark,n,a)}domAtPos(e){return HP(this,e)}coordsAt(e,n){return UP(this,e,n)}}function zte(t,e,n){let r=t.nodeValue.length;e>r&&(e=r);let s=e,i=e,a=0;e==0&&n<0||e==r&&n>=0?We.chrome||We.gecko||(e?(s--,a=1):i=0)?0:o.length-1];return We.safari&&!a&&u.width==0&&(u=Array.prototype.find.call(o,h=>h.width)||u),a?m0(u,a<0):u||null}class _l extends Dn{static create(e,n,r){return new _l(e,n,r)}constructor(e,n,r){super(),this.widget=e,this.length=n,this.side=r,this.prevWidget=null}split(e){let n=_l.create(this.widget,this.length-e,this.side);return this.length-=e,n}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,n,r,s,i,a){return r&&(!(r instanceof _l)||!this.widget.compare(r.widget)||e>0&&i<=0||n0)?hs.before(this.dom):hs.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,n){let r=this.widget.coordsAt(this.dom,e,n);if(r)return r;let s=this.dom.getClientRects(),i=null;if(!s.length)return null;let a=this.side?this.side<0:e>0;for(let o=a?s.length-1:0;i=s[o],!(e>0?o==0:o==s.length-1||i.top0?hs.before(this.dom):hs.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return nn.empty}get isHidden(){return!0}}ra.prototype.children=_l.prototype.children=nh.prototype.children=_k;function HP(t,e){let n=t.dom,{children:r}=t,s=0;for(let i=0;si&&e0;i--){let a=r[i-1];if(a.dom.parentNode==n)return a.domAtPos(a.length)}for(let i=s;i0&&e instanceof Ql&&s.length&&(r=s[s.length-1])instanceof Ql&&r.mark.eq(e.mark)?VP(r,e.children[0],n-1):(s.push(e),e.setParent(t)),t.length+=e.length}function UP(t,e,n){let r=null,s=-1,i=null,a=-1;function o(h,f){for(let m=0,g=0;m=f&&(x.children.length?o(x,f-g):(!i||i.isHidden&&(n>0||Lte(i,x)))&&(y>f||g==y&&x.getSide()>0)?(i=x,a=f-g):(g-1?1:0)!=s.length-(n&&s.indexOf(n)>-1?1:0))return!1;for(let i of r)if(i!=n&&(s.indexOf(i)==-1||t[i]!==e[i]))return!1;return!0}function b3(t,e,n){let r=!1;if(e)for(let s in e)n&&s in n||(r=!0,s=="style"?t.style.cssText="":t.removeAttribute(s));if(n)for(let s in n)e&&e[s]==n[s]||(r=!0,s=="style"?t.style.cssText=n[s]:t.setAttribute(s,n[s]));return r}function Bte(t){let e=Object.create(null);for(let n=0;n0?3e8:-4e8:n>0?1e8:-1e8,new Zo(e,n,n,r,e.widget||null,!1)}static replace(e){let n=!!e.block,r,s;if(e.isBlockGap)r=-5e8,s=4e8;else{let{start:i,end:a}=WP(e,n);r=(i?n?-3e8:-1:5e8)-1,s=(a?n?2e8:1:-6e8)+1}return new Zo(e,r,s,n,e.widget||null,!0)}static line(e){return new g0(e)}static set(e,n=!1){return rn.of(e,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}ot.none=rn.empty;class p0 extends ot{constructor(e){let{start:n,end:r}=WP(e);super(n?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var n,r;return this==e||e instanceof p0&&this.tagName==e.tagName&&(this.class||((n=this.attrs)===null||n===void 0?void 0:n.class))==(e.class||((r=e.attrs)===null||r===void 0?void 0:r.class))&&r1(this.attrs,e.attrs,"class")}range(e,n=e){if(e>=n)throw new RangeError("Mark decorations may not be empty");return super.range(e,n)}}p0.prototype.point=!1;class g0 extends ot{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof g0&&this.spec.class==e.spec.class&&r1(this.spec.attributes,e.spec.attributes)}range(e,n=e){if(n!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,n)}}g0.prototype.mapMode=rs.TrackBefore;g0.prototype.point=!0;class Zo extends ot{constructor(e,n,r,s,i,a){super(n,r,i,e),this.block=s,this.isReplace=a,this.mapMode=s?n<=0?rs.TrackBefore:rs.TrackAfter:rs.TrackDel}get type(){return this.startSide!=this.endSide?ks.WidgetRange:this.startSide<=0?ks.WidgetBefore:ks.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Zo&&Ite(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,n=e){if(this.isReplace&&(e>n||e==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,n)}}Zo.prototype.point=!0;function WP(t,e=!1){let{inclusiveStart:n,inclusiveEnd:r}=t;return n==null&&(n=t.inclusive),r==null&&(r=t.inclusive),{start:n??e,end:r??e}}function Ite(t,e){return t==e||!!(t&&e&&t.compare(e))}function Nx(t,e,n,r=0){let s=n.length-1;s>=0&&n[s]+r>=t?n[s]=Math.max(n[s],e):n.push(t,e)}class Tr extends Dn{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,n,r,s,i,a){if(r){if(!(r instanceof Tr))return!1;this.dom||r.transferDOM(this)}return s&&this.setDeco(r?r.attrs:null),QP(this,e,n,r?r.children.slice():[],i,a),!0}split(e){let n=new Tr;if(n.breakAfter=this.breakAfter,this.length==0)return n;let{i:r,off:s}=this.childPos(e);s&&(n.append(this.children[r].split(s),0),this.children[r].merge(s,this.children[r].length,null,!1,0,0),r++);for(let i=r;i0&&this.children[r-1].length==0;)this.children[--r].destroy();return this.children.length=r,this.markDirty(),this.length=e,n}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){r1(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,n){VP(this,e,n)}addLineDeco(e){let n=e.spec.attributes,r=e.spec.class;n&&(this.attrs=y3(n,this.attrs||{})),r&&(this.attrs=y3({class:r},this.attrs||{}))}domAtPos(e){return HP(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,n){var r;this.dom?this.flags&4&&(LP(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(b3(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,n);let s=this.dom.lastChild;for(;s&&Dn.get(s)instanceof Ql;)s=s.lastChild;if(!s||!this.length||s.nodeName!="BR"&&((r=Dn.get(s))===null||r===void 0?void 0:r.isEditable)==!1&&(!We.ios||!this.children.some(i=>i instanceof ra))){let i=document.createElement("BR");i.cmIgnore=!0,this.dom.appendChild(i)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,n;for(let r of this.children){if(!(r instanceof ra)||/[^ -~]/.test(r.text))return null;let s=th(r.dom);if(s.length!=1)return null;e+=s[0].width,n=s[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:n}:null}coordsAt(e,n){let r=UP(this,e,n);if(!this.children.length&&r&&this.parent){let{heightOracle:s}=this.parent.view.viewState,i=r.bottom-r.top;if(Math.abs(i-s.lineHeight)<2&&s.textHeight=n){if(i instanceof Tr)return i;if(a>n)break}s=a+i.breakAfter}return null}}class zl extends Dn{constructor(e,n,r){super(),this.widget=e,this.length=n,this.deco=r,this.breakAfter=0,this.prevWidget=null}merge(e,n,r,s,i,a){return r&&(!(r instanceof zl)||!this.widget.compare(r.widget)||e>0&&i<=0||n0}}class w3 extends $a{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class lm{constructor(e,n,r,s){this.doc=e,this.pos=n,this.end=r,this.disallowBlockEffectsFor=s,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=n}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof zl&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Tr),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(kg(new nh(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof zl)&&this.getLine()}buildText(e,n,r){for(;e>0;){if(this.textOff==this.text.length){let{value:a,lineBreak:o,done:u}=this.cursor.next(this.skip);if(this.skip=0,u)throw new Error("Ran out of text content when drawing inline views");if(o){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=a,this.textOff=0}let s=Math.min(this.text.length-this.textOff,e),i=Math.min(s,512);this.flushBuffer(n.slice(n.length-r)),this.getLine().append(kg(new ra(this.text.slice(this.textOff,this.textOff+i)),n),r),this.atCursorPos=!0,this.textOff+=i,e-=i,r=s<=i?0:n.length}}span(e,n,r,s){this.buildText(n-e,r,s),this.pos=n,this.openStart<0&&(this.openStart=s)}point(e,n,r,s,i,a){if(this.disallowBlockEffectsFor[a]&&r instanceof Zo){if(r.block)throw new RangeError("Block decorations may not be specified via plugins");if(n>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=n-e;if(r instanceof Zo)if(r.block)r.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new zl(r.widget||rh.block,o,r));else{let u=_l.create(r.widget||rh.inline,o,o?0:r.startSide),h=this.atCursorPos&&!u.isEditable&&i<=s.length&&(e0),f=!u.isEditable&&(es.length||r.startSide<=0),m=this.getLine();this.pendingBuffer==2&&!h&&!u.isEditable&&(this.pendingBuffer=0),this.flushBuffer(s),h&&(m.append(kg(new nh(1),s),i),i=s.length+Math.max(0,i-s.length)),m.append(kg(u,s),i),this.atCursorPos=f,this.pendingBuffer=f?es.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=s.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(r);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=n),this.openStart<0&&(this.openStart=i)}static build(e,n,r,s,i){let a=new lm(e,n,r,i);return a.openEnd=rn.spans(s,n,r,a),a.openStart<0&&(a.openStart=a.openEnd),a.finish(a.openEnd),a}}function kg(t,e){for(let n of e)t=new Ql(n,[t],t.length);return t}class rh extends $a{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}rh.inline=new rh("span");rh.block=new rh("div");var Zn=(function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t})(Zn||(Zn={}));const cu=Zn.LTR,Mk=Zn.RTL;function GP(t){let e=[];for(let n=0;n=n){if(o.level==r)return a;(i<0||(s!=0?s<0?o.fromn:e[i].level>o.level))&&(i=a)}}if(i<0)throw new RangeError("Index out of range");return i}}function YP(t,e){if(t.length!=e.length)return!1;for(let n=0;n=0;w-=3)if(va[w+1]==-x){let b=va[w+2],k=b&2?s:b&4?b&1?i:s:0;k&&(qn[m]=qn[va[w]]=k),o=w;break}}else{if(va.length==189)break;va[o++]=m,va[o++]=g,va[o++]=u}else if((y=qn[m])==2||y==1){let w=y==s;u=w?0:1;for(let b=o-3;b>=0;b-=3){let k=va[b+2];if(k&2)break;if(w)va[b+2]|=2;else{if(k&4)break;va[b+2]|=4}}}}}function Vte(t,e,n,r){for(let s=0,i=r;s<=n.length;s++){let a=s?n[s-1].to:t,o=su;)y==b&&(y=n[--w].from,b=w?n[w-1].to:t),qn[--y]=x;u=f}else i=h,u++}}}function k3(t,e,n,r,s,i,a){let o=r%2?2:1;if(r%2==s%2)for(let u=e,h=0;uu&&a.push(new $o(u,w.from,x));let b=w.direction==cu!=!(x%2);O3(t,b?r+1:r,s,w.inner,w.from,w.to,a),u=w.to}y=w.to}else{if(y==n||(f?qn[y]!=o:qn[y]==o))break;y++}g?k3(t,u,y,r+1,s,g,a):ue;){let f=!0,m=!1;if(!h||u>i[h-1].to){let w=qn[u-1];w!=o&&(f=!1,m=w==16)}let g=!f&&o==1?[]:null,x=f?r:r+1,y=u;e:for(;;)if(h&&y==i[h-1].to){if(m)break e;let w=i[--h];if(!f)for(let b=w.from,k=h;;){if(b==e)break e;if(k&&i[k-1].to==b)b=i[--k].from;else{if(qn[b-1]==o)break e;break}}if(g)g.push(w);else{w.toqn.length;)qn[qn.length]=256;let r=[],s=e==cu?0:1;return O3(t,s,s,n,0,t.length,r),r}function ZP(t){return[new $o(0,t,0)]}let KP="";function Wte(t,e,n,r,s){var i;let a=r.head-t.from,o=$o.find(e,a,(i=r.bidiLevel)!==null&&i!==void 0?i:-1,r.assoc),u=e[o],h=u.side(s,n);if(a==h){let g=o+=s?1:-1;if(g<0||g>=e.length)return null;u=e[o=g],a=u.side(!s,n),h=u.side(s,n)}let f=ss(t.text,a,u.forward(s,n));(fu.to)&&(f=h),KP=t.text.slice(Math.min(a,f),Math.max(a,f));let m=o==(s?e.length-1:0)?null:e[o+(s?1:-1)];return m&&f==h&&m.level+(s?0:1)t.some(e=>e)}),aL=Ye.define({combine:t=>t.some(e=>e)}),lL=Ye.define();class Bd{constructor(e,n="nearest",r="nearest",s=5,i=5,a=!1){this.range=e,this.y=n,this.x=r,this.yMargin=s,this.xMargin=i,this.isSnapshot=a}map(e){return e.empty?this:new Bd(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new Bd(Me.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Og=Nt.define({map:(t,e)=>t.map(e)}),oL=Nt.define();function Fs(t,e,n){let r=t.facet(nL);r.length?r[0](e):window.onerror&&window.onerror(String(e),n,void 0,void 0,e)||(n?console.error(n+":",e):console.error(e))}const El=Ye.define({combine:t=>t.length?t[0]:!0});let Xte=0;const Ed=Ye.define({combine(t){return t.filter((e,n)=>{for(let r=0;r{let u=[];return a&&u.push(Om.of(h=>{let f=h.plugin(o);return f?a(f):ot.none})),i&&u.push(i(o)),u})}static fromClass(e,n){return wr.define((r,s)=>new e(r,s),n)}}class N2{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(r){if(Fs(n.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(n){Fs(e.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(r){Fs(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const cL=Ye.define(),Dk=Ye.define(),Om=Ye.define(),uL=Ye.define(),x0=Ye.define(),dL=Ye.define();function MC(t,e){let n=t.state.facet(dL);if(!n.length)return n;let r=n.map(i=>i instanceof Function?i(t):i),s=[];return rn.spans(r,e.from,e.to,{point(){},span(i,a,o,u){let h=i-e.from,f=a-e.from,m=s;for(let g=o.length-1;g>=0;g--,u--){let x=o[g].spec.bidiIsolate,y;if(x==null&&(x=Gte(e.text,h,f)),u>0&&m.length&&(y=m[m.length-1]).to==h&&y.direction==x)y.to=f,m=y.inner;else{let w={from:h,to:f,direction:x,inner:[]};m.push(w),m=w.inner}}}}),s}const hL=Ye.define();function zk(t){let e=0,n=0,r=0,s=0;for(let i of t.state.facet(hL)){let a=i(t);a&&(a.left!=null&&(e=Math.max(e,a.left)),a.right!=null&&(n=Math.max(n,a.right)),a.top!=null&&(r=Math.max(r,a.top)),a.bottom!=null&&(s=Math.max(s,a.bottom)))}return{left:e,right:n,top:r,bottom:s}}const Vf=Ye.define();class Bi{constructor(e,n,r,s){this.fromA=e,this.toA=n,this.fromB=r,this.toB=s}join(e){return new Bi(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let n=e.length,r=this;for(;n>0;n--){let s=e[n-1];if(!(s.fromA>r.toA)){if(s.toAf)break;i+=2}if(!u)return r;new Bi(u.fromA,u.toA,u.fromB,u.toB).addToSet(r),a=u.toA,o=u.toB}}}class s1{constructor(e,n,r){this.view=e,this.state=n,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Br.empty(this.startState.doc.length);for(let i of r)this.changes=this.changes.compose(i.changes);let s=[];this.changes.iterChangedRanges((i,a,o,u)=>s.push(new Bi(i,a,o,u))),this.changedRanges=s}static create(e,n,r){return new s1(e,n,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}class AC extends Dn{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=ot.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new Tr],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Bi(0,0,0,e.state.doc.length)],0,null)}update(e){var n;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:h,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((n=this.domChanged)===null||n===void 0)&&n.newSel?s=this.domChanged.newSel.head:!nne(e.changes,this.hasComposition)&&!e.selectionSet&&(s=e.state.selection.main.head));let i=s>-1?Zte(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:h,to:f}=this.hasComposition;r=new Bi(h,f,e.changes.mapPos(h,-1),e.changes.mapPos(f,1)).addToSet(r.slice())}this.hasComposition=i?{from:i.range.fromB,to:i.range.toB}:null,(We.ie||We.chrome)&&!i&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,o=this.updateDeco(),u=ene(a,o,e.changes);return r=Bi.extendWithRanges(r,u),!(this.flags&7)&&r.length==0?!1:(this.updateInner(r,e.startState.doc.length,i),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,n,r){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,n,r);let{observer:s}=this.view;s.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let a=We.chrome||We.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,a),this.flags&=-8,a&&(a.written||s.selectionRange.focusNode!=a.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(a=>a.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to=0?s[a]:null;if(!o)break;let{fromA:u,toA:h,fromB:f,toB:m}=o,g,x,y,w;if(r&&r.range.fromBf){let T=lm.build(this.view.state.doc,f,r.range.fromB,this.decorations,this.dynamicDecorationMap),E=lm.build(this.view.state.doc,r.range.toB,m,this.decorations,this.dynamicDecorationMap);x=T.breakAtStart,y=T.openStart,w=E.openEnd;let _=this.compositionView(r);E.breakAtStart?_.breakAfter=1:E.content.length&&_.merge(_.length,_.length,E.content[0],!1,E.openStart,0)&&(_.breakAfter=E.content[0].breakAfter,E.content.shift()),T.content.length&&_.merge(0,0,T.content[T.content.length-1],!0,0,T.openEnd)&&T.content.pop(),g=T.content.concat(_).concat(E.content)}else({content:g,breakAtStart:x,openStart:y,openEnd:w}=lm.build(this.view.state.doc,f,m,this.decorations,this.dynamicDecorationMap));let{i:b,off:k}=i.findPos(h,1),{i:N,off:C}=i.findPos(u,-1);$P(this,N,C,b,k,g,x,y,w)}r&&this.fixCompositionDOM(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let n of e.transactions)for(let r of n.effects)r.is(oL)&&(this.editContextFormatting=r.value)}compositionView(e){let n=new ra(e.text.nodeValue);n.flags|=8;for(let{deco:s}of e.marks)n=new Ql(s,[n],n.length);let r=new Tr;return r.append(n,0),r}fixCompositionDOM(e){let n=(i,a)=>{a.flags|=8|(a.children.some(u=>u.flags&7)?1:0),this.markedForComposition.add(a);let o=Dn.get(i);o&&o!=a&&(o.dom=null),a.setDOM(i)},r=this.childPos(e.range.fromB,1),s=this.children[r.i];n(e.line,s);for(let i=e.marks.length-1;i>=-1;i--)r=s.childPos(r.off,1),s=s.children[r.i],n(i>=0?e.marks[i].node:e.text,s)}updateSelection(e=!1,n=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let r=this.view.root.activeElement,s=r==this.dom,i=!s&&!(this.view.state.facet(El)||this.dom.tabIndex>-1)&&jx(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(s||n||i))return;let a=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,u=this.moveToLine(this.domAtPos(o.anchor)),h=o.empty?u:this.moveToLine(this.domAtPos(o.head));if(We.gecko&&o.empty&&!this.hasComposition&&Yte(u)){let m=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(m,u.node.childNodes[u.offset]||null)),u=h=new hs(m,0),a=!0}let f=this.view.observer.selectionRange;(a||!f.focusNode||(!am(u.node,u.offset,f.anchorNode,f.anchorOffset)||!am(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,o))&&(this.view.observer.ignore(()=>{We.android&&We.chrome&&this.dom.contains(f.focusNode)&&tne(f.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let m=km(this.view.root);if(m)if(o.empty){if(We.gecko){let g=Kte(u.node,u.offset);if(g&&g!=3){let x=(g==1?IP:qP)(u.node,u.offset);x&&(u=new hs(x.node,x.offset))}}m.collapse(u.node,u.offset),o.bidiLevel!=null&&m.caretBidiLevel!==void 0&&(m.caretBidiLevel=o.bidiLevel)}else if(m.extend){m.collapse(u.node,u.offset);try{m.extend(h.node,h.offset)}catch{}}else{let g=document.createRange();o.anchor>o.head&&([u,h]=[h,u]),g.setEnd(h.node,h.offset),g.setStart(u.node,u.offset),m.removeAllRanges(),m.addRange(g)}i&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,h)),this.impreciseAnchor=u.precise?null:new hs(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new hs(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,n){return this.hasComposition&&n.empty&&am(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==n.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,n=e.state.selection.main,r=km(e.root),{anchorNode:s,anchorOffset:i}=e.observer.selectionRange;if(!r||!n.empty||!n.assoc||!r.modify)return;let a=Tr.find(this,n.head);if(!a)return;let o=a.posAtStart;if(n.head==o||n.head==o+a.length)return;let u=this.coordsAt(n.head,-1),h=this.coordsAt(n.head,1);if(!u||!h||u.bottom>h.top)return;let f=this.domAtPos(n.head+n.assoc);r.collapse(f.node,f.offset),r.modify("move",n.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let m=e.observer.selectionRange;e.docView.posFromDOM(m.anchorNode,m.anchorOffset)!=n.from&&r.collapse(s,i)}moveToLine(e){let n=this.dom,r;if(e.node!=n)return e;for(let s=e.offset;!r&&s=0;s--){let i=Dn.get(n.childNodes[s]);i instanceof Tr&&(r=i.domAtPos(i.length))}return r?new hs(r.node,r.offset,!0):e}nearest(e){for(let n=e;n;){let r=Dn.get(n);if(r&&r.rootView==this)return r;n=n.parentNode}return null}posFromDOM(e,n){let r=this.nearest(e);if(!r)throw new RangeError("Trying to find position for a DOM position outside of the document");return r.localPosFromDOM(e,n)+r.posAtStart}domAtPos(e){let{i:n,off:r}=this.childCursor().findPos(e,-1);for(;n=0;a--){let o=this.children[a],u=i-o.breakAfter,h=u-o.length;if(ue||o.covers(1))&&(!r||o instanceof Tr&&!(r instanceof Tr&&n>=0)))r=o,s=h;else if(r&&h==e&&u==e&&o instanceof zl&&Math.abs(n)<2){if(o.deco.startSide<0)break;a&&(r=null)}i=h}return r?r.coordsAt(e-s,n):null}coordsForChar(e){let{i:n,off:r}=this.childPos(e,1),s=this.children[n];if(!(s instanceof Tr))return null;for(;s.children.length;){let{i:o,off:u}=s.childPos(r,1);for(;;o++){if(o==s.children.length)return null;if((s=s.children[o]).length)break}r=u}if(!(s instanceof ra))return null;let i=ss(s.text,r);if(i==r)return null;let a=ou(s.dom,r,i).getClientRects();for(let o=0;oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,u=this.view.textDirection==Zn.LTR;for(let h=0,f=0;fs)break;if(h>=r){let x=m.dom.getBoundingClientRect();if(n.push(x.height),a){let y=m.dom.lastChild,w=y?th(y):[];if(w.length){let b=w[w.length-1],k=u?b.right-x.left:x.right-b.left;k>o&&(o=k,this.minWidth=i,this.minWidthFrom=h,this.minWidthTo=g)}}}h=g+m.breakAfter}return n}textDirectionAt(e){let{i:n}=this.childPos(e,1);return getComputedStyle(this.children[n].dom).direction=="rtl"?Zn.RTL:Zn.LTR}measureTextSize(){for(let i of this.children)if(i instanceof Tr){let a=i.measureTextSize();if(a)return a}let e=document.createElement("div"),n,r,s;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let i=th(e.firstChild)[0];n=e.getBoundingClientRect().height,r=i?i.width/27:7,s=i?i.height:n,e.remove()}),{lineHeight:n,charWidth:r,textHeight:s}}childCursor(e=this.length){let n=this.children.length;return n&&(e-=this.children[--n].length),new FP(this.children,e,n)}computeBlockGapDeco(){let e=[],n=this.view.viewState;for(let r=0,s=0;;s++){let i=s==n.viewports.length?null:n.viewports[s],a=i?i.from-1:this.length;if(a>r){let o=(n.lineBlockAt(a).bottom-n.lineBlockAt(r).top)/this.view.scaleY;e.push(ot.replace({widget:new w3(o),block:!0,inclusive:!0,isBlockGap:!0}).range(r,a))}if(!i)break;r=i.to+1}return ot.set(e)}updateDeco(){let e=1,n=this.view.state.facet(Om).map(i=>(this.dynamicDecorationMap[e++]=typeof i=="function")?i(this.view):i),r=!1,s=this.view.state.facet(uL).map((i,a)=>{let o=typeof i=="function";return o&&(r=!0),o?i(this.view):i});for(s.length&&(this.dynamicDecorationMap[e++]=r,n.push(rn.join(s))),this.decorations=[this.editContextFormatting,...n,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];en.anchor?-1:1),s;if(!r)return;!n.empty&&(s=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(r={left:Math.min(r.left,s.left),top:Math.min(r.top,s.top),right:Math.max(r.right,s.right),bottom:Math.max(r.bottom,s.bottom)});let i=zk(this.view),a={left:r.left-i.left,top:r.top-i.top,right:r.right+i.right,bottom:r.bottom+i.bottom},{offsetWidth:o,offsetHeight:u}=this.view.scrollDOM;Ete(this.view.scrollDOM,a,n.heads instanceof _l||s.children.some(r);return r(this.children[n])}}function Yte(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function fL(t,e){let n=t.observer.selectionRange;if(!n.focusNode)return null;let r=IP(n.focusNode,n.focusOffset),s=qP(n.focusNode,n.focusOffset),i=r||s;if(s&&r&&s.node!=r.node){let o=Dn.get(s.node);if(!o||o instanceof ra&&o.text!=s.node.nodeValue)i=s;else if(t.docView.lastCompositionAfterCursor){let u=Dn.get(r.node);!u||u instanceof ra&&u.text!=r.node.nodeValue||(i=s)}}if(t.docView.lastCompositionAfterCursor=i!=r,!i)return null;let a=e-i.offset;return{from:a,to:a+i.node.nodeValue.length,node:i.node}}function Zte(t,e,n){let r=fL(t,n);if(!r)return null;let{node:s,from:i,to:a}=r,o=s.nodeValue;if(/[\n\r]/.test(o)||t.state.doc.sliceString(r.from,r.to)!=o)return null;let u=e.invertedDesc,h=new Bi(u.mapPos(i),u.mapPos(a),i,a),f=[];for(let m=s.parentNode;;m=m.parentNode){let g=Dn.get(m);if(g instanceof Ql)f.push({node:m,deco:g.mark});else{if(g instanceof Tr||m.nodeName=="DIV"&&m.parentNode==t.contentDOM)return{range:h,text:s,marks:f,line:m};if(m!=t.contentDOM)f.push({node:m,deco:new p0({inclusive:!0,attributes:Bte(m),tagName:m.tagName.toLowerCase()})});else return null}}}function Kte(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e{re.from&&(n=!0)}),n}function rne(t,e,n=1){let r=t.charCategorizer(e),s=t.doc.lineAt(e),i=e-s.from;if(s.length==0)return Me.cursor(e);i==0?n=1:i==s.length&&(n=-1);let a=i,o=i;n<0?a=ss(s.text,i,!1):o=ss(s.text,i);let u=r(s.text.slice(a,o));for(;a>0;){let h=ss(s.text,a,!1);if(r(s.text.slice(h,a))!=u)break;a=h}for(;ot?e.left-t:Math.max(0,t-e.right)}function ine(t,e){return e.top>t?e.top-t:Math.max(0,t-e.bottom)}function C2(t,e){return t.tope.top+1}function RC(t,e){return et.bottom?{top:t.top,left:t.left,right:t.right,bottom:e}:t}function N3(t,e,n){let r,s,i,a,o=!1,u,h,f,m;for(let y=t.firstChild;y;y=y.nextSibling){let w=th(y);for(let b=0;bC||a==C&&i>N)&&(r=y,s=k,i=N,a=C,o=N?e0:bk.bottom&&(!f||f.bottomk.top)&&(h=y,m=k):f&&C2(f,k)?f=DC(f,k.bottom):m&&C2(m,k)&&(m=RC(m,k.top))}}if(f&&f.bottom>=n?(r=u,s=f):m&&m.top<=n&&(r=h,s=m),!r)return{node:t,offset:0};let g=Math.max(s.left,Math.min(s.right,e));if(r.nodeType==3)return zC(r,g,n);if(o&&r.contentEditable!="false")return N3(r,g,n);let x=Array.prototype.indexOf.call(t.childNodes,r)+(e>=(s.left+s.right)/2?1:0);return{node:t,offset:x}}function zC(t,e,n){let r=t.nodeValue.length,s=-1,i=1e9,a=0;for(let o=0;on?f.top-n:n-f.bottom)-1;if(f.left-1<=e&&f.right+1>=e&&m=(f.left+f.right)/2,x=g;if(We.chrome||We.gecko){let y=ou(t,o).getBoundingClientRect();Math.abs(y.left-f.right)<.1&&(x=!g)}if(m<=0)return{node:t,offset:o+(x?1:0)};s=o+(x?1:0),i=m}}}return{node:t,offset:s>-1?s:a>0?t.nodeValue.length:0}}function mL(t,e,n,r=-1){var s,i;let a=t.contentDOM.getBoundingClientRect(),o=a.top+t.viewState.paddingTop,u,{docHeight:h}=t.viewState,{x:f,y:m}=e,g=m-o;if(g<0)return 0;if(g>h)return t.state.doc.length;for(let T=t.viewState.heightOracle.textHeight/2,E=!1;u=t.elementAtHeight(g),u.type!=ks.Text;)for(;g=r>0?u.bottom+T:u.top-T,!(g>=0&&g<=h);){if(E)return n?null:0;E=!0,r=-r}m=o+g;let x=u.from;if(xt.viewport.to)return t.viewport.to==t.state.doc.length?t.state.doc.length:n?null:PC(t,a,u,f,m);let y=t.dom.ownerDocument,w=t.root.elementFromPoint?t.root:y,b=w.elementFromPoint(f,m);b&&!t.contentDOM.contains(b)&&(b=null),b||(f=Math.max(a.left+1,Math.min(a.right-1,f)),b=w.elementFromPoint(f,m),b&&!t.contentDOM.contains(b)&&(b=null));let k,N=-1;if(b&&((s=t.docView.nearest(b))===null||s===void 0?void 0:s.isEditable)!=!1){if(y.caretPositionFromPoint){let T=y.caretPositionFromPoint(f,m);T&&({offsetNode:k,offset:N}=T)}else if(y.caretRangeFromPoint){let T=y.caretRangeFromPoint(f,m);T&&({startContainer:k,startOffset:N}=T)}k&&(!t.contentDOM.contains(k)||We.safari&&ane(k,N,f)||We.chrome&&lne(k,N,f))&&(k=void 0),k&&(N=Math.min(Ba(k),N))}if(!k||!t.docView.dom.contains(k)){let T=Tr.find(t.docView,x);if(!T)return g>u.top+u.height/2?u.to:u.from;({node:k,offset:N}=N3(T.dom,f,m))}let C=t.docView.nearest(k);if(!C)return null;if(C.isWidget&&((i=C.dom)===null||i===void 0?void 0:i.nodeType)==1){let T=C.dom.getBoundingClientRect();return e.yt.defaultLineHeight*1.5){let o=t.viewState.heightOracle.textHeight,u=Math.floor((s-n.top-(t.defaultLineHeight-o)*.5)/o);i+=u*t.viewState.heightOracle.lineLength}let a=t.state.sliceDoc(n.from,n.to);return n.from+d3(a,i,t.state.tabSize)}function pL(t,e,n){let r,s=t;if(t.nodeType!=3||e!=(r=t.nodeValue.length))return!1;for(;;){let i=s.nextSibling;if(i){if(i.nodeName=="BR")break;return!1}else{let a=s.parentNode;if(!a||a.nodeName=="DIV")break;s=a}}return ou(t,r-1,r).getBoundingClientRect().right>n}function ane(t,e,n){return pL(t,e,n)}function lne(t,e,n){if(e!=0)return pL(t,e,n);for(let s=t;;){let i=s.parentNode;if(!i||i.nodeType!=1||i.firstChild!=s)return!1;if(i.classList.contains("cm-line"))break;s=i}let r=t.nodeType==1?t.getBoundingClientRect():ou(t,0,Math.max(t.nodeValue.length,1)).getBoundingClientRect();return n-r.left>5}function C3(t,e,n){let r=t.lineBlockAt(e);if(Array.isArray(r.type)){let s;for(let i of r.type){if(i.from>e)break;if(!(i.toe)return i;(!s||i.type==ks.Text&&(s.type!=i.type||(n<0?i.frome)))&&(s=i)}}return s||r}return r}function one(t,e,n,r){let s=C3(t,e.head,e.assoc||-1),i=!r||s.type!=ks.Text||!(t.lineWrapping||s.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head);if(i){let a=t.dom.getBoundingClientRect(),o=t.textDirectionAt(s.from),u=t.posAtCoords({x:n==(o==Zn.LTR)?a.right-1:a.left+1,y:(i.top+i.bottom)/2});if(u!=null)return Me.cursor(u,n?-1:1)}return Me.cursor(n?s.to:s.from,n?-1:1)}function LC(t,e,n,r){let s=t.state.doc.lineAt(e.head),i=t.bidiSpans(s),a=t.textDirectionAt(s.from);for(let o=e,u=null;;){let h=Wte(s,i,a,o,n),f=KP;if(!h){if(s.number==(n?t.state.doc.lines:1))return o;f=` +`,s=t.state.doc.line(s.number+(n?1:-1)),i=t.bidiSpans(s),h=t.visualLineSide(s,!n)}if(u){if(!u(f))return o}else{if(!r)return h;u=r(f)}o=h}}function cne(t,e,n){let r=t.state.charCategorizer(e),s=r(n);return i=>{let a=r(i);return s==Jn.Space&&(s=a),s==a}}function une(t,e,n,r){let s=e.head,i=n?1:-1;if(s==(n?t.state.doc.length:0))return Me.cursor(s,e.assoc);let a=e.goalColumn,o,u=t.contentDOM.getBoundingClientRect(),h=t.coordsAtPos(s,e.assoc||-1),f=t.documentTop;if(h)a==null&&(a=h.left-u.left),o=i<0?h.top:h.bottom;else{let x=t.viewState.lineBlockAt(s);a==null&&(a=Math.min(u.right-u.left,t.defaultCharacterWidth*(s-x.from))),o=(i<0?x.top:x.bottom)+f}let m=u.left+a,g=r??t.viewState.heightOracle.textHeight>>1;for(let x=0;;x+=10){let y=o+(g+x)*i,w=mL(t,{x:m,y},!1,i);if(yu.bottom||(i<0?ws)){let b=t.docView.coordsForChar(w),k=!b||y{if(e>i&&es(t)),n.from,e.head>n.from?-1:1);return r==n.from?n:Me.cursor(r,ri)&&!fne(a,n)&&this.lineBreak(),s=a}return this.findPointBefore(r,n),this}readTextNode(e){let n=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,n.length));for(let r=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,a=1,o;if(this.lineSeparator?(i=n.indexOf(this.lineSeparator,r),a=this.lineSeparator.length):(o=s.exec(n))&&(i=o.index,a=o[0].length),this.append(n.slice(r,i<0?n.length:i)),i<0)break;if(this.lineBreak(),a>1)for(let u of this.points)u.node==e&&u.pos>this.text.length&&(u.pos-=a-1);r=i+a}}readNode(e){if(e.cmIgnore)return;let n=Dn.get(e),r=n&&n.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let s=r.iter();!s.next().done;)s.lineBreak?this.lineBreak():this.append(s.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,n){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==n&&(r.pos=this.text.length)}findPointInside(e,n){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(hne(e,r.node,r.offset)?n:0))}}function hne(t,e,n){for(;;){if(!e||n-1;let{impreciseHead:i,impreciseAnchor:a}=e.docView;if(e.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=e.docView.domBoundsAround(n,r,0))){let o=i||a?[]:gne(e),u=new dne(o,e.state);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=xne(o,this.bounds.from)}else{let o=e.observer.selectionRange,u=i&&i.node==o.focusNode&&i.offset==o.focusOffset||!v3(e.contentDOM,o.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(o.focusNode,o.focusOffset),h=a&&a.node==o.anchorNode&&a.offset==o.anchorOffset||!v3(e.contentDOM,o.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(o.anchorNode,o.anchorOffset),f=e.viewport;if((We.ios||We.chrome)&&e.state.selection.main.empty&&u!=h&&(f.from>0||f.to-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(Me.range(h,u)):this.newSel=Me.single(h,u)}}}function xL(t,e){let n,{newSel:r}=e,s=t.state.selection.main,i=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:o}=e.bounds,u=s.from,h=null;(i===8||We.android&&e.text.length=s.from&&n.to<=s.to&&(n.from!=s.from||n.to!=s.to)&&s.to-s.from-(n.to-n.from)<=4?n={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,n.from).append(n.insert).append(t.state.doc.slice(n.to,s.to))}:t.state.doc.lineAt(s.from).toDate.now()-50?n={from:s.from,to:s.to,insert:t.state.toText(t.inputState.insertingText)}:We.chrome&&n&&n.from==n.to&&n.from==s.head&&n.insert.toString()==` + `&&t.lineWrapping&&(r&&(r=Me.single(r.main.anchor-1,r.main.head-1)),n={from:s.from,to:s.to,insert:nn.of([" "])}),n)return Pk(t,n,r,i);if(r&&!r.main.eq(s)){let a=!1,o="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(a=!0),o=t.inputState.lastSelectionOrigin,o=="select.pointer"&&(r=gL(t.state.facet(x0).map(u=>u(t)),r))),t.dispatch({selection:r,scrollIntoView:a,userEvent:o}),!0}else return!1}function Pk(t,e,n,r=-1){if(We.ios&&t.inputState.flushIOSKey(e))return!0;let s=t.state.selection.main;if(We.android&&(e.to==s.to&&(e.from==s.from||e.from==s.from-1&&t.state.sliceDoc(e.from,s.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Ld(t.contentDOM,"Enter",13)||(e.from==s.from-1&&e.to==s.to&&e.insert.length==0||r==8&&e.insert.lengths.head)&&Ld(t.contentDOM,"Backspace",8)||e.from==s.from&&e.to==s.to+1&&e.insert.length==0&&Ld(t.contentDOM,"Delete",46)))return!0;let i=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let a,o=()=>a||(a=pne(t,e,n));return t.state.facet(rL).some(u=>u(t,e.from,e.to,i,o))||t.dispatch(o()),!0}function pne(t,e,n){let r,s=t.state,i=s.selection.main,a=-1;if(e.from==e.to&&e.fromi.to){let u=e.fromm(t)),h,u);e.from==f&&(a=f)}if(a>-1)r={changes:e,selection:Me.cursor(e.from+e.insert.length,-1)};else if(e.from>=i.from&&e.to<=i.to&&e.to-e.from>=(i.to-i.from)/3&&(!n||n.main.empty&&n.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let u=i.frome.to?s.sliceDoc(e.to,i.to):"";r=s.replaceSelection(t.state.toText(u+e.insert.sliceString(0,void 0,t.state.lineBreak)+h))}else{let u=s.changes(e),h=n&&n.main.to<=u.newLength?n.main:void 0;if(s.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=i.to+10&&e.to>=i.to-10){let f=t.state.sliceDoc(e.from,e.to),m,g=n&&fL(t,n.main.head);if(g){let y=e.insert.length-(e.to-e.from);m={from:g.from,to:g.to-y}}else m=t.state.doc.lineAt(i.head);let x=i.to-e.to;r=s.changeByRange(y=>{if(y.from==i.from&&y.to==i.to)return{changes:u,range:h||y.map(u)};let w=y.to-x,b=w-f.length;if(t.state.sliceDoc(b,w)!=f||w>=m.from&&b<=m.to)return{range:y};let k=s.changes({from:b,to:w,insert:e.insert}),N=y.to-i.to;return{changes:k,range:h?Me.range(Math.max(0,h.anchor+N),Math.max(0,h.head+N)):y.map(k)}})}else r={changes:u,selection:h&&s.selection.replaceRange(h)}}let o="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,o+=".compose",t.inputState.compositionFirstChange&&(o+=".start",t.inputState.compositionFirstChange=!1)),s.update(r,{userEvent:o,scrollIntoView:!0})}function vL(t,e,n,r){let s=Math.min(t.length,e.length),i=0;for(;i0&&o>0&&t.charCodeAt(a-1)==e.charCodeAt(o-1);)a--,o--;if(r=="end"){let u=Math.max(0,i-Math.min(a,o));n-=a+u-i}if(a=a?i-n:0;i-=u,o=i+(o-a),a=i}else if(o=o?i-n:0;i-=u,a=i+(a-o),o=i}return{from:i,toA:a,toB:o}}function gne(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:n,anchorOffset:r,focusNode:s,focusOffset:i}=t.observer.selectionRange;return n&&(e.push(new BC(n,r)),(s!=n||i!=r)&&e.push(new BC(s,i))),e}function xne(t,e){if(t.length==0)return null;let n=t[0].pos,r=t.length==2?t[1].pos:n;return n>-1&&r>-1?Me.single(n+e,r+e):null}class vne{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,We.safari&&e.contentDOM.addEventListener("input",()=>null),We.gecko&&Dne(e.contentDOM.ownerDocument)}handleEvent(e){!Nne(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,n){let r=this.handlers[e];if(r){for(let s of r.observers)s(this.view,n);for(let s of r.handlers){if(n.defaultPrevented)break;if(s(this.view,n)){n.preventDefault();break}}}}ensureHandlers(e){let n=yne(e),r=this.handlers,s=this.view.contentDOM;for(let i in n)if(i!="scroll"){let a=!n[i].handlers.length,o=r[i];o&&a!=!o.handlers.length&&(s.removeEventListener(i,this.handleEvent),o=null),o||s.addEventListener(i,this.handleEvent,{passive:a})}for(let i in r)i!="scroll"&&!n[i]&&s.removeEventListener(i,this.handleEvent);this.handlers=n}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&bL.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),We.android&&We.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let n;return We.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((n=yL.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||bne.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=n||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&e&&e.from0?!0:We.safari&&!We.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function IC(t,e){return(n,r)=>{try{return e.call(t,r,n)}catch(s){Fs(n.state,s)}}}function yne(t){let e=Object.create(null);function n(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of t){let s=r.spec,i=s&&s.plugin.domEventHandlers,a=s&&s.plugin.domEventObservers;if(i)for(let o in i){let u=i[o];u&&n(o).handlers.push(IC(r.value,u))}if(a)for(let o in a){let u=a[o];u&&n(o).observers.push(IC(r.value,u))}}for(let r in sa)n(r).handlers.push(sa[r]);for(let r in Fi)n(r).observers.push(Fi[r]);return e}const yL=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],bne="dthko",bL=[16,17,18,20,91,92,224,225],jg=6;function Ng(t){return Math.max(0,t)*.7+8}function wne(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class Sne{constructor(e,n,r,s){this.view=e,this.startEvent=n,this.style=r,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=_te(e.contentDOM),this.atoms=e.state.facet(x0).map(a=>a(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=e.state.facet(tn.allowMultipleSelections)&&kne(e,n),this.dragging=jne(e,n)&&kL(n)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&wne(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let n=0,r=0,s=0,i=0,a=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:s,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:i,bottom:o}=this.scrollParents.y.getBoundingClientRect());let u=zk(this.view);e.clientX-u.left<=s+jg?n=-Ng(s-e.clientX):e.clientX+u.right>=a-jg&&(n=Ng(e.clientX-a)),e.clientY-u.top<=i+jg?r=-Ng(i-e.clientY):e.clientY+u.bottom>=o-jg&&(r=Ng(e.clientY-o)),this.setScrollSpeed(n,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,n){this.scrollSpeed={x:e,y:n},e||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:n}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(e||n)&&this.view.win.scrollBy(e,n),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:n}=this,r=gL(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function kne(t,e){let n=t.state.facet(JP);return n.length?n[0](e):We.mac?e.metaKey:e.ctrlKey}function One(t,e){let n=t.state.facet(eL);return n.length?n[0](e):We.mac?!e.altKey:!e.ctrlKey}function jne(t,e){let{main:n}=t.state.selection;if(n.empty)return!1;let r=km(t.root);if(!r||r.rangeCount==0)return!0;let s=r.getRangeAt(0).getClientRects();for(let i=0;i=e.clientX&&a.top<=e.clientY&&a.bottom>=e.clientY)return!0}return!1}function Nne(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target,r;n!=t.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(r=Dn.get(n))&&r.ignoreEvent(e))return!1;return!0}const sa=Object.create(null),Fi=Object.create(null),wL=We.ie&&We.ie_version<15||We.ios&&We.webkit_version<604;function Cne(t){let e=t.dom.parentNode;if(!e)return;let n=e.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{t.focus(),n.remove(),SL(t,n.value)},50)}function dv(t,e,n){for(let r of t.facet(e))n=r(n,t);return n}function SL(t,e){e=dv(t.state,Ak,e);let{state:n}=t,r,s=1,i=n.toText(e),a=i.lines==n.selection.ranges.length;if(T3!=null&&n.selection.ranges.every(u=>u.empty)&&T3==i.toString()){let u=-1;r=n.changeByRange(h=>{let f=n.doc.lineAt(h.from);if(f.from==u)return{range:h};u=f.from;let m=n.toText((a?i.line(s++).text:e)+n.lineBreak);return{changes:{from:f.from,insert:m},range:Me.cursor(h.from+m.length)}})}else a?r=n.changeByRange(u=>{let h=i.line(s++);return{changes:{from:u.from,to:u.to,insert:h.text},range:Me.cursor(u.from+h.length)}}):r=n.replaceSelection(i);t.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Fi.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};sa.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Fi.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")};Fi.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};sa.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let r of t.state.facet(tL))if(n=r(t,e),n)break;if(!n&&e.button==0&&(n=_ne(t,e)),n){let r=!t.hasFocus;t.inputState.startMouseSelection(new Sne(t,e,n,r)),r&&t.observer.ignore(()=>{PP(t.contentDOM);let i=t.root.activeElement;i&&!i.contains(t.contentDOM)&&i.blur()});let s=t.inputState.mouseSelection;if(s)return s.start(e),s.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function qC(t,e,n,r){if(r==1)return Me.cursor(e,n);if(r==2)return rne(t.state,e,n);{let s=Tr.find(t.docView,e),i=t.state.doc.lineAt(s?s.posAtEnd:e),a=s?s.posAtStart:i.from,o=s?s.posAtEnd:i.to;return oe>=n.top&&e<=n.bottom&&t>=n.left&&t<=n.right;function Tne(t,e,n,r){let s=Tr.find(t.docView,e);if(!s)return 1;let i=e-s.posAtStart;if(i==0)return 1;if(i==s.length)return-1;let a=s.coordsAt(i,-1);if(a&&FC(n,r,a))return-1;let o=s.coordsAt(i,1);return o&&FC(n,r,o)?1:a&&a.bottom>=r?-1:1}function $C(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:n,bias:Tne(t,n,e.clientX,e.clientY)}}const Ene=We.ie&&We.ie_version<=11;let QC=null,HC=0,VC=0;function kL(t){if(!Ene)return t.detail;let e=QC,n=VC;return QC=t,VC=Date.now(),HC=!e||n>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(HC+1)%3:1}function _ne(t,e){let n=$C(t,e),r=kL(e),s=t.state.selection;return{update(i){i.docChanged&&(n.pos=i.changes.mapPos(n.pos),s=s.map(i.changes))},get(i,a,o){let u=$C(t,i),h,f=qC(t,u.pos,u.bias,r);if(n.pos!=u.pos&&!a){let m=qC(t,n.pos,n.bias,r),g=Math.min(m.from,f.from),x=Math.max(m.to,f.to);f=g1&&(h=Mne(s,u.pos))?h:o?s.addRange(f):Me.create([f])}}}function Mne(t,e){for(let n=0;n=e)return Me.create(t.ranges.slice(0,n).concat(t.ranges.slice(n+1)),t.mainIndex==n?0:t.mainIndex-(t.mainIndex>n?1:0))}return null}sa.dragstart=(t,e)=>{let{selection:{main:n}}=t.state;if(e.target.draggable){let s=t.docView.nearest(e.target);if(s&&s.isWidget){let i=s.posAtStart,a=i+s.length;(i>=n.to||a<=n.from)&&(n=Me.range(i,a))}}let{inputState:r}=t;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=n,e.dataTransfer&&(e.dataTransfer.setData("Text",dv(t.state,Rk,t.state.sliceDoc(n.from,n.to))),e.dataTransfer.effectAllowed="copyMove"),!1};sa.dragend=t=>(t.inputState.draggedContent=null,!1);function UC(t,e,n,r){if(n=dv(t.state,Ak,n),!n)return;let s=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:i}=t.inputState,a=r&&i&&One(t,e)?{from:i.from,to:i.to}:null,o={from:s,insert:n},u=t.state.changes(a?[a,o]:o);t.focus(),t.dispatch({changes:u,selection:{anchor:u.mapPos(s,-1),head:u.mapPos(s,1)},userEvent:a?"move.drop":"input.drop"}),t.inputState.draggedContent=null}sa.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let n=e.dataTransfer.files;if(n&&n.length){let r=Array(n.length),s=0,i=()=>{++s==n.length&&UC(t,e,r.filter(a=>a!=null).join(t.state.lineBreak),!1)};for(let a=0;a{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(r[a]=o.result),i()},o.readAsText(n[a])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return UC(t,e,r,!0),!0}return!1};sa.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let n=wL?null:e.clipboardData;return n?(SL(t,n.getData("text/plain")||n.getData("text/uri-list")),!0):(Cne(t),!1)};function Ane(t,e){let n=t.dom.parentNode;if(!n)return;let r=n.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),t.focus()},50)}function Rne(t){let e=[],n=[],r=!1;for(let s of t.selection.ranges)s.empty||(e.push(t.sliceDoc(s.from,s.to)),n.push(s));if(!e.length){let s=-1;for(let{from:i}of t.selection.ranges){let a=t.doc.lineAt(i);a.number>s&&(e.push(a.text),n.push({from:a.from,to:Math.min(t.doc.length,a.to+1)})),s=a.number}r=!0}return{text:dv(t,Rk,e.join(t.lineBreak)),ranges:n,linewise:r}}let T3=null;sa.copy=sa.cut=(t,e)=>{let{text:n,ranges:r,linewise:s}=Rne(t.state);if(!n&&!s)return!1;T3=s?n:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let i=wL?null:e.clipboardData;return i?(i.clearData(),i.setData("text/plain",n),!0):(Ane(t,n),!1)};const OL=qa.define();function jL(t,e){let n=[];for(let r of t.facet(sL)){let s=r(t,e);s&&n.push(s)}return n.length?t.update({effects:n,annotations:OL.of(!0)}):null}function NL(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let n=jL(t.state,e);n?t.dispatch(n):t.update([])}},10)}Fi.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),NL(t)};Fi.blur=t=>{t.observer.clearSelectionRange(),NL(t)};Fi.compositionstart=Fi.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Fi.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,We.chrome&&We.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Fi.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};sa.beforeinput=(t,e)=>{var n,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let i=(n=e.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),a=e.getTargetRanges();if(i&&a.length){let o=a[0],u=t.posAtDOM(o.startContainer,o.startOffset),h=t.posAtDOM(o.endContainer,o.endOffset);return Pk(t,{from:u,to:h,insert:t.state.toText(i)},null),!0}}let s;if(We.chrome&&We.android&&(s=yL.find(i=>i.inputType==e.inputType))&&(t.observer.delayAndroidKey(s.key,s.keyCode),s.key=="Backspace"||s.key=="Delete")){let i=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>i+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return We.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),We.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Fi.compositionend(t,e),20),!1};const WC=new Set;function Dne(t){WC.has(t)||(WC.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const GC=["pre-wrap","normal","pre-line","break-spaces"];let sh=!1;function XC(){sh=!1}class zne{constructor(e){this.lineWrapping=e,this.doc=nn.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,n){let r=this.doc.lineAt(n).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((n-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return GC.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let n=!1;for(let r=0;r-1,u=Math.round(n)!=Math.round(this.lineHeight)||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=n,this.charWidth=r,this.textHeight=s,this.lineLength=i,u){this.heightSamples={};for(let h=0;h0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Cx&&(sh=!0),this.height=e)}replace(e,n,r){return Os.of(r)}decomposeLeft(e,n){n.push(this)}decomposeRight(e,n){n.push(this)}applyChanges(e,n,r,s){let i=this,a=r.doc;for(let o=s.length-1;o>=0;o--){let{fromA:u,toA:h,fromB:f,toB:m}=s[o],g=i.lineAt(u,Yn.ByPosNoHeight,r.setDoc(n),0,0),x=g.to>=h?g:i.lineAt(h,Yn.ByPosNoHeight,r,0,0);for(m+=x.to-h,h=x.to;o>0&&g.from<=s[o-1].toA;)u=s[o-1].fromA,f=s[o-1].fromB,o--,ui*2){let o=e[n-1];o.break?e.splice(--n,1,o.left,null,o.right):e.splice(--n,1,o.left,o.right),r+=1+o.break,s-=o.size}else if(i>s*2){let o=e[r];o.break?e.splice(r,1,o.left,null,o.right):e.splice(r,1,o.left,o.right),r+=2+o.break,i-=o.size}else break;else if(s=i&&a(this.blockAt(0,r,s,i))}updateHeight(e,n=0,r=!1,s){return s&&s.from<=n&&s.more&&this.setHeight(s.heights[s.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class oi extends CL{constructor(e,n){super(e,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,n,r,s){return new Na(s,this.length,r,this.height,this.breaks)}replace(e,n,r){let s=r[0];return r.length==1&&(s instanceof oi||s instanceof ts&&s.flags&4)&&Math.abs(this.length-s.length)<10?(s instanceof ts?s=new oi(s.length,this.height):s.height=this.height,this.outdated||(s.outdated=!1),s):Os.of(r)}updateHeight(e,n=0,r=!1,s){return s&&s.from<=n&&s.more?this.setHeight(s.heights[s.index++]):(r||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class ts extends Os{constructor(e){super(e,0)}heightMetrics(e,n){let r=e.doc.lineAt(n).number,s=e.doc.lineAt(n+this.length).number,i=s-r+1,a,o=0;if(e.lineWrapping){let u=Math.min(this.height,e.lineHeight*i);a=u/i,this.length>i+1&&(o=(this.height-u)/(this.length-i-1))}else a=this.height/i;return{firstLine:r,lastLine:s,perLine:a,perChar:o}}blockAt(e,n,r,s){let{firstLine:i,lastLine:a,perLine:o,perChar:u}=this.heightMetrics(n,s);if(n.lineWrapping){let h=s+(e0){let i=r[r.length-1];i instanceof ts?r[r.length-1]=new ts(i.length+s):r.push(null,new ts(s-1))}if(e>0){let i=r[0];i instanceof ts?r[0]=new ts(e+i.length):r.unshift(new ts(e-1),null)}return Os.of(r)}decomposeLeft(e,n){n.push(new ts(e-1),null)}decomposeRight(e,n){n.push(null,new ts(this.length-e-1))}updateHeight(e,n=0,r=!1,s){let i=n+this.length;if(s&&s.from<=n+this.length&&s.more){let a=[],o=Math.max(n,s.from),u=-1;for(s.from>n&&a.push(new ts(s.from-n-1).updateHeight(e,n));o<=i&&s.more;){let f=e.doc.lineAt(o).length;a.length&&a.push(null);let m=s.heights[s.index++];u==-1?u=m:Math.abs(m-u)>=Cx&&(u=-2);let g=new oi(f,m);g.outdated=!1,a.push(g),o+=f+1}o<=i&&a.push(null,new ts(i-o).updateHeight(e,o));let h=Os.of(a);return(u<0||Math.abs(h.height-this.height)>=Cx||Math.abs(u-this.heightMetrics(e,n).perLine)>=Cx)&&(sh=!0),i1(this,h)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class Lne extends Os{constructor(e,n,r){super(e.length+n+r.length,e.height+r.height,n|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,n,r,s){let i=r+this.left.height;return eo))return h;let f=n==Yn.ByPosNoHeight?Yn.ByPosNoHeight:Yn.ByPos;return u?h.join(this.right.lineAt(o,f,r,a,o)):this.left.lineAt(o,f,r,s,i).join(h)}forEachLine(e,n,r,s,i,a){let o=s+this.left.height,u=i+this.left.length+this.break;if(this.break)e=u&&this.right.forEachLine(e,n,r,o,u,a);else{let h=this.lineAt(u,Yn.ByPos,r,s,i);e=e&&h.from<=n&&a(h),n>h.to&&this.right.forEachLine(h.to+1,n,r,o,u,a)}}replace(e,n,r){let s=this.left.length+this.break;if(nthis.left.length)return this.balanced(this.left,this.right.replace(e-s,n-s,r));let i=[];e>0&&this.decomposeLeft(e,i);let a=i.length;for(let o of r)i.push(o);if(e>0&&YC(i,a-1),n=r&&n.push(null)),e>r&&this.right.decomposeLeft(e-r,n)}decomposeRight(e,n){let r=this.left.length,s=r+this.break;if(e>=s)return this.right.decomposeRight(e-s,n);e2*n.size||n.size>2*e.size?Os.of(this.break?[e,null,n]:[e,n]):(this.left=i1(this.left,e),this.right=i1(this.right,n),this.setHeight(e.height+n.height),this.outdated=e.outdated||n.outdated,this.size=e.size+n.size,this.length=e.length+this.break+n.length,this)}updateHeight(e,n=0,r=!1,s){let{left:i,right:a}=this,o=n+i.length+this.break,u=null;return s&&s.from<=n+i.length&&s.more?u=i=i.updateHeight(e,n,r,s):i.updateHeight(e,n,r),s&&s.from<=o+a.length&&s.more?u=a=a.updateHeight(e,o,r,s):a.updateHeight(e,o,r),u?this.balanced(i,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function YC(t,e){let n,r;t[e]==null&&(n=t[e-1])instanceof ts&&(r=t[e+1])instanceof ts&&t.splice(e-1,3,new ts(n.length+1+r.length))}const Bne=5;class Lk{constructor(e,n){this.pos=e,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,n){if(this.lineStart>-1){let r=Math.min(n,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof oi?s.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new oi(r-this.pos,-1)),this.writtenTo=r,n>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(e,n,r){if(e=Bne)&&this.addLineDeco(s,i,a)}else n>e&&this.span(e,n);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=n,this.writtenToe&&this.nodes.push(new oi(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,n){let r=new ts(n-e);return this.oracle.doc.lineAt(e).to==n&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof oi)return e;let n=new oi(0,-1);return this.nodes.push(n),n}addBlock(e){this.enterLine();let n=e.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,n&&n.endSide>0&&(this.covering=e)}addLineDeco(e,n,r){let s=this.ensureLine();s.length+=r,s.collapsed+=r,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=n,this.writtenTo=this.pos=this.pos+r}finish(e){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof oi)&&!this.isCovered?this.nodes.push(new oi(0,-1)):(this.writtenTof.clientHeight||f.scrollWidth>f.clientWidth)&&m.overflow!="visible"){let g=f.getBoundingClientRect();i=Math.max(i,g.left),a=Math.min(a,g.right),o=Math.max(o,g.top),u=Math.min(h==t.parentNode?s.innerHeight:u,g.bottom)}h=m.position=="absolute"||m.position=="fixed"?f.offsetParent:f.parentNode}else if(h.nodeType==11)h=h.host;else break;return{left:i-n.left,right:Math.max(i,a)-n.left,top:o-(n.top+e),bottom:Math.max(o,u)-(n.top+e)}}function $ne(t){let e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView||window;return e.left0&&e.top0}function Qne(t,e){let n=t.getBoundingClientRect();return{left:0,right:n.right-n.left,top:e,bottom:n.bottom-(n.top+e)}}class E2{constructor(e,n,r,s){this.from=e,this.to=n,this.size=r,this.displaySize=s}static same(e,n){if(e.length!=n.length)return!1;for(let r=0;rtypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new zne(n),this.stateDeco=e.facet(Om).filter(r=>typeof r!="function"),this.heightMap=Os.empty().applyChanges(this.stateDeco,nn.empty,this.heightOracle.setDoc(e.doc),[new Bi(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ot.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:n}=this.state.selection;for(let r=0;r<=1;r++){let s=r?n.head:n.anchor;if(!e.some(({from:i,to:a})=>s>=i&&s<=a)){let{from:i,to:a}=this.lineBlockAt(s);e.push(new Cg(i,a))}}return this.viewports=e.sort((r,s)=>r.from-s.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?KC:new Bk(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Wf(e,this.scaler))})}update(e,n=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(Om).filter(f=>typeof f!="function");let s=e.changedRanges,i=Bi.extendWithRanges(s,Ine(r,this.stateDeco,e?e.changes:Br.empty(this.state.doc.length))),a=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);XC(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=a||sh)&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let u=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(n&&(n.range.headu.to)||!this.viewportIsAppropriate(u))&&(u=this.getViewport(0,n));let h=u.from!=this.viewport.from||u.to!=this.viewport.to;this.viewport=u,e.flags|=this.updateForViewport(),(h||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(aL)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let n=e.contentDOM,r=window.getComputedStyle(n),s=this.heightOracle,i=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Zn.RTL:Zn.LTR;let a=this.heightOracle.mustRefreshForWrapping(i),o=n.getBoundingClientRect(),u=a||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let h=0,f=0;if(o.width&&o.height){let{scaleX:T,scaleY:E}=zP(n,o);(T>.005&&Math.abs(this.scaleX-T)>.005||E>.005&&Math.abs(this.scaleY-E)>.005)&&(this.scaleX=T,this.scaleY=E,h|=16,a=u=!0)}let m=(parseInt(r.paddingTop)||0)*this.scaleY,g=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=m||this.paddingBottom!=g)&&(this.paddingTop=m,this.paddingBottom=g,h|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(u=!0),this.editorWidth=e.scrollDOM.clientWidth,h|=16);let x=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=x&&(this.scrollAnchorHeight=-1,this.scrollTop=x),this.scrolledToBottom=BP(e.scrollDOM);let y=(this.printing?Qne:Fne)(n,this.paddingTop),w=y.top-this.pixelViewport.top,b=y.bottom-this.pixelViewport.bottom;this.pixelViewport=y;let k=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(k!=this.inView&&(this.inView=k,k&&(u=!0)),!this.inView&&!this.scrollTarget&&!$ne(e.dom))return 0;let N=o.width;if((this.contentDOMWidth!=N||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=e.scrollDOM.clientHeight,h|=16),u){let T=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(T)&&(a=!0),a||s.lineWrapping&&Math.abs(N-this.contentDOMWidth)>s.charWidth){let{lineHeight:E,charWidth:_,textHeight:A}=e.docView.measureTextSize();a=E>0&&s.refresh(i,E,_,A,Math.max(5,N/_),T),a&&(e.docView.minWidth=0,h|=16)}w>0&&b>0?f=Math.max(w,b):w<0&&b<0&&(f=Math.min(w,b)),XC();for(let E of this.viewports){let _=E.from==this.viewport.from?T:e.docView.measureVisibleLineHeights(E);this.heightMap=(a?Os.empty().applyChanges(this.stateDeco,nn.empty,this.heightOracle,[new Bi(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,a,new Pne(E.from,_))}sh&&(h|=2)}let C=!this.viewportIsAppropriate(this.viewport,f)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return C&&(h&2&&(h|=this.updateScaler()),this.viewport=this.getViewport(f,this.scrollTarget),h|=this.updateForViewport()),(h&2||C)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,e)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,n){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,i=this.heightOracle,{visibleTop:a,visibleBottom:o}=this,u=new Cg(s.lineAt(a-r*1e3,Yn.ByHeight,i,0,0).from,s.lineAt(o+(1-r)*1e3,Yn.ByHeight,i,0,0).to);if(n){let{head:h}=n.range;if(hu.to){let f=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),m=s.lineAt(h,Yn.ByPos,i,0,0),g;n.y=="center"?g=(m.top+m.bottom)/2-f/2:n.y=="start"||n.y=="nearest"&&h=o+Math.max(10,Math.min(r,250)))&&s>a-2*1e3&&i>1,a=s<<1;if(this.defaultTextDirection!=Zn.LTR&&!r)return[];let o=[],u=(f,m,g,x)=>{if(m-ff&&kk.from>=g.from&&k.to<=g.to&&Math.abs(k.from-f)k.fromN));if(!b){if(mC.from<=m&&C.to>=m)){let C=n.moveToLineBoundary(Me.cursor(m),!1,!0).head;C>f&&(m=C)}let k=this.gapSize(g,f,m,x),N=r||k<2e6?k:2e6;b=new E2(f,m,k,N)}o.push(b)},h=f=>{if(f.length2e6)for(let _ of e)_.from>=f.from&&_.fromf.from&&u(f.from,x,f,m),yn.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let r=[];rn.spans(n,this.viewport.from,this.viewport.to,{span(i,a){r.push({from:i,to:a})},point(){}},20);let s=0;if(r.length!=this.visibleRanges.length)s=12;else for(let i=0;i=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(n=>n.from<=e&&n.to>=e)||Wf(this.heightMap.lineAt(e,Yn.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=e&&n.bottom>=e)||Wf(this.heightMap.lineAt(this.scaler.fromDOM(e),Yn.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let n=this.lineBlockAtHeight(e+8);return n.from>=this.viewport.from||this.viewportLines[0].top-e>200?n:this.viewportLines[0]}elementAtHeight(e){return Wf(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}let Cg=class{constructor(e,n){this.from=e,this.to=n}};function Vne(t,e,n){let r=[],s=t,i=0;return rn.spans(n,t,e,{span(){},point(a,o){a>s&&(r.push({from:s,to:a}),i+=a-s),s=o}},20),s=1)return e[e.length-1].to;let r=Math.floor(t*n);for(let s=0;;s++){let{from:i,to:a}=e[s],o=a-i;if(r<=o)return i+r;r-=o}}function Eg(t,e){let n=0;for(let{from:r,to:s}of t.ranges){if(e<=s){n+=e-r;break}n+=s-r}return n/t.total}function Une(t,e){for(let n of t)if(e(n))return n}const KC={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};class Bk{constructor(e,n,r){let s=0,i=0,a=0;this.viewports=r.map(({from:o,to:u})=>{let h=n.lineAt(o,Yn.ByPos,e,0,0).top,f=n.lineAt(u,Yn.ByPos,e,0,0).bottom;return s+=f-h,{from:o,to:u,top:h,bottom:f,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(n.height-s);for(let o of this.viewports)o.domTop=a+(o.top-i)*this.scale,a=o.domBottom=o.domTop+(o.bottom-o.top),i=o.bottom}toDOM(e){for(let n=0,r=0,s=0;;n++){let i=nn.from==e.viewports[r].from&&n.to==e.viewports[r].to):!1}}function Wf(t,e){if(e.scale==1)return t;let n=e.toDOM(t.top),r=e.toDOM(t.bottom);return new Na(t.from,t.length,n,r-n,Array.isArray(t._content)?t._content.map(s=>Wf(s,e)):t._content)}const _g=Ye.define({combine:t=>t.join(" ")}),E3=Ye.define({combine:t=>t.indexOf(!0)>-1}),_3=Xo.newName(),TL=Xo.newName(),EL=Xo.newName(),_L={"&light":"."+TL,"&dark":"."+EL};function M3(t,e,n){return new Xo(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,s=>{if(s=="&")return t;if(!n||!n[s])throw new RangeError(`Unsupported selector: ${s}`);return n[s]}):t+" "+r}})}const Wne=M3("."+_3,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},_L),Gne={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},_2=We.ie&&We.ie_version<=11;class Xne{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Mte,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(n=>{for(let r of n)this.queue.push(r);(We.ie&&We.ie_version<=11||We.ios&&e.composing)&&n.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&We.android&&e.constructor.EDIT_CONTEXT!==!1&&!(We.chrome&&We.chrome_version<126)&&(this.editContext=new Zne(e),e.state.facet(El)&&(e.contentDOM.editContext=this.editContext.editContext)),_2&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((n,r)=>n!=e[r]))){this.gapIntersection.disconnect();for(let n of e)this.gapIntersection.observe(n);this.gaps=e}}onSelectionChange(e){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,s=this.selectionRange;if(r.state.facet(El)?r.root.activeElement!=this.dom:!jx(this.dom,s))return;let i=s.anchorNode&&r.docView.nearest(s.anchorNode);if(i&&i.ignoreEvent(e)){n||(this.selectionChanged=!1);return}(We.ie&&We.ie_version<=11||We.android&&We.chrome)&&!r.state.selection.main.empty&&s.focusNode&&am(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,n=km(e.root);if(!n)return!1;let r=We.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Yne(this.view,n)||n;if(!r||this.selectionRange.eq(r))return!1;let s=jx(this.dom,r);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let i=this.delayedAndroidKey;i&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=i.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&i.force&&Ld(this.dom,i.key,i.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(s)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:n,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let n=-1,r=-1,s=!1;for(let i of e){let a=this.readMutation(i);a&&(a.typeOver&&(s=!0),n==-1?{from:n,to:r}=a:(n=Math.min(a.from,n),r=Math.max(a.to,r)))}return{from:n,to:r,typeOver:s}}readChange(){let{from:e,to:n,typeOver:r}=this.processRecords(),s=this.selectionChanged&&jx(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new mne(this.view,e,n,r);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let r=this.view.state,s=xL(this.view,n);return this.view.state==r&&(n.domChanged||n.newSel&&!n.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),s}readMutation(e){let n=this.view.docView.nearest(e.target);if(!n||n.ignoreMutation(e))return null;if(n.markDirty(e.type=="attributes"),e.type=="attributes"&&(n.flags|=4),e.type=="childList"){let r=JC(n,e.previousSibling||e.target.previousSibling,-1),s=JC(n,e.nextSibling||e.target.nextSibling,1);return{from:r?n.posAfter(r):n.posAtStart,to:s?n.posBefore(s):n.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(El)!=e.state.facet(El)&&(e.view.contentDOM.editContext=e.state.facet(El)?this.editContext.editContext:null))}destroy(){var e,n,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let s of this.scrollTargets)s.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function JC(t,e,n){for(;e;){let r=Dn.get(e);if(r&&r.parent==t)return r;let s=e.parentNode;e=s!=t.dom?s:n>0?e.nextSibling:e.previousSibling}return null}function e9(t,e){let n=e.startContainer,r=e.startOffset,s=e.endContainer,i=e.endOffset,a=t.docView.domAtPos(t.state.selection.main.anchor);return am(a.node,a.offset,s,i)&&([n,r,s,i]=[s,i,n,r]),{anchorNode:n,anchorOffset:r,focusNode:s,focusOffset:i}}function Yne(t,e){if(e.getComposedRanges){let s=e.getComposedRanges(t.root)[0];if(s)return e9(t,s)}let n=null;function r(s){s.preventDefault(),s.stopImmediatePropagation(),n=s.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",r,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",r,!0),n?e9(t,n):null}class Zne{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let n=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let s=e.state.selection.main,{anchor:i,head:a}=s,o=this.toEditorPos(r.updateRangeStart),u=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:o,drifted:!1});let h=u-o>r.text.length;o==this.from&&ithis.to&&(u=i);let f=vL(e.state.sliceDoc(o,u),r.text,(h?s.from:s.to)-o,h?"end":null);if(!f){let g=Me.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));g.main.eq(s)||e.dispatch({selection:g,userEvent:"select"});return}let m={from:f.from+o,to:f.toA+o,insert:nn.of(r.text.slice(f.from,f.toB).split(` +`))};if((We.mac||We.android)&&m.from==a-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(m={from:o,to:u,insert:nn.of([r.text.replace("."," ")])}),this.pendingContextChange=m,!e.state.readOnly){let g=this.to-this.from+(m.to-m.from+m.insert.length);Pk(e,m,Me.single(this.toEditorPos(r.selectionStart,g),this.toEditorPos(r.selectionEnd,g)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),m.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(n.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let s=[],i=null;for(let a=this.toEditorPos(r.rangeStart),o=this.toEditorPos(r.rangeEnd);a{let s=[];for(let i of r.getTextFormats()){let a=i.underlineStyle,o=i.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(o)){let u=this.toEditorPos(i.rangeStart),h=this.toEditorPos(i.rangeEnd);if(u{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)n.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let s=km(r.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let n=0,r=!1,s=this.pendingContextChange;return e.changes.iterChanges((i,a,o,u,h)=>{if(r)return;let f=h.length-(a-i);if(s&&a>=s.to)if(s.from==i&&s.to==a&&s.insert.eq(h)){s=this.pendingContextChange=null,n+=f,this.to+=f;return}else s=null,this.revertPending(e.state);if(i+=n,a+=n,a<=this.from)this.from+=f,this.to+=f;else if(ithis.to||this.to-this.from+h.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(i),this.toContextPos(a),h.toString()),this.to+=f}n+=f}),s&&!r&&this.revertPending(e.state),!r}update(e){let n=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(s=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||n)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:n}=e.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(e.doc.length,n+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),e.doc.sliceString(n.from,n.to))}setSelection(e){let{main:n}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),s=this.toContextPos(n.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(r,s)}rangeIsValid(e){let{head:n}=e.selection.main;return!(this.from>0&&n-this.from<500||this.to1e4*3)}toEditorPos(e,n=this.to-this.from){e=Math.min(e,n);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let n=this.composing;return n&&n.drifted?n.contextBase+(e-n.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class Ue{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var n;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(s=>s.forEach(i=>r(i,this)))||(s=>this.update(s)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Ate(e.parent)||document,this.viewState=new ZC(e.state||tn.create(e)),e.scrollTo&&e.scrollTo.is(Og)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Ed).map(s=>new N2(s));for(let s of this.plugins)s.update(this);this.observer=new Xne(this),this.inputState=new vne(this),this.inputState.ensureHandlers(this.plugins),this.docView=new AC(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let n=e.length==1&&e[0]instanceof Er?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(n,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,r=!1,s,i=this.state;for(let g of e){if(g.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=g.state}if(this.destroyed){this.viewState.state=i;return}let a=this.hasFocus,o=0,u=null;e.some(g=>g.annotation(OL))?(this.inputState.notifiedFocused=a,o=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,u=jL(i,a),u||(o=1));let h=this.observer.delayedAndroidKey,f=null;if(h?(this.observer.clearDelayedAndroidKey(),f=this.observer.readChange(),(f&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(f=null)):this.observer.clear(),i.facet(tn.phrases)!=this.state.facet(tn.phrases))return this.setState(i);s=s1.create(this,i,e),s.flags|=o;let m=this.viewState.scrollTarget;try{this.updateState=2;for(let g of e){if(m&&(m=m.map(g.changes)),g.scrollIntoView){let{main:x}=g.state.selection;m=new Bd(x.empty?x:Me.cursor(x.head,x.head>x.anchor?-1:1))}for(let x of g.effects)x.is(Og)&&(m=x.value.clip(this.state))}this.viewState.update(s,m),this.bidiCache=a1.update(this.bidiCache,s.changes),s.empty||(this.updatePlugins(s),this.inputState.update(s)),n=this.docView.update(s),this.state.facet(Vf)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(g=>g.isUserEvent("select.pointer")))}finally{this.updateState=0}if(s.startState.facet(_g)!=s.state.facet(_g)&&(this.viewState.mustMeasureContent=!0),(n||r||m||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!s.empty)for(let g of this.state.facet(j3))try{g(s)}catch(x){Fs(this.state,x,"update listener")}(u||f)&&Promise.resolve().then(()=>{u&&this.state==u.startState&&this.dispatch(u),f&&!xL(this,f)&&h.force&&Ld(this.contentDOM,h.key,h.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let n=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new ZC(e),this.plugins=e.facet(Ed).map(r=>new N2(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new AC(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(e){let n=e.startState.facet(Ed),r=e.state.facet(Ed);if(n!=r){let s=[];for(let i of r){let a=n.indexOf(i);if(a<0)s.push(new N2(i));else{let o=this.plugins[a];o.mustUpdate=e,s.push(o)}}for(let i of this.plugins)i.mustUpdate!=e&&i.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let s of this.plugins)s.mustUpdate=e;for(let s=0;s-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let n=null,r=this.scrollDOM,s=r.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:a}=this.viewState;Math.abs(s-this.viewState.scrollTop)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let o=0;;o++){if(a<0)if(BP(r))i=-1,a=this.viewState.heightMap.height;else{let x=this.viewState.scrollAnchorAt(s);i=x.from,a=x.top}this.updateState=1;let u=this.viewState.measure(this);if(!u&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(o>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];u&4||([this.measureRequests,h]=[h,this.measureRequests]);let f=h.map(x=>{try{return x.read(this)}catch(y){return Fs(this.state,y),t9}}),m=s1.create(this,this.state,[]),g=!1;m.flags|=u,n?n.flags|=u:n=m,this.updateState=2,m.empty||(this.updatePlugins(m),this.inputState.update(m),this.updateAttrs(),g=this.docView.update(m),g&&this.docViewUpdate());for(let x=0;x1||y<-1){s=s+y,r.scrollTop=s/this.scaleY,a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let o of this.state.facet(j3))o(n)}get themeClasses(){return _3+" "+(this.state.facet(E3)?EL:TL)+" "+this.state.facet(_g)}updateAttrs(){let e=n9(this,cL,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(El)?"true":"false",class:"cm-content",style:`${We.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),n9(this,Dk,n);let r=this.observer.ignore(()=>{let s=b3(this.contentDOM,this.contentAttrs,n),i=b3(this.dom,this.editorAttrs,e);return s||i});return this.editorAttrs=e,this.contentAttrs=n,r}showAnnouncements(e){let n=!0;for(let r of e)for(let s of r.effects)if(s.is(Ue.announce)){n&&(this.announceDOM.textContent=""),n=!1;let i=this.announceDOM.appendChild(document.createElement("div"));i.textContent=s.value}}mountStyles(){this.styleModules=this.state.facet(Vf);let e=this.state.facet(Ue.cspNonce);Xo.mount(this.root,this.styleModules.concat(Wne).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let n=0;nr.plugin==e)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,n,r){return T2(this,e,LC(this,e,n,r))}moveByGroup(e,n){return T2(this,e,LC(this,e,n,r=>cne(this,e.head,r)))}visualLineSide(e,n){let r=this.bidiSpans(e),s=this.textDirectionAt(e.from),i=r[n?r.length-1:0];return Me.cursor(i.side(n,s)+e.from,i.forward(!n,s)?1:-1)}moveToLineBoundary(e,n,r=!0){return one(this,e,n,r)}moveVertically(e,n,r){return T2(this,e,une(this,e,n,r))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,n=0){return this.docView.posFromDOM(e,n)}posAtCoords(e,n=!0){return this.readMeasured(),mL(this,e,n)}coordsAtPos(e,n=1){this.readMeasured();let r=this.docView.coordsAt(e,n);if(!r||r.left==r.right)return r;let s=this.state.doc.lineAt(e),i=this.bidiSpans(s),a=i[$o.find(i,e-s.from,-1,n)];return m0(r,a.dir==Zn.LTR==n>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(iL)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Kne)return ZP(e.length);let n=this.textDirectionAt(e.from),r;for(let i of this.bidiCache)if(i.from==e.from&&i.dir==n&&(i.fresh||YP(i.isolates,r=MC(this,e))))return i.order;r||(r=MC(this,e));let s=Ute(e.text,n,r);return this.bidiCache.push(new a1(e.from,e.to,n,r,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||We.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{PP(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,n={}){return Og.of(new Bd(typeof e=="number"?Me.cursor(e):e,n.y,n.x,n.yMargin,n.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:n}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return Og.of(new Bd(Me.cursor(r.from),"start","start",r.top-e,n,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return wr.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return wr.define(()=>({}),{eventObservers:e})}static theme(e,n){let r=Xo.newName(),s=[_g.of(r),Vf.of(M3(`.${r}`,e))];return n&&n.dark&&s.push(E3.of(!0)),s}static baseTheme(e){return cc.lowest(Vf.of(M3("."+_3,e,_L)))}static findFromDOM(e){var n;let r=e.querySelector(".cm-content"),s=r&&Dn.get(r)||Dn.get(e);return((n=s?.rootView)===null||n===void 0?void 0:n.view)||null}}Ue.styleModule=Vf;Ue.inputHandler=rL;Ue.clipboardInputFilter=Ak;Ue.clipboardOutputFilter=Rk;Ue.scrollHandler=lL;Ue.focusChangeEffect=sL;Ue.perLineTextDirection=iL;Ue.exceptionSink=nL;Ue.updateListener=j3;Ue.editable=El;Ue.mouseSelectionStyle=tL;Ue.dragMovesSelection=eL;Ue.clickAddsSelectionRange=JP;Ue.decorations=Om;Ue.outerDecorations=uL;Ue.atomicRanges=x0;Ue.bidiIsolatedRanges=dL;Ue.scrollMargins=hL;Ue.darkTheme=E3;Ue.cspNonce=Ye.define({combine:t=>t.length?t[0]:""});Ue.contentAttributes=Dk;Ue.editorAttributes=cL;Ue.lineWrapping=Ue.contentAttributes.of({class:"cm-lineWrapping"});Ue.announce=Nt.define();const Kne=4096,t9={};class a1{constructor(e,n,r,s,i,a){this.from=e,this.to=n,this.dir=r,this.isolates=s,this.fresh=i,this.order=a}static update(e,n){if(n.empty&&!e.some(i=>i.fresh))return e;let r=[],s=e.length?e[e.length-1].dir:Zn.LTR;for(let i=Math.max(0,e.length-10);i=0;s--){let i=r[s],a=typeof i=="function"?i(t):i;a&&y3(a,n)}return n}const Jne=We.mac?"mac":We.windows?"win":We.linux?"linux":"key";function ere(t,e){const n=t.split(/-(?!$)/);let r=n[n.length-1];r=="Space"&&(r=" ");let s,i,a,o;for(let u=0;ur.concat(s),[]))),n}function nre(t,e,n){return AL(ML(t.state),e,t,n)}let Io=null;const rre=4e3;function sre(t,e=Jne){let n=Object.create(null),r=Object.create(null),s=(a,o)=>{let u=r[a];if(u==null)r[a]=o;else if(u!=o)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},i=(a,o,u,h,f)=>{var m,g;let x=n[a]||(n[a]=Object.create(null)),y=o.split(/ (?!$)/).map(k=>ere(k,e));for(let k=1;k{let T=Io={view:C,prefix:N,scope:a};return setTimeout(()=>{Io==T&&(Io=null)},rre),!0}]})}let w=y.join(" ");s(w,!1);let b=x[w]||(x[w]={preventDefault:!1,stopPropagation:!1,run:((g=(m=x._any)===null||m===void 0?void 0:m.run)===null||g===void 0?void 0:g.slice())||[]});u&&b.run.push(u),h&&(b.preventDefault=!0),f&&(b.stopPropagation=!0)};for(let a of t){let o=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let h of o){let f=n[h]||(n[h]=Object.create(null));f._any||(f._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:m}=a;for(let g in f)f[g].run.push(x=>m(x,A3))}let u=a[e]||a.key;if(u)for(let h of o)i(h,u,a.run,a.preventDefault,a.stopPropagation),a.shift&&i(h,"Shift-"+u,a.shift,a.preventDefault,a.stopPropagation)}return n}let A3=null;function AL(t,e,n,r){A3=e;let s=Nte(e),i=Is(s,0),a=ja(i)==s.length&&s!=" ",o="",u=!1,h=!1,f=!1;Io&&Io.view==n&&Io.scope==r&&(o=Io.prefix+" ",bL.indexOf(e.keyCode)<0&&(h=!0,Io=null));let m=new Set,g=b=>{if(b){for(let k of b.run)if(!m.has(k)&&(m.add(k),k(n)))return b.stopPropagation&&(f=!0),!0;b.preventDefault&&(b.stopPropagation&&(f=!0),h=!0)}return!1},x=t[r],y,w;return x&&(g(x[o+Mg(s,e,!a)])?u=!0:a&&(e.altKey||e.metaKey||e.ctrlKey)&&!(We.windows&&e.ctrlKey&&e.altKey)&&!(We.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(y=Yo[e.keyCode])&&y!=s?(g(x[o+Mg(y,e,!0)])||e.shiftKey&&(w=Sm[e.keyCode])!=s&&w!=y&&g(x[o+Mg(w,e,!1)]))&&(u=!0):a&&e.shiftKey&&g(x[o+Mg(s,e,!0)])&&(u=!0),!u&&g(x._any)&&(u=!0)),h&&(u=!0),u&&f&&e.stopPropagation(),A3=null,u}class y0{constructor(e,n,r,s,i){this.className=e,this.left=n,this.top=r,this.width=s,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,n){return n.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,n,r){if(r.empty){let s=e.coordsAtPos(r.head,r.assoc||1);if(!s)return[];let i=RL(e);return[new y0(n,s.left-i.left,s.top-i.top,null,s.bottom-s.top)]}else return ire(e,n,r)}}function RL(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Zn.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function s9(t,e,n,r){let s=t.coordsAtPos(e,n*2);if(!s)return r;let i=t.dom.getBoundingClientRect(),a=(s.top+s.bottom)/2,o=t.posAtCoords({x:i.left+1,y:a}),u=t.posAtCoords({x:i.right-1,y:a});return o==null||u==null?r:{from:Math.max(r.from,Math.min(o,u)),to:Math.min(r.to,Math.max(o,u))}}function ire(t,e,n){if(n.to<=t.viewport.from||n.from>=t.viewport.to)return[];let r=Math.max(n.from,t.viewport.from),s=Math.min(n.to,t.viewport.to),i=t.textDirection==Zn.LTR,a=t.contentDOM,o=a.getBoundingClientRect(),u=RL(t),h=a.querySelector(".cm-line"),f=h&&window.getComputedStyle(h),m=o.left+(f?parseInt(f.paddingLeft)+Math.min(0,parseInt(f.textIndent)):0),g=o.right-(f?parseInt(f.paddingRight):0),x=C3(t,r,1),y=C3(t,s,-1),w=x.type==ks.Text?x:null,b=y.type==ks.Text?y:null;if(w&&(t.lineWrapping||x.widgetLineBreaks)&&(w=s9(t,r,1,w)),b&&(t.lineWrapping||y.widgetLineBreaks)&&(b=s9(t,s,-1,b)),w&&b&&w.from==b.from&&w.to==b.to)return N(C(n.from,n.to,w));{let E=w?C(n.from,null,w):T(x,!1),_=b?C(null,n.to,b):T(y,!0),A=[];return(w||x).to<(b||y).from-(w&&b?1:0)||x.widgetLineBreaks>1&&E.bottom+t.defaultLineHeight/2<_.top?A.push(k(m,E.bottom,g,_.top)):E.bottom<_.top&&t.elementAtHeight((E.bottom+_.top)/2).type==ks.Text&&(E.bottom=_.top=(E.bottom+_.top)/2),N(E).concat(A).concat(N(_))}function k(E,_,A,F){return new y0(e,E-u.left,_-u.top,A-E,F-_)}function N({top:E,bottom:_,horizontal:A}){let F=[];for(let B=0;BU&&z.from=q)break;R>W&&H(Math.max(Y,W),E==null&&Y<=U,Math.min(R,q),_==null&&R>=te,ee.dir)}if(W=J.to+1,W>=q)break}return P.length==0&&H(U,E==null,te,_==null,t.textDirection),{top:F,bottom:B,horizontal:P}}function T(E,_){let A=o.top+(_?E.top:E.bottom);return{top:A,bottom:A,horizontal:[]}}}function are(t,e){return t.constructor==e.constructor&&t.eq(e)}class lre{constructor(e,n){this.view=e,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,e)}update(e){e.startState.facet(Tx)!=e.state.facet(Tx)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let n=0,r=e.facet(Tx);for(;n!are(n,this.drawn[r]))){let n=this.dom.firstChild,r=0;for(let s of e)s.update&&n&&s.constructor&&this.drawn[r].constructor&&s.update(n,this.drawn[r])?(n=n.nextSibling,r++):this.dom.insertBefore(s.draw(),n);for(;n;){let s=n.nextSibling;n.remove(),n=s}this.drawn=e,We.safari&&We.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Tx=Ye.define();function DL(t){return[wr.define(e=>new lre(e,t)),Tx.of(t)]}const jm=Ye.define({combine(t){return Fa(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,n)=>Math.min(e,n),drawRangeCursor:(e,n)=>e||n})}});function ore(t={}){return[jm.of(t),cre,ure,dre,aL.of(!0)]}function zL(t){return t.startState.facet(jm)!=t.state.facet(jm)}const cre=DL({above:!0,markers(t){let{state:e}=t,n=e.facet(jm),r=[];for(let s of e.selection.ranges){let i=s==e.selection.main;if(s.empty||n.drawRangeCursor){let a=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=s.empty?s:Me.cursor(s.head,s.head>s.anchor?-1:1);for(let u of y0.forRange(t,a,o))r.push(u)}}return r},update(t,e){t.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=zL(t);return n&&i9(t.state,e),t.docChanged||t.selectionSet||n},mount(t,e){i9(e.state,t)},class:"cm-cursorLayer"});function i9(t,e){e.style.animationDuration=t.facet(jm).cursorBlinkRate+"ms"}const ure=DL({above:!1,markers(t){return t.state.selection.ranges.map(e=>e.empty?[]:y0.forRange(t,"cm-selectionBackground",e)).reduce((e,n)=>e.concat(n))},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||zL(t)},class:"cm-selectionLayer"}),dre=cc.highest(Ue.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),PL=Nt.define({map(t,e){return t==null?null:e.mapPos(t)}}),Gf=Xr.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((n,r)=>r.is(PL)?r.value:n,t)}}),hre=wr.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let n=t.state.field(Gf);n==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(t.startState.field(Gf)!=n||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(Gf),n=e!=null&&t.coordsAtPos(e);if(!n)return null;let r=t.scrollDOM.getBoundingClientRect();return{left:n.left-r.left+t.scrollDOM.scrollLeft*t.scaleX,top:n.top-r.top+t.scrollDOM.scrollTop*t.scaleY,height:n.bottom-n.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:n}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/n+"px",this.cursor.style.height=t.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(Gf)!=t&&this.view.dispatch({effects:PL.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){(t.target==this.view.contentDOM||!this.view.contentDOM.contains(t.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function fre(){return[Gf,hre]}function a9(t,e,n,r,s){e.lastIndex=0;for(let i=t.iterRange(n,r),a=n,o;!i.next().done;a+=i.value.length)if(!i.lineBreak)for(;o=e.exec(i.value);)s(a+o.index,o)}function mre(t,e){let n=t.visibleRanges;if(n.length==1&&n[0].from==t.viewport.from&&n[0].to==t.viewport.to)return n;let r=[];for(let{from:s,to:i}of n)s=Math.max(t.state.doc.lineAt(s).from,s-e),i=Math.min(t.state.doc.lineAt(i).to,i+e),r.length&&r[r.length-1].to>=s?r[r.length-1].to=i:r.push({from:s,to:i});return r}class pre{constructor(e){const{regexp:n,decoration:r,decorate:s,boundary:i,maxLength:a=1e3}=e;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,s)this.addMatch=(o,u,h,f)=>s(f,h,h+o[0].length,o,u);else if(typeof r=="function")this.addMatch=(o,u,h,f)=>{let m=r(o,u,h);m&&f(h,h+o[0].length,m)};else if(r)this.addMatch=(o,u,h,f)=>f(h,h+o[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=i,this.maxLength=a}createDeco(e){let n=new $l,r=n.add.bind(n);for(let{from:s,to:i}of mre(e,this.maxLength))a9(e.state.doc,this.regexp,s,i,(a,o)=>this.addMatch(o,e,a,r));return n.finish()}updateDeco(e,n){let r=1e9,s=-1;return e.docChanged&&e.changes.iterChanges((i,a,o,u)=>{u>=e.view.viewport.from&&o<=e.view.viewport.to&&(r=Math.min(o,r),s=Math.max(u,s))}),e.viewportMoved||s-r>1e3?this.createDeco(e.view):s>-1?this.updateRange(e.view,n.map(e.changes),r,s):n}updateRange(e,n,r,s){for(let i of e.visibleRanges){let a=Math.max(i.from,r),o=Math.min(i.to,s);if(o>=a){let u=e.state.doc.lineAt(a),h=u.tou.from;a--)if(this.boundary.test(u.text[a-1-u.from])){f=a;break}for(;og.push(k.range(w,b));if(u==h)for(this.regexp.lastIndex=f-u.from;(x=this.regexp.exec(u.text))&&x.indexthis.addMatch(b,e,w,y));n=n.update({filterFrom:f,filterTo:m,filter:(w,b)=>wm,add:g})}}return n}}const R3=/x/.unicode!=null?"gu":"g",gre=new RegExp(`[\0-\b +--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,R3),xre={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let M2=null;function vre(){var t;if(M2==null&&typeof document<"u"&&document.body){let e=document.body.style;M2=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return M2||!1}const Ex=Ye.define({combine(t){let e=Fa(t,{render:null,specialChars:gre,addSpecialChars:null});return(e.replaceTabs=!vre())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,R3)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,R3)),e}});function yre(t={}){return[Ex.of(t),bre()]}let l9=null;function bre(){return l9||(l9=wr.fromClass(class{constructor(t){this.view=t,this.decorations=ot.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(Ex)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new pre({regexp:t.specialChars,decoration:(e,n,r)=>{let{doc:s}=n.state,i=Is(e[0],0);if(i==9){let a=s.lineAt(r),o=n.state.tabSize,u=Sh(a.text,o,r-a.from);return ot.replace({widget:new Ore((o-u%o)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[i]||(this.decorationCache[i]=ot.replace({widget:new kre(t,i)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(Ex);t.startState.facet(Ex)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}const wre="•";function Sre(t){return t>=32?wre:t==10?"␤":String.fromCharCode(9216+t)}class kre extends $a{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=Sre(this.code),r=e.state.phrase("Control character")+" "+(xre[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,r,n);if(s)return s;let i=document.createElement("span");return i.textContent=n,i.title=r,i.setAttribute("aria-label",r),i.className="cm-specialChar",i}ignoreEvent(){return!1}}class Ore extends $a{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function jre(){return Cre}const Nre=ot.line({class:"cm-activeLine"}),Cre=wr.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,n=[];for(let r of t.state.selection.ranges){let s=t.lineBlockAt(r.head);s.from>e&&(n.push(Nre.range(s.from)),e=s.from)}return ot.set(n)}},{decorations:t=>t.decorations});class Tre extends $a{constructor(e){super(),this.content=e}toDOM(e){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),n.setAttribute("aria-hidden","true"),n}coordsAt(e){let n=e.firstChild?th(e.firstChild):[];if(!n.length)return null;let r=window.getComputedStyle(e.parentNode),s=m0(n[0],r.direction!="rtl"),i=parseInt(r.lineHeight);return s.bottom-s.top>i*1.5?{left:s.left,right:s.right,top:s.top,bottom:s.top+i}:s}ignoreEvent(){return!1}}function Ere(t){let e=wr.fromClass(class{constructor(n){this.view=n,this.placeholder=t?ot.set([ot.widget({widget:new Tre(t),side:1}).range(0)]):ot.none}get decorations(){return this.view.state.doc.length?ot.none:this.placeholder}},{decorations:n=>n.decorations});return typeof t=="string"?[e,Ue.contentAttributes.of({"aria-placeholder":t})]:e}const D3=2e3;function _re(t,e,n){let r=Math.min(e.line,n.line),s=Math.max(e.line,n.line),i=[];if(e.off>D3||n.off>D3||e.col<0||n.col<0){let a=Math.min(e.off,n.off),o=Math.max(e.off,n.off);for(let u=r;u<=s;u++){let h=t.doc.line(u);h.length<=o&&i.push(Me.range(h.from+a,h.to+o))}}else{let a=Math.min(e.col,n.col),o=Math.max(e.col,n.col);for(let u=r;u<=s;u++){let h=t.doc.line(u),f=d3(h.text,a,t.tabSize,!0);if(f<0)i.push(Me.cursor(h.to));else{let m=d3(h.text,o,t.tabSize);i.push(Me.range(h.from+f,h.from+m))}}}return i}function Mre(t,e){let n=t.coordsAtPos(t.viewport.from);return n?Math.round(Math.abs((n.left-e)/t.defaultCharacterWidth)):-1}function o9(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),r=t.state.doc.lineAt(n),s=n-r.from,i=s>D3?-1:s==r.length?Mre(t,e.clientX):Sh(r.text,t.state.tabSize,n-r.from);return{line:r.number,col:i,off:s}}function Are(t,e){let n=o9(t,e),r=t.state.selection;return n?{update(s){if(s.docChanged){let i=s.changes.mapPos(s.startState.doc.line(n.line).from),a=s.state.doc.lineAt(i);n={line:a.number,col:n.col,off:Math.min(n.off,a.length)},r=r.map(s.changes)}},get(s,i,a){let o=o9(t,s);if(!o)return r;let u=_re(t.state,n,o);return u.length?a?Me.create(u.concat(r.ranges)):Me.create(u):r}}:null}function Rre(t){let e=(n=>n.altKey&&n.button==0);return Ue.mouseSelectionStyle.of((n,r)=>e(r)?Are(n,r):null)}const Dre={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},zre={style:"cursor: crosshair"};function Pre(t={}){let[e,n]=Dre[t.key||"Alt"],r=wr.fromClass(class{constructor(s){this.view=s,this.isDown=!1}set(s){this.isDown!=s&&(this.isDown=s,this.view.update([]))}},{eventObservers:{keydown(s){this.set(s.keyCode==e||n(s))},keyup(s){(s.keyCode==e||!n(s))&&this.set(!1)},mousemove(s){this.set(n(s))}}});return[r,Ue.contentAttributes.of(s=>{var i;return!((i=s.plugin(r))===null||i===void 0)&&i.isDown?zre:null})]}const Ag="-10000px";class LL{constructor(e,n,r,s){this.facet=n,this.createTooltipView=r,this.removeTooltipView=s,this.input=e.state.facet(n),this.tooltips=this.input.filter(a=>a);let i=null;this.tooltipViews=this.tooltips.map(a=>i=r(a,i))}update(e,n){var r;let s=e.state.facet(this.facet),i=s.filter(u=>u);if(s===this.input){for(let u of this.tooltipViews)u.update&&u.update(e);return!1}let a=[],o=n?[]:null;for(let u=0;un[h]=u),n.length=o.length),this.input=s,this.tooltips=i,this.tooltipViews=a,!0}}function Lre(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const A2=Ye.define({combine:t=>{var e,n,r;return{position:We.ios?"absolute":((e=t.find(s=>s.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((n=t.find(s=>s.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((r=t.find(s=>s.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||Lre}}}),c9=new WeakMap,Ik=wr.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(A2);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new LL(t,qk,(n,r)=>this.createTooltip(n,r),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let n=e||t.geometryChanged,r=t.state.facet(A2);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let s of this.manager.tooltipViews)s.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let s of this.manager.tooltipViews)this.container.appendChild(s.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(t,e){let n=t.create(this.view),r=e?e.dom:null;if(n.dom.classList.add("cm-tooltip"),t.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let s=document.createElement("div");s.className="cm-tooltip-arrow",n.dom.appendChild(s)}return n.dom.style.position=this.position,n.dom.style.top=Ag,n.dom.style.left="0px",this.container.insertBefore(n.dom,r),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var t,e,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(t=r.destroy)===null||t===void 0||t.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:i}=this.manager.tooltipViews[0];if(We.safari){let a=i.getBoundingClientRect();n=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else n=!!i.offsetParent&&i.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let i=this.parent.getBoundingClientRect();i.width&&i.height&&(t=i.width/this.parent.offsetWidth,e=i.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),s=zk(this.view);return{visible:{left:r.left+s.left,top:r.top+s.top,right:r.right-s.right,bottom:r.bottom-s.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((i,a)=>{let o=this.manager.tooltipViews[a];return o.getCoords?o.getCoords(i.pos):this.view.coordsAtPos(i.pos)}),size:this.manager.tooltipViews.map(({dom:i})=>i.getBoundingClientRect()),space:this.view.state.facet(A2).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:n}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let o of this.manager.tooltipViews)o.dom.style.position="absolute"}let{visible:n,space:r,scaleX:s,scaleY:i}=t,a=[];for(let o=0;o=Math.min(n.bottom,r.bottom)||m.rightMath.min(n.right,r.right)+.1)){f.style.top=Ag;continue}let x=u.arrow?h.dom.querySelector(".cm-tooltip-arrow"):null,y=x?7:0,w=g.right-g.left,b=(e=c9.get(h))!==null&&e!==void 0?e:g.bottom-g.top,k=h.offset||Ire,N=this.view.textDirection==Zn.LTR,C=g.width>r.right-r.left?N?r.left:r.right-g.width:N?Math.max(r.left,Math.min(m.left-(x?14:0)+k.x,r.right-w)):Math.min(Math.max(r.left,m.left-w+(x?14:0)-k.x),r.right-w),T=this.above[o];!u.strictSide&&(T?m.top-b-y-k.yr.bottom)&&T==r.bottom-m.bottom>m.top-r.top&&(T=this.above[o]=!T);let E=(T?m.top-r.top:r.bottom-m.bottom)-y;if(EC&&F.top<_+b&&F.bottom>_&&(_=T?F.top-b-2-y:F.bottom+y+2);if(this.position=="absolute"?(f.style.top=(_-t.parent.top)/i+"px",u9(f,(C-t.parent.left)/s)):(f.style.top=_/i+"px",u9(f,C/s)),x){let F=m.left+(N?k.x:-k.x)-(C+14-7);x.style.left=F/s+"px"}h.overlap!==!0&&a.push({left:C,top:_,right:A,bottom:_+b}),f.classList.toggle("cm-tooltip-above",T),f.classList.toggle("cm-tooltip-below",!T),h.positioned&&h.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=Ag}},{eventObservers:{scroll(){this.maybeMeasure()}}});function u9(t,e){let n=parseInt(t.style.left,10);(isNaN(n)||Math.abs(e-n)>1)&&(t.style.left=e+"px")}const Bre=Ue.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),Ire={x:0,y:0},qk=Ye.define({enables:[Ik,Bre]}),l1=Ye.define({combine:t=>t.reduce((e,n)=>e.concat(n),[])});class hv{static create(e){return new hv(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new LL(e,l1,(n,r)=>this.createHostedView(n,r),n=>n.dom.remove())}createHostedView(e,n){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let n of this.manager.tooltipViews)n.mount&&n.mount(e);this.mounted=!0}positioned(e){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let n of this.manager.tooltipViews)(e=n.destroy)===null||e===void 0||e.call(n)}passProp(e){let n;for(let r of this.manager.tooltipViews){let s=r[e];if(s!==void 0){if(n===void 0)n=s;else if(n!==s)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const qre=qk.compute([l1],t=>{let e=t.facet(l1);return e.length===0?null:{pos:Math.min(...e.map(n=>n.pos)),end:Math.max(...e.map(n=>{var r;return(r=n.end)!==null&&r!==void 0?r:n.pos})),create:hv.create,above:e[0].above,arrow:e.some(n=>n.arrow)}});class Fre{constructor(e,n,r,s,i){this.view=e,this.source=n,this.field=r,this.setHover=s,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;eo.bottom||n.xo.right+e.defaultCharacterWidth)return;let u=e.bidiSpans(e.state.doc.lineAt(s)).find(f=>f.from<=s&&f.to>=s),h=u&&u.dir==Zn.RTL?-1:1;i=n.x{this.pending==o&&(this.pending=null,u&&!(Array.isArray(u)&&!u.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(u)?u:[u])}))},u=>Fs(e.state,u,"hover tooltip"))}else a&&!(Array.isArray(a)&&!a.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(a)?a:[a])})}get tooltip(){let e=this.view.plugin(Ik),n=e?e.manager.tooltips.findIndex(r=>r.create==hv.create):-1;return n>-1?e.manager.tooltipViews[n]:null}mousemove(e){var n,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:i}=this;if(s.length&&i&&!$re(i.dom,e)||this.pending){let{pos:a}=s[0]||this.pending,o=(r=(n=s[0])===null||n===void 0?void 0:n.end)!==null&&r!==void 0?r:a;(a==o?this.view.posAtCoords(this.lastMove)!=a:!Qre(this.view,a,o,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let n=r=>{e.removeEventListener("mouseleave",n),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Rg=4;function $re(t,e){let{left:n,right:r,top:s,bottom:i}=t.getBoundingClientRect(),a;if(a=t.querySelector(".cm-tooltip-arrow")){let o=a.getBoundingClientRect();s=Math.min(o.top,s),i=Math.max(o.bottom,i)}return e.clientX>=n-Rg&&e.clientX<=r+Rg&&e.clientY>=s-Rg&&e.clientY<=i+Rg}function Qre(t,e,n,r,s,i){let a=t.scrollDOM.getBoundingClientRect(),o=t.documentTop+t.documentPadding.top+t.contentHeight;if(a.left>r||a.rights||Math.min(a.bottom,o)=e&&u<=n}function Hre(t,e={}){let n=Nt.define(),r=Xr.define({create(){return[]},update(s,i){if(s.length&&(e.hideOnChange&&(i.docChanged||i.selection)?s=[]:e.hideOn&&(s=s.filter(a=>!e.hideOn(i,a))),i.docChanged)){let a=[];for(let o of s){let u=i.changes.mapPos(o.pos,-1,rs.TrackDel);if(u!=null){let h=Object.assign(Object.create(null),o);h.pos=u,h.end!=null&&(h.end=i.changes.mapPos(h.end)),a.push(h)}}s=a}for(let a of i.effects)a.is(n)&&(s=a.value),a.is(Vre)&&(s=[]);return s},provide:s=>l1.from(s)});return{active:r,extension:[r,wr.define(s=>new Fre(s,t,r,n,e.hoverTime||300)),qre]}}function BL(t,e){let n=t.plugin(Ik);if(!n)return null;let r=n.manager.tooltips.indexOf(e);return r<0?null:n.manager.tooltipViews[r]}const Vre=Nt.define(),d9=Ye.define({combine(t){let e,n;for(let r of t)e=e||r.topContainer,n=n||r.bottomContainer;return{topContainer:e,bottomContainer:n}}});function Nm(t,e){let n=t.plugin(IL),r=n?n.specs.indexOf(e):-1;return r>-1?n.panels[r]:null}const IL=wr.fromClass(class{constructor(t){this.input=t.state.facet(Cm),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(t));let e=t.state.facet(d9);this.top=new Dg(t,!0,e.topContainer),this.bottom=new Dg(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(t){let e=t.state.facet(d9);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Dg(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Dg(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=t.state.facet(Cm);if(n!=this.input){let r=n.filter(u=>u),s=[],i=[],a=[],o=[];for(let u of r){let h=this.specs.indexOf(u),f;h<0?(f=u(t.view),o.push(f)):(f=this.panels[h],f.update&&f.update(t)),s.push(f),(f.top?i:a).push(f)}this.specs=r,this.panels=s,this.top.sync(i),this.bottom.sync(a);for(let u of o)u.dom.classList.add("cm-panel"),u.mount&&u.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>Ue.scrollMargins.of(e=>{let n=e.plugin(t);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class Dg{constructor(e,n,r){this.view=e,this.top=n,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let n of this.panels)n.destroy&&e.indexOf(n)<0&&n.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let e=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;e!=n.dom;)e=h9(e);e=e.nextSibling}else this.dom.insertBefore(n.dom,e);for(;e;)e=h9(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function h9(t){let e=t.nextSibling;return t.remove(),e}const Cm=Ye.define({enables:IL});class Hl extends au{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Hl.prototype.elementClass="";Hl.prototype.toDOM=void 0;Hl.prototype.mapMode=rs.TrackBefore;Hl.prototype.startSide=Hl.prototype.endSide=-1;Hl.prototype.point=!0;const _x=Ye.define(),Ure=Ye.define(),Wre={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>rn.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},cm=Ye.define();function Gre(t){return[qL(),cm.of({...Wre,...t})]}const f9=Ye.define({combine:t=>t.some(e=>e)});function qL(t){return[Xre]}const Xre=wr.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(cm).map(e=>new p9(t,e)),this.fixed=!t.state.facet(f9);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,n=t.view.viewport,r=Math.min(e.to,n.to)-Math.max(e.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(f9)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=rn.iter(this.view.state.facet(_x),this.view.viewport.from),r=[],s=this.gutters.map(i=>new Yre(i,this.view.viewport,-this.view.documentPadding.top));for(let i of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(i.type)){let a=!0;for(let o of i.type)if(o.type==ks.Text&&a){z3(n,r,o.from);for(let u of s)u.line(this.view,o,r);a=!1}else if(o.widget)for(let u of s)u.widget(this.view,o)}else if(i.type==ks.Text){z3(n,r,i.from);for(let a of s)a.line(this.view,i,r)}else if(i.widget)for(let a of s)a.widget(this.view,i);for(let i of s)i.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(cm),n=t.state.facet(cm),r=t.docChanged||t.heightChanged||t.viewportChanged||!rn.eq(t.startState.facet(_x),t.state.facet(_x),t.view.viewport.from,t.view.viewport.to);if(e==n)for(let s of this.gutters)s.update(t)&&(r=!0);else{r=!0;let s=[];for(let i of n){let a=e.indexOf(i);a<0?s.push(new p9(this.view,i)):(this.gutters[a].update(t),s.push(this.gutters[a]))}for(let i of this.gutters)i.dom.remove(),s.indexOf(i)<0&&i.destroy();for(let i of s)i.config.side=="after"?this.getDOMAfter().appendChild(i.dom):this.dom.appendChild(i.dom);this.gutters=s}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>Ue.scrollMargins.of(e=>{let n=e.plugin(t);if(!n||n.gutters.length==0||!n.fixed)return null;let r=n.dom.offsetWidth*e.scaleX,s=n.domAfter?n.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Zn.LTR?{left:r,right:s}:{right:r,left:s}})});function m9(t){return Array.isArray(t)?t:[t]}function z3(t,e,n){for(;t.value&&t.from<=n;)t.from==n&&e.push(t.value),t.next()}class Yre{constructor(e,n,r){this.gutter=e,this.height=r,this.i=0,this.cursor=rn.iter(e.markers,n.from)}addElement(e,n,r){let{gutter:s}=this,i=(n.top-this.height)/e.scaleY,a=n.height/e.scaleY;if(this.i==s.elements.length){let o=new FL(e,a,i,r);s.elements.push(o),s.dom.appendChild(o.dom)}else s.elements[this.i].update(e,a,i,r);this.height=n.bottom,this.i++}line(e,n,r){let s=[];z3(this.cursor,s,n.from),r.length&&(s=s.concat(r));let i=this.gutter.config.lineMarker(e,n,s);i&&s.unshift(i);let a=this.gutter;s.length==0&&!a.config.renderEmptyElements||this.addElement(e,n,s)}widget(e,n){let r=this.gutter.config.widgetMarker(e,n.widget,n),s=r?[r]:null;for(let i of e.state.facet(Ure)){let a=i(e,n.widget,n);a&&(s||(s=[])).push(a)}s&&this.addElement(e,n,s)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let n=e.elements.pop();e.dom.removeChild(n.dom),n.destroy()}}}class p9{constructor(e,n){this.view=e,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in n.domEventHandlers)this.dom.addEventListener(r,s=>{let i=s.target,a;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let u=i.getBoundingClientRect();a=(u.top+u.bottom)/2}else a=s.clientY;let o=e.lineBlockAtHeight(a-e.documentTop);n.domEventHandlers[r](e,o,s)&&s.preventDefault()});this.markers=m9(n.markers(e)),n.initialSpacer&&(this.spacer=new FL(e,0,0,[n.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let n=this.markers;if(this.markers=m9(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let s=this.config.updateSpacer(this.spacer.markers[0],e);s!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[s])}let r=e.view.viewport;return!rn.eq(this.markers,n,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class FL{constructor(e,n,r,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,n,r,s)}update(e,n,r,s){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),Zre(this.markers,s)||this.setMarkers(e,s)}setMarkers(e,n){let r="cm-gutterElement",s=this.dom.firstChild;for(let i=0,a=0;;){let o=a,u=ii(o,u,h)||a(o,u,h):a}return r}})}});class R2 extends Hl{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function D2(t,e){return t.state.facet(_d).formatNumber(e,t.state)}const ese=cm.compute([_d],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(Kre)},lineMarker(e,n,r){return r.some(s=>s.toDOM)?null:new R2(D2(e,e.state.doc.lineAt(n.from).number))},widgetMarker:(e,n,r)=>{for(let s of e.state.facet(Jre)){let i=s(e,n,r);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(_d)!=e.state.facet(_d),initialSpacer(e){return new R2(D2(e,g9(e.state.doc.lines)))},updateSpacer(e,n){let r=D2(n.view,g9(n.view.state.doc.lines));return r==e.number?e:new R2(r)},domEventHandlers:t.facet(_d).domEventHandlers,side:"before"}));function tse(t={}){return[_d.of(t),qL(),ese]}function g9(t){let e=9;for(;e{let e=[],n=-1;for(let r of t.selection.ranges){let s=t.doc.lineAt(r.head).from;s>n&&(n=s,e.push(nse.range(s)))}return rn.of(e)});function sse(){return rse}const $L=1024;let ise=0;class z2{constructor(e,n){this.from=e,this.to=n}}class Ft{constructor(e={}){this.id=ise++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Cs.match(e)),n=>{let r=e(n);return r===void 0?null:[this,r]}}}Ft.closedBy=new Ft({deserialize:t=>t.split(" ")});Ft.openedBy=new Ft({deserialize:t=>t.split(" ")});Ft.group=new Ft({deserialize:t=>t.split(" ")});Ft.isolate=new Ft({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});Ft.contextHash=new Ft({perNode:!0});Ft.lookAhead=new Ft({perNode:!0});Ft.mounted=new Ft({perNode:!0});class o1{constructor(e,n,r){this.tree=e,this.overlay=n,this.parser=r}static get(e){return e&&e.props&&e.props[Ft.mounted.id]}}const ase=Object.create(null);class Cs{constructor(e,n,r,s=0){this.name=e,this.props=n,this.id=r,this.flags=s}static define(e){let n=e.props&&e.props.length?Object.create(null):ase,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),s=new Cs(e.name||"",n,e.id,r);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(s)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[i[0].id]=i[1]}}return s}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let n=this.prop(Ft.group);return n?n.indexOf(e)>-1:!1}return this.id==e}static match(e){let n=Object.create(null);for(let r in e)for(let s of r.split(" "))n[s]=e[r];return r=>{for(let s=r.prop(Ft.group),i=-1;i<(s?s.length:0);i++){let a=n[i<0?r.name:s[i]];if(a)return a}}}}Cs.none=new Cs("",Object.create(null),0,8);class fv{constructor(e){this.types=e;for(let n=0;n0;for(let u=this.cursor(a|Ir.IncludeAnonymous);;){let h=!1;if(u.from<=i&&u.to>=s&&(!o&&u.type.isAnonymous||n(u)!==!1)){if(u.firstChild())continue;h=!0}for(;h&&r&&(o||!u.type.isAnonymous)&&r(u),!u.nextSibling();){if(!u.parent())return;h=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let n in this.props)e.push([+n,this.props[n]]);return e}balance(e={}){return this.children.length<=8?this:Qk(Cs.none,this.children,this.positions,0,this.children.length,0,this.length,(n,r,s)=>new Fn(this.type,n,r,s,this.propValues),e.makeTree||((n,r,s)=>new Fn(Cs.none,n,r,s)))}static build(e){return use(e)}}Fn.empty=new Fn(Cs.none,[],[],0);class Fk{constructor(e,n){this.buffer=e,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Fk(this.buffer,this.index)}}class Ko{constructor(e,n,r){this.buffer=e,this.length=n,this.set=r}get type(){return Cs.none}toString(){let e=[];for(let n=0;n0));u=a[u+3]);return o}slice(e,n,r){let s=this.buffer,i=new Uint16Array(n-e),a=0;for(let o=e,u=0;o=e&&ne;case 1:return n<=e&&r>e;case 2:return r>e;case 4:return!0}}function Tm(t,e,n,r){for(var s;t.from==t.to||(n<1?t.from>=e:t.from>e)||(n>-1?t.to<=e:t.to0?o.length:-1;e!=h;e+=n){let f=o[e],m=u[e]+a.from;if(QL(s,r,m,m+f.length)){if(f instanceof Ko){if(i&Ir.ExcludeBuffers)continue;let g=f.findChild(0,f.buffer.length,n,r-m,s);if(g>-1)return new _a(new lse(a,f,e,m),null,g)}else if(i&Ir.IncludeAnonymous||!f.type.isAnonymous||$k(f)){let g;if(!(i&Ir.IgnoreMounts)&&(g=o1.get(f))&&!g.overlay)return new Vs(g.tree,m,e,a);let x=new Vs(f,m,e,a);return i&Ir.IncludeAnonymous||!x.type.isAnonymous?x:x.nextChild(n<0?f.children.length-1:0,n,r,s)}}}if(i&Ir.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+n:e=n<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,n,r=0){let s;if(!(r&Ir.IgnoreOverlays)&&(s=o1.get(this._tree))&&s.overlay){let i=e-this.from;for(let{from:a,to:o}of s.overlay)if((n>0?a<=i:a=i:o>i))return new Vs(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function v9(t,e,n,r){let s=t.cursor(),i=[];if(!s.firstChild())return i;if(n!=null){for(let a=!1;!a;)if(a=s.type.is(n),!s.nextSibling())return i}for(;;){if(r!=null&&s.type.is(r))return i;if(s.type.is(e)&&i.push(s.node),!s.nextSibling())return r==null?i:[]}}function P3(t,e,n=e.length-1){for(let r=t;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[n]&&e[n]!=r.name)return!1;n--}}return!0}class lse{constructor(e,n,r,s){this.parent=e,this.buffer=n,this.index=r,this.start=s}}class _a extends HL{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,n,r){super(),this.context=e,this._parent=n,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,n,r){let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],e,n-this.context.start,r);return i<0?null:new _a(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,n,r=0){if(r&Ir.ExcludeBuffers)return null;let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return i<0?null:new _a(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new _a(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new _a(this.context,this._parent,e.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],n=[],{buffer:r}=this.context,s=this.index+4,i=r.buffer[this.index+3];if(i>s){let a=r.buffer[this.index+1];e.push(r.slice(s,i,a)),n.push(0)}return new Fn(this.type,e,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function VL(t){if(!t.length)return null;let e=0,n=t[0];for(let i=1;in.from||a.to=e){let o=new Vs(a.tree,a.overlay[0].from+i.from,-1,i);(s||(s=[r])).push(Tm(o,e,n,!1))}}return s?VL(s):r}class L3{get name(){return this.type.name}constructor(e,n=0){if(this.mode=n,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Vs)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,n){this.index=e;let{start:r,buffer:s}=this.buffer;return this.type=n||s.set.types[s.buffer[e]],this.from=r+s.buffer[e+1],this.to=r+s.buffer[e+2],!0}yield(e){return e?e instanceof Vs?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,n,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,n,r,this.mode));let{buffer:s}=this.buffer,i=s.findChild(this.index+4,s.buffer[this.index+3],e,n-this.buffer.start,r);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,n,r=this.mode){return this.buffer?r&Ir.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ir.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ir.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:n}=this.buffer,r=this.stack.length-1;if(e<0){let s=r<0?0:this.stack[r]+4;if(this.index!=s)return this.yieldBuf(n.findChild(s,this.index,-1,0,4))}else{let s=n.buffer[this.index+3];if(s<(r<0?n.buffer.length:n.buffer[this.stack[r]+3]))return this.yieldBuf(s)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let n,r,{buffer:s}=this;if(s){if(e>0){if(this.index-1)for(let i=n+e,a=e<0?-1:r._tree.children.length;i!=a;i+=e){let o=r._tree.children[i];if(this.mode&Ir.IncludeAnonymous||o instanceof Ko||!o.type.isAnonymous||$k(o))return!1}return!0}move(e,n){if(n&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,n=0){for(;(this.from==this.to||(n<1?this.from>=e:this.from>e)||(n>-1?this.to<=e:this.to=0;){for(let a=e;a;a=a._parent)if(a.index==s){if(s==this.index)return a;n=a,r=i+1;break e}s=this.stack[--i]}for(let s=r;s=0;i--){if(i<0)return P3(this._tree,e,s);let a=r[n.buffer[this.stack[i]]];if(!a.isAnonymous){if(e[s]&&e[s]!=a.name)return!1;s--}}return!0}}function $k(t){return t.children.some(e=>e instanceof Ko||!e.type.isAnonymous||$k(e))}function use(t){var e;let{buffer:n,nodeSet:r,maxBufferLength:s=$L,reused:i=[],minRepeatType:a=r.types.length}=t,o=Array.isArray(n)?new Fk(n,n.length):n,u=r.types,h=0,f=0;function m(E,_,A,F,B,P){let{id:H,start:U,end:te,size:z}=o,W=f,q=h;if(z<0)if(o.next(),z==-1){let re=i[H];A.push(re),F.push(U-E);return}else if(z==-3){h=H;return}else if(z==-4){f=H;return}else throw new RangeError(`Unrecognized record size: ${z}`);let J=u[H],ee,Y,R=U-E;if(te-U<=s&&(Y=b(o.pos-_,B))){let re=new Uint16Array(Y.size-Y.skip),K=o.pos-Y.size,I=re.length;for(;o.pos>K;)I=k(Y.start,re,I);ee=new Ko(re,te-Y.start,r),R=Y.start-E}else{let re=o.pos-z;o.next();let K=[],I=[],Q=H>=a?H:-1,$=0,Z=te;for(;o.pos>re;)Q>=0&&o.id==Q&&o.size>=0?(o.end<=Z-s&&(y(K,I,U,$,o.end,Z,Q,W,q),$=K.length,Z=o.end),o.next()):P>2500?g(U,re,K,I):m(U,re,K,I,Q,P+1);if(Q>=0&&$>0&&$-1&&$>0){let ne=x(J,q);ee=Qk(J,K,I,0,K.length,0,te-U,ne,ne)}else ee=w(J,K,I,te-U,W-te,q)}A.push(ee),F.push(R)}function g(E,_,A,F){let B=[],P=0,H=-1;for(;o.pos>_;){let{id:U,start:te,end:z,size:W}=o;if(W>4)o.next();else{if(H>-1&&te=0;z-=3)U[W++]=B[z],U[W++]=B[z+1]-te,U[W++]=B[z+2]-te,U[W++]=W;A.push(new Ko(U,B[2]-te,r)),F.push(te-E)}}function x(E,_){return(A,F,B)=>{let P=0,H=A.length-1,U,te;if(H>=0&&(U=A[H])instanceof Fn){if(!H&&U.type==E&&U.length==B)return U;(te=U.prop(Ft.lookAhead))&&(P=F[H]+U.length+te)}return w(E,A,F,B,P,_)}}function y(E,_,A,F,B,P,H,U,te){let z=[],W=[];for(;E.length>F;)z.push(E.pop()),W.push(_.pop()+A-B);E.push(w(r.types[H],z,W,P-B,U-P,te)),_.push(B-A)}function w(E,_,A,F,B,P,H){if(P){let U=[Ft.contextHash,P];H=H?[U].concat(H):[U]}if(B>25){let U=[Ft.lookAhead,B];H=H?[U].concat(H):[U]}return new Fn(E,_,A,F,H)}function b(E,_){let A=o.fork(),F=0,B=0,P=0,H=A.end-s,U={size:0,start:0,skip:0};e:for(let te=A.pos-E;A.pos>te;){let z=A.size;if(A.id==_&&z>=0){U.size=F,U.start=B,U.skip=P,P+=4,F+=4,A.next();continue}let W=A.pos-z;if(z<0||W=a?4:0,J=A.start;for(A.next();A.pos>W;){if(A.size<0)if(A.size==-3)q+=4;else break e;else A.id>=a&&(q+=4);A.next()}B=J,F+=z,P+=q}return(_<0||F==E)&&(U.size=F,U.start=B,U.skip=P),U.size>4?U:void 0}function k(E,_,A){let{id:F,start:B,end:P,size:H}=o;if(o.next(),H>=0&&F4){let te=o.pos-(H-4);for(;o.pos>te;)A=k(E,_,A)}_[--A]=U,_[--A]=P-E,_[--A]=B-E,_[--A]=F}else H==-3?h=F:H==-4&&(f=F);return A}let N=[],C=[];for(;o.pos>0;)m(t.start||0,t.bufferStart||0,N,C,-1,0);let T=(e=t.length)!==null&&e!==void 0?e:N.length?C[0]+N[0].length:0;return new Fn(u[t.topID],N.reverse(),C.reverse(),T)}const y9=new WeakMap;function Mx(t,e){if(!t.isAnonymous||e instanceof Ko||e.type!=t)return 1;let n=y9.get(e);if(n==null){n=1;for(let r of e.children){if(r.type!=t||!(r instanceof Fn)){n=1;break}n+=Mx(t,r)}y9.set(e,n)}return n}function Qk(t,e,n,r,s,i,a,o,u){let h=0;for(let y=r;y=f)break;_+=A}if(C==T+1){if(_>f){let A=y[T];x(A.children,A.positions,0,A.children.length,w[T]+N);continue}m.push(y[T])}else{let A=w[C-1]+y[C-1].length-E;m.push(Qk(t,y,w,T,C,E,A,null,u))}g.push(E+N-i)}}return x(e,n,r,s,0),(o||u)(m,g,a)}class dse{constructor(){this.map=new WeakMap}setBuffer(e,n,r){let s=this.map.get(e);s||this.map.set(e,s=new Map),s.set(n,r)}getBuffer(e,n){let r=this.map.get(e);return r&&r.get(n)}set(e,n){e instanceof _a?this.setBuffer(e.context.buffer,e.index,n):e instanceof Vs&&this.map.set(e.tree,n)}get(e){return e instanceof _a?this.getBuffer(e.context.buffer,e.index):e instanceof Vs?this.map.get(e.tree):void 0}cursorSet(e,n){e.buffer?this.setBuffer(e.buffer.buffer,e.index,n):this.map.set(e.tree,n)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class tu{constructor(e,n,r,s,i=!1,a=!1){this.from=e,this.to=n,this.tree=r,this.offset=s,this.open=(i?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,n=[],r=!1){let s=[new tu(0,e.length,e,0,!1,r)];for(let i of n)i.to>e.length&&s.push(i);return s}static applyChanges(e,n,r=128){if(!n.length)return e;let s=[],i=1,a=e.length?e[0]:null;for(let o=0,u=0,h=0;;o++){let f=o=r)for(;a&&a.from=g.from||m<=g.to||h){let x=Math.max(g.from,u)-h,y=Math.min(g.to,m)-h;g=x>=y?null:new tu(x,y,g.tree,g.offset+h,o>0,!!f)}if(g&&s.push(g),a.to>m)break;a=inew z2(s.from,s.to)):[new z2(0,0)]:[new z2(0,e.length)],this.createParse(e,n||[],r)}parse(e,n,r){let s=this.startParse(e,n,r);for(;;){let i=s.advance();if(i)return i}}};class hse{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,n){return this.string.slice(e,n)}}new Ft({perNode:!0});let fse=0;class Ei{constructor(e,n,r,s){this.name=e,this.set=n,this.base=r,this.modified=s,this.id=fse++}toString(){let{name:e}=this;for(let n of this.modified)n.name&&(e=`${n.name}(${e})`);return e}static define(e,n){let r=typeof e=="string"?e:"?";if(e instanceof Ei&&(n=e),n?.base)throw new Error("Can not derive from a modified tag");let s=new Ei(r,[],null,[]);if(s.set.push(s),n)for(let i of n.set)s.set.push(i);return s}static defineModifier(e){let n=new c1(e);return r=>r.modified.indexOf(n)>-1?r:c1.get(r.base||r,r.modified.concat(n).sort((s,i)=>s.id-i.id))}}let mse=0;class c1{constructor(e){this.name=e,this.instances=[],this.id=mse++}static get(e,n){if(!n.length)return e;let r=n[0].instances.find(o=>o.base==e&&pse(n,o.modified));if(r)return r;let s=[],i=new Ei(e.name,s,e,n);for(let o of n)o.instances.push(i);let a=gse(n);for(let o of e.set)if(!o.modified.length)for(let u of a)s.push(c1.get(o,u));return i}}function pse(t,e){return t.length==e.length&&t.every((n,r)=>n==e[r])}function gse(t){let e=[[]];for(let n=0;nr.length-n.length)}function Vk(t){let e=Object.create(null);for(let n in t){let r=t[n];Array.isArray(r)||(r=[r]);for(let s of n.split(" "))if(s){let i=[],a=2,o=s;for(let m=0;;){if(o=="..."&&m>0&&m+3==s.length){a=1;break}let g=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!g)throw new RangeError("Invalid path: "+s);if(i.push(g[0]=="*"?"":g[0][0]=='"'?JSON.parse(g[0]):g[0]),m+=g[0].length,m==s.length)break;let x=s[m++];if(m==s.length&&x=="!"){a=0;break}if(x!="/")throw new RangeError("Invalid path: "+s);o=s.slice(m)}let u=i.length-1,h=i[u];if(!h)throw new RangeError("Invalid path: "+s);let f=new Em(r,a,u>0?i.slice(0,u):null);e[h]=f.sort(e[h])}}return UL.add(e)}const UL=new Ft({combine(t,e){let n,r,s;for(;t||e;){if(!t||e&&t.depth>=e.depth?(s=e,e=e.next):(s=t,t=t.next),n&&n.mode==s.mode&&!s.context&&!n.context)continue;let i=new Em(s.tags,s.mode,s.context);n?n.next=i:r=i,n=i}return r}});class Em{constructor(e,n,r,s){this.tags=e,this.mode=n,this.context=r,this.next=s}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let a=s;for(let o of i)for(let u of o.set){let h=n[u.id];if(h){a=a?a+" "+h:h;break}}return a},scope:r}}function xse(t,e){let n=null;for(let r of t){let s=r.style(e);s&&(n=n?n+" "+s:s)}return n}function vse(t,e,n,r=0,s=t.length){let i=new yse(r,Array.isArray(e)?e:[e],n);i.highlightRange(t.cursor(),r,s,"",i.highlighters),i.flush(s)}class yse{constructor(e,n,r){this.at=e,this.highlighters=n,this.span=r,this.class=""}startSpan(e,n){n!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=n)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,n,r,s,i){let{type:a,from:o,to:u}=e;if(o>=r||u<=n)return;a.isTop&&(i=this.highlighters.filter(x=>!x.scope||x.scope(a)));let h=s,f=bse(e)||Em.empty,m=xse(i,f.tags);if(m&&(h&&(h+=" "),h+=m,f.mode==1&&(s+=(s?" ":"")+m)),this.startSpan(Math.max(n,o),h),f.opaque)return;let g=e.tree&&e.tree.prop(Ft.mounted);if(g&&g.overlay){let x=e.node.enter(g.overlay[0].from+o,1),y=this.highlighters.filter(b=>!b.scope||b.scope(g.tree.type)),w=e.firstChild();for(let b=0,k=o;;b++){let N=b=C||!e.nextSibling())););if(!N||C>r)break;k=N.to+o,k>n&&(this.highlightRange(x.cursor(),Math.max(n,N.from+o),Math.min(r,k),"",y),this.startSpan(Math.min(r,k),h))}w&&e.parent()}else if(e.firstChild()){g&&(s="");do if(!(e.to<=n)){if(e.from>=r)break;this.highlightRange(e,n,r,s,i),this.startSpan(Math.min(r,e.to),h)}while(e.nextSibling());e.parent()}}}function bse(t){let e=t.type.prop(UL);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}const Ve=Ei.define,Pg=Ve(),Po=Ve(),b9=Ve(Po),w9=Ve(Po),Lo=Ve(),Lg=Ve(Lo),P2=Ve(Lo),wa=Ve(),zc=Ve(wa),ya=Ve(),ba=Ve(),B3=Ve(),Af=Ve(B3),Bg=Ve(),xe={comment:Pg,lineComment:Ve(Pg),blockComment:Ve(Pg),docComment:Ve(Pg),name:Po,variableName:Ve(Po),typeName:b9,tagName:Ve(b9),propertyName:w9,attributeName:Ve(w9),className:Ve(Po),labelName:Ve(Po),namespace:Ve(Po),macroName:Ve(Po),literal:Lo,string:Lg,docString:Ve(Lg),character:Ve(Lg),attributeValue:Ve(Lg),number:P2,integer:Ve(P2),float:Ve(P2),bool:Ve(Lo),regexp:Ve(Lo),escape:Ve(Lo),color:Ve(Lo),url:Ve(Lo),keyword:ya,self:Ve(ya),null:Ve(ya),atom:Ve(ya),unit:Ve(ya),modifier:Ve(ya),operatorKeyword:Ve(ya),controlKeyword:Ve(ya),definitionKeyword:Ve(ya),moduleKeyword:Ve(ya),operator:ba,derefOperator:Ve(ba),arithmeticOperator:Ve(ba),logicOperator:Ve(ba),bitwiseOperator:Ve(ba),compareOperator:Ve(ba),updateOperator:Ve(ba),definitionOperator:Ve(ba),typeOperator:Ve(ba),controlOperator:Ve(ba),punctuation:B3,separator:Ve(B3),bracket:Af,angleBracket:Ve(Af),squareBracket:Ve(Af),paren:Ve(Af),brace:Ve(Af),content:wa,heading:zc,heading1:Ve(zc),heading2:Ve(zc),heading3:Ve(zc),heading4:Ve(zc),heading5:Ve(zc),heading6:Ve(zc),contentSeparator:Ve(wa),list:Ve(wa),quote:Ve(wa),emphasis:Ve(wa),strong:Ve(wa),link:Ve(wa),monospace:Ve(wa),strikethrough:Ve(wa),inserted:Ve(),deleted:Ve(),changed:Ve(),invalid:Ve(),meta:Bg,documentMeta:Ve(Bg),annotation:Ve(Bg),processingInstruction:Ve(Bg),definition:Ei.defineModifier("definition"),constant:Ei.defineModifier("constant"),function:Ei.defineModifier("function"),standard:Ei.defineModifier("standard"),local:Ei.defineModifier("local"),special:Ei.defineModifier("special")};for(let t in xe){let e=xe[t];e instanceof Ei&&(e.name=t)}WL([{tag:xe.link,class:"tok-link"},{tag:xe.heading,class:"tok-heading"},{tag:xe.emphasis,class:"tok-emphasis"},{tag:xe.strong,class:"tok-strong"},{tag:xe.keyword,class:"tok-keyword"},{tag:xe.atom,class:"tok-atom"},{tag:xe.bool,class:"tok-bool"},{tag:xe.url,class:"tok-url"},{tag:xe.labelName,class:"tok-labelName"},{tag:xe.inserted,class:"tok-inserted"},{tag:xe.deleted,class:"tok-deleted"},{tag:xe.literal,class:"tok-literal"},{tag:xe.string,class:"tok-string"},{tag:xe.number,class:"tok-number"},{tag:[xe.regexp,xe.escape,xe.special(xe.string)],class:"tok-string2"},{tag:xe.variableName,class:"tok-variableName"},{tag:xe.local(xe.variableName),class:"tok-variableName tok-local"},{tag:xe.definition(xe.variableName),class:"tok-variableName tok-definition"},{tag:xe.special(xe.variableName),class:"tok-variableName2"},{tag:xe.definition(xe.propertyName),class:"tok-propertyName tok-definition"},{tag:xe.typeName,class:"tok-typeName"},{tag:xe.namespace,class:"tok-namespace"},{tag:xe.className,class:"tok-className"},{tag:xe.macroName,class:"tok-macroName"},{tag:xe.propertyName,class:"tok-propertyName"},{tag:xe.operator,class:"tok-operator"},{tag:xe.comment,class:"tok-comment"},{tag:xe.meta,class:"tok-meta"},{tag:xe.invalid,class:"tok-invalid"},{tag:xe.punctuation,class:"tok-punctuation"}]);var L2;const Uc=new Ft;function GL(t){return Ye.define({combine:t?e=>e.concat(t):void 0})}const wse=new Ft;class Ai{constructor(e,n,r=[],s=""){this.data=e,this.name=s,tn.prototype.hasOwnProperty("tree")||Object.defineProperty(tn.prototype,"tree",{get(){return Ur(this)}}),this.parser=n,this.extension=[Jo.of(this),tn.languageData.of((i,a,o)=>{let u=S9(i,a,o),h=u.type.prop(Uc);if(!h)return[];let f=i.facet(h),m=u.type.prop(wse);if(m){let g=u.resolve(a-u.from,o);for(let x of m)if(x.test(g,i)){let y=i.facet(x.facet);return x.type=="replace"?y:y.concat(f)}}return f})].concat(r)}isActiveAt(e,n,r=-1){return S9(e,n,r).type.prop(Uc)==this.data}findRegions(e){let n=e.facet(Jo);if(n?.data==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let r=[],s=(i,a)=>{if(i.prop(Uc)==this.data){r.push({from:a,to:a+i.length});return}let o=i.prop(Ft.mounted);if(o){if(o.tree.prop(Uc)==this.data){if(o.overlay)for(let u of o.overlay)r.push({from:u.from+a,to:u.to+a});else r.push({from:a,to:a+i.length});return}else if(o.overlay){let u=r.length;if(s(o.tree,o.overlay[0].from+a),r.length>u)return}}for(let u=0;ur.isTop?n:void 0)]}),e.name)}configure(e,n){return new _m(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Ur(t){let e=t.field(Ai.state,!1);return e?e.tree:Fn.empty}class Sse{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,n){let r=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-r,n-r)}}let Rf=null;class ih{constructor(e,n,r=[],s,i,a,o,u){this.parser=e,this.state=n,this.fragments=r,this.tree=s,this.treeLen=i,this.viewport=a,this.skipped=o,this.scheduleOn=u,this.parse=null,this.tempSkipped=[]}static create(e,n,r){return new ih(e,n,[],Fn.empty,0,r,[],null)}startParse(){return this.parser.startParse(new Sse(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=Fn.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let s=Date.now()+e;e=()=>Date.now()>s}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=e,this.tree=n,this.fragments=this.withoutTempSkipped(tu.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=Rf;Rf=this;try{return e()}finally{Rf=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=k9(e,n.from,n.to);return e}changes(e,n){let{fragments:r,tree:s,treeLen:i,viewport:a,skipped:o}=this;if(this.takeTree(),!e.empty){let u=[];if(e.iterChangedRanges((h,f,m,g)=>u.push({fromA:h,toA:f,fromB:m,toB:g})),r=tu.applyChanges(r,u),s=Fn.empty,i=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){o=[];for(let h of this.skipped){let f=e.mapPos(h.from,1),m=e.mapPos(h.to,-1);fe.from&&(this.fragments=k9(this.fragments,s,i),this.skipped.splice(r--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,n){this.skipped.push({from:e,to:n})}static getSkippingParser(e){return new class extends Hk{createParse(n,r,s){let i=s[0].from,a=s[s.length-1].to;return{parsedPos:i,advance(){let u=Rf;if(u){for(let h of s)u.tempSkipped.push(h);e&&(u.scheduleOn=u.scheduleOn?Promise.all([u.scheduleOn,e]):e)}return this.parsedPos=a,new Fn(Cs.none,[],[],a-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let n=this.fragments;return this.treeLen>=e&&n.length&&n[0].from==0&&n[0].to>=e}static get(){return Rf}}function k9(t,e,n){return tu.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}class ah{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,r)||n.takeTree(),new ah(n)}static init(e){let n=Math.min(3e3,e.doc.length),r=ih.create(e.facet(Jo).parser,e,{from:0,to:n});return r.work(20,n)||r.takeTree(),new ah(r)}}Ai.state=Xr.define({create:ah.init,update(t,e){for(let n of e.effects)if(n.is(Ai.setState))return n.value;return e.startState.facet(Jo)!=e.state.facet(Jo)?ah.init(e.state):t.apply(e)}});let XL=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(XL=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});const B2=typeof navigator<"u"&&(!((L2=navigator.scheduling)===null||L2===void 0)&&L2.isInputPending)?()=>navigator.scheduling.isInputPending():null,kse=wr.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let n=this.view.state.field(Ai.state).context;(n.updateViewport(e.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:e}=this.view,n=e.field(Ai.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=XL(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEnds+1e3,u=i.context.work(()=>B2&&B2()||Date.now()>a,s+(o?0:1e5));this.chunkBudget-=Date.now()-n,(u||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:Ai.setState.of(new ah(i.context))})),this.chunkBudget>0&&!(u&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Fs(this.view.state,n)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Jo=Ye.define({combine(t){return t.length?t[0]:null},enables:t=>[Ai.state,kse,Ue.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]});class YL{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}}const Ose=Ye.define(),b0=Ye.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(n=>n!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function uu(t){let e=t.facet(b0);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Mm(t,e){let n="",r=t.tabSize,s=t.facet(b0)[0];if(s==" "){for(;e>=r;)n+=" ",e-=r;s=" "}for(let i=0;i=e?jse(t,n,e):null}class mv{constructor(e,n={}){this.state=e,this.options=n,this.unit=uu(e)}lineAt(e,n=1){let r=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:i}=this.options;return s!=null&&s>=r.from&&s<=r.to?i&&s==e?{text:"",from:e}:(n<0?s-1&&(i+=a-this.countColumn(r,r.search(/\S|$/))),i}countColumn(e,n=e.length){return Sh(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:r,from:s}=this.lineAt(e,n),i=this.options.overrideIndentation;if(i){let a=i(s);if(a>-1)return a}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const pv=new Ft;function jse(t,e,n){let r=e.resolveStack(n),s=e.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(s!=r.node){let i=[];for(let a=s;a&&!(a.fromr.node.to||a.from==r.node.from&&a.type==r.node.type);a=a.parent)i.push(a);for(let a=i.length-1;a>=0;a--)r={node:i[a],next:r}}return ZL(r,t,n)}function ZL(t,e,n){for(let r=t;r;r=r.next){let s=Cse(r.node);if(s)return s(Wk.create(e,n,r))}return 0}function Nse(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function Cse(t){let e=t.type.prop(pv);if(e)return e;let n=t.firstChild,r;if(n&&(r=n.type.prop(Ft.closedBy))){let s=t.lastChild,i=s&&r.indexOf(s.name)>-1;return a=>KL(a,!0,1,void 0,i&&!Nse(a)?s.from:void 0)}return t.parent==null?Tse:null}function Tse(){return 0}class Wk extends mv{constructor(e,n,r){super(e.state,e.options),this.base=e,this.pos=n,this.context=r}get node(){return this.context.node}static create(e,n,r){return new Wk(e,n,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let n=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(n.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(Ese(r,e))break;n=this.state.doc.lineAt(r.from)}return this.lineIndent(n.from)}continue(){return ZL(this.context.next,this.base,this.pos)}}function Ese(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function _se(t){let e=t.node,n=e.childAfter(e.from),r=e.lastChild;if(!n)return null;let s=t.options.simulateBreak,i=t.state.doc.lineAt(n.from),a=s==null||s<=i.from?i.to:Math.min(i.to,s);for(let o=n.to;;){let u=e.childAfter(o);if(!u||u==r)return null;if(!u.type.isSkipped){if(u.from>=a)return null;let h=/^ */.exec(i.text.slice(n.to-i.from))[0].length;return{from:n.from,to:n.to+h}}o=u.to}}function I2({closing:t,align:e=!0,units:n=1}){return r=>KL(r,e,n,t)}function KL(t,e,n,r,s){let i=t.textAfter,a=i.match(/^\s*/)[0].length,o=r&&i.slice(a,a+r.length)==r||s==t.pos+a,u=e?_se(t):null;return u?o?t.column(u.from):t.column(u.to):t.baseIndent+(o?0:t.unit*n)}function O9({except:t,units:e=1}={}){return n=>{let r=t&&t.test(n.textAfter);return n.baseIndent+(r?0:e*n.unit)}}const Mse=200;function Ase(){return tn.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let n=t.newDoc,{head:r}=t.newSelection.main,s=n.lineAt(r);if(r>s.from+Mse)return t;let i=n.sliceString(s.from,r);if(!e.some(h=>h.test(i)))return t;let{state:a}=t,o=-1,u=[];for(let{head:h}of a.selection.ranges){let f=a.doc.lineAt(h);if(f.from==o)continue;o=f.from;let m=Uk(a,f.from);if(m==null)continue;let g=/^\s*/.exec(f.text)[0],x=Mm(a,m);g!=x&&u.push({from:f.from,to:f.from+g.length,insert:x})}return u.length?[t,{changes:u,sequential:!0}]:t})}const Rse=Ye.define(),Gk=new Ft;function JL(t){let e=t.firstChild,n=t.lastChild;return e&&e.ton)continue;if(i&&o.from=e&&h.to>n&&(i=h)}}return i}function zse(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function u1(t,e,n){for(let r of t.facet(Rse)){let s=r(t,e,n);if(s)return s}return Dse(t,e,n)}function eB(t,e){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);return n>=r?void 0:{from:n,to:r}}const gv=Nt.define({map:eB}),w0=Nt.define({map:eB});function tB(t){let e=[];for(let{head:n}of t.state.selection.ranges)e.some(r=>r.from<=n&&r.to>=n)||e.push(t.lineBlockAt(n));return e}const du=Xr.define({create(){return ot.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((n,r)=>t=j9(t,n,r)),t=t.map(e.changes);for(let n of e.effects)if(n.is(gv)&&!Pse(t,n.value.from,n.value.to)){let{preparePlaceholder:r}=e.state.facet(sB),s=r?ot.replace({widget:new Qse(r(e.state,n.value))}):N9;t=t.update({add:[s.range(n.value.from,n.value.to)]})}else n.is(w0)&&(t=t.update({filter:(r,s)=>n.value.from!=r||n.value.to!=s,filterFrom:n.value.from,filterTo:n.value.to}));return e.selection&&(t=j9(t,e.selection.main.head)),t},provide:t=>Ue.decorations.from(t),toJSON(t,e){let n=[];return t.between(0,e.doc.length,(r,s)=>{n.push(r,s)}),n},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let n=0;n{se&&(r=!0)}),r?t.update({filterFrom:e,filterTo:n,filter:(s,i)=>s>=n||i<=e}):t}function d1(t,e,n){var r;let s=null;return(r=t.field(du,!1))===null||r===void 0||r.between(e,n,(i,a)=>{(!s||s.from>i)&&(s={from:i,to:a})}),s}function Pse(t,e,n){let r=!1;return t.between(e,e,(s,i)=>{s==e&&i==n&&(r=!0)}),r}function nB(t,e){return t.field(du,!1)?e:e.concat(Nt.appendConfig.of(iB()))}const Lse=t=>{for(let e of tB(t)){let n=u1(t.state,e.from,e.to);if(n)return t.dispatch({effects:nB(t.state,[gv.of(n),rB(t,n)])}),!0}return!1},Bse=t=>{if(!t.state.field(du,!1))return!1;let e=[];for(let n of tB(t)){let r=d1(t.state,n.from,n.to);r&&e.push(w0.of(r),rB(t,r,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function rB(t,e,n=!0){let r=t.state.doc.lineAt(e.from).number,s=t.state.doc.lineAt(e.to).number;return Ue.announce.of(`${t.state.phrase(n?"Folded lines":"Unfolded lines")} ${r} ${t.state.phrase("to")} ${s}.`)}const Ise=t=>{let{state:e}=t,n=[];for(let r=0;r{let e=t.state.field(du,!1);if(!e||!e.size)return!1;let n=[];return e.between(0,t.state.doc.length,(r,s)=>{n.push(w0.of({from:r,to:s}))}),t.dispatch({effects:n}),!0},Fse=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:Lse},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:Bse},{key:"Ctrl-Alt-[",run:Ise},{key:"Ctrl-Alt-]",run:qse}],$se={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},sB=Ye.define({combine(t){return Fa(t,$se)}});function iB(t){return[du,Use]}function aB(t,e){let{state:n}=t,r=n.facet(sB),s=a=>{let o=t.lineBlockAt(t.posAtDOM(a.target)),u=d1(t.state,o.from,o.to);u&&t.dispatch({effects:w0.of(u)}),a.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(t,s,e);let i=document.createElement("span");return i.textContent=r.placeholderText,i.setAttribute("aria-label",n.phrase("folded code")),i.title=n.phrase("unfold"),i.className="cm-foldPlaceholder",i.onclick=s,i}const N9=ot.replace({widget:new class extends $a{toDOM(t){return aB(t,null)}}});class Qse extends $a{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return aB(e,this.value)}}const Hse={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class q2 extends Hl{constructor(e,n){super(),this.config=e,this.open=n}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=e.state.phrase(this.open?"Fold line":"Unfold line"),n}}function Vse(t={}){let e={...Hse,...t},n=new q2(e,!0),r=new q2(e,!1),s=wr.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(Jo)!=a.state.facet(Jo)||a.startState.field(du,!1)!=a.state.field(du,!1)||Ur(a.startState)!=Ur(a.state)||e.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let o=new $l;for(let u of a.viewportLineBlocks){let h=d1(a.state,u.from,u.to)?r:u1(a.state,u.from,u.to)?n:null;h&&o.add(u.from,u.from,h)}return o.finish()}}),{domEventHandlers:i}=e;return[s,Gre({class:"cm-foldGutter",markers(a){var o;return((o=a.plugin(s))===null||o===void 0?void 0:o.markers)||rn.empty},initialSpacer(){return new q2(e,!1)},domEventHandlers:{...i,click:(a,o,u)=>{if(i.click&&i.click(a,o,u))return!0;let h=d1(a.state,o.from,o.to);if(h)return a.dispatch({effects:w0.of(h)}),!0;let f=u1(a.state,o.from,o.to);return f?(a.dispatch({effects:gv.of(f)}),!0):!1}}}),iB()]}const Use=Ue.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class S0{constructor(e,n){this.specs=e;let r;function s(o){let u=Xo.newName();return(r||(r=Object.create(null)))["."+u]=o,u}const i=typeof n.all=="string"?n.all:n.all?s(n.all):void 0,a=n.scope;this.scope=a instanceof Ai?o=>o.prop(Uc)==a.data:a?o=>o==a:void 0,this.style=WL(e.map(o=>({tag:o.tag,class:o.class||s(Object.assign({},o,{tag:null}))})),{all:i}).style,this.module=r?new Xo(r):null,this.themeType=n.themeType}static define(e,n){return new S0(e,n||{})}}const I3=Ye.define(),lB=Ye.define({combine(t){return t.length?[t[0]]:null}});function F2(t){let e=t.facet(I3);return e.length?e:t.facet(lB)}function oB(t,e){let n=[Gse],r;return t instanceof S0&&(t.module&&n.push(Ue.styleModule.of(t.module)),r=t.themeType),e?.fallback?n.push(lB.of(t)):r?n.push(I3.computeN([Ue.darkTheme],s=>s.facet(Ue.darkTheme)==(r=="dark")?[t]:[])):n.push(I3.of(t)),n}class Wse{constructor(e){this.markCache=Object.create(null),this.tree=Ur(e.state),this.decorations=this.buildDeco(e,F2(e.state)),this.decoratedTo=e.viewport.to}update(e){let n=Ur(e.state),r=F2(e.state),s=r!=F2(e.startState),{viewport:i}=e.view,a=e.changes.mapPos(this.decoratedTo,1);n.length=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=a):(n!=this.tree||e.viewportChanged||s)&&(this.tree=n,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=i.to)}buildDeco(e,n){if(!n||!this.tree.length)return ot.none;let r=new $l;for(let{from:s,to:i}of e.visibleRanges)vse(this.tree,n,(a,o,u)=>{r.add(a,o,this.markCache[u]||(this.markCache[u]=ot.mark({class:u})))},s,i);return r.finish()}}const Gse=cc.high(wr.fromClass(Wse,{decorations:t=>t.decorations})),Xse=S0.define([{tag:xe.meta,color:"#404740"},{tag:xe.link,textDecoration:"underline"},{tag:xe.heading,textDecoration:"underline",fontWeight:"bold"},{tag:xe.emphasis,fontStyle:"italic"},{tag:xe.strong,fontWeight:"bold"},{tag:xe.strikethrough,textDecoration:"line-through"},{tag:xe.keyword,color:"#708"},{tag:[xe.atom,xe.bool,xe.url,xe.contentSeparator,xe.labelName],color:"#219"},{tag:[xe.literal,xe.inserted],color:"#164"},{tag:[xe.string,xe.deleted],color:"#a11"},{tag:[xe.regexp,xe.escape,xe.special(xe.string)],color:"#e40"},{tag:xe.definition(xe.variableName),color:"#00f"},{tag:xe.local(xe.variableName),color:"#30a"},{tag:[xe.typeName,xe.namespace],color:"#085"},{tag:xe.className,color:"#167"},{tag:[xe.special(xe.variableName),xe.macroName],color:"#256"},{tag:xe.definition(xe.propertyName),color:"#00c"},{tag:xe.comment,color:"#940"},{tag:xe.invalid,color:"#f00"}]),Yse=Ue.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),cB=1e4,uB="()[]{}",dB=Ye.define({combine(t){return Fa(t,{afterCursor:!0,brackets:uB,maxScanDistance:cB,renderMatch:Jse})}}),Zse=ot.mark({class:"cm-matchingBracket"}),Kse=ot.mark({class:"cm-nonmatchingBracket"});function Jse(t){let e=[],n=t.matched?Zse:Kse;return e.push(n.range(t.start.from,t.start.to)),t.end&&e.push(n.range(t.end.from,t.end.to)),e}const eie=Xr.define({create(){return ot.none},update(t,e){if(!e.docChanged&&!e.selection)return t;let n=[],r=e.state.facet(dB);for(let s of e.state.selection.ranges){if(!s.empty)continue;let i=Ma(e.state,s.head,-1,r)||s.head>0&&Ma(e.state,s.head-1,1,r)||r.afterCursor&&(Ma(e.state,s.head,1,r)||s.headUe.decorations.from(t)}),tie=[eie,Yse];function nie(t={}){return[dB.of(t),tie]}const rie=new Ft;function q3(t,e,n){let r=t.prop(e<0?Ft.openedBy:Ft.closedBy);if(r)return r;if(t.name.length==1){let s=n.indexOf(t.name);if(s>-1&&s%2==(e<0?1:0))return[n[s+e]]}return null}function F3(t){let e=t.type.prop(rie);return e?e(t.node):t}function Ma(t,e,n,r={}){let s=r.maxScanDistance||cB,i=r.brackets||uB,a=Ur(t),o=a.resolveInner(e,n);for(let u=o;u;u=u.parent){let h=q3(u.type,n,i);if(h&&u.from0?e>=f.from&&ef.from&&e<=f.to))return sie(t,e,n,u,f,h,i)}}return iie(t,e,n,a,o.type,s,i)}function sie(t,e,n,r,s,i,a){let o=r.parent,u={from:s.from,to:s.to},h=0,f=o?.cursor();if(f&&(n<0?f.childBefore(r.from):f.childAfter(r.to)))do if(n<0?f.to<=r.from:f.from>=r.to){if(h==0&&i.indexOf(f.type.name)>-1&&f.from0)return null;let h={from:n<0?e-1:e,to:n>0?e+1:e},f=t.doc.iterRange(e,n>0?t.doc.length:0),m=0;for(let g=0;!f.next().done&&g<=i;){let x=f.value;n<0&&(g+=x.length);let y=e+g*n;for(let w=n>0?0:x.length-1,b=n>0?x.length:-1;w!=b;w+=n){let k=a.indexOf(x[w]);if(!(k<0||r.resolveInner(y+w,1).type!=s))if(k%2==0==n>0)m++;else{if(m==1)return{start:h,end:{from:y+w,to:y+w+1},matched:k>>1==u>>1};m--}}n>0&&(g+=x.length)}return f.done?{start:h,matched:!1}:null}function C9(t,e,n,r=0,s=0){e==null&&(e=t.search(/[^\s\u00a0]/),e==-1&&(e=t.length));let i=s;for(let a=r;a=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.posn}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let n=this.string.indexOf(e,this.pos);if(n>-1)return this.pos=n,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosr?a.toLowerCase():a,i=this.string.substr(this.pos,e.length);return s(i)==s(e)?(n!==!1&&(this.pos+=e.length),!0):null}else{let s=this.string.slice(this.pos).match(e);return s&&s.index>0?null:(s&&n!==!1&&(this.pos+=s[0].length),s)}}current(){return this.string.slice(this.start,this.pos)}}function aie(t){return{name:t.name||"",token:t.token,blankLine:t.blankLine||(()=>{}),startState:t.startState||(()=>!0),copyState:t.copyState||lie,indent:t.indent||(()=>null),languageData:t.languageData||{},tokenTable:t.tokenTable||Zk,mergeTokens:t.mergeTokens!==!1}}function lie(t){if(typeof t!="object")return t;let e={};for(let n in t){let r=t[n];e[n]=r instanceof Array?r.slice():r}return e}const T9=new WeakMap;class Xk extends Ai{constructor(e){let n=GL(e.languageData),r=aie(e),s,i=new class extends Hk{createParse(a,o,u){return new cie(s,a,o,u)}};super(n,i,[],e.name),this.topNode=hie(n,this),s=this,this.streamParser=r,this.stateAfter=new Ft({perNode:!0}),this.tokenTable=e.tokenTable?new gB(r.tokenTable):die}static define(e){return new Xk(e)}getIndent(e){let n,{overrideIndentation:r}=e.options;r&&(n=T9.get(e.state),n!=null&&n1e4)return null;for(;i=r&&n+e.length<=s&&e.prop(t.stateAfter);if(i)return{state:t.streamParser.copyState(i),pos:n+e.length};for(let a=e.children.length-1;a>=0;a--){let o=e.children[a],u=n+e.positions[a],h=o instanceof Fn&&u=e.length)return e;!s&&n==0&&e.type==t.topNode&&(s=!0);for(let i=e.children.length-1;i>=0;i--){let a=e.positions[i],o=e.children[i],u;if(an&&Yk(t,i.tree,0-i.offset,n,o),h;if(u&&u.pos<=r&&(h=fB(t,i.tree,n+i.offset,u.pos+i.offset,!1)))return{state:u.state,tree:h}}return{state:t.streamParser.startState(s?uu(s):4),tree:Fn.empty}}let cie=class{constructor(e,n,r,s){this.lang=e,this.input=n,this.fragments=r,this.ranges=s,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=s[s.length-1].to;let i=ih.get(),a=s[0].from,{state:o,tree:u}=oie(e,r,a,this.to,i?.state);this.state=o,this.parsedPos=this.chunkStart=a+u.length;for(let h=0;hh.from<=i.viewport.from&&h.to>=i.viewport.from)&&(this.state=this.lang.streamParser.startState(uu(i.state)),i.skipUntilInView(this.parsedPos,i.viewport.from),this.parsedPos=i.viewport.from),this.moveRangeIndex()}advance(){let e=ih.get(),n=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),r=Math.min(n,this.chunkStart+512);for(e&&(r=Math.min(r,e.viewport.to));this.parsedPos=n?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,n),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let n=this.input.chunk(e);if(this.input.lineChunks)n==` +`&&(n="");else{let r=n.indexOf(` +`);r>-1&&(n=n.slice(0,r))}return e+n.length<=this.to?n:n.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,n=this.lineAfter(e),r=e+n.length;for(let s=this.rangeIndex;;){let i=this.ranges[s].to;if(i>=r||(n=n.slice(0,i-(r-n.length)),s++,s==this.ranges.length))break;let a=this.ranges[s].from,o=this.lineAfter(a);n+=o,r=a+o.length}return{line:n,end:r}}skipGapsTo(e,n,r){for(;;){let s=this.ranges[this.rangeIndex].to,i=e+n;if(r>0?s>i:s>=i)break;let a=this.ranges[++this.rangeIndex].from;n+=a-s}return n}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){s=this.skipGapsTo(n,s,1),n+=s;let o=this.chunk.length;s=this.skipGapsTo(r,s,-1),r+=s,i+=this.chunk.length-o}let a=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&i==4&&a>=0&&this.chunk[a]==e&&this.chunk[a+2]==n?this.chunk[a+2]=r:this.chunk.push(e,n,r,i),s}parseLine(e){let{line:n,end:r}=this.nextLine(),s=0,{streamParser:i}=this.lang,a=new hB(n,e?e.state.tabSize:4,e?uu(e.state):2);if(a.eol())i.blankLine(this.state,a.indentUnit);else for(;!a.eol();){let o=mB(i.token,a,this.state);if(o&&(s=this.emitToken(this.lang.tokenTable.resolve(o),this.parsedPos+a.start,this.parsedPos+a.pos,s)),a.start>1e4)break}this.parsedPos=r,this.moveRangeIndex(),this.parsedPose.start)return s}throw new Error("Stream parser failed to advance stream.")}const Zk=Object.create(null),Am=[Cs.none],uie=new fv(Am),E9=[],_9=Object.create(null),pB=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])pB[t]=xB(Zk,e);class gB{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),pB)}resolve(e){return e?this.table[e]||(this.table[e]=xB(this.extra,e)):0}}const die=new gB(Zk);function $2(t,e){E9.indexOf(t)>-1||(E9.push(t),console.warn(e))}function xB(t,e){let n=[];for(let o of e.split(" ")){let u=[];for(let h of o.split(".")){let f=t[h]||xe[h];f?typeof f=="function"?u.length?u=u.map(f):$2(h,`Modifier ${h} used at start of tag`):u.length?$2(h,`Tag ${h} used as modifier`):u=Array.isArray(f)?f:[f]:$2(h,`Unknown highlighting tag ${h}`)}for(let h of u)n.push(h)}if(!n.length)return 0;let r=e.replace(/ /g,"_"),s=r+" "+n.map(o=>o.id),i=_9[s];if(i)return i.id;let a=_9[s]=Cs.define({id:Am.length,name:r,props:[Vk({[r]:n})]});return Am.push(a),a.id}function hie(t,e){let n=Cs.define({id:Am.length,name:"Document",props:[Uc.add(()=>t),pv.add(()=>r=>e.getIndent(r))],top:!0});return Am.push(n),n}Zn.RTL,Zn.LTR;const fie=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),r=Jk(t.state,n.from);return r.line?mie(t):r.block?gie(t):!1};function Kk(t,e){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let s=t(e,n);return s?(r(n.update(s)),!0):!1}}const mie=Kk(yie,0),pie=Kk(vB,0),gie=Kk((t,e)=>vB(t,e,vie(e)),0);function Jk(t,e){let n=t.languageDataAt("commentTokens",e,1);return n.length?n[0]:{}}const Df=50;function xie(t,{open:e,close:n},r,s){let i=t.sliceDoc(r-Df,r),a=t.sliceDoc(s,s+Df),o=/\s*$/.exec(i)[0].length,u=/^\s*/.exec(a)[0].length,h=i.length-o;if(i.slice(h-e.length,h)==e&&a.slice(u,u+n.length)==n)return{open:{pos:r-o,margin:o&&1},close:{pos:s+u,margin:u&&1}};let f,m;s-r<=2*Df?f=m=t.sliceDoc(r,s):(f=t.sliceDoc(r,r+Df),m=t.sliceDoc(s-Df,s));let g=/^\s*/.exec(f)[0].length,x=/\s*$/.exec(m)[0].length,y=m.length-x-n.length;return f.slice(g,g+e.length)==e&&m.slice(y,y+n.length)==n?{open:{pos:r+g+e.length,margin:/\s/.test(f.charAt(g+e.length))?1:0},close:{pos:s-x-n.length,margin:/\s/.test(m.charAt(y-1))?1:0}}:null}function vie(t){let e=[];for(let n of t.selection.ranges){let r=t.doc.lineAt(n.from),s=n.to<=r.to?r:t.doc.lineAt(n.to);s.from>r.from&&s.from==n.to&&(s=n.to==r.to+1?r:t.doc.lineAt(n.to-1));let i=e.length-1;i>=0&&e[i].to>r.from?e[i].to=s.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:s.to})}return e}function vB(t,e,n=e.selection.ranges){let r=n.map(i=>Jk(e,i.from).block);if(!r.every(i=>i))return null;let s=n.map((i,a)=>xie(e,r[a],i.from,i.to));if(t!=2&&!s.every(i=>i))return{changes:e.changes(n.map((i,a)=>s[a]?[]:[{from:i.from,insert:r[a].open+" "},{from:i.to,insert:" "+r[a].close}]))};if(t!=1&&s.some(i=>i)){let i=[];for(let a=0,o;as&&(i==a||a>m.from)){s=m.from;let g=/^\s*/.exec(m.text)[0].length,x=g==m.length,y=m.text.slice(g,g+h.length)==h?g:-1;gi.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:o,token:u,indent:h,empty:f,single:m}of r)(m||!f)&&i.push({from:o.from+h,insert:u+" "});let a=e.changes(i);return{changes:a,selection:e.selection.map(a,1)}}else if(t!=1&&r.some(i=>i.comment>=0)){let i=[];for(let{line:a,comment:o,token:u}of r)if(o>=0){let h=a.from+o,f=h+u.length;a.text[f-a.from]==" "&&f++,i.push({from:h,to:f})}return{changes:i}}return null}const $3=qa.define(),bie=qa.define(),wie=Ye.define(),yB=Ye.define({combine(t){return Fa(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,n)=>(r,s)=>e(r,s)||n(r,s)})}}),bB=Xr.define({create(){return Aa.empty},update(t,e){let n=e.state.facet(yB),r=e.annotation($3);if(r){let u=$s.fromTransaction(e,r.selection),h=r.side,f=h==0?t.undone:t.done;return u?f=h1(f,f.length,n.minDepth,u):f=kB(f,e.startState.selection),new Aa(h==0?r.rest:f,h==0?f:r.rest)}let s=e.annotation(bie);if((s=="full"||s=="before")&&(t=t.isolate()),e.annotation(Er.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let i=$s.fromTransaction(e),a=e.annotation(Er.time),o=e.annotation(Er.userEvent);return i?t=t.addChanges(i,a,o,n,e):e.selection&&(t=t.addSelection(e.startState.selection,a,o,n.newGroupDelay)),(s=="full"||s=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Aa(t.done.map($s.fromJSON),t.undone.map($s.fromJSON))}});function Sie(t={}){return[bB,yB.of(t),Ue.domEventHandlers({beforeinput(e,n){let r=e.inputType=="historyUndo"?wB:e.inputType=="historyRedo"?Q3:null;return r?(e.preventDefault(),r(n)):!1}})]}function xv(t,e){return function({state:n,dispatch:r}){if(!e&&n.readOnly)return!1;let s=n.field(bB,!1);if(!s)return!1;let i=s.pop(t,n,e);return i?(r(i),!0):!1}}const wB=xv(0,!1),Q3=xv(1,!1),kie=xv(0,!0),Oie=xv(1,!0);class $s{constructor(e,n,r,s,i){this.changes=e,this.effects=n,this.mapped=r,this.startSelection=s,this.selectionsAfter=i}setSelAfter(e){return new $s(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,n,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(e){return new $s(e.changes&&Br.fromJSON(e.changes),[],e.mapped&&Pa.fromJSON(e.mapped),e.startSelection&&Me.fromJSON(e.startSelection),e.selectionsAfter.map(Me.fromJSON))}static fromTransaction(e,n){let r=Ri;for(let s of e.startState.facet(wie)){let i=s(e);i.length&&(r=r.concat(i))}return!r.length&&e.changes.empty?null:new $s(e.changes.invert(e.startState.doc),r,void 0,n||e.startState.selection,Ri)}static selection(e){return new $s(void 0,Ri,void 0,void 0,e)}}function h1(t,e,n,r){let s=e+1>n+20?e-n-1:0,i=t.slice(s,e);return i.push(r),i}function jie(t,e){let n=[],r=!1;return t.iterChangedRanges((s,i)=>n.push(s,i)),e.iterChangedRanges((s,i,a,o)=>{for(let u=0;u=h&&a<=f&&(r=!0)}}),r}function Nie(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,r)=>n.empty!=e.ranges[r].empty).length===0}function SB(t,e){return t.length?e.length?t.concat(e):t:e}const Ri=[],Cie=200;function kB(t,e){if(t.length){let n=t[t.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-Cie));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),h1(t,t.length-1,1e9,n.setSelAfter(r)))}else return[$s.selection([e])]}function Tie(t){let e=t[t.length-1],n=t.slice();return n[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),n}function Q2(t,e){if(!t.length)return t;let n=t.length,r=Ri;for(;n;){let s=Eie(t[n-1],e,r);if(s.changes&&!s.changes.empty||s.effects.length){let i=t.slice(0,n);return i[n-1]=s,i}else e=s.mapped,n--,r=s.selectionsAfter}return r.length?[$s.selection(r)]:Ri}function Eie(t,e,n){let r=SB(t.selectionsAfter.length?t.selectionsAfter.map(o=>o.map(e)):Ri,n);if(!t.changes)return $s.selection(r);let s=t.changes.map(e),i=e.mapDesc(t.changes,!0),a=t.mapped?t.mapped.composeDesc(i):i;return new $s(s,Nt.mapEffects(t.effects,e),a,t.startSelection.map(i),r)}const _ie=/^(input\.type|delete)($|\.)/;class Aa{constructor(e,n,r=0,s=void 0){this.done=e,this.undone=n,this.prevTime=r,this.prevUserEvent=s}isolate(){return this.prevTime?new Aa(this.done,this.undone):this}addChanges(e,n,r,s,i){let a=this.done,o=a[a.length-1];return o&&o.changes&&!o.changes.empty&&e.changes&&(!r||_ie.test(r))&&(!o.selectionsAfter.length&&n-this.prevTime0&&n-this.prevTimen.empty?t.moveByChar(n,e):vv(n,e))}function ps(t){return t.textDirectionAt(t.state.selection.main.head)==Zn.LTR}const jB=t=>OB(t,!ps(t)),NB=t=>OB(t,ps(t));function CB(t,e){return ua(t,n=>n.empty?t.moveByGroup(n,e):vv(n,e))}const Aie=t=>CB(t,!ps(t)),Rie=t=>CB(t,ps(t));function Die(t,e,n){if(e.type.prop(n))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function yv(t,e,n){let r=Ur(t).resolveInner(e.head),s=n?Ft.closedBy:Ft.openedBy;for(let u=e.head;;){let h=n?r.childAfter(u):r.childBefore(u);if(!h)break;Die(t,h,s)?r=h:u=n?h.to:h.from}let i=r.type.prop(s),a,o;return i&&(a=n?Ma(t,r.from,1):Ma(t,r.to,-1))&&a.matched?o=n?a.end.to:a.end.from:o=n?r.to:r.from,Me.cursor(o,n?-1:1)}const zie=t=>ua(t,e=>yv(t.state,e,!ps(t))),Pie=t=>ua(t,e=>yv(t.state,e,ps(t)));function TB(t,e){return ua(t,n=>{if(!n.empty)return vv(n,e);let r=t.moveVertically(n,e);return r.head!=n.head?r:t.moveToLineBoundary(n,e)})}const EB=t=>TB(t,!1),_B=t=>TB(t,!0);function MB(t){let e=t.scrollDOM.clientHeighta.empty?t.moveVertically(a,e,n.height):vv(a,e));if(s.eq(r.selection))return!1;let i;if(n.selfScroll){let a=t.coordsAtPos(r.selection.main.head),o=t.scrollDOM.getBoundingClientRect(),u=o.top+n.marginTop,h=o.bottom-n.marginBottom;a&&a.top>u&&a.bottomAB(t,!1),H3=t=>AB(t,!0);function uc(t,e,n){let r=t.lineBlockAt(e.head),s=t.moveToLineBoundary(e,n);if(s.head==e.head&&s.head!=(n?r.to:r.from)&&(s=t.moveToLineBoundary(e,n,!1)),!n&&s.head==r.from&&r.length){let i=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;i&&e.head!=r.from+i&&(s=Me.cursor(r.from+i))}return s}const Lie=t=>ua(t,e=>uc(t,e,!0)),Bie=t=>ua(t,e=>uc(t,e,!1)),Iie=t=>ua(t,e=>uc(t,e,!ps(t))),qie=t=>ua(t,e=>uc(t,e,ps(t))),Fie=t=>ua(t,e=>Me.cursor(t.lineBlockAt(e.head).from,1)),$ie=t=>ua(t,e=>Me.cursor(t.lineBlockAt(e.head).to,-1));function Qie(t,e,n){let r=!1,s=kh(t.selection,i=>{let a=Ma(t,i.head,-1)||Ma(t,i.head,1)||i.head>0&&Ma(t,i.head-1,1)||i.headQie(t,e);function Vi(t,e){let n=kh(t.state.selection,r=>{let s=e(r);return Me.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0)});return n.eq(t.state.selection)?!1:(t.dispatch(ca(t.state,n)),!0)}function RB(t,e){return Vi(t,n=>t.moveByChar(n,e))}const DB=t=>RB(t,!ps(t)),zB=t=>RB(t,ps(t));function PB(t,e){return Vi(t,n=>t.moveByGroup(n,e))}const Vie=t=>PB(t,!ps(t)),Uie=t=>PB(t,ps(t)),Wie=t=>Vi(t,e=>yv(t.state,e,!ps(t))),Gie=t=>Vi(t,e=>yv(t.state,e,ps(t)));function LB(t,e){return Vi(t,n=>t.moveVertically(n,e))}const BB=t=>LB(t,!1),IB=t=>LB(t,!0);function qB(t,e){return Vi(t,n=>t.moveVertically(n,e,MB(t).height))}const A9=t=>qB(t,!1),R9=t=>qB(t,!0),Xie=t=>Vi(t,e=>uc(t,e,!0)),Yie=t=>Vi(t,e=>uc(t,e,!1)),Zie=t=>Vi(t,e=>uc(t,e,!ps(t))),Kie=t=>Vi(t,e=>uc(t,e,ps(t))),Jie=t=>Vi(t,e=>Me.cursor(t.lineBlockAt(e.head).from)),eae=t=>Vi(t,e=>Me.cursor(t.lineBlockAt(e.head).to)),D9=({state:t,dispatch:e})=>(e(ca(t,{anchor:0})),!0),z9=({state:t,dispatch:e})=>(e(ca(t,{anchor:t.doc.length})),!0),P9=({state:t,dispatch:e})=>(e(ca(t,{anchor:t.selection.main.anchor,head:0})),!0),L9=({state:t,dispatch:e})=>(e(ca(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),tae=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),nae=({state:t,dispatch:e})=>{let n=bv(t).map(({from:r,to:s})=>Me.range(r,Math.min(s+1,t.doc.length)));return e(t.update({selection:Me.create(n),userEvent:"select"})),!0},rae=({state:t,dispatch:e})=>{let n=kh(t.selection,r=>{let s=Ur(t),i=s.resolveStack(r.from,1);if(r.empty){let a=s.resolveStack(r.from,-1);a.node.from>=i.node.from&&a.node.to<=i.node.to&&(i=a)}for(let a=i;a;a=a.next){let{node:o}=a;if((o.from=r.to||o.to>r.to&&o.from<=r.from)&&a.next)return Me.range(o.to,o.from)}return r});return n.eq(t.selection)?!1:(e(ca(t,n)),!0)};function FB(t,e){let{state:n}=t,r=n.selection,s=n.selection.ranges.slice();for(let i of n.selection.ranges){let a=n.doc.lineAt(i.head);if(e?a.to0)for(let o=i;;){let u=t.moveVertically(o,e);if(u.heada.to){s.some(h=>h.head==u.head)||s.push(u);break}else{if(u.head==o.head)break;o=u}}}return s.length==r.ranges.length?!1:(t.dispatch(ca(n,Me.create(s,s.length-1))),!0)}const sae=t=>FB(t,!1),iae=t=>FB(t,!0),aae=({state:t,dispatch:e})=>{let n=t.selection,r=null;return n.ranges.length>1?r=Me.create([n.main]):n.main.empty||(r=Me.create([Me.cursor(n.main.head)])),r?(e(ca(t,r)),!0):!1};function k0(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:r}=t,s=r.changeByRange(i=>{let{from:a,to:o}=i;if(a==o){let u=e(i);ua&&(n="delete.forward",u=Ig(t,u,!0)),a=Math.min(a,u),o=Math.max(o,u)}else a=Ig(t,a,!1),o=Ig(t,o,!0);return a==o?{range:i}:{changes:{from:a,to:o},range:Me.cursor(a,as(t)))r.between(e,e,(s,i)=>{se&&(e=n?i:s)});return e}const $B=(t,e,n)=>k0(t,r=>{let s=r.from,{state:i}=t,a=i.doc.lineAt(s),o,u;if(n&&!e&&s>a.from&&s$B(t,!1,!0),QB=t=>$B(t,!0,!1),HB=(t,e)=>k0(t,n=>{let r=n.head,{state:s}=t,i=s.doc.lineAt(r),a=s.charCategorizer(r);for(let o=null;;){if(r==(e?i.to:i.from)){r==n.head&&i.number!=(e?s.doc.lines:1)&&(r+=e?1:-1);break}let u=ss(i.text,r-i.from,e)+i.from,h=i.text.slice(Math.min(r,u)-i.from,Math.max(r,u)-i.from),f=a(h);if(o!=null&&f!=o)break;(h!=" "||r!=n.head)&&(o=f),r=u}return r}),VB=t=>HB(t,!1),lae=t=>HB(t,!0),oae=t=>k0(t,e=>{let n=t.lineBlockAt(e.head).to;return e.headk0(t,e=>{let n=t.moveToLineBoundary(e,!1).head;return e.head>n?n:Math.max(0,e.head-1)}),uae=t=>k0(t,e=>{let n=t.moveToLineBoundary(e,!0).head;return e.head{if(t.readOnly)return!1;let n=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:nn.of(["",""])},range:Me.cursor(r.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},hae=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>{if(!r.empty||r.from==0||r.from==t.doc.length)return{range:r};let s=r.from,i=t.doc.lineAt(s),a=s==i.from?s-1:ss(i.text,s-i.from,!1)+i.from,o=s==i.to?s+1:ss(i.text,s-i.from,!0)+i.from;return{changes:{from:a,to:o,insert:t.doc.slice(s,o).append(t.doc.slice(a,s))},range:Me.cursor(o)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function bv(t){let e=[],n=-1;for(let r of t.selection.ranges){let s=t.doc.lineAt(r.from),i=t.doc.lineAt(r.to);if(!r.empty&&r.to==i.from&&(i=t.doc.lineAt(r.to-1)),n>=s.number){let a=e[e.length-1];a.to=i.to,a.ranges.push(r)}else e.push({from:s.from,to:i.to,ranges:[r]});n=i.number+1}return e}function UB(t,e,n){if(t.readOnly)return!1;let r=[],s=[];for(let i of bv(t)){if(n?i.to==t.doc.length:i.from==0)continue;let a=t.doc.lineAt(n?i.to+1:i.from-1),o=a.length+1;if(n){r.push({from:i.to,to:a.to},{from:i.from,insert:a.text+t.lineBreak});for(let u of i.ranges)s.push(Me.range(Math.min(t.doc.length,u.anchor+o),Math.min(t.doc.length,u.head+o)))}else{r.push({from:a.from,to:i.from},{from:i.to,insert:t.lineBreak+a.text});for(let u of i.ranges)s.push(Me.range(u.anchor-o,u.head-o))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:Me.create(s,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const fae=({state:t,dispatch:e})=>UB(t,e,!1),mae=({state:t,dispatch:e})=>UB(t,e,!0);function WB(t,e,n){if(t.readOnly)return!1;let r=[];for(let s of bv(t))n?r.push({from:s.from,insert:t.doc.slice(s.from,s.to)+t.lineBreak}):r.push({from:s.to,insert:t.lineBreak+t.doc.slice(s.from,s.to)});return e(t.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const pae=({state:t,dispatch:e})=>WB(t,e,!1),gae=({state:t,dispatch:e})=>WB(t,e,!0),xae=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(bv(e).map(({from:s,to:i})=>(s>0?s--:i{let i;if(t.lineWrapping){let a=t.lineBlockAt(s.head),o=t.coordsAtPos(s.head,s.assoc||1);o&&(i=a.bottom+t.documentTop-o.bottom+t.defaultLineHeight/2)}return t.moveVertically(s,!0,i)}).map(n);return t.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function vae(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=Ur(t).resolveInner(e),r=n.childBefore(e),s=n.childAfter(e),i;return r&&s&&r.to<=e&&s.from>=e&&(i=r.type.prop(Ft.closedBy))&&i.indexOf(s.name)>-1&&t.doc.lineAt(r.to).from==t.doc.lineAt(s.from).from&&!/\S/.test(t.sliceDoc(r.to,s.from))?{from:r.to,to:s.from}:null}const B9=GB(!1),yae=GB(!0);function GB(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let r=e.changeByRange(s=>{let{from:i,to:a}=s,o=e.doc.lineAt(i),u=!t&&i==a&&vae(e,i);t&&(i=a=(a<=o.to?o:e.doc.lineAt(a)).to);let h=new mv(e,{simulateBreak:i,simulateDoubleBreak:!!u}),f=Uk(h,i);for(f==null&&(f=Sh(/^\s*/.exec(e.doc.lineAt(i).text)[0],e.tabSize));ao.from&&i{let s=[];for(let a=r.from;a<=r.to;){let o=t.doc.lineAt(a);o.number>n&&(r.empty||r.to>o.from)&&(e(o,s,r),n=o.number),a=o.to+1}let i=t.changes(s);return{changes:s,range:Me.range(i.mapPos(r.anchor,1),i.mapPos(r.head,1))}})}const bae=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),r=new mv(t,{overrideIndentation:i=>{let a=n[i];return a??-1}}),s=e6(t,(i,a,o)=>{let u=Uk(r,i.from);if(u==null)return;/\S/.test(i.text)||(u=0);let h=/^\s*/.exec(i.text)[0],f=Mm(t,u);(h!=f||o.fromt.readOnly?!1:(e(t.update(e6(t,(n,r)=>{r.push({from:n.from,insert:t.facet(b0)})}),{userEvent:"input.indent"})),!0),YB=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(e6(t,(n,r)=>{let s=/^\s*/.exec(n.text)[0];if(!s)return;let i=Sh(s,t.tabSize),a=0,o=Mm(t,Math.max(0,i-uu(t)));for(;a(t.setTabFocusMode(),!0),Sae=[{key:"Ctrl-b",run:jB,shift:DB,preventDefault:!0},{key:"Ctrl-f",run:NB,shift:zB},{key:"Ctrl-p",run:EB,shift:BB},{key:"Ctrl-n",run:_B,shift:IB},{key:"Ctrl-a",run:Fie,shift:Jie},{key:"Ctrl-e",run:$ie,shift:eae},{key:"Ctrl-d",run:QB},{key:"Ctrl-h",run:V3},{key:"Ctrl-k",run:oae},{key:"Ctrl-Alt-h",run:VB},{key:"Ctrl-o",run:dae},{key:"Ctrl-t",run:hae},{key:"Ctrl-v",run:H3}],kae=[{key:"ArrowLeft",run:jB,shift:DB,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Aie,shift:Vie,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Iie,shift:Zie,preventDefault:!0},{key:"ArrowRight",run:NB,shift:zB,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Rie,shift:Uie,preventDefault:!0},{mac:"Cmd-ArrowRight",run:qie,shift:Kie,preventDefault:!0},{key:"ArrowUp",run:EB,shift:BB,preventDefault:!0},{mac:"Cmd-ArrowUp",run:D9,shift:P9},{mac:"Ctrl-ArrowUp",run:M9,shift:A9},{key:"ArrowDown",run:_B,shift:IB,preventDefault:!0},{mac:"Cmd-ArrowDown",run:z9,shift:L9},{mac:"Ctrl-ArrowDown",run:H3,shift:R9},{key:"PageUp",run:M9,shift:A9},{key:"PageDown",run:H3,shift:R9},{key:"Home",run:Bie,shift:Yie,preventDefault:!0},{key:"Mod-Home",run:D9,shift:P9},{key:"End",run:Lie,shift:Xie,preventDefault:!0},{key:"Mod-End",run:z9,shift:L9},{key:"Enter",run:B9,shift:B9},{key:"Mod-a",run:tae},{key:"Backspace",run:V3,shift:V3,preventDefault:!0},{key:"Delete",run:QB,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:VB,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:lae,preventDefault:!0},{mac:"Mod-Backspace",run:cae,preventDefault:!0},{mac:"Mod-Delete",run:uae,preventDefault:!0}].concat(Sae.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),Oae=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:zie,shift:Wie},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Pie,shift:Gie},{key:"Alt-ArrowUp",run:fae},{key:"Shift-Alt-ArrowUp",run:pae},{key:"Alt-ArrowDown",run:mae},{key:"Shift-Alt-ArrowDown",run:gae},{key:"Mod-Alt-ArrowUp",run:sae},{key:"Mod-Alt-ArrowDown",run:iae},{key:"Escape",run:aae},{key:"Mod-Enter",run:yae},{key:"Alt-l",mac:"Ctrl-l",run:nae},{key:"Mod-i",run:rae,preventDefault:!0},{key:"Mod-[",run:YB},{key:"Mod-]",run:XB},{key:"Mod-Alt-\\",run:bae},{key:"Shift-Mod-k",run:xae},{key:"Shift-Mod-\\",run:Hie},{key:"Mod-/",run:fie},{key:"Alt-A",run:pie},{key:"Ctrl-m",mac:"Shift-Alt-m",run:wae}].concat(kae),jae={key:"Tab",run:XB,shift:YB},I9=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class lh{constructor(e,n,r=0,s=e.length,i,a){this.test=a,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,s),this.bufferStart=r,this.normalize=i?o=>i(I9(o)):I9,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Is(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let n=Nk(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=ja(e);let s=this.normalize(n);if(s.length)for(let i=0,a=r;;i++){let o=s.charCodeAt(i),u=this.match(o,a,this.bufferPos+this.bufferStart);if(i==s.length-1){if(u)return this.value=u,this;break}a==r&&ithis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,s=r+n[0].length;if(this.matchPos=f1(this.text,s+(r==s?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(rthis.value.to)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=r||s.to<=n){let o=new Id(n,e.sliceString(n,r));return H2.set(e,o),o}if(s.from==n&&s.to==r)return s;let{text:i,from:a}=s;return a>n&&(i=e.sliceString(n,a)+i,a=n),s.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,s=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,match:n},this.matchPos=f1(this.text,s+(r==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Id.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(KB.prototype[Symbol.iterator]=JB.prototype[Symbol.iterator]=function(){return this});function Nae(t){try{return new RegExp(t,t6),!0}catch{return!1}}function f1(t,e){if(e>=t.length)return e;let n=t.lineAt(e),r;for(;e=56320&&r<57344;)e++;return e}function U3(t){let e=String(t.state.doc.lineAt(t.state.selection.main.head).number),n=In("input",{class:"cm-textfield",name:"line",value:e}),r=In("form",{class:"cm-gotoLine",onkeydown:i=>{i.keyCode==27?(i.preventDefault(),t.dispatch({effects:um.of(!1)}),t.focus()):i.keyCode==13&&(i.preventDefault(),s())},onsubmit:i=>{i.preventDefault(),s()}},In("label",t.state.phrase("Go to line"),": ",n)," ",In("button",{class:"cm-button",type:"submit"},t.state.phrase("go")),In("button",{name:"close",onclick:()=>{t.dispatch({effects:um.of(!1)}),t.focus()},"aria-label":t.state.phrase("close"),type:"button"},["×"]));function s(){let i=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.value);if(!i)return;let{state:a}=t,o=a.doc.lineAt(a.selection.main.head),[,u,h,f,m]=i,g=f?+f.slice(1):0,x=h?+h:o.number;if(h&&m){let b=x/100;u&&(b=b*(u=="-"?-1:1)+o.number/a.doc.lines),x=Math.round(a.doc.lines*b)}else h&&u&&(x=x*(u=="-"?-1:1)+o.number);let y=a.doc.line(Math.max(1,Math.min(a.doc.lines,x))),w=Me.cursor(y.from+Math.max(0,Math.min(g,y.length)));t.dispatch({effects:[um.of(!1),Ue.scrollIntoView(w.from,{y:"center"})],selection:w}),t.focus()}return{dom:r}}const um=Nt.define(),q9=Xr.define({create(){return!0},update(t,e){for(let n of e.effects)n.is(um)&&(t=n.value);return t},provide:t=>Cm.from(t,e=>e?U3:null)}),Cae=t=>{let e=Nm(t,U3);if(!e){let n=[um.of(!0)];t.state.field(q9,!1)==null&&n.push(Nt.appendConfig.of([q9,Tae])),t.dispatch({effects:n}),e=Nm(t,U3)}return e&&e.dom.querySelector("input").select(),!0},Tae=Ue.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),Eae={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},_ae=Ye.define({combine(t){return Fa(t,Eae,{highlightWordAroundCursor:(e,n)=>e||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function Mae(t){return[Pae,zae]}const Aae=ot.mark({class:"cm-selectionMatch"}),Rae=ot.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function F9(t,e,n,r){return(n==0||t(e.sliceDoc(n-1,n))!=Jn.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=Jn.Word)}function Dae(t,e,n,r){return t(e.sliceDoc(n,n+1))==Jn.Word&&t(e.sliceDoc(r-1,r))==Jn.Word}const zae=wr.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(_ae),{state:n}=t,r=n.selection;if(r.ranges.length>1)return ot.none;let s=r.main,i,a=null;if(s.empty){if(!e.highlightWordAroundCursor)return ot.none;let u=n.wordAt(s.head);if(!u)return ot.none;a=n.charCategorizer(s.head),i=n.sliceDoc(u.from,u.to)}else{let u=s.to-s.from;if(u200)return ot.none;if(e.wholeWords){if(i=n.sliceDoc(s.from,s.to),a=n.charCategorizer(s.head),!(F9(a,n,s.from,s.to)&&Dae(a,n,s.from,s.to)))return ot.none}else if(i=n.sliceDoc(s.from,s.to),!i)return ot.none}let o=[];for(let u of t.visibleRanges){let h=new lh(n.doc,i,u.from,u.to);for(;!h.next().done;){let{from:f,to:m}=h.value;if((!a||F9(a,n,f,m))&&(s.empty&&f<=s.from&&m>=s.to?o.push(Rae.range(f,m)):(f>=s.to||m<=s.from)&&o.push(Aae.range(f,m)),o.length>e.maxMatches))return ot.none}}return ot.set(o)}},{decorations:t=>t.decorations}),Pae=Ue.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Lae=({state:t,dispatch:e})=>{let{selection:n}=t,r=Me.create(n.ranges.map(s=>t.wordAt(s.head)||Me.cursor(s.head)),n.mainIndex);return r.eq(n)?!1:(e(t.update({selection:r})),!0)};function Bae(t,e){let{main:n,ranges:r}=t.selection,s=t.wordAt(n.head),i=s&&s.from==n.from&&s.to==n.to;for(let a=!1,o=new lh(t.doc,e,r[r.length-1].to);;)if(o.next(),o.done){if(a)return null;o=new lh(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),a=!0}else{if(a&&r.some(u=>u.from==o.value.from))continue;if(i){let u=t.wordAt(o.value.from);if(!u||u.from!=o.value.from||u.to!=o.value.to)continue}return o.value}}const Iae=({state:t,dispatch:e})=>{let{ranges:n}=t.selection;if(n.some(i=>i.from===i.to))return Lae({state:t,dispatch:e});let r=t.sliceDoc(n[0].from,n[0].to);if(t.selection.ranges.some(i=>t.sliceDoc(i.from,i.to)!=r))return!1;let s=Bae(t,r);return s?(e(t.update({selection:t.selection.addRange(Me.range(s.from,s.to),!1),effects:Ue.scrollIntoView(s.to)})),!0):!1},Oh=Ye.define({combine(t){return Fa(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Zae(e),scrollToMatch:e=>Ue.scrollIntoView(e)})}});class eI{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||Nae(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?` +`:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new Qae(this):new Fae(this)}getCursor(e,n=0,r){let s=e.doc?e:tn.create({doc:e});return r==null&&(r=s.doc.length),this.regexp?kd(this,s,n,r):Sd(this,s,n,r)}}class tI{constructor(e){this.spec=e}}function Sd(t,e,n,r){return new lh(e.doc,t.unquoted,n,r,t.caseSensitive?void 0:s=>s.toLowerCase(),t.wholeWord?qae(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function qae(t,e){return(n,r,s,i)=>((i>n||i+s.length=n)return null;s.push(r.value)}return s}highlight(e,n,r,s){let i=Sd(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}function kd(t,e,n,r){return new KB(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:t.wholeWord?$ae(e.charCategorizer(e.selection.main.head)):void 0},n,r)}function m1(t,e){return t.slice(ss(t,e,!1),e)}function p1(t,e){return t.slice(e,ss(t,e))}function $ae(t){return(e,n,r)=>!r[0].length||(t(m1(r.input,r.index))!=Jn.Word||t(p1(r.input,r.index))!=Jn.Word)&&(t(p1(r.input,r.index+r[0].length))!=Jn.Word||t(m1(r.input,r.index+r[0].length))!=Jn.Word)}class Qae extends tI{nextMatch(e,n,r){let s=kd(this.spec,e,r,e.doc.length).next();return s.done&&(s=kd(this.spec,e,0,n).next()),s.done?null:s.value}prevMatchInRange(e,n,r){for(let s=1;;s++){let i=Math.max(n,r-s*1e4),a=kd(this.spec,e,i,r),o=null;for(;!a.next().done;)o=a.value;if(o&&(i==n||o.from>i+10))return o;if(i==n)return null}}prevMatch(e,n,r){return this.prevMatchInRange(e,0,n)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let i=+r.slice(0,s);if(i>0&&i=n)return null;s.push(r.value)}return s}highlight(e,n,r,s){let i=kd(this.spec,e,Math.max(0,n-250),Math.min(r+250,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}const Rm=Nt.define(),n6=Nt.define(),Ho=Xr.define({create(t){return new V2(W3(t).create(),null)},update(t,e){for(let n of e.effects)n.is(Rm)?t=new V2(n.value.create(),t.panel):n.is(n6)&&(t=new V2(t.query,n.value?r6:null));return t},provide:t=>Cm.from(t,e=>e.panel)});class V2{constructor(e,n){this.query=e,this.panel=n}}const Hae=ot.mark({class:"cm-searchMatch"}),Vae=ot.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Uae=wr.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Ho))}update(t){let e=t.state.field(Ho);(e!=t.startState.field(Ho)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return ot.none;let{view:n}=this,r=new $l;for(let s=0,i=n.visibleRanges,a=i.length;si[s+1].from-500;)u=i[++s].to;t.highlight(n.state,o,u,(h,f)=>{let m=n.state.selection.ranges.some(g=>g.from==h&&g.to==f);r.add(h,f,m?Vae:Hae)})}return r.finish()}},{decorations:t=>t.decorations});function O0(t){return e=>{let n=e.state.field(Ho,!1);return n&&n.query.spec.valid?t(e,n):sI(e)}}const g1=O0((t,{query:e})=>{let{to:n}=t.state.selection.main,r=e.nextMatch(t.state,n,n);if(!r)return!1;let s=Me.single(r.from,r.to),i=t.state.facet(Oh);return t.dispatch({selection:s,effects:[s6(t,r),i.scrollToMatch(s.main,t)],userEvent:"select.search"}),rI(t),!0}),x1=O0((t,{query:e})=>{let{state:n}=t,{from:r}=n.selection.main,s=e.prevMatch(n,r,r);if(!s)return!1;let i=Me.single(s.from,s.to),a=t.state.facet(Oh);return t.dispatch({selection:i,effects:[s6(t,s),a.scrollToMatch(i.main,t)],userEvent:"select.search"}),rI(t),!0}),Wae=O0((t,{query:e})=>{let n=e.matchAll(t.state,1e3);return!n||!n.length?!1:(t.dispatch({selection:Me.create(n.map(r=>Me.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),Gae=({state:t,dispatch:e})=>{let n=t.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:s}=n.main,i=[],a=0;for(let o=new lh(t.doc,t.sliceDoc(r,s));!o.next().done;){if(i.length>1e3)return!1;o.value.from==r&&(a=i.length),i.push(Me.range(o.value.from,o.value.to))}return e(t.update({selection:Me.create(i,a),userEvent:"select.search.matches"})),!0},$9=O0((t,{query:e})=>{let{state:n}=t,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let i=e.nextMatch(n,r,r);if(!i)return!1;let a=i,o=[],u,h,f=[];a.from==r&&a.to==s&&(h=n.toText(e.getReplacement(a)),o.push({from:a.from,to:a.to,insert:h}),a=e.nextMatch(n,a.from,a.to),f.push(Ue.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+".")));let m=t.state.changes(o);return a&&(u=Me.single(a.from,a.to).map(m),f.push(s6(t,a)),f.push(n.facet(Oh).scrollToMatch(u.main,t))),t.dispatch({changes:m,selection:u,effects:f,userEvent:"input.replace"}),!0}),Xae=O0((t,{query:e})=>{if(t.state.readOnly)return!1;let n=e.matchAll(t.state,1e9).map(s=>{let{from:i,to:a}=s;return{from:i,to:a,insert:e.getReplacement(s)}});if(!n.length)return!1;let r=t.state.phrase("replaced $ matches",n.length)+".";return t.dispatch({changes:n,effects:Ue.announce.of(r),userEvent:"input.replace.all"}),!0});function r6(t){return t.state.facet(Oh).createPanel(t)}function W3(t,e){var n,r,s,i,a;let o=t.selection.main,u=o.empty||o.to>o.from+100?"":t.sliceDoc(o.from,o.to);if(e&&!u)return e;let h=t.facet(Oh);return new eI({search:((n=e?.literal)!==null&&n!==void 0?n:h.literal)?u:u.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:h.caseSensitive,literal:(s=e?.literal)!==null&&s!==void 0?s:h.literal,regexp:(i=e?.regexp)!==null&&i!==void 0?i:h.regexp,wholeWord:(a=e?.wholeWord)!==null&&a!==void 0?a:h.wholeWord})}function nI(t){let e=Nm(t,r6);return e&&e.dom.querySelector("[main-field]")}function rI(t){let e=nI(t);e&&e==t.root.activeElement&&e.select()}const sI=t=>{let e=t.state.field(Ho,!1);if(e&&e.panel){let n=nI(t);if(n&&n!=t.root.activeElement){let r=W3(t.state,e.query.spec);r.valid&&t.dispatch({effects:Rm.of(r)}),n.focus(),n.select()}}else t.dispatch({effects:[n6.of(!0),e?Rm.of(W3(t.state,e.query.spec)):Nt.appendConfig.of(Jae)]});return!0},iI=t=>{let e=t.state.field(Ho,!1);if(!e||!e.panel)return!1;let n=Nm(t,r6);return n&&n.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:n6.of(!1)}),!0},Yae=[{key:"Mod-f",run:sI,scope:"editor search-panel"},{key:"F3",run:g1,shift:x1,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:g1,shift:x1,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:iI,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Gae},{key:"Mod-Alt-g",run:Cae},{key:"Mod-d",run:Iae,preventDefault:!0}];class Zae{constructor(e){this.view=e;let n=this.query=e.state.field(Ho).query.spec;this.commit=this.commit.bind(this),this.searchField=In("input",{value:n.search,placeholder:si(e,"Find"),"aria-label":si(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=In("input",{value:n.replace,placeholder:si(e,"Replace"),"aria-label":si(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=In("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=In("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=In("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,i,a){return In("button",{class:"cm-button",name:s,onclick:i,type:"button"},a)}this.dom=In("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>g1(e),[si(e,"next")]),r("prev",()=>x1(e),[si(e,"previous")]),r("select",()=>Wae(e),[si(e,"all")]),In("label",null,[this.caseField,si(e,"match case")]),In("label",null,[this.reField,si(e,"regexp")]),In("label",null,[this.wordField,si(e,"by word")]),...e.state.readOnly?[]:[In("br"),this.replaceField,r("replace",()=>$9(e),[si(e,"replace")]),r("replaceAll",()=>Xae(e),[si(e,"replace all")])],In("button",{name:"close",onclick:()=>iI(e),"aria-label":si(e,"close"),type:"button"},["×"])])}commit(){let e=new eI({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Rm.of(e)}))}keydown(e){nre(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?x1:g1)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),$9(this.view))}update(e){for(let n of e.transactions)for(let r of n.effects)r.is(Rm)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Oh).top}}function si(t,e){return t.state.phrase(e)}const qg=30,Fg=/[\s\.,:;?!]/;function s6(t,{from:e,to:n}){let r=t.state.doc.lineAt(e),s=t.state.doc.lineAt(n).to,i=Math.max(r.from,e-qg),a=Math.min(s,n+qg),o=t.state.sliceDoc(i,a);if(i!=r.from){for(let u=0;uo.length-qg;u--)if(!Fg.test(o[u-1])&&Fg.test(o[u])){o=o.slice(0,u);break}}return Ue.announce.of(`${t.state.phrase("current match")}. ${o} ${t.state.phrase("on line")} ${r.number}.`)}const Kae=Ue.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Jae=[Ho,cc.low(Uae),Kae];class aI{constructor(e,n,r,s){this.state=e,this.pos=n,this.explicit=r,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let n=Ur(this.state).resolveInner(this.pos,-1);for(;n&&e.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(e){let n=this.state.doc.lineAt(this.pos),r=Math.max(n.from,this.pos-250),s=n.text.slice(r-n.from,this.pos-n.from),i=s.search(oI(e,!1));return i<0?null:{from:r+i,to:this.pos,text:s.slice(i)}}get aborted(){return this.abortListeners==null}addEventListener(e,n,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(n),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function Q9(t){let e=Object.keys(t).join(""),n=/\w/.test(e);return n&&(e=e.replace(/\w/g,"")),`[${n?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function ele(t){let e=Object.create(null),n=Object.create(null);for(let{label:s}of t){e[s[0]]=!0;for(let i=1;itypeof s=="string"?{label:s}:s),[n,r]=e.every(s=>/^\w+$/.test(s.label))?[/\w*$/,/\w+$/]:ele(e);return s=>{let i=s.matchBefore(r);return i||s.explicit?{from:i?i.from:s.pos,options:e,validFor:n}:null}}function tle(t,e){return n=>{for(let r=Ur(n.state).resolveInner(n.pos,-1);r;r=r.parent){if(t.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(n)}}let H9=class{constructor(e,n,r,s){this.completion=e,this.source=n,this.match=r,this.score=s}};function nu(t){return t.selection.main.from}function oI(t,e){var n;let{source:r}=t,s=e&&r[0]!="^",i=r[r.length-1]!="$";return!s&&!i?t:new RegExp(`${s?"^":""}(?:${r})${i?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}const i6=qa.define();function nle(t,e,n,r){let{main:s}=t.selection,i=n-s.from,a=r-s.from;return{...t.changeByRange(o=>{if(o!=s&&n!=r&&t.sliceDoc(o.from+i,o.from+a)!=t.sliceDoc(n,r))return{range:o};let u=t.toText(e);return{changes:{from:o.from+i,to:r==s.from?o.to:o.from+a,insert:u},range:Me.cursor(o.from+i+u.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const V9=new WeakMap;function rle(t){if(!Array.isArray(t))return t;let e=V9.get(t);return e||V9.set(t,e=lI(t)),e}const v1=Nt.define(),Dm=Nt.define();class sle{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n=48&&E<=57||E>=97&&E<=122?2:E>=65&&E<=90?1:0:(_=Nk(E))!=_.toLowerCase()?1:_!=_.toUpperCase()?2:0;(!N||A==1&&b||T==0&&A!=0)&&(n[m]==E||r[m]==E&&(g=!0)?a[m++]=N:a.length&&(k=!1)),T=A,N+=ja(E)}return m==u&&a[0]==0&&k?this.result(-100+(g?-200:0),a,e):x==u&&y==0?this.ret(-200-e.length+(w==e.length?0:-100),[0,w]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):x==u?this.ret(-900-e.length,[y,w]):m==u?this.result(-100+(g?-200:0)+-700+(k?0:-1100),a,e):n.length==2?null:this.result((s[0]?-700:0)+-200+-1100,s,e)}result(e,n,r){let s=[],i=0;for(let a of n){let o=a+(this.astral?ja(Is(r,a)):1);i&&s[i-1]==a?s[i-1]=o:(s[i++]=a,s[i++]=o)}return this.ret(e-r.length,s)}}class ile{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:ale,filterStrict:!1,compareCompletions:(e,n)=>e.label.localeCompare(n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,n)=>e&&n,closeOnBlur:(e,n)=>e&&n,icons:(e,n)=>e&&n,tooltipClass:(e,n)=>r=>U9(e(r),n(r)),optionClass:(e,n)=>r=>U9(e(r),n(r)),addToOptions:(e,n)=>e.concat(n),filterStrict:(e,n)=>e||n})}});function U9(t,e){return t?e?t+" "+e:t:e}function ale(t,e,n,r,s,i){let a=t.textDirection==Zn.RTL,o=a,u=!1,h="top",f,m,g=e.left-s.left,x=s.right-e.right,y=r.right-r.left,w=r.bottom-r.top;if(o&&g=w||N>e.top?f=n.bottom-e.top:(h="bottom",f=e.bottom-n.top)}let b=(e.bottom-e.top)/i.offsetHeight,k=(e.right-e.left)/i.offsetWidth;return{style:`${h}: ${f/b}px; max-width: ${m/k}px`,class:"cm-completionInfo-"+(u?a?"left-narrow":"right-narrow":o?"left":"right")}}function lle(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(n){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),n.type&&r.classList.add(...n.type.split(/\s+/g).map(s=>"cm-completionIcon-"+s)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(n,r,s,i){let a=document.createElement("span");a.className="cm-completionLabel";let o=n.displayLabel||n.label,u=0;for(let h=0;hu&&a.appendChild(document.createTextNode(o.slice(u,f)));let g=a.appendChild(document.createElement("span"));g.appendChild(document.createTextNode(o.slice(f,m))),g.className="cm-completionMatchedText",u=m}return un.position-r.position).map(n=>n.render)}function U2(t,e,n){if(t<=n)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let s=Math.floor(e/n);return{from:s*n,to:(s+1)*n}}let r=Math.floor((t-e)/n);return{from:t-(r+1)*n,to:t-r*n}}class ole{constructor(e,n,r){this.view=e,this.stateField=n,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:u=>this.placeInfo(u),key:this},this.space=null,this.currentClass="";let s=e.state.field(n),{options:i,selected:a}=s.open,o=e.state.facet(Vr);this.optionContent=lle(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=U2(i.length,a,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",u=>{let{options:h}=e.state.field(n).open;for(let f=u.target,m;f&&f!=this.dom;f=f.parentNode)if(f.nodeName=="LI"&&(m=/-(\d+)$/.exec(f.id))&&+m[1]{let h=e.state.field(this.stateField,!1);h&&h.tooltip&&e.state.facet(Vr).closeOnBlur&&u.relatedTarget!=e.contentDOM&&e.dispatch({effects:Dm.of(null)})}),this.showOptions(i,s.id)}mount(){this.updateSel()}showOptions(e,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var n;let r=e.state.field(this.stateField),s=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=s){let{options:i,selected:a,disabled:o}=r.open;(!s.open||s.open.options!=i)&&(this.range=U2(i.length,a,e.state.facet(Vr).maxRenderedOptions),this.showOptions(i,r.id)),this.updateSel(),o!=((n=s.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(e){let n=this.tooltipClass(e);if(n!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of n.split(" "))r&&this.dom.classList.add(r);this.currentClass=n}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),n=e.open;(n.selected>-1&&n.selected=this.range.to)&&(this.range=U2(n.options.length,n.selected,this.view.state.facet(Vr).maxRenderedOptions),this.showOptions(n.options,e.id));let r=this.updateSelectedOption(n.selected);if(r){this.destroyInfo();let{completion:s}=n.options[n.selected],{info:i}=s;if(!i)return;let a=typeof i=="string"?document.createTextNode(i):i(s);if(!a)return;"then"in a?a.then(o=>{o&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(o,s)}).catch(o=>Fs(this.view.state,o,"completion info")):(this.addInfoPane(a,s),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,n){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:s,destroy:i}=e;r.appendChild(s),this.infoDestroy=i||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let n=null;for(let r=this.list.firstChild,s=this.range.from;r;r=r.nextSibling,s++)r.nodeName!="LI"||!r.id?s--:s==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),n=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return n&&ule(this.list,n),n}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let n=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),s=e.getBoundingClientRect(),i=this.space;if(!i){let a=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return s.top>Math.min(i.bottom,n.bottom)-10||s.bottom{a.target==s&&a.preventDefault()});let i=null;for(let a=r.from;ar.from||r.from==0))if(i=g,typeof h!="string"&&h.header)s.appendChild(h.header(h));else{let x=s.appendChild(document.createElement("completion-section"));x.textContent=g}}const f=s.appendChild(document.createElement("li"));f.id=n+"-"+a,f.setAttribute("role","option");let m=this.optionClass(o);m&&(f.className=m);for(let g of this.optionContent){let x=g(o,this.view.state,this.view,u);x&&f.appendChild(x)}}return r.from&&s.classList.add("cm-completionListIncompleteTop"),r.tonew ole(n,t,e)}function ule(t,e){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),s=n.height/t.offsetHeight;r.topn.bottom&&(t.scrollTop+=(r.bottom-n.bottom)/s)}function W9(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function dle(t,e){let n=[],r=null,s=null,i=f=>{n.push(f);let{section:m}=f.completion;if(m){r||(r=[]);let g=typeof m=="string"?m:m.name;r.some(x=>x.name==g)||r.push(typeof m=="string"?{name:g}:m)}},a=e.facet(Vr);for(let f of t)if(f.hasResult()){let m=f.result.getMatch;if(f.result.filter===!1)for(let g of f.result.options)i(new H9(g,f.source,m?m(g):[],1e9-n.length));else{let g=e.sliceDoc(f.from,f.to),x,y=a.filterStrict?new ile(g):new sle(g);for(let w of f.result.options)if(x=y.match(w.label)){let b=w.displayLabel?m?m(w,x.matched):[]:x.matched,k=x.score+(w.boost||0);if(i(new H9(w,f.source,b,k)),typeof w.section=="object"&&w.section.rank==="dynamic"){let{name:N}=w.section;s||(s=Object.create(null)),s[N]=Math.max(k,s[N]||-1e9)}}}}if(r){let f=Object.create(null),m=0,g=(x,y)=>(x.rank==="dynamic"&&y.rank==="dynamic"?s[y.name]-s[x.name]:0)||(typeof x.rank=="number"?x.rank:1e9)-(typeof y.rank=="number"?y.rank:1e9)||(x.nameg.score-m.score||h(m.completion,g.completion))){let m=f.completion;!u||u.label!=m.label||u.detail!=m.detail||u.type!=null&&m.type!=null&&u.type!=m.type||u.apply!=m.apply||u.boost!=m.boost?o.push(f):W9(f.completion)>W9(u)&&(o[o.length-1]=f),u=f.completion}return o}class Md{constructor(e,n,r,s,i,a){this.options=e,this.attrs=n,this.tooltip=r,this.timestamp=s,this.selected=i,this.disabled=a}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new Md(this.options,G9(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,r,s,i,a){if(s&&!a&&e.some(h=>h.isPending))return s.setDisabled();let o=dle(e,n);if(!o.length)return s&&e.some(h=>h.isPending)?s.setDisabled():null;let u=n.facet(Vr).selectOnOpen?0:-1;if(s&&s.selected!=u&&s.selected!=-1){let h=s.options[s.selected].completion;for(let f=0;ff.hasResult()?Math.min(h,f.from):h,1e8),create:xle,above:i.aboveCursor},s?s.timestamp:Date.now(),u,!1)}map(e){return new Md(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new Md(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class y1{constructor(e,n,r){this.active=e,this.id=n,this.open=r}static start(){return new y1(ple,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,r=n.facet(Vr),i=(r.override||n.languageDataAt("autocomplete",nu(n)).map(rle)).map(u=>(this.active.find(f=>f.source==u)||new Di(u,this.active.some(f=>f.state!=0)?1:0)).update(e,r));i.length==this.active.length&&i.every((u,h)=>u==this.active[h])&&(i=this.active);let a=this.open,o=e.effects.some(u=>u.is(a6));a&&e.docChanged&&(a=a.map(e.changes)),e.selection||i.some(u=>u.hasResult()&&e.changes.touchesRange(u.from,u.to))||!hle(i,this.active)||o?a=Md.build(i,n,this.id,a,r,o):a&&a.disabled&&!i.some(u=>u.isPending)&&(a=null),!a&&i.every(u=>!u.isPending)&&i.some(u=>u.hasResult())&&(i=i.map(u=>u.hasResult()?new Di(u.source,0):u));for(let u of e.effects)u.is(uI)&&(a=a&&a.setSelected(u.value,this.id));return i==this.active&&a==this.open?this:new y1(i,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?fle:mle}}function hle(t,e){if(t==e)return!0;for(let n=0,r=0;;){for(;n-1&&(n["aria-activedescendant"]=t+"-"+e),n}const ple=[];function cI(t,e){if(t.isUserEvent("input.complete")){let r=t.annotation(i6);if(r&&e.activateOnCompletion(r))return 12}let n=t.isUserEvent("input.type");return n&&e.activateOnTyping?5:n?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}class Di{constructor(e,n,r=!1){this.source=e,this.state=n,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,n){let r=cI(e,n),s=this;(r&8||r&16&&this.touches(e))&&(s=new Di(s.source,0)),r&4&&s.state==0&&(s=new Di(this.source,1)),s=s.updateFor(e,r);for(let i of e.effects)if(i.is(v1))s=new Di(s.source,1,i.value);else if(i.is(Dm))s=new Di(s.source,0);else if(i.is(a6))for(let a of i.value)a.source==s.source&&(s=a);return s}updateFor(e,n){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(nu(e.state))}}class qd extends Di{constructor(e,n,r,s,i,a){super(e,3,n),this.limit=r,this.result=s,this.from=i,this.to=a}hasResult(){return!0}updateFor(e,n){var r;if(!(n&3))return this.map(e.changes);let s=this.result;s.map&&!e.changes.empty&&(s=s.map(s,e.changes));let i=e.changes.mapPos(this.from),a=e.changes.mapPos(this.to,1),o=nu(e.state);if(o>a||!s||n&2&&(nu(e.startState)==this.from||on.map(e))}}),uI=Nt.define(),qs=Xr.define({create(){return y1.start()},update(t,e){return t.update(e)},provide:t=>[qk.from(t,e=>e.tooltip),Ue.contentAttributes.from(t,e=>e.attrs)]});function l6(t,e){const n=e.completion.apply||e.completion.label;let r=t.state.field(qs).active.find(s=>s.source==e.source);return r instanceof qd?(typeof n=="string"?t.dispatch({...nle(t.state,n,r.from,r.to),annotations:i6.of(e.completion)}):n(t,e.completion,r.from,r.to),!0):!1}const xle=cle(qs,l6);function $g(t,e="option"){return n=>{let r=n.state.field(qs,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp-1?r.open.selected+s*(t?1:-1):t?0:a-1;return o<0?o=e=="page"?0:a-1:o>=a&&(o=e=="page"?a-1:0),n.dispatch({effects:uI.of(o)}),!0}}const vle=t=>{let e=t.state.field(qs,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampt.state.field(qs,!1)?(t.dispatch({effects:v1.of(!0)}),!0):!1,yle=t=>{let e=t.state.field(qs,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:Dm.of(null)}),!0)};class ble{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const wle=50,Sle=1e3,kle=wr.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(qs).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(qs),n=t.state.facet(Vr);if(!t.selectionSet&&!t.docChanged&&t.startState.field(qs)==e)return;let r=t.transactions.some(i=>{let a=cI(i,n);return a&8||(i.selection||i.docChanged)&&!(a&3)});for(let i=0;iwle&&Date.now()-a.time>Sle){for(let o of a.context.abortListeners)try{o()}catch(u){Fs(this.view.state,u)}a.context.abortListeners=null,this.running.splice(i--,1)}else a.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(i=>i.effects.some(a=>a.is(v1)))&&(this.pendingStart=!0);let s=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(i=>i.isPending&&!this.running.some(a=>a.active.source==i.source))?setTimeout(()=>this.startUpdate(),s):-1,this.composing!=0)for(let i of t.transactions)i.isUserEvent("input.type")?this.composing=2:this.composing==2&&i.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(qs);for(let n of e.active)n.isPending&&!this.running.some(r=>r.active.source==n.source)&&this.startQuery(n);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Vr).updateSyncTime))}startQuery(t){let{state:e}=this.view,n=nu(e),r=new aI(e,n,t.explicit,this.view),s=new ble(t,r);this.running.push(s),Promise.resolve(t.source(r)).then(i=>{s.context.aborted||(s.done=i||null,this.scheduleAccept())},i=>{this.view.dispatch({effects:Dm.of(null)}),Fs(this.view.state,i)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Vr).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(Vr),r=this.view.state.field(qs);for(let s=0;so.source==i.active.source);if(a&&a.isPending)if(i.done==null){let o=new Di(i.active.source,0);for(let u of i.updates)o=o.update(u,n);o.isPending||e.push(o)}else this.startQuery(a)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:a6.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(qs,!1);if(e&&e.tooltip&&this.view.state.facet(Vr).closeOnBlur){let n=e.open&&BL(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Dm.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:v1.of(!1)}),20),this.composing=0}}}),Ole=typeof navigator=="object"&&/Win/.test(navigator.platform),jle=cc.highest(Ue.domEventHandlers({keydown(t,e){let n=e.state.field(qs,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||t.key.length>1||t.ctrlKey&&!(Ole&&t.altKey)||t.metaKey)return!1;let r=n.open.options[n.open.selected],s=n.active.find(a=>a.source==r.source),i=r.completion.commitCharacters||s.result.commitCharacters;return i&&i.indexOf(t.key)>-1&&l6(e,r),!1}})),dI=Ue.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class Nle{constructor(e,n,r,s){this.field=e,this.line=n,this.from=r,this.to=s}}class o6{constructor(e,n,r){this.field=e,this.from=n,this.to=r}map(e){let n=e.mapPos(this.from,-1,rs.TrackDel),r=e.mapPos(this.to,1,rs.TrackDel);return n==null||r==null?null:new o6(this.field,n,r)}}class c6{constructor(e,n){this.lines=e,this.fieldPositions=n}instantiate(e,n){let r=[],s=[n],i=e.doc.lineAt(n),a=/^\s*/.exec(i.text)[0];for(let u of this.lines){if(r.length){let h=a,f=/^\t*/.exec(u)[0].length;for(let m=0;mnew o6(u.field,s[u.line]+u.from,s[u.line]+u.to));return{text:r,ranges:o}}static parse(e){let n=[],r=[],s=[],i;for(let a of e.split(/\r\n?|\n/)){for(;i=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(a);){let o=i[1]?+i[1]:null,u=i[2]||i[3]||"",h=-1,f=u.replace(/\\[{}]/g,m=>m[1]);for(let m=0;m=h&&g.field++}for(let m of s)if(m.line==r.length&&m.from>i.index){let g=i[2]?3+(i[1]||"").length:2;m.from-=g,m.to-=g}s.push(new Nle(h,r.length,i.index,i.index+f.length)),a=a.slice(0,i.index)+u+a.slice(i.index+i[0].length)}a=a.replace(/\\([{}])/g,(o,u,h)=>{for(let f of s)f.line==r.length&&f.from>h&&(f.from--,f.to--);return u}),r.push(a)}return new c6(r,s)}}let Cle=ot.widget({widget:new class extends $a{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),Tle=ot.mark({class:"cm-snippetField"});class jh{constructor(e,n){this.ranges=e,this.active=n,this.deco=ot.set(e.map(r=>(r.from==r.to?Cle:Tle).range(r.from,r.to)),!0)}map(e){let n=[];for(let r of this.ranges){let s=r.map(e);if(!s)return null;n.push(s)}return new jh(n,this.active)}selectionInsideField(e){return e.ranges.every(n=>this.ranges.some(r=>r.field==this.active&&r.from<=n.from&&r.to>=n.to))}}const j0=Nt.define({map(t,e){return t&&t.map(e)}}),Ele=Nt.define(),zm=Xr.define({create(){return null},update(t,e){for(let n of e.effects){if(n.is(j0))return n.value;if(n.is(Ele)&&t)return new jh(t.ranges,n.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>Ue.decorations.from(t,e=>e?e.deco:ot.none)});function u6(t,e){return Me.create(t.filter(n=>n.field==e).map(n=>Me.range(n.from,n.to)))}function _le(t){let e=c6.parse(t);return(n,r,s,i)=>{let{text:a,ranges:o}=e.instantiate(n.state,s),{main:u}=n.state.selection,h={changes:{from:s,to:i==u.from?u.to:i,insert:nn.of(a)},scrollIntoView:!0,annotations:r?[i6.of(r),Er.userEvent.of("input.complete")]:void 0};if(o.length&&(h.selection=u6(o,0)),o.some(f=>f.field>0)){let f=new jh(o,0),m=h.effects=[j0.of(f)];n.state.field(zm,!1)===void 0&&m.push(Nt.appendConfig.of([zm,zle,Ple,dI]))}n.dispatch(n.state.update(h))}}function hI(t){return({state:e,dispatch:n})=>{let r=e.field(zm,!1);if(!r||t<0&&r.active==0)return!1;let s=r.active+t,i=t>0&&!r.ranges.some(a=>a.field==s+t);return n(e.update({selection:u6(r.ranges,s),effects:j0.of(i?null:new jh(r.ranges,s)),scrollIntoView:!0})),!0}}const Mle=({state:t,dispatch:e})=>t.field(zm,!1)?(e(t.update({effects:j0.of(null)})),!0):!1,Ale=hI(1),Rle=hI(-1),Dle=[{key:"Tab",run:Ale,shift:Rle},{key:"Escape",run:Mle}],X9=Ye.define({combine(t){return t.length?t[0]:Dle}}),zle=cc.highest(v0.compute([X9],t=>t.facet(X9)));function yl(t,e){return{...e,apply:_le(t)}}const Ple=Ue.domEventHandlers({mousedown(t,e){let n=e.state.field(zm,!1),r;if(!n||(r=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let s=n.ranges.find(i=>i.from<=r&&i.to>=r);return!s||s.field==n.active?!1:(e.dispatch({selection:u6(n.ranges,s.field),effects:j0.of(n.ranges.some(i=>i.field>s.field)?new jh(n.ranges,s.field):null),scrollIntoView:!0}),!0)}}),Pm={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Wc=Nt.define({map(t,e){let n=e.mapPos(t,-1,rs.TrackAfter);return n??void 0}}),d6=new class extends au{};d6.startSide=1;d6.endSide=-1;const fI=Xr.define({create(){return rn.empty},update(t,e){if(t=t.map(e.changes),e.selection){let n=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:r=>r>=n.from&&r<=n.to})}for(let n of e.effects)n.is(Wc)&&(t=t.update({add:[d6.range(n.value,n.value+1)]}));return t}});function Lle(){return[Ile,fI]}const G2="()[]{}<>«»»«[]{}";function mI(t){for(let e=0;e{if((Ble?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let s=t.state.selection.main;if(r.length>2||r.length==2&&ja(Is(r,0))==1||e!=s.from||n!=s.to)return!1;let i=$le(t.state,r);return i?(t.dispatch(i),!0):!1}),qle=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=pI(t,t.selection.main.head).brackets||Pm.brackets,s=null,i=t.changeByRange(a=>{if(a.empty){let o=Qle(t.doc,a.head);for(let u of r)if(u==o&&wv(t.doc,a.head)==mI(Is(u,0)))return{changes:{from:a.head-u.length,to:a.head+u.length},range:Me.cursor(a.head-u.length)}}return{range:s=a}});return s||e(t.update(i,{scrollIntoView:!0,userEvent:"delete.backward"})),!s},Fle=[{key:"Backspace",run:qle}];function $le(t,e){let n=pI(t,t.selection.main.head),r=n.brackets||Pm.brackets;for(let s of r){let i=mI(Is(s,0));if(e==s)return i==s?Ule(t,s,r.indexOf(s+s+s)>-1,n):Hle(t,s,i,n.before||Pm.before);if(e==i&&gI(t,t.selection.main.from))return Vle(t,s,i)}return null}function gI(t,e){let n=!1;return t.field(fI).between(0,t.doc.length,r=>{r==e&&(n=!0)}),n}function wv(t,e){let n=t.sliceString(e,e+2);return n.slice(0,ja(Is(n,0)))}function Qle(t,e){let n=t.sliceString(e-2,e);return ja(Is(n,0))==n.length?n:n.slice(1)}function Hle(t,e,n,r){let s=null,i=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:n,from:a.to}],effects:Wc.of(a.to+e.length),range:Me.range(a.anchor+e.length,a.head+e.length)};let o=wv(t.doc,a.head);return!o||/\s/.test(o)||r.indexOf(o)>-1?{changes:{insert:e+n,from:a.head},effects:Wc.of(a.head+e.length),range:Me.cursor(a.head+e.length)}:{range:s=a}});return s?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function Vle(t,e,n){let r=null,s=t.changeByRange(i=>i.empty&&wv(t.doc,i.head)==n?{changes:{from:i.head,to:i.head+n.length,insert:n},range:Me.cursor(i.head+n.length)}:r={range:i});return r?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Ule(t,e,n,r){let s=r.stringPrefixes||Pm.stringPrefixes,i=null,a=t.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:e,from:o.to}],effects:Wc.of(o.to+e.length),range:Me.range(o.anchor+e.length,o.head+e.length)};let u=o.head,h=wv(t.doc,u),f;if(h==e){if(Y9(t,u))return{changes:{insert:e+e,from:u},effects:Wc.of(u+e.length),range:Me.cursor(u+e.length)};if(gI(t,u)){let g=n&&t.sliceDoc(u,u+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:u,to:u+g.length,insert:g},range:Me.cursor(u+g.length)}}}else{if(n&&t.sliceDoc(u-2*e.length,u)==e+e&&(f=Z9(t,u-2*e.length,s))>-1&&Y9(t,f))return{changes:{insert:e+e+e+e,from:u},effects:Wc.of(u+e.length),range:Me.cursor(u+e.length)};if(t.charCategorizer(u)(h)!=Jn.Word&&Z9(t,u,s)>-1&&!Wle(t,u,e,s))return{changes:{insert:e+e,from:u},effects:Wc.of(u+e.length),range:Me.cursor(u+e.length)}}return{range:i=o}});return i?null:t.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function Y9(t,e){let n=Ur(t).resolveInner(e+1);return n.parent&&n.from==e}function Wle(t,e,n,r){let s=Ur(t).resolveInner(e,-1),i=r.reduce((a,o)=>Math.max(a,o.length),0);for(let a=0;a<5;a++){let o=t.sliceDoc(s.from,Math.min(s.to,s.from+n.length+i)),u=o.indexOf(n);if(!u||u>-1&&r.indexOf(o.slice(0,u))>-1){let f=s.firstChild;for(;f&&f.from==s.from&&f.to-f.from>n.length+u;){if(t.sliceDoc(f.to-n.length,f.to)==n)return!1;f=f.firstChild}return!0}let h=s.to==e&&s.parent;if(!h)break;s=h}return!1}function Z9(t,e,n){let r=t.charCategorizer(e);if(r(t.sliceDoc(e-1,e))!=Jn.Word)return e;for(let s of n){let i=e-s.length;if(t.sliceDoc(i,e)==s&&r(t.sliceDoc(i-1,i))!=Jn.Word)return i}return-1}function Gle(t={}){return[jle,qs,Vr.of(t),kle,Xle,dI]}const xI=[{key:"Ctrl-Space",run:W2},{mac:"Alt-`",run:W2},{mac:"Alt-i",run:W2},{key:"Escape",run:yle},{key:"ArrowDown",run:$g(!0)},{key:"ArrowUp",run:$g(!1)},{key:"PageDown",run:$g(!0,"page")},{key:"PageUp",run:$g(!1,"page")},{key:"Enter",run:vle}],Xle=cc.highest(v0.computeN([Vr],t=>t.facet(Vr).defaultKeymap?[xI]:[]));class K9{constructor(e,n,r){this.from=e,this.to=n,this.diagnostic=r}}class Qc{constructor(e,n,r){this.diagnostics=e,this.panel=n,this.selected=r}static init(e,n,r){let s=r.facet(Lm).markerFilter;s&&(e=s(e,r));let i=e.slice().sort((x,y)=>x.from-y.from||x.to-y.to),a=new $l,o=[],u=0,h=r.doc.iter(),f=0,m=r.doc.length;for(let x=0;;){let y=x==i.length?null:i[x];if(!y&&!o.length)break;let w,b;if(o.length)w=u,b=o.reduce((C,T)=>Math.min(C,T.to),y&&y.from>w?y.from:1e8);else{if(w=y.from,w>m)break;b=y.to,o.push(y),x++}for(;xC.from||C.to==w))o.push(C),x++,b=Math.min(C.to,b);else{b=Math.min(C.from,b);break}}b=Math.min(b,m);let k=!1;if(o.some(C=>C.from==w&&(C.to==b||b==m))&&(k=w==b,!k&&b-w<10)){let C=w-(f+h.value.length);C>0&&(h.next(C),f=w);for(let T=w;;){if(T>=b){k=!0;break}if(!h.lineBreak&&f+h.value.length>T)break;T=f+h.value.length,f+=h.value.length,h.next()}}let N=ooe(o);if(k)a.add(w,w,ot.widget({widget:new soe(N),diagnostics:o.slice()}));else{let C=o.reduce((T,E)=>E.markClass?T+" "+E.markClass:T,"");a.add(w,b,ot.mark({class:"cm-lintRange cm-lintRange-"+N+C,diagnostics:o.slice(),inclusiveEnd:o.some(T=>T.to>b)}))}if(u=b,u==m)break;for(let C=0;C{if(!(e&&a.diagnostics.indexOf(e)<0))if(!r)r=new K9(s,i,e||a.diagnostics[0]);else{if(a.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new K9(r.from,i,r.diagnostic)}}),r}function Yle(t,e){let n=e.pos,r=e.end||n,s=t.state.facet(Lm).hideOn(t,n,r);if(s!=null)return s;let i=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(a=>a.is(vI))||t.changes.touchesRange(i.from,Math.max(i.to,r)))}function Zle(t,e){return t.field(di,!1)?e:e.concat(Nt.appendConfig.of(coe))}const vI=Nt.define(),h6=Nt.define(),yI=Nt.define(),di=Xr.define({create(){return new Qc(ot.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let n=t.diagnostics.map(e.changes),r=null,s=t.panel;if(t.selected){let i=e.changes.mapPos(t.selected.from,1);r=oh(n,t.selected.diagnostic,i)||oh(n,null,i)}!n.size&&s&&e.state.facet(Lm).autoPanel&&(s=null),t=new Qc(n,s,r)}for(let n of e.effects)if(n.is(vI)){let r=e.state.facet(Lm).autoPanel?n.value.length?Bm.open:null:t.panel;t=Qc.init(n.value,r,e.state)}else n.is(h6)?t=new Qc(t.diagnostics,n.value?Bm.open:null,t.selected):n.is(yI)&&(t=new Qc(t.diagnostics,t.panel,n.value));return t},provide:t=>[Cm.from(t,e=>e.panel),Ue.decorations.from(t,e=>e.diagnostics)]}),Kle=ot.mark({class:"cm-lintRange cm-lintRange-active"});function Jle(t,e,n){let{diagnostics:r}=t.state.field(di),s,i=-1,a=-1;r.between(e-(n<0?1:0),e+(n>0?1:0),(u,h,{spec:f})=>{if(e>=u&&e<=h&&(u==h||(e>u||n>0)&&(ewI(t,n,!1)))}const toe=t=>{let e=t.state.field(di,!1);(!e||!e.panel)&&t.dispatch({effects:Zle(t.state,[h6.of(!0)])});let n=Nm(t,Bm.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},J9=t=>{let e=t.state.field(di,!1);return!e||!e.panel?!1:(t.dispatch({effects:h6.of(!1)}),!0)},noe=t=>{let e=t.state.field(di,!1);if(!e)return!1;let n=t.state.selection.main,r=e.diagnostics.iter(n.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(t.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},roe=[{key:"Mod-Shift-m",run:toe,preventDefault:!0},{key:"F8",run:noe}],Lm=Ye.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Fa(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:eT,tooltipFilter:eT,needsRefresh:(e,n)=>e?n?r=>e(r)||n(r):e:n,hideOn:(e,n)=>e?n?(r,s,i)=>e(r,s,i)||n(r,s,i):e:n,autoPanel:(e,n)=>e||n})}}});function eT(t,e){return t?e?(n,r)=>e(t(n,r),r):t:e}function bI(t){let e=[];if(t)e:for(let{name:n}of t){for(let r=0;ri.toLowerCase()==s.toLowerCase())){e.push(s);continue e}}e.push("")}return e}function wI(t,e,n){var r;let s=n?bI(e.actions):[];return In("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},In("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((i,a)=>{let o=!1,u=x=>{if(x.preventDefault(),o)return;o=!0;let y=oh(t.state.field(di).diagnostics,e);y&&i.apply(t,y.from,y.to)},{name:h}=i,f=s[a]?h.indexOf(s[a]):-1,m=f<0?h:[h.slice(0,f),In("u",h.slice(f,f+1)),h.slice(f+1)],g=i.markClass?" "+i.markClass:"";return In("button",{type:"button",class:"cm-diagnosticAction"+g,onclick:u,onmousedown:u,"aria-label":` Action: ${h}${f<0?"":` (access key "${s[a]})"`}.`},m)}),e.source&&In("div",{class:"cm-diagnosticSource"},e.source))}class soe extends $a{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return In("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class tT{constructor(e,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=wI(e,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Bm{constructor(e){this.view=e,this.items=[];let n=s=>{if(s.keyCode==27)J9(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:i}=this.items[this.selectedIndex],a=bI(i.actions);for(let o=0;o{for(let i=0;iJ9(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(di).selected;if(!e)return-1;for(let n=0;n{for(let f of h.diagnostics){if(a.has(f))continue;a.add(f);let m=-1,g;for(let x=r;xr&&(this.items.splice(r,m-r),s=!0)),n&&g.diagnostic==n.diagnostic?g.dom.hasAttribute("aria-selected")||(g.dom.setAttribute("aria-selected","true"),i=g):g.dom.hasAttribute("aria-selected")&&g.dom.removeAttribute("aria-selected"),r++}});r({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:u})=>{let h=u.height/this.list.offsetHeight;o.topu.bottom&&(this.list.scrollTop+=(o.bottom-u.bottom)/h)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function n(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)n();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)n()}moveSelection(e){if(this.selectedIndex<0)return;let n=this.view.state.field(di),r=oh(n.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:yI.of(r)})}static open(e){return new Bm(e)}}function ioe(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(t)}')`}function Qg(t){return ioe(``,'width="6" height="3"')}const aoe=Ue.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Qg("#d11")},".cm-lintRange-warning":{backgroundImage:Qg("orange")},".cm-lintRange-info":{backgroundImage:Qg("#999")},".cm-lintRange-hint":{backgroundImage:Qg("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function loe(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function ooe(t){let e="hint",n=1;for(let r of t){let s=loe(r.severity);s>n&&(n=s,e=r.severity)}return e}const coe=[di,Ue.decorations.compute([di],t=>{let{selected:e,panel:n}=t.field(di);return!e||!n||e.from==e.to?ot.none:ot.set([Kle.range(e.from,e.to)])}),Hre(Jle,{hideOn:Yle}),aoe];var nT=function(e){e===void 0&&(e={});var{crosshairCursor:n=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(Fle)),e.defaultKeymap!==!1&&(r=r.concat(Oae)),e.searchKeymap!==!1&&(r=r.concat(Yae)),e.historyKeymap!==!1&&(r=r.concat(Mie)),e.foldKeymap!==!1&&(r=r.concat(Fse)),e.completionKeymap!==!1&&(r=r.concat(xI)),e.lintKeymap!==!1&&(r=r.concat(roe));var s=[];return e.lineNumbers!==!1&&s.push(tse()),e.highlightActiveLineGutter!==!1&&s.push(sse()),e.highlightSpecialChars!==!1&&s.push(yre()),e.history!==!1&&s.push(Sie()),e.foldGutter!==!1&&s.push(Vse()),e.drawSelection!==!1&&s.push(ore()),e.dropCursor!==!1&&s.push(fre()),e.allowMultipleSelections!==!1&&s.push(tn.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&s.push(Ase()),e.syntaxHighlighting!==!1&&s.push(oB(Xse,{fallback:!0})),e.bracketMatching!==!1&&s.push(nie()),e.closeBrackets!==!1&&s.push(Lle()),e.autocompletion!==!1&&s.push(Gle()),e.rectangularSelection!==!1&&s.push(Rre()),n!==!1&&s.push(Pre()),e.highlightActiveLine!==!1&&s.push(jre()),e.highlightSelectionMatches!==!1&&s.push(Mae()),e.tabSize&&typeof e.tabSize=="number"&&s.push(b0.of(" ".repeat(e.tabSize))),s.concat([v0.of(r.flat())]).filter(Boolean)};const uoe="#e5c07b",rT="#e06c75",doe="#56b6c2",hoe="#ffffff",Ax="#abb2bf",G3="#7d8799",foe="#61afef",moe="#98c379",sT="#d19a66",poe="#c678dd",goe="#21252b",iT="#2c313a",aT="#282c34",X2="#353a42",xoe="#3E4451",lT="#528bff",voe=Ue.theme({"&":{color:Ax,backgroundColor:aT},".cm-content":{caretColor:lT},".cm-cursor, .cm-dropCursor":{borderLeftColor:lT},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:xoe},".cm-panels":{backgroundColor:goe,color:Ax},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:aT,color:G3,border:"none"},".cm-activeLineGutter":{backgroundColor:iT},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:X2},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:X2,borderBottomColor:X2},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:iT,color:Ax}}},{dark:!0}),yoe=S0.define([{tag:xe.keyword,color:poe},{tag:[xe.name,xe.deleted,xe.character,xe.propertyName,xe.macroName],color:rT},{tag:[xe.function(xe.variableName),xe.labelName],color:foe},{tag:[xe.color,xe.constant(xe.name),xe.standard(xe.name)],color:sT},{tag:[xe.definition(xe.name),xe.separator],color:Ax},{tag:[xe.typeName,xe.className,xe.number,xe.changed,xe.annotation,xe.modifier,xe.self,xe.namespace],color:uoe},{tag:[xe.operator,xe.operatorKeyword,xe.url,xe.escape,xe.regexp,xe.link,xe.special(xe.string)],color:doe},{tag:[xe.meta,xe.comment],color:G3},{tag:xe.strong,fontWeight:"bold"},{tag:xe.emphasis,fontStyle:"italic"},{tag:xe.strikethrough,textDecoration:"line-through"},{tag:xe.link,color:G3,textDecoration:"underline"},{tag:xe.heading,fontWeight:"bold",color:rT},{tag:[xe.atom,xe.bool,xe.special(xe.variableName)],color:sT},{tag:[xe.processingInstruction,xe.string,xe.inserted],color:moe},{tag:xe.invalid,color:hoe}]),SI=[voe,oB(yoe)];var boe=Ue.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),woe=function(e){e===void 0&&(e={});var{indentWithTab:n=!0,editable:r=!0,readOnly:s=!1,theme:i="light",placeholder:a="",basicSetup:o=!0}=e,u=[];switch(n&&u.unshift(v0.of([jae])),o&&(typeof o=="boolean"?u.unshift(nT()):u.unshift(nT(o))),a&&u.unshift(Ere(a)),i){case"light":u.push(boe);break;case"dark":u.push(SI);break;case"none":break;default:u.push(i);break}return r===!1&&u.push(Ue.editable.of(!1)),s&&u.push(tn.readOnly.of(!0)),[...u]},Soe=t=>({line:t.state.doc.lineAt(t.state.selection.main.from),lineCount:t.state.doc.lines,lineBreak:t.state.lineBreak,length:t.state.doc.length,readOnly:t.state.readOnly,tabSize:t.state.tabSize,selection:t.state.selection,selectionAsSingle:t.state.selection.asSingle().main,ranges:t.state.selection.ranges,selectionCode:t.state.sliceDoc(t.state.selection.main.from,t.state.selection.main.to),selections:t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to)),selectedText:t.state.selection.ranges.some(e=>!e.empty)});class koe{constructor(e,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class oT{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var Y2=null,Ooe=()=>typeof window>"u"?new oT:(Y2||(Y2=new oT),Y2),cT=qa.define(),joe=200,Noe=[];function Coe(t){var{value:e,selection:n,onChange:r,onStatistics:s,onCreateEditor:i,onUpdate:a,extensions:o=Noe,autoFocus:u,theme:h="light",height:f=null,minHeight:m=null,maxHeight:g=null,width:x=null,minWidth:y=null,maxWidth:w=null,placeholder:b="",editable:k=!0,readOnly:N=!1,indentWithTab:C=!0,basicSetup:T=!0,root:E,initialState:_}=t,[A,F]=O.useState(),[B,P]=O.useState(),[H,U]=O.useState(),te=O.useState(()=>({current:null}))[0],z=O.useState(()=>({current:null}))[0],W=Ue.theme({"&":{height:f,minHeight:m,maxHeight:g,width:x,minWidth:y,maxWidth:w},"& .cm-scroller":{height:"100% !important"}}),q=Ue.updateListener.of(Y=>{if(Y.docChanged&&typeof r=="function"&&!Y.transactions.some(K=>K.annotation(cT))){te.current?te.current.reset():(te.current=new koe(()=>{if(z.current){var K=z.current;z.current=null,K()}te.current=null},joe),Ooe().add(te.current));var R=Y.state.doc,re=R.toString();r(re,Y)}s&&s(Soe(Y))}),J=woe({theme:h,editable:k,readOnly:N,placeholder:b,indentWithTab:C,basicSetup:T}),ee=[q,W,...J];return a&&typeof a=="function"&&ee.push(Ue.updateListener.of(a)),ee=ee.concat(o),O.useLayoutEffect(()=>{if(A&&!H){var Y={doc:e,selection:n,extensions:ee},R=_?tn.fromJSON(_.json,Y,_.fields):tn.create(Y);if(U(R),!B){var re=new Ue({state:R,parent:A,root:E});P(re),i&&i(re,R)}}return()=>{B&&(U(void 0),P(void 0))}},[A,H]),O.useEffect(()=>{t.container&&F(t.container)},[t.container]),O.useEffect(()=>()=>{B&&(B.destroy(),P(void 0)),te.current&&(te.current.cancel(),te.current=null)},[B]),O.useEffect(()=>{u&&B&&B.focus()},[u,B]),O.useEffect(()=>{B&&B.dispatch({effects:Nt.reconfigure.of(ee)})},[h,o,f,m,g,x,y,w,b,k,N,C,T,r,a]),O.useEffect(()=>{if(e!==void 0){var Y=B?B.state.doc.toString():"";if(B&&e!==Y){var R=te.current&&!te.current.isDone,re=()=>{B&&e!==B.state.doc.toString()&&B.dispatch({changes:{from:0,to:B.state.doc.toString().length,insert:e||""},annotations:[cT.of(!0)]})};R?z.current=re:re()}}},[e,B]),{state:H,setState:U,view:B,setView:P,container:A,setContainer:F}}var Toe=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],kI=O.forwardRef((t,e)=>{var{className:n,value:r="",selection:s,extensions:i=[],onChange:a,onStatistics:o,onCreateEditor:u,onUpdate:h,autoFocus:f,theme:m="light",height:g,minHeight:x,maxHeight:y,width:w,minWidth:b,maxWidth:k,basicSetup:N,placeholder:C,indentWithTab:T,editable:E,readOnly:_,root:A,initialState:F}=t,B=kG(t,Toe),P=O.useRef(null),{state:H,view:U,container:te,setContainer:z}=Coe({root:A,value:r,autoFocus:f,theme:m,height:g,minHeight:x,maxHeight:y,width:w,minWidth:b,maxWidth:k,basicSetup:N,placeholder:C,indentWithTab:T,editable:E,readOnly:_,selection:s,onChange:a,onStatistics:o,onCreateEditor:u,onUpdate:h,extensions:i,initialState:F});O.useImperativeHandle(e,()=>({editor:P.current,state:H,view:U}),[P,te,H,U]);var W=O.useCallback(J=>{P.current=J,z(J)},[z]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var q=typeof m=="string"?"cm-theme-"+m:"cm-theme";return l.jsx("div",OG({ref:W,className:""+q+(n?" "+n:"")},B))});kI.displayName="CodeMirror";var uT={};class b1{constructor(e,n,r,s,i,a,o,u,h,f=0,m){this.p=e,this.stack=n,this.state=r,this.reducePos=s,this.pos=i,this.score=a,this.buffer=o,this.bufferBase=u,this.curContext=h,this.lookAhead=f,this.parent=m}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,r=0){let s=e.parser.context;return new b1(e,[],n,r,r,0,[],0,s?new dT(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let r=e>>19,s=e&65535,{parser:i}=this.p,a=this.reducePos=2e3&&!(!((n=this.p.parser.nodeSet.types[s])===null||n===void 0)&&n.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=f):this.p.lastBigReductionSizeu;)this.stack.pop();this.reduceContext(s,h)}storeNode(e,n,r,s=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&a.buffer[o-4]==0&&a.buffer[o-1]>-1){if(n==r)return;if(a.buffer[o-2]>=n){a.buffer[o-2]=r;return}}}if(!i||this.pos==r)this.buffer.push(e,n,r,s);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let o=!1;for(let u=a;u>0&&this.buffer[u-2]>r;u-=4)if(this.buffer[u-1]>=0){o=!0;break}if(o)for(;a>0&&this.buffer[a-2]>r;)this.buffer[a]=this.buffer[a-4],this.buffer[a+1]=this.buffer[a-3],this.buffer[a+2]=this.buffer[a-2],this.buffer[a+3]=this.buffer[a-1],a-=4,s>4&&(s-=4)}this.buffer[a]=e,this.buffer[a+1]=n,this.buffer[a+2]=r,this.buffer[a+3]=s}}shift(e,n,r,s){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let i=e,{parser:a}=this.p;(s>this.pos||n<=a.maxNode)&&(this.pos=s,a.stateFlag(i,1)||(this.reducePos=s)),this.pushState(i,r),this.shiftContext(n,r),n<=a.maxNode&&this.buffer.push(n,r,s,4)}else this.pos=s,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,s,4)}apply(e,n,r,s){e&65536?this.reduce(e):this.shift(e,n,r,s)}useNode(e,n){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(n,s),this.buffer.push(r,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(;n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let r=e.buffer.slice(n),s=e.bufferBase+n;for(;e&&s==e.bufferBase;)e=e.parent;return new b1(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,r?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new Eoe(this);;){let r=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(r==0)return!1;if((r&65536)==0)return!0;n.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let s=[];for(let i=0,a;iu&1&&o==a)||s.push(n[i],a)}n=s}let r=[];for(let s=0;s>19,s=n&65535,i=this.stack.length-r*3;if(i<0||e.getGoto(this.stack[i],s,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;n=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],r=(s,i)=>{if(!n.includes(s))return n.push(s),e.allActions(s,a=>{if(!(a&393216))if(a&65536){let o=(a>>19)-i;if(o>1){let u=a&65535,h=this.stack.length-o*3;if(h>=0&&e.getGoto(this.stack[h],u,!1)>=0)return o<<19|65536|u}}else{let o=r(a,i+1);if(o!=null)return o}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;nthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class dT{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}}class Eoe{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=s}}class w1{constructor(e,n,r){this.stack=e,this.pos=n,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new w1(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new w1(this.stack,this.pos,this.index)}}function Hg(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let r=0,s=0;r=92&&a--,a>=34&&a--;let u=a-32;if(u>=46&&(u-=46,o=!0),i+=u,o)break;i*=46}n?n[s++]=i:n=new e(i)}return n}class Rx{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const hT=new Rx;class _oe{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=hT,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let r=this.range,s=this.rangeIndex,i=this.pos+e;for(;ir.to:i>=r.to;){if(s==this.ranges.length-1)return null;let a=this.ranges[++s];i+=a.from-r.to,r=a}return i}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,r,s;if(n>=0&&n=this.chunk2Pos&&ro.to&&(this.chunk2=this.chunk2.slice(0,o.to-r)),s=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),s}acceptToken(e,n=0){let r=n?this.resolveOffset(n,-1):this.pos;if(r==null||r=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=hT,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let r="";for(let s of this.ranges){if(s.from>=n)break;s.to>e&&(r+=this.input.read(Math.max(s.from,e),Math.min(s.to,n)))}return r}}class Fd{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:r}=n.p;Moe(this.data,e,n,this.id,r.data,r.tokenPrecTable)}}Fd.prototype.contextual=Fd.prototype.fallback=Fd.prototype.extend=!1;Fd.prototype.fallback=Fd.prototype.extend=!1;class Sv{constructor(e,n={}){this.token=e,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}}function Moe(t,e,n,r,s,i){let a=0,o=1<0){let y=t[x];if(u.allows(y)&&(e.token.value==-1||e.token.value==y||Aoe(y,e.token.value,s,i))){e.acceptToken(y);break}}let f=e.next,m=0,g=t[a+2];if(e.next<0&&g>m&&t[h+g*3-3]==65535){a=t[h+g*3-1];continue e}for(;m>1,y=h+x+(x<<1),w=t[y],b=t[y+1]||65536;if(f=b)m=x+1;else{a=t[y+2],e.advance();continue e}}break}}function fT(t,e,n){for(let r=e,s;(s=t[r])!=65535;r++)if(s==n)return r-e;return-1}function Aoe(t,e,n,r){let s=fT(n,r,e);return s<0||fT(n,r,t)e)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:t.length}}class Roe{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?mT(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?mT(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=a,null;if(i instanceof Fn){if(a==e){if(a=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(a),this.index.push(0))}else this.index[n]++,this.nextStart=a+i.length}}}class Doe{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Rx)}getActions(e){let n=0,r=null,{parser:s}=e.p,{tokenizers:i}=s,a=s.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,u=0;for(let h=0;hm.end+25&&(u=Math.max(m.lookAhead,u)),m.value!=0)){let g=n;if(m.extended>-1&&(n=this.addActions(e,m.extended,m.end,n)),n=this.addActions(e,m.value,m.end,n),!f.extend&&(r=m,n>g))break}}for(;this.actions.length>n;)this.actions.pop();return u&&e.setLookAhead(u),!r&&e.pos==this.stream.end&&(r=new Rx,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,n=this.addActions(e,r.value,r.end,n)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new Rx,{pos:r,p:s}=e;return n.start=r,n.end=Math.min(r+1,s.stream.end),n.value=r==s.stream.end?s.parser.eofTerm:0,n}updateCachedToken(e,n,r){let s=this.stream.clipPos(r.pos);if(n.token(this.stream.reset(s,e),r),e.value>-1){let{parser:i}=r.p;for(let a=0;a=0&&r.p.parser.dialect.allows(o>>1)){(o&1)==0?e.value=o>>1:e.extended=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,n,r,s){for(let i=0;ie.bufferLength*4?new Roe(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,r=this.stacks=[],s,i;if(this.bigReductionCount>300&&e.length==1){let[a]=e;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;an)r.push(o);else{if(this.advanceStack(o,r,e))continue;{s||(s=[],i=[]),s.push(o);let u=this.tokens.getMainToken(o);i.push(u.value,u.end)}}break}}if(!r.length){let a=s&&Boe(s);if(a)return ii&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw ii&&s&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&s){let a=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,i,r);if(a)return ii&&console.log("Force-finish "+this.stackID(a)),this.stackToTree(a.forceAll())}if(this.recovering){let a=this.recovering==1?1:this.recovering*3;if(r.length>a)for(r.sort((o,u)=>u.score-o.score);r.length>a;)r.pop();r.some(o=>o.reducePos>n)&&this.recovering--}else if(r.length>1){e:for(let a=0;a500&&h.buffer.length>500)if((o.score-h.score||o.buffer.length-h.buffer.length)>0)r.splice(u--,1);else{r.splice(a--,1);continue e}}}r.length>12&&r.splice(12,r.length-12)}this.minStackPos=r[0].pos;for(let a=1;a ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,f=h?e.curContext.hash:0;for(let m=this.fragments.nodeAt(s);m;){let g=this.parser.nodeSet.types[m.type.id]==m.type?i.getGoto(e.state,m.type.id):-1;if(g>-1&&m.length&&(!h||(m.prop(Ft.contextHash)||0)==f))return e.useNode(m,g),ii&&console.log(a+this.stackID(e)+` (via reuse of ${i.getName(m.type.id)})`),!0;if(!(m instanceof Fn)||m.children.length==0||m.positions[0]>0)break;let x=m.children[0];if(x instanceof Fn&&m.positions[0]==0)m=x;else break}}let o=i.stateSlot(e.state,4);if(o>0)return e.reduce(o),ii&&console.log(a+this.stackID(e)+` (via always-reduce ${i.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let u=this.tokens.getActions(e);for(let h=0;hs?n.push(y):r.push(y)}return!1}advanceFully(e,n){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return pT(e,n),!0}}runRecovery(e,n,r){let s=null,i=!1;for(let a=0;a ":"";if(o.deadEnd&&(i||(i=!0,o.restart(),ii&&console.log(f+this.stackID(o)+" (restarted)"),this.advanceFully(o,r))))continue;let m=o.split(),g=f;for(let x=0;x<10&&m.forceReduce()&&(ii&&console.log(g+this.stackID(m)+" (via force-reduce)"),!this.advanceFully(m,r));x++)ii&&(g=this.stackID(m)+" -> ");for(let x of o.recoverByInsert(u))ii&&console.log(f+this.stackID(x)+" (via recover-insert)"),this.advanceFully(x,r);this.stream.end>o.pos?(h==o.pos&&(h++,u=0),o.recoverByDelete(u,h),ii&&console.log(f+this.stackID(o)+` (via recover-delete ${this.parser.getName(u)})`),pT(o,r)):(!s||s.scoret;class Loe{constructor(e){this.start=e.start,this.shift=e.shift||K2,this.reduce=e.reduce||K2,this.reuse=e.reuse||K2,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class Im extends Hk{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let o=0;oe.topRules[o][1]),s=[];for(let o=0;o=0)i(f,u,o[h++]);else{let m=o[h+-f];for(let g=-f;g>0;g--)i(o[h++],u,m);h++}}}this.nodeSet=new fv(n.map((o,u)=>Cs.define({name:u>=this.minRepeatTerm?void 0:o,id:u,props:s[u],top:r.indexOf(u)>-1,error:u==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(u)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=$L;let a=Hg(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;otypeof o=="number"?new Fd(a,o):o),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,r){let s=new zoe(this,e,n,r);for(let i of this.wrappers)s=i(s,e,n,r);return s}getGoto(e,n,r=!1){let s=this.goto;if(n>=s[0])return-1;for(let i=s[n+1];;){let a=s[i++],o=a&1,u=s[i++];if(o&&r)return u;for(let h=i+(a>>1);i0}validAction(e,n){return!!this.allActions(e,r=>r==n?!0:null)}allActions(e,n){let r=this.stateSlot(e,4),s=r?n(r):void 0;for(let i=this.stateSlot(e,1);s==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Cl(this.data,i+2);else break;s=n(Cl(this.data,i+1))}return s}nextStates(e){let n=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=Cl(this.data,r+2);else break;if((this.data[r+2]&1)==0){let s=this.data[r+1];n.some((i,a)=>a&1&&i==s)||n.push(this.data[r],s)}}return n}configure(e){let n=Object.assign(Object.create(Im.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=r}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(r=>{let s=e.tokenizers.find(i=>i.from==r);return s?s.to:r})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((r,s)=>{let i=e.specializers.find(o=>o.from==r.external);if(!i)return r;let a=Object.assign(Object.assign({},r),{external:i.to});return n.specializers[s]=gT(a),a})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),r=n.map(()=>!1);if(e)for(let i of e.split(" ")){let a=n.indexOf(i);a>=0&&(r[a]=!0)}let s=null;for(let i=0;ir)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.scoret.external(n,r)<<1|e}return t.get}const Ioe=1,OI=194,jI=195,qoe=196,xT=197,Foe=198,$oe=199,Qoe=200,Hoe=2,NI=3,vT=201,Voe=24,Uoe=25,Woe=49,Goe=50,Xoe=55,Yoe=56,Zoe=57,Koe=59,Joe=60,ece=61,tce=62,nce=63,rce=65,sce=238,ice=71,ace=241,lce=242,oce=243,cce=244,uce=245,dce=246,hce=247,fce=248,CI=72,mce=249,pce=250,gce=251,xce=252,vce=253,yce=254,bce=255,wce=256,Sce=73,kce=77,Oce=263,jce=112,Nce=130,Cce=151,Tce=152,Ece=155,hu=10,qm=13,f6=32,kv=9,m6=35,_ce=40,Mce=46,X3=123,yT=125,TI=39,EI=34,bT=92,Ace=111,Rce=120,Dce=78,zce=117,Pce=85,Lce=new Set([Uoe,Woe,Goe,Oce,rce,Nce,Yoe,Zoe,sce,tce,nce,CI,Sce,kce,Joe,ece,Cce,Tce,Ece,jce]);function J2(t){return t==hu||t==qm}function e4(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}const Bce=new Sv((t,e)=>{let n;if(t.next<0)t.acceptToken($oe);else if(e.context.flags&Dx)J2(t.next)&&t.acceptToken(Foe,1);else if(((n=t.peek(-1))<0||J2(n))&&e.canShift(xT)){let r=0;for(;t.next==f6||t.next==kv;)t.advance(),r++;(t.next==hu||t.next==qm||t.next==m6)&&t.acceptToken(xT,-r)}else J2(t.next)&&t.acceptToken(qoe,1)},{contextual:!0}),Ice=new Sv((t,e)=>{let n=e.context;if(n.flags)return;let r=t.peek(-1);if(r==hu||r==qm){let s=0,i=0;for(;;){if(t.next==f6)s++;else if(t.next==kv)s+=8-s%8;else break;t.advance(),i++}s!=n.indent&&t.next!=hu&&t.next!=qm&&t.next!=m6&&(s[t,e|_I])),$ce=new Loe({start:qce,reduce(t,e,n,r){return t.flags&Dx&&Lce.has(e)||(e==ice||e==CI)&&t.flags&_I?t.parent:t},shift(t,e,n,r){return e==OI?new zx(t,Fce(r.read(r.pos,n.pos)),0):e==jI?t.parent:e==Voe||e==Xoe||e==Koe||e==NI?new zx(t,0,Dx):wT.has(e)?new zx(t,0,wT.get(e)|t.flags&Dx):t},hash(t){return t.hash}}),Qce=new Sv(t=>{for(let e=0;e<5;e++){if(t.next!="print".charCodeAt(e))return;t.advance()}if(!/\w/.test(String.fromCharCode(t.next)))for(let e=0;;e++){let n=t.peek(e);if(!(n==f6||n==kv)){n!=_ce&&n!=Mce&&n!=hu&&n!=qm&&n!=m6&&t.acceptToken(Ioe);return}}}),Hce=new Sv((t,e)=>{let{flags:n}=e.context,r=n&kl?EI:TI,s=(n&Ol)>0,i=!(n&jl),a=(n&Nl)>0,o=t.pos;for(;!(t.next<0);)if(a&&t.next==X3)if(t.peek(1)==X3)t.advance(2);else{if(t.pos==o){t.acceptToken(NI,1);return}break}else if(i&&t.next==bT){if(t.pos==o){t.advance();let u=t.next;u>=0&&(t.advance(),Vce(t,u)),t.acceptToken(Hoe);return}break}else if(t.next==bT&&!i&&t.peek(1)>-1)t.advance(2);else if(t.next==r&&(!s||t.peek(1)==r&&t.peek(2)==r)){if(t.pos==o){t.acceptToken(vT,s?3:1);return}break}else if(t.next==hu){if(s)t.advance();else if(t.pos==o){t.acceptToken(vT);return}break}else t.advance();t.pos>o&&t.acceptToken(Qoe)});function Vce(t,e){if(e==Ace)for(let n=0;n<2&&t.next>=48&&t.next<=55;n++)t.advance();else if(e==Rce)for(let n=0;n<2&&e4(t.next);n++)t.advance();else if(e==zce)for(let n=0;n<4&&e4(t.next);n++)t.advance();else if(e==Pce)for(let n=0;n<8&&e4(t.next);n++)t.advance();else if(e==Dce&&t.next==X3){for(t.advance();t.next>=0&&t.next!=yT&&t.next!=TI&&t.next!=EI&&t.next!=hu;)t.advance();t.next==yT&&t.advance()}}const Uce=Vk({'async "*" "**" FormatConversion FormatSpec':xe.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":xe.controlKeyword,"in not and or is del":xe.operatorKeyword,"from def class global nonlocal lambda":xe.definitionKeyword,import:xe.moduleKeyword,"with as print":xe.keyword,Boolean:xe.bool,None:xe.null,VariableName:xe.variableName,"CallExpression/VariableName":xe.function(xe.variableName),"FunctionDefinition/VariableName":xe.function(xe.definition(xe.variableName)),"ClassDefinition/VariableName":xe.definition(xe.className),PropertyName:xe.propertyName,"CallExpression/MemberExpression/PropertyName":xe.function(xe.propertyName),Comment:xe.lineComment,Number:xe.number,String:xe.string,FormatString:xe.special(xe.string),Escape:xe.escape,UpdateOp:xe.updateOperator,"ArithOp!":xe.arithmeticOperator,BitOp:xe.bitwiseOperator,CompareOp:xe.compareOperator,AssignOp:xe.definitionOperator,Ellipsis:xe.punctuation,At:xe.meta,"( )":xe.paren,"[ ]":xe.squareBracket,"{ }":xe.brace,".":xe.derefOperator,", ;":xe.separator}),Wce={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Gce=Im.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[Qce,Ice,Bce,Hce,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:t=>Wce[t]||-1}],tokenPrec:7668}),ST=new dse,MI=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Vg(t){return(e,n,r)=>{if(r)return!1;let s=e.node.getChild("VariableName");return s&&n(s,t),!0}}const Xce={FunctionDefinition:Vg("function"),ClassDefinition:Vg("class"),ForStatement(t,e,n){if(n){for(let r=t.node.firstChild;r;r=r.nextSibling)if(r.name=="VariableName")e(r,"variable");else if(r.name=="in")break}},ImportStatement(t,e){var n,r;let{node:s}=t,i=((n=s.firstChild)===null||n===void 0?void 0:n.name)=="from";for(let a=s.getChild("import");a;a=a.nextSibling)a.name=="VariableName"&&((r=a.nextSibling)===null||r===void 0?void 0:r.name)!="as"&&e(a,i?"variable":"namespace")},AssignStatement(t,e){for(let n=t.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name==":"||n.name=="AssignOp")break},ParamList(t,e){for(let n=null,r=t.node.firstChild;r;r=r.nextSibling)r.name=="VariableName"&&(!n||!/\*|AssignOp/.test(n.name))&&e(r,"variable"),n=r},CapturePattern:Vg("variable"),AsPattern:Vg("variable"),__proto__:null};function AI(t,e){let n=ST.get(e);if(n)return n;let r=[],s=!0;function i(a,o){let u=t.sliceString(a.from,a.to);r.push({label:u,type:o})}return e.cursor(Ir.IncludeAnonymous).iterate(a=>{if(a.name){let o=Xce[a.name];if(o&&o(a,i,s)||!s&&MI.has(a.name))return!1;s=!1}else if(a.to-a.from>8192){for(let o of AI(t,a.node))r.push(o);return!1}}),ST.set(e,r),r}const kT=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,RI=["String","FormatString","Comment","PropertyName"];function Yce(t){let e=Ur(t.state).resolveInner(t.pos,-1);if(RI.indexOf(e.name)>-1)return null;let n=e.name=="VariableName"||e.to-e.from<20&&kT.test(t.state.sliceDoc(e.from,e.to));if(!n&&!t.explicit)return null;let r=[];for(let s=e;s;s=s.parent)MI.has(s.name)&&(r=r.concat(AI(t.state.doc,s)));return{options:r,from:n?e.from:t.pos,validFor:kT}}const Zce=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(t=>({label:t,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(t=>({label:t,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(t=>({label:t,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(t=>({label:t,type:"function"}))),Kce=[yl("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),yl("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),yl("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),yl("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),yl(`if \${}: + +`,{label:"if",detail:"block",type:"keyword"}),yl("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),yl("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),yl("import ${module}",{label:"import",detail:"statement",type:"keyword"}),yl("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Jce=tle(RI,lI(Zce.concat(Kce)));function t4(t){let{node:e,pos:n}=t,r=t.lineIndent(n,-1),s=null;for(;;){let i=e.childBefore(n);if(i)if(i.name=="Comment")n=i.from;else if(i.name=="Body"||i.name=="MatchBody")t.baseIndentFor(i)+t.unit<=r&&(s=i),e=i;else if(i.name=="MatchClause")e=i;else if(i.type.is("Statement"))e=i;else break;else break}return s}function n4(t,e){let n=t.baseIndentFor(e),r=t.lineAt(t.pos,-1),s=r.from+r.text.length;return/^\s*($|#)/.test(r.text)&&t.node.ton?null:n+t.unit}const r4=_m.define({name:"python",parser:Gce.configure({props:[pv.add({Body:t=>{var e;let n=/^\s*(#|$)/.test(t.textAfter)&&t4(t)||t.node;return(e=n4(t,n))!==null&&e!==void 0?e:t.continue()},MatchBody:t=>{var e;let n=t4(t);return(e=n4(t,n||t.node))!==null&&e!==void 0?e:t.continue()},IfStatement:t=>/^\s*(else:|elif )/.test(t.textAfter)?t.baseIndent:t.continue(),"ForStatement WhileStatement":t=>/^\s*else:/.test(t.textAfter)?t.baseIndent:t.continue(),TryStatement:t=>/^\s*(except[ :]|finally:|else:)/.test(t.textAfter)?t.baseIndent:t.continue(),MatchStatement:t=>/^\s*case /.test(t.textAfter)?t.baseIndent+t.unit:t.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":I2({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":I2({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":I2({closing:"]"}),MemberExpression:t=>t.baseIndent+t.unit,"String FormatString":()=>null,Script:t=>{var e;let n=t4(t);return(e=n&&n4(t,n))!==null&&e!==void 0?e:t.continue()}}),Gk.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":JL,Body:(t,e)=>({from:t.from+1,to:t.to-(t.to==e.doc.length?0:1)}),"String FormatString":(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function eue(){return new YL(r4,[r4.data.of({autocomplete:Yce}),r4.data.of({autocomplete:Jce})])}const tue=Vk({String:xe.string,Number:xe.number,"True False":xe.bool,PropertyName:xe.propertyName,Null:xe.null,", :":xe.separator,"[ ]":xe.squareBracket,"{ }":xe.brace}),nue=Im.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[tue],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),rue=()=>t=>{try{JSON.parse(t.state.doc.toString())}catch(e){if(!(e instanceof SyntaxError))throw e;const n=sue(e,t.state.doc);return[{from:n,message:e.message,severity:"error",to:n}]}return[]};function sue(t,e){let n;return(n=t.message.match(/at position (\d+)/))?Math.min(+n[1],e.length):(n=t.message.match(/at line (\d+) column (\d+)/))?Math.min(e.line(+n[1]).from+ +n[2]-1,e.length):0}const iue=_m.define({name:"json",parser:nue.configure({props:[pv.add({Object:O9({except:/^\s*\}/}),Array:O9({except:/^\s*\]/})}),Gk.add({"Object Array":JL})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function aue(){return new YL(iue)}const lue={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(t,e){let n;if(!e.inString&&(n=t.match(/^('''|"""|'|")/))&&(e.stringType=n[0],e.inString=!0),t.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(t.match(e.stringType))e.inString=!1;else if(t.peek()==="\\")t.next(),t.next();else{if(t.eol())break;t.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&t.peek()==="]")return t.next(),e.inArray--,"bracket";if(e.lhs&&t.peek()==="["&&t.skipTo("]"))return t.next(),t.peek()==="]"&&t.next(),"atom";if(t.peek()==="#")return t.skipToEnd(),"comment";if(t.eatSpace())return null;if(e.lhs&&t.eatWhile(function(r){return r!="="&&r!=" "}))return"property";if(e.lhs&&t.peek()==="=")return t.next(),e.lhs=!1,null;if(!e.lhs&&t.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(t.match("true")||t.match("false")))return"atom";if(!e.lhs&&t.peek()==="[")return e.inArray++,t.next(),"bracket";if(!e.lhs&&t.match(/^\-?\d+(?:\.\d+)?/))return"number";t.eatSpace()||t.next()}return null},languageData:{commentTokens:{line:"#"}}},oue={python:[eue()],json:[aue(),rue()],toml:[Xk.define(lue)],text:[]};function cue({value:t,onChange:e,language:n="text",readOnly:r=!1,height:s="400px",minHeight:i,maxHeight:a,placeholder:o,theme:u="dark",className:h=""}){const[f,m]=O.useState(!1);if(O.useEffect(()=>{m(!0)},[]),!f)return l.jsx("div",{className:`rounded-md border bg-muted animate-pulse ${h}`,style:{height:s,minHeight:i,maxHeight:a}});const g=[...oue[n]||[],Ue.lineWrapping];return r&&g.push(Ue.editable.of(!1)),l.jsx("div",{className:`rounded-md overflow-hidden border ${h}`,children:l.jsx(kI,{value:t,height:s,minHeight:i,maxHeight:a,theme:u==="dark"?SI:void 0,extensions:g,onChange:e,placeholder:o,basicSetup:{lineNumbers:!0,highlightActiveLineGutter:!0,highlightSpecialChars:!0,history:!0,foldGutter:!0,drawSelection:!0,dropCursor:!0,allowMultipleSelections:!0,indentOnInput:!0,syntaxHighlighting:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!0,rectangularSelection:!0,crosshairCursor:!0,highlightActiveLine:!0,highlightSelectionMatches:!0,closeBracketsKeymap:!0,defaultKeymap:!0,searchKeymap:!0,historyKeymap:!0,foldKeymap:!0,completionKeymap:!0,lintKeymap:!0}})})}function uue(){const[t,e]=O.useState(!0),[n,r]=O.useState(!1),[s,i]=O.useState(!1),[a,o]=O.useState(!1),[u,h]=O.useState(!1),[f,m]=O.useState(!1),[g,x]=O.useState("visual"),[y,w]=O.useState(""),[b,k]=O.useState(!1),{toast:N}=$r(),[C,T]=O.useState(null),[E,_]=O.useState(null),[A,F]=O.useState(null),[B,P]=O.useState(null),[H,U]=O.useState(null),[te,z]=O.useState(null),[W,q]=O.useState(null),[J,ee]=O.useState(null),[Y,R]=O.useState(null),[re,K]=O.useState(null),[I,Q]=O.useState(null),[$,Z]=O.useState(null),[ne,ge]=O.useState(null),[se,Te]=O.useState(null),[qe,ve]=O.useState(null),[Fe,Qe]=O.useState(null),[Ke,Tt]=O.useState(null),[st,He]=O.useState(null),St=O.useRef(null),bt=O.useRef(!0),nr=O.useRef({}),mn=O.useCallback(async()=>{try{const ue=await Kee();w(ue),k(!1)}catch(ue){N({variant:"destructive",title:"加载失败",description:ue instanceof Error?ue.message:"加载源代码失败"})}},[N]),Hn=O.useCallback(async()=>{try{e(!0);const ue=await hC();nr.current=ue,T(ue.bot),_(ue.personality);const Ce=ue.chat;Ce.talk_value_rules||(Ce.talk_value_rules=[]),F(Ce),P(ue.expression),U(ue.emoji),z(ue.memory),q(ue.tool),ee(ue.mood),R(ue.voice),K(ue.lpmm_knowledge),Q(ue.keyword_reaction),Z(ue.response_post_process),ge(ue.chinese_typo),Te(ue.response_splitter),ve(ue.log),Qe(ue.debug),Tt(ue.maim_message),He(ue.telemetry),o(!1),bt.current=!1,await mn()}catch(ue){console.error("加载配置失败:",ue),N({title:"加载失败",description:"无法加载配置文件",variant:"destructive"})}finally{e(!1)}},[N,mn]);O.useEffect(()=>{Hn()},[Hn]);const $t=O.useCallback(async(ue,Ce)=>{if(!bt.current)try{i(!0),await ete(ue,Ce),o(!1)}catch(lt){console.error(`自动保存 ${ue} 失败:`,lt),o(!0)}finally{i(!1)}},[]),ht=O.useCallback((ue,Ce)=>{bt.current||(o(!0),St.current&&clearTimeout(St.current),St.current=setTimeout(()=>{$t(ue,Ce)},2e3))},[$t]);O.useEffect(()=>{C&&!bt.current&&ht("bot",C)},[C,ht]),O.useEffect(()=>{E&&!bt.current&&ht("personality",E)},[E,ht]),O.useEffect(()=>{A&&!bt.current&&ht("chat",A)},[A,ht]),O.useEffect(()=>{B&&!bt.current&&ht("expression",B)},[B,ht]),O.useEffect(()=>{H&&!bt.current&&ht("emoji",H)},[H,ht]),O.useEffect(()=>{te&&!bt.current&&ht("memory",te)},[te,ht]),O.useEffect(()=>{W&&!bt.current&&ht("tool",W)},[W,ht]),O.useEffect(()=>{J&&!bt.current&&ht("mood",J)},[J,ht]),O.useEffect(()=>{Y&&!bt.current&&ht("voice",Y)},[Y,ht]),O.useEffect(()=>{re&&!bt.current&&ht("lpmm_knowledge",re)},[re,ht]),O.useEffect(()=>{I&&!bt.current&&ht("keyword_reaction",I)},[I,ht]),O.useEffect(()=>{$&&!bt.current&&ht("response_post_process",$)},[$,ht]),O.useEffect(()=>{ne&&!bt.current&&ht("chinese_typo",ne)},[ne,ht]),O.useEffect(()=>{se&&!bt.current&&ht("response_splitter",se)},[se,ht]),O.useEffect(()=>{qe&&!bt.current&&ht("log",qe)},[qe,ht]),O.useEffect(()=>{Fe&&!bt.current&&ht("debug",Fe)},[Fe,ht]),O.useEffect(()=>{Ke&&!bt.current&&ht("maim_message",Ke)},[Ke,ht]),O.useEffect(()=>{st&&!bt.current&&ht("telemetry",st)},[st,ht]);const le=async()=>{try{r(!0),await Jee(y),o(!1),k(!1),N({title:"保存成功",description:"配置已保存"}),await Hn()}catch(ue){k(!0),N({variant:"destructive",title:"保存失败",description:ue instanceof Error?ue.message:"保存配置失败"})}finally{r(!1)}},Oe=async ue=>{if(a){N({variant:"destructive",title:"切换失败",description:"请先保存当前更改"});return}if(x(ue),ue==="source")await mn();else try{const Ce=await hC();nr.current=Ce,T(Ce.bot),_(Ce.personality);const lt=Ce.chat;lt.talk_value_rules||(lt.talk_value_rules=[]),F(lt),P(Ce.expression),U(Ce.emoji),z(Ce.memory),q(Ce.tool),ee(Ce.mood),R(Ce.voice),K(Ce.lpmm_knowledge),Q(Ce.keyword_reaction),Z(Ce.response_post_process),ge(Ce.chinese_typo),Te(Ce.response_splitter),ve(Ce.log),Qe(Ce.debug),Tt(Ce.maim_message),He(Ce.telemetry),o(!1)}catch(Ce){console.error("加载配置失败:",Ce),N({title:"加载失败",description:"无法加载配置文件",variant:"destructive"})}},Le=async()=>{try{r(!0),St.current&&clearTimeout(St.current);const ue={...nr.current,bot:C,personality:E,chat:A,expression:B,emoji:H,memory:te,tool:W,mood:J,voice:Y,lpmm_knowledge:re,keyword_reaction:I,response_post_process:$,chinese_typo:ne,response_splitter:se,log:qe,debug:Fe,maim_message:Ke,telemetry:st};await fC(ue),o(!1),N({title:"保存成功",description:"麦麦主程序配置已保存"})}catch(ue){console.error("保存配置失败:",ue),N({title:"保存失败",description:ue.message,variant:"destructive"})}finally{r(!1)}},nt=async()=>{try{h(!0),Ok().catch(()=>{}),m(!0)}catch(ue){console.error("重启失败:",ue),m(!1),N({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),h(!1)}},Ot=async()=>{try{r(!0),St.current&&clearTimeout(St.current);const ue={...nr.current,bot:C,personality:E,chat:A,expression:B,emoji:H,memory:te,tool:W,mood:J,voice:Y,lpmm_knowledge:re,keyword_reaction:I,response_post_process:$,chinese_typo:ne,response_splitter:se,log:qe,debug:Fe,maim_message:Ke,telemetry:st};await fC(ue),o(!1),N({title:"保存成功",description:"配置已保存,即将重启麦麦..."}),await new Promise(Ce=>setTimeout(Ce,500)),await nt()}catch(ue){console.error("保存失败:",ue),N({title:"保存失败",description:ue.message,variant:"destructive"})}finally{r(!1)}},Vt=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},Ln=()=>{m(!1),h(!1),N({title:"重启失败",description:"服务器未能在预期时间内恢复,请手动检查",variant:"destructive"})};return t?l.jsx(yn,{className:"h-full",children:l.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:l.jsx("div",{className:"flex items-center justify-center h-64",children:l.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):l.jsx(yn,{className:"h-full",children:l.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"麦麦主程序配置"}),l.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理麦麦的核心功能和行为设置"})]}),l.jsxs("div",{className:"flex gap-2 w-full sm:w-auto items-center",children:[l.jsx(ql,{value:g,onValueChange:ue=>Oe(ue),className:"w-auto",children:l.jsxs(La,{className:"h-9",children:[l.jsxs(Zt,{value:"visual",className:"text-xs sm:text-sm px-2 sm:px-3",children:[l.jsx(IX,{className:"h-3 w-3 sm:h-4 sm:w-4 mr-1"}),"可视化"]}),l.jsxs(Zt,{value:"source",className:"text-xs sm:text-sm px-2 sm:px-3",children:[l.jsx(qX,{className:"h-3 w-3 sm:h-4 sm:w-4 mr-1"}),"源代码"]})]})}),l.jsxs(de,{onClick:g==="visual"?Le:le,disabled:n||s||!a||u,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[l.jsx(X1,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),n?"保存中...":s?"自动保存中...":a?"保存配置":"已保存"]}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsxs(de,{disabled:n||s||u,size:"sm",className:"flex-1 sm:flex-none",children:[l.jsx(ik,{className:"mr-2 h-4 w-4"}),u?"重启中...":a?"保存并重启":"重启麦麦"]})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认重启麦麦?"}),l.jsx(cn,{children:a?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:a?Ot:nt,children:a?"保存并重启":"确认重启"})]})]})]})]})]}),l.jsxs(Kd,{children:[l.jsx(Il,{className:"h-4 w-4"}),l.jsxs(Jd,{children:["配置更新后需要",l.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),g==="source"&&l.jsxs("div",{className:"space-y-4",children:[l.jsxs(Kd,{children:[l.jsx(Il,{className:"h-4 w-4"}),l.jsxs(Jd,{children:[l.jsx("strong",{children:"源代码模式(高级功能):"}),"直接编辑 TOML 配置文件。此功能仅适用于熟悉 TOML 语法的高级用户。保存时会在后端验证格式,只有格式完全正确才能保存。",b&&l.jsx("span",{className:"text-destructive font-semibold ml-2",children:"⚠️ 上次保存失败,请检查 TOML 格式"})]})]}),l.jsx(cue,{value:y,onChange:ue=>{w(ue),o(!0),b&&k(!1)},language:"toml",theme:"dark",height:"calc(100vh - 280px)",minHeight:"500px",placeholder:"TOML 配置内容"})]}),g==="visual"&&l.jsx(l.Fragment,{children:l.jsxs(ql,{defaultValue:"bot",className:"w-full",children:[l.jsx("div",{className:"overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0",children:l.jsxs(La,{className:"inline-flex w-auto min-w-full sm:grid sm:w-full sm:grid-cols-5 lg:grid-cols-10",children:[l.jsx(Zt,{value:"bot",className:"flex-shrink-0",children:"基本信息"}),l.jsx(Zt,{value:"personality",className:"flex-shrink-0",children:"人格"}),l.jsx(Zt,{value:"chat",className:"flex-shrink-0",children:"聊天"}),l.jsx(Zt,{value:"expression",className:"flex-shrink-0",children:"表达"}),l.jsx(Zt,{value:"features",className:"flex-shrink-0",children:"功能"}),l.jsx(Zt,{value:"processing",className:"flex-shrink-0",children:"处理"}),l.jsx(Zt,{value:"mood",className:"flex-shrink-0",children:"情绪"}),l.jsx(Zt,{value:"voice",className:"flex-shrink-0",children:"语音"}),l.jsx(Zt,{value:"lpmm",className:"flex-shrink-0",children:"知识库"}),l.jsx(Zt,{value:"other",className:"flex-shrink-0",children:"其他"})]})}),l.jsx(An,{value:"bot",className:"space-y-4",children:C&&l.jsx(due,{config:C,onChange:T})}),l.jsx(An,{value:"personality",className:"space-y-4",children:E&&l.jsx(hue,{config:E,onChange:_})}),l.jsx(An,{value:"chat",className:"space-y-4",children:A&&l.jsx(fue,{config:A,onChange:F})}),l.jsx(An,{value:"expression",className:"space-y-4",children:B&&l.jsx(mue,{config:B,onChange:P})}),l.jsx(An,{value:"features",className:"space-y-4",children:H&&te&&W&&l.jsx(pue,{emojiConfig:H,memoryConfig:te,toolConfig:W,onEmojiChange:U,onMemoryChange:z,onToolChange:q})}),l.jsx(An,{value:"processing",className:"space-y-4",children:I&&$&&ne&&se&&l.jsx(gue,{keywordReactionConfig:I,responsePostProcessConfig:$,chineseTypoConfig:ne,responseSplitterConfig:se,onKeywordReactionChange:Q,onResponsePostProcessChange:Z,onChineseTypoChange:ge,onResponseSplitterChange:Te})}),l.jsx(An,{value:"mood",className:"space-y-4",children:J&&l.jsx(xue,{config:J,onChange:ee})}),l.jsx(An,{value:"voice",className:"space-y-4",children:Y&&l.jsx(vue,{config:Y,onChange:R})}),l.jsx(An,{value:"lpmm",className:"space-y-4",children:re&&l.jsx(yue,{config:re,onChange:K})}),l.jsxs(An,{value:"other",className:"space-y-4",children:[qe&&l.jsx(bue,{config:qe,onChange:ve}),Fe&&l.jsx(wue,{config:Fe,onChange:Qe}),Ke&&l.jsx(Sue,{config:Ke,onChange:Tt}),st&&l.jsx(kue,{config:st,onChange:He})]})]})}),f&&l.jsx(jk,{onRestartComplete:Vt,onRestartFailed:Ln})]})})}function due({config:t,onChange:e}){const n=()=>{e({...t,platforms:[...t.platforms,""]})},r=u=>{e({...t,platforms:t.platforms.filter((h,f)=>f!==u)})},s=(u,h)=>{const f=[...t.platforms];f[u]=h,e({...t,platforms:f})},i=()=>{e({...t,alias_names:[...t.alias_names,""]})},a=u=>{e({...t,alias_names:t.alias_names.filter((h,f)=>f!==u)})},o=(u,h)=>{const f=[...t.alias_names];f[u]=h,e({...t,alias_names:f})};return l.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"基本信息"}),l.jsxs("div",{className:"grid gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"platform",children:"平台"}),l.jsx(Re,{id:"platform",value:t.platform,onChange:u=>e({...t,platform:u.target.value}),placeholder:"qq"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"qq_account",children:"QQ账号"}),l.jsx(Re,{id:"qq_account",value:t.qq_account,onChange:u=>e({...t,qq_account:u.target.value}),placeholder:"123456789"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"nickname",children:"昵称"}),l.jsx(Re,{id:"nickname",value:t.nickname,onChange:u=>e({...t,nickname:u.target.value}),placeholder:"麦麦"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(ce,{children:"其他平台账号"}),l.jsxs(de,{onClick:n,size:"sm",variant:"outline",children:[l.jsx(is,{className:"h-4 w-4 mr-1"}),"添加"]})]}),l.jsxs("div",{className:"space-y-2",children:[t.platforms.map((u,h)=>l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Re,{value:u,onChange:f=>s(h,f.target.value),placeholder:"wx:114514"}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"icon",variant:"outline",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:['确定要删除平台账号 "',u||"(空)",'" 吗?此操作无法撤销。']})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>r(h),children:"删除"})]})]})]})]},h)),t.platforms.length===0&&l.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无其他平台账号"})]})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(ce,{children:"别名"}),l.jsxs(de,{onClick:i,size:"sm",variant:"outline",children:[l.jsx(is,{className:"h-4 w-4 mr-1"}),"添加"]})]}),l.jsxs("div",{className:"space-y-2",children:[t.alias_names.map((u,h)=>l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Re,{value:u,onChange:f=>o(h,f.target.value),placeholder:"小麦"}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"icon",variant:"outline",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:['确定要删除别名 "',u||"(空)",'" 吗?此操作无法撤销。']})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>a(h),children:"删除"})]})]})]})]},h)),t.alias_names.length===0&&l.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无别名"})]})]})]})]})})}function hue({config:t,onChange:e}){const n=()=>{e({...t,states:[...t.states,""]})},r=i=>{e({...t,states:t.states.filter((a,o)=>o!==i)})},s=(i,a)=>{const o=[...t.states];o[i]=a,e({...t,states:o})};return l.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"人格设置"}),l.jsxs("div",{className:"grid gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"personality",children:"人格特质"}),l.jsx(Rn,{id:"personality",value:t.personality,onChange:i=>e({...t,personality:i.target.value}),placeholder:"描述人格特质和身份特征(建议120字以内)",rows:3}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"建议120字以内,描述人格特质和身份特征"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"reply_style",children:"表达风格"}),l.jsx(Rn,{id:"reply_style",value:t.reply_style,onChange:i=>e({...t,reply_style:i.target.value}),placeholder:"描述说话的表达风格和习惯",rows:3})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"interest",children:"兴趣"}),l.jsx(Rn,{id:"interest",value:t.interest,onChange:i=>e({...t,interest:i.target.value}),placeholder:"会影响麦麦对什么话题进行回复",rows:2})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"plan_style",children:"说话规则与行为风格"}),l.jsx(Rn,{id:"plan_style",value:t.plan_style,onChange:i=>e({...t,plan_style:i.target.value}),placeholder:"麦麦的说话规则和行为风格",rows:5})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"visual_style",children:"识图规则"}),l.jsx(Rn,{id:"visual_style",value:t.visual_style,onChange:i=>e({...t,visual_style:i.target.value}),placeholder:"识图时的处理规则",rows:3})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"private_plan_style",children:"私聊规则"}),l.jsx(Rn,{id:"private_plan_style",value:t.private_plan_style,onChange:i=>e({...t,private_plan_style:i.target.value}),placeholder:"私聊的说话规则和行为风格",rows:4})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(ce,{children:"状态列表(人格多样性)"}),l.jsxs(de,{onClick:n,size:"sm",variant:"outline",children:[l.jsx(is,{className:"h-4 w-4 mr-1"}),"添加状态"]})]}),l.jsx("div",{className:"space-y-2",children:t.states.map((i,a)=>l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Rn,{value:i,onChange:o=>s(a,o.target.value),placeholder:"描述一个人格状态",rows:2}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"icon",variant:"outline",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsx(cn,{children:"确定要删除这个人格状态吗?此操作无法撤销。"})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>r(a),children:"删除"})]})]})]})]},a))})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"state_probability",children:"状态替换概率"}),l.jsx(Re,{id:"state_probability",type:"number",step:"0.1",min:"0",max:"1",value:t.state_probability,onChange:i=>e({...t,state_probability:parseFloat(i.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"每次构建人格时替换 personality 的概率(0.0-1.0)"})]})]})]})})}function fue({config:t,onChange:e}){const n=()=>{e({...t,talk_value_rules:[...t.talk_value_rules,{target:"",time:"00:00-23:59",value:1}]})},r=o=>{e({...t,talk_value_rules:t.talk_value_rules.filter((u,h)=>h!==o)})},s=(o,u,h)=>{const f=[...t.talk_value_rules];f[o]={...f[o],[u]:h},e({...t,talk_value_rules:f})},i=({value:o,onChange:u})=>{const[h,f]=O.useState("00"),[m,g]=O.useState("00"),[x,y]=O.useState("23"),[w,b]=O.useState("59");O.useEffect(()=>{const N=o.split("-");if(N.length===2){const[C,T]=N,[E,_]=C.split(":"),[A,F]=T.split(":");E&&f(E.padStart(2,"0")),_&&g(_.padStart(2,"0")),A&&y(A.padStart(2,"0")),F&&b(F.padStart(2,"0"))}},[o]);const k=(N,C,T,E)=>{const _=`${N}:${C}-${T}:${E}`;u(_)};return l.jsxs(Wo,{children:[l.jsx(Go,{asChild:!0,children:l.jsxs(de,{variant:"outline",className:"w-full justify-start font-mono text-sm",children:[l.jsx(Yc,{className:"h-4 w-4 mr-2"}),o||"选择时间段"]})}),l.jsx(Fl,{className:"w-80",children:l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("h4",{className:"font-medium text-sm mb-3",children:"开始时间"}),l.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-xs",children:"小时"}),l.jsxs(It,{value:h,onValueChange:N=>{f(N),k(N,m,x,w)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsx(Lt,{children:Array.from({length:24},(N,C)=>C).map(N=>l.jsx(ze,{value:N.toString().padStart(2,"0"),children:N.toString().padStart(2,"0")},N))})]})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"text-xs",children:"分钟"}),l.jsxs(It,{value:m,onValueChange:N=>{g(N),k(h,N,x,w)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsx(Lt,{children:Array.from({length:60},(N,C)=>C).map(N=>l.jsx(ze,{value:N.toString().padStart(2,"0"),children:N.toString().padStart(2,"0")},N))})]})]})]})]}),l.jsxs("div",{children:[l.jsx("h4",{className:"font-medium text-sm mb-3",children:"结束时间"}),l.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-xs",children:"小时"}),l.jsxs(It,{value:x,onValueChange:N=>{y(N),k(h,m,N,w)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsx(Lt,{children:Array.from({length:24},(N,C)=>C).map(N=>l.jsx(ze,{value:N.toString().padStart(2,"0"),children:N.toString().padStart(2,"0")},N))})]})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"text-xs",children:"分钟"}),l.jsxs(It,{value:w,onValueChange:N=>{b(N),k(h,m,x,N)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsx(Lt,{children:Array.from({length:60},(N,C)=>C).map(N=>l.jsx(ze,{value:N.toString().padStart(2,"0"),children:N.toString().padStart(2,"0")},N))})]})]})]})]})]})})]})},a=({rule:o})=>{const u=`{ target = "${o.target}", time = "${o.time}", value = ${o.value.toFixed(1)} }`;return l.jsxs(Wo,{children:[l.jsx(Go,{asChild:!0,children:l.jsxs(de,{variant:"outline",size:"sm",children:[l.jsx(na,{className:"h-4 w-4 mr-1"}),"预览"]})}),l.jsx(Fl,{className:"w-96",children:l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),l.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:u}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return l.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"聊天设置"}),l.jsxs("div",{className:"grid gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"talk_value",children:"聊天频率(基础值)"}),l.jsx(Re,{id:"talk_value",type:"number",step:"0.1",min:"0",max:"1",value:t.talk_value,onChange:o=>e({...t,talk_value:parseFloat(o.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"越小越沉默,范围 0-1"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"mentioned_bot_reply",children:"提及回复增幅"}),l.jsx(Re,{id:"mentioned_bot_reply",type:"number",step:"0.1",min:"0",max:"1",value:t.mentioned_bot_reply,onChange:o=>e({...t,mentioned_bot_reply:parseFloat(o.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"提及时回复概率增幅,1 为 100% 回复"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"max_context_size",children:"上下文长度"}),l.jsx(Re,{id:"max_context_size",type:"number",min:"1",value:t.max_context_size,onChange:o=>e({...t,max_context_size:parseInt(o.target.value)})})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"planner_smooth",children:"规划器平滑"}),l.jsx(Re,{id:"planner_smooth",type:"number",step:"1",min:"0",value:t.planner_smooth,onChange:o=>e({...t,planner_smooth:parseFloat(o.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"增大数值会减小 planner 负荷,推荐 1-5,0 为关闭"})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"enable_talk_value_rules",checked:t.enable_talk_value_rules,onCheckedChange:o=>e({...t,enable_talk_value_rules:o})}),l.jsx(ce,{htmlFor:"enable_talk_value_rules",className:"cursor-pointer",children:"启用动态发言频率规则"})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"include_planner_reasoning",checked:t.include_planner_reasoning,onCheckedChange:o=>e({...t,include_planner_reasoning:o})}),l.jsx(ce,{htmlFor:"include_planner_reasoning",className:"cursor-pointer",children:"将 planner 推理加入 replyer"})]})]})]}),t.enable_talk_value_rules&&l.jsxs("div",{className:"border-t pt-6",children:[l.jsxs("div",{className:"flex items-center justify-between mb-4",children:[l.jsxs("div",{children:[l.jsx("h4",{className:"text-base font-semibold",children:"动态发言频率规则"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"按时段或聊天流ID调整发言频率,优先匹配具体聊天,再匹配全局规则"})]}),l.jsxs(de,{onClick:n,size:"sm",children:[l.jsx(is,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),t.talk_value_rules&&t.talk_value_rules.length>0?l.jsx("div",{className:"space-y-4",children:t.talk_value_rules.map((o,u)=>l.jsxs("div",{className:"rounded-lg border p-4 bg-muted/50 space-y-4",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("span",{className:"text-sm font-medium text-muted-foreground",children:["规则 #",u+1]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(a,{rule:o}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{variant:"ghost",size:"sm",children:l.jsx(Kt,{className:"h-4 w-4 text-destructive"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:["确定要删除规则 #",u+1," 吗?此操作无法撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>r(u),children:"删除"})]})]})]})]})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"配置类型"}),l.jsxs(It,{value:o.target===""?"global":"specific",onValueChange:h=>{h==="global"?s(u,"target",""):s(u,"target","qq::group")},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"global",children:"全局配置"}),l.jsx(ze,{value:"specific",children:"详细配置"})]})]})]}),o.target!==""&&(()=>{const h=o.target.split(":"),f=h[0]||"qq",m=h[1]||"",g=h[2]||"group";return l.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"平台"}),l.jsxs(It,{value:f,onValueChange:x=>{s(u,"target",`${x}:${m}:${g}`)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"qq",children:"QQ"}),l.jsx(ze,{value:"wx",children:"微信"})]})]})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"群 ID"}),l.jsx(Re,{value:m,onChange:x=>{s(u,"target",`${f}:${x.target.value}:${g}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"类型"}),l.jsxs(It,{value:g,onValueChange:x=>{s(u,"target",`${f}:${m}:${x}`)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"group",children:"群组(group)"}),l.jsx(ze,{value:"private",children:"私聊(private)"})]})]})]})]}),l.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",o.target||"(未设置)"]})]})})(),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"时间段 (Time)"}),l.jsx(i,{value:o.time,onChange:h=>s(u,"time",h)}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"支持跨夜区间,例如 23:00-02:00"})]}),l.jsxs("div",{className:"grid gap-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(ce,{htmlFor:`rule-value-${u}`,className:"text-xs font-medium",children:"发言频率值 (Value)"}),l.jsx(Re,{id:`rule-value-${u}`,type:"number",step:"0.01",min:"0",max:"1",value:o.value,onChange:h=>{const f=parseFloat(h.target.value);isNaN(f)||s(u,"value",Math.max(0,Math.min(1,f)))},className:"w-20 h-8 text-xs"})]}),l.jsx(lv,{value:[o.value],onValueChange:h=>s(u,"value",h[0]),min:0,max:1,step:.01,className:"w-full"}),l.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[l.jsx("span",{children:"0 (完全沉默)"}),l.jsx("span",{children:"0.5"}),l.jsx("span",{children:"1.0 (正常)"})]})]})]})]},u))}):l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:l.jsx("p",{className:"text-sm",children:'暂无规则,点击"添加规则"按钮创建'})}),l.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:[l.jsx("h5",{className:"text-sm font-semibold text-blue-900 dark:text-blue-100 mb-2",children:"📝 规则说明"}),l.jsxs("ul",{className:"text-xs text-blue-800 dark:text-blue-200 space-y-1",children:[l.jsxs("li",{children:["• ",l.jsx("strong",{children:"Target 为空"}),":全局规则,对所有聊天生效"]}),l.jsxs("li",{children:["• ",l.jsx("strong",{children:"Target 指定"}),":仅对特定聊天流生效(格式:platform:id:type)"]}),l.jsxs("li",{children:["• ",l.jsx("strong",{children:"优先级"}),":先匹配具体聊天流规则,再匹配全局规则"]}),l.jsxs("li",{children:["• ",l.jsx("strong",{children:"时间支持跨夜"}),":例如 23:00-02:00 表示晚上11点到次日凌晨2点"]}),l.jsxs("li",{children:["• ",l.jsx("strong",{children:"数值范围"}),":建议 0-1,0 表示完全沉默,1 表示正常发言"]})]})]})]})]})}function mue({config:t,onChange:e}){const n=()=>{e({...t,learning_list:[...t.learning_list,["","enable","enable","1.0"]]})},r=g=>{e({...t,learning_list:t.learning_list.filter((x,y)=>y!==g)})},s=(g,x,y)=>{const w=[...t.learning_list];w[g][x]=y,e({...t,learning_list:w})},i=({rule:g})=>{const x=`["${g[0]}", "${g[1]}", "${g[2]}", "${g[3]}"]`;return l.jsxs(Wo,{children:[l.jsx(Go,{asChild:!0,children:l.jsxs(de,{variant:"outline",size:"sm",children:[l.jsx(na,{className:"h-4 w-4 mr-1"}),"预览"]})}),l.jsx(Fl,{className:"w-96",children:l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),l.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:x}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},a=({member:g,groupIndex:x,memberIndex:y,availableChatIds:w})=>{const b=w.includes(g)||g==="*",[k,N]=O.useState(!b);return l.jsxs("div",{className:"flex gap-2",children:[l.jsx("div",{className:"flex-1 flex gap-2",children:k?l.jsxs(l.Fragment,{children:[l.jsx(Re,{value:g,onChange:C=>m(x,y,C.target.value),placeholder:'输入 "*" 或 "qq:123456:group"',className:"flex-1"}),w.length>0&&l.jsx(de,{size:"sm",variant:"outline",onClick:()=>N(!1),title:"切换到下拉选择",children:"下拉"})]}):l.jsxs(l.Fragment,{children:[l.jsxs(It,{value:g,onValueChange:C=>m(x,y,C),children:[l.jsx(Pt,{className:"flex-1",children:l.jsx(qt,{placeholder:"选择聊天流"})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"*",children:"* (全局共享)"}),w.map((C,T)=>l.jsx(ze,{value:C,children:C},T))]})]}),l.jsx(de,{size:"sm",variant:"outline",onClick:()=>N(!0),title:"切换到手动输入",children:"输入"})]})}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"icon",variant:"outline",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:['确定要删除组成员 "',g||"(空)",'" 吗?此操作无法撤销。']})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>f(x,y),children:"删除"})]})]})]})]})},o=()=>{e({...t,expression_groups:[...t.expression_groups,[]]})},u=g=>{e({...t,expression_groups:t.expression_groups.filter((x,y)=>y!==g)})},h=g=>{const x=[...t.expression_groups];x[g]=[...x[g],""],e({...t,expression_groups:x})},f=(g,x)=>{const y=[...t.expression_groups];y[g]=y[g].filter((w,b)=>b!==x),e({...t,expression_groups:y})},m=(g,x,y)=>{const w=[...t.expression_groups];w[g][x]=y,e({...t,expression_groups:w})};return l.jsxs("div",{className:"space-y-6",children:[l.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center justify-between mb-4",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold",children:"表达学习配置"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置麦麦如何学习和使用表达方式"})]}),l.jsxs(de,{onClick:n,size:"sm",variant:"outline",children:[l.jsx(is,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),l.jsxs("div",{className:"space-y-4",children:[t.learning_list.map((g,x)=>{const y=t.learning_list.some((T,E)=>E!==x&&T[0]===""),w=g[0]==="",b=g[0].split(":"),k=b[0]||"qq",N=b[1]||"",C=b[2]||"group";return l.jsxs("div",{className:"rounded-lg border p-4 space-y-4",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("span",{className:"text-sm font-medium",children:["规则 ",x+1," ",w&&"(全局配置)"]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(i,{rule:g}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"sm",variant:"ghost",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:["确定要删除学习规则 ",x+1," 吗?此操作无法撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>r(x),children:"删除"})]})]})]})]})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"配置类型"}),l.jsxs(It,{value:w?"global":"specific",onValueChange:T=>{T==="global"?s(x,0,""):s(x,0,"qq::group")},disabled:y&&!w,children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"global",children:"全局配置"}),l.jsx(ze,{value:"specific",disabled:y&&!w,children:"详细配置"})]})]}),y&&!w&&l.jsx("p",{className:"text-xs text-amber-600",children:"已存在全局配置,无法创建新的全局配置"})]}),!w&&l.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"平台"}),l.jsxs(It,{value:k,onValueChange:T=>{s(x,0,`${T}:${N}:${C}`)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"qq",children:"QQ"}),l.jsx(ze,{value:"wx",children:"微信"})]})]})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"群 ID"}),l.jsx(Re,{value:N,onChange:T=>{s(x,0,`${k}:${T.target.value}:${C}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"类型"}),l.jsxs(It,{value:C,onValueChange:T=>{s(x,0,`${k}:${N}:${T}`)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"group",children:"群组(group)"}),l.jsx(ze,{value:"private",children:"私聊(private)"})]})]})]})]}),l.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",g[0]||"(未设置)"]})]}),l.jsx("div",{className:"grid gap-2",children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-xs font-medium",children:"使用学到的表达"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦使用从聊天中学到的表达方式"})]}),l.jsx(Dt,{checked:g[1]==="enable",onCheckedChange:T=>s(x,1,T?"enable":"disable")})]})}),l.jsx("div",{className:"grid gap-2",children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-xs font-medium",children:"学习表达"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦从聊天中学习新的表达方式"})]}),l.jsx(Dt,{checked:g[2]==="enable",onCheckedChange:T=>s(x,2,T?"enable":"disable")})]})}),l.jsxs("div",{className:"grid gap-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(ce,{className:"text-xs font-medium",children:"学习强度"}),l.jsx(Re,{type:"number",step:"0.1",min:"0",max:"5",value:g[3],onChange:T=>{const E=parseFloat(T.target.value);isNaN(E)||s(x,3,Math.max(0,Math.min(5,E)).toFixed(1))},className:"w-20 h-8 text-xs"})]}),l.jsx(lv,{value:[parseFloat(g[3])||1],onValueChange:T=>s(x,3,T[0].toFixed(1)),min:0,max:5,step:.1,className:"w-full"}),l.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[l.jsx("span",{children:"0 (不学习)"}),l.jsx("span",{children:"2.5"}),l.jsx("span",{children:"5.0 (快速学习)"})]}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"影响学习频率,最短学习间隔 = 300/学习强度(秒)"})]})]})]},x)}),t.learning_list.length===0&&l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无学习规则,点击"添加规则"开始配置'})]})]})}),l.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center justify-between mb-4",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold",children:"表达共享组配置"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置不同聊天流之间如何共享学到的表达方式"})]}),l.jsxs(de,{onClick:o,size:"sm",variant:"outline",children:[l.jsx(is,{className:"h-4 w-4 mr-1"}),"添加共享组"]})]}),l.jsxs("div",{className:"space-y-4",children:[t.expression_groups.map((g,x)=>{const y=t.learning_list.map(w=>w[0]).filter(w=>w!=="");return l.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("span",{className:"text-sm font-medium",children:["共享组 ",x+1,g.length===1&&g[0]==="*"&&"(全局共享)"]}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx(de,{onClick:()=>h(x),size:"sm",variant:"outline",children:l.jsx(is,{className:"h-4 w-4"})}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"sm",variant:"ghost",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:["确定要删除共享组 ",x+1," 吗?此操作无法撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>u(x),children:"删除"})]})]})]})]})]}),l.jsx("div",{className:"space-y-2",children:g.map((w,b)=>l.jsx(a,{member:w,groupIndex:x,memberIndex:b,availableChatIds:y},b))}),l.jsx("p",{className:"text-xs text-muted-foreground",children:'提示:可以从下拉框选择已配置的聊天流,或手动输入。输入 "*" 启用全局共享'})]},x)}),t.expression_groups.length===0&&l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无共享组,点击"添加共享组"开始配置'})]})]})})]})}function pue({emojiConfig:t,memoryConfig:e,toolConfig:n,onEmojiChange:r,onMemoryChange:s,onToolChange:i}){return l.jsxs("div",{className:"space-y-6",children:[l.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"工具设置"}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"enable_tool",checked:n.enable_tool,onCheckedChange:a=>i({...n,enable_tool:a})}),l.jsx(ce,{htmlFor:"enable_tool",className:"cursor-pointer",children:"启用工具系统"})]}),l.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"允许麦麦使用各种工具来增强功能"})]})}),l.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"记忆设置"}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"max_agent_iterations",children:"记忆思考深度"}),l.jsx(Re,{id:"max_agent_iterations",type:"number",min:"1",value:e.max_agent_iterations,onChange:a=>s({...e,max_agent_iterations:parseInt(a.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"最低为 1(不深入思考)"})]})]})}),l.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"表情包设置"}),l.jsxs("div",{className:"grid gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"emoji_chance",children:"表情包激活概率"}),l.jsx(Re,{id:"emoji_chance",type:"number",step:"0.1",min:"0",max:"1",value:t.emoji_chance,onChange:a=>r({...t,emoji_chance:parseFloat(a.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"范围 0-1,越大越容易发送表情包"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"max_reg_num",children:"最大注册数量"}),l.jsx(Re,{id:"max_reg_num",type:"number",min:"1",value:t.max_reg_num,onChange:a=>r({...t,max_reg_num:parseInt(a.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"麦麦最多可以注册的表情包数量"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),l.jsx(Re,{id:"check_interval",type:"number",min:"1",value:t.check_interval,onChange:a=>r({...t,check_interval:parseInt(a.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包(注册、破损、删除)的时间间隔"})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"do_replace",checked:t.do_replace,onCheckedChange:a=>r({...t,do_replace:a})}),l.jsx(ce,{htmlFor:"do_replace",className:"cursor-pointer",children:"达到最大数量时替换表情包"})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"steal_emoji",checked:t.steal_emoji,onCheckedChange:a=>r({...t,steal_emoji:a})}),l.jsx(ce,{htmlFor:"steal_emoji",className:"cursor-pointer",children:"偷取表情包"})]}),l.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"允许麦麦将看到的表情包据为己有"}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"content_filtration",checked:t.content_filtration,onCheckedChange:a=>r({...t,content_filtration:a})}),l.jsx(ce,{htmlFor:"content_filtration",className:"cursor-pointer",children:"启用表情包过滤"})]}),t.content_filtration&&l.jsxs("div",{className:"grid gap-2 pl-6 border-l-2 border-primary/20",children:[l.jsx(ce,{htmlFor:"filtration_prompt",children:"过滤要求"}),l.jsx(Re,{id:"filtration_prompt",value:t.filtration_prompt,onChange:a=>r({...t,filtration_prompt:a.target.value}),placeholder:"符合公序良俗"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"只有符合此要求的表情包才会被保存"})]})]})]})})]})}function gue({keywordReactionConfig:t,responsePostProcessConfig:e,chineseTypoConfig:n,responseSplitterConfig:r,onKeywordReactionChange:s,onResponsePostProcessChange:i,onChineseTypoChange:a,onResponseSplitterChange:o}){const u=()=>{s({...t,regex_rules:[...t.regex_rules,{regex:[""],reaction:""}]})},h=T=>{s({...t,regex_rules:t.regex_rules.filter((E,_)=>_!==T)})},f=(T,E,_)=>{const A=[...t.regex_rules];E==="regex"&&typeof _=="string"?A[T]={...A[T],regex:[_]}:E==="reaction"&&typeof _=="string"&&(A[T]={...A[T],reaction:_}),s({...t,regex_rules:A})},m=({regex:T,reaction:E,onRegexChange:_,onReactionChange:A})=>{const[F,B]=O.useState(!1),[P,H]=O.useState(""),[U,te]=O.useState(null),[z,W]=O.useState(""),[q,J]=O.useState({}),[ee,Y]=O.useState(""),R=O.useRef(null),[re,K]=O.useState("build"),I=ne=>ne.replace(/\(\?P<([^>]+)>/g,"(?<$1>"),Q=(ne,ge=0)=>{const se=R.current;if(!se)return;const Te=se.selectionStart||0,qe=se.selectionEnd||0,ve=T.substring(0,Te)+ne+T.substring(qe);_(ve),setTimeout(()=>{const Fe=Te+ne.length+ge;se.setSelectionRange(Fe,Fe),se.focus()},0)};O.useEffect(()=>{if(!T||!P){te(null),J({}),Y(E),W("");return}try{const ne=I(T),ge=new RegExp(ne,"g"),se=P.match(ge);te(se),W("");const qe=new RegExp(ne).exec(P);if(qe&&qe.groups){J(qe.groups);let ve=E;Object.entries(qe.groups).forEach(([Fe,Qe])=>{ve=ve.replace(new RegExp(`\\[${Fe}\\]`,"g"),Qe||"")}),Y(ve)}else J({}),Y(E)}catch(ne){W(ne.message),te(null),J({}),Y(E)}},[T,P,E]);const $=()=>{if(!P||!U||U.length===0)return l.jsx("span",{className:"text-muted-foreground",children:P||"请输入测试文本"});try{const ne=I(T),ge=new RegExp(ne,"g");let se=0;const Te=[];let qe;for(;(qe=ge.exec(P))!==null;)qe.index>se&&Te.push(l.jsx("span",{children:P.substring(se,qe.index)},`text-${se}`)),Te.push(l.jsx("span",{className:"bg-yellow-200 dark:bg-yellow-900 font-semibold",children:qe[0]},`match-${qe.index}`)),se=qe.index+qe[0].length;return se)",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 l.jsxs(Mr,{open:F,onOpenChange:B,children:[l.jsx(wk,{asChild:!0,children:l.jsxs(de,{variant:"outline",size:"sm",children:[l.jsx(Vx,{className:"h-4 w-4 mr-1"}),"正则编辑器"]})}),l.jsxs(vr,{className:"max-w-[95vw] sm:max-w-[900px] max-h-[90vh]",children:[l.jsxs(yr,{children:[l.jsx(br,{children:"正则表达式编辑器"}),l.jsx(as,{className:"text-sm",children:"使用可视化工具构建正则表达式,并实时测试效果"})]}),l.jsx(yn,{className:"max-h-[calc(90vh-120px)]",children:l.jsxs(ql,{value:re,onValueChange:ne=>K(ne),className:"w-full",children:[l.jsxs(La,{className:"grid w-full grid-cols-2",children:[l.jsx(Zt,{value:"build",children:"🔧 构建器"}),l.jsx(Zt,{value:"test",children:"🧪 测试器"})]}),l.jsxs(An,{value:"build",className:"space-y-4 mt-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{className:"text-sm font-medium",children:"正则表达式"}),l.jsx(Re,{ref:R,value:T,onChange:ne=>_(ne.target.value),className:"font-mono text-sm",placeholder:"点击下方按钮构建正则表达式..."})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{className:"text-sm font-medium",children:"Reaction 内容"}),l.jsx(Rn,{value:E,onChange:ne=>A(ne.target.value),placeholder:"使用 [捕获组名] 引用捕获的内容...",rows:3,className:"text-sm"})]}),l.jsxs("div",{className:"space-y-4 border-t pt-4",children:[Z.map(ne=>l.jsxs("div",{className:"space-y-2",children:[l.jsx("h5",{className:"text-xs font-semibold text-primary",children:ne.category}),l.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:ne.items.map(ge=>l.jsx(de,{variant:"outline",size:"sm",className:"justify-start h-auto py-2 px-3",onClick:()=>Q(ge.pattern,ge.moveCursor||0),children:l.jsxs("div",{className:"flex flex-col items-start w-full",children:[l.jsxs("div",{className:"flex items-center gap-2 w-full",children:[l.jsx("span",{className:"text-xs font-medium",children:ge.label}),l.jsx("code",{className:"ml-auto text-xs bg-muted px-1.5 py-0.5 rounded font-mono",children:ge.pattern})]}),l.jsx("span",{className:"text-xs text-muted-foreground mt-0.5",children:ge.desc})]})},ge.label))})]},ne.category)),l.jsxs("div",{className:"space-y-2 border-t pt-4",children:[l.jsx("h5",{className:"text-xs font-semibold text-primary",children:"完整示例模板"}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(de,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>_("^(?P\\S{1,20})是这样的$"),children:l.jsxs("div",{className:"flex flex-col items-start w-full",children:[l.jsxs("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:["^(?P\\S","{1,20}",")是这样的$"]}),l.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「某事物是这样的」并捕获事物名称"})]})}),l.jsx(de,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>_("(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"),children:l.jsxs("div",{className:"flex flex-col items-start w-full",children:[l.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"}),l.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「我没要求你做某事」并捕获具体行为"})]})}),l.jsx(de,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>_("(?P.+?)(?:是|为什么|怎么)"),children:l.jsxs("div",{className:"flex flex-col items-start w-full",children:[l.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?P.+?)(?:是|为什么|怎么)"}),l.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"捕获问题主题词"})]})})]})]})]}),l.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:[l.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 使用提示"}),l.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[l.jsx("li",{children:"点击输入框设置光标位置,然后点击按钮插入模式"}),l.jsxs("li",{children:["命名捕获组格式:",l.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"(?P<名称>模式)"})]}),l.jsxs("li",{children:["在 reaction 中使用 ",l.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"[名称]"})," 引用捕获的内容"]}),l.jsx("li",{children:"切换到测试器标签页验证正则表达式效果"})]})]})]}),l.jsxs(An,{value:"test",className:"space-y-4 mt-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{className:"text-sm font-medium",children:"当前正则表达式"}),l.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:T||"(未设置)"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"test-text",className:"text-sm font-medium",children:"测试文本"}),l.jsx(Rn,{id:"test-text",value:P,onChange:ne=>H(ne.target.value),placeholder:`在此输入要测试的文本... +例如:打游戏是这样的`,className:"min-h-[100px] text-sm"})]}),z&&l.jsxs("div",{className:"rounded-md bg-destructive/10 border border-destructive/20 p-3",children:[l.jsx("p",{className:"text-sm text-destructive font-medium",children:"正则表达式错误"}),l.jsx("p",{className:"text-xs text-destructive/80 mt-1",children:z})]}),!z&&P&&l.jsxs("div",{className:"space-y-3",children:[l.jsx("div",{className:"flex items-center gap-2",children:U&&U.length>0?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"h-2 w-2 rounded-full bg-green-500"}),l.jsxs("span",{className:"text-sm font-medium text-green-600 dark:text-green-400",children:["匹配成功 (",U.length," 处)"]})]}):l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"h-2 w-2 rounded-full bg-gray-400"}),l.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"无匹配"})]})}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{className:"text-sm font-medium",children:"匹配高亮"}),l.jsx(yn,{className:"h-40 rounded-md bg-muted p-3",children:l.jsx("div",{className:"text-sm break-words",children:$()})})]}),Object.keys(q).length>0&&l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{className:"text-sm font-medium",children:"命名捕获组"}),l.jsx(yn,{className:"h-32 rounded-md border p-3",children:l.jsx("div",{className:"space-y-2",children:Object.entries(q).map(([ne,ge])=>l.jsxs("div",{className:"flex items-start gap-2 text-sm",children:[l.jsxs("span",{className:"font-mono font-semibold text-primary min-w-[80px]",children:["[",ne,"]"]}),l.jsx("span",{className:"text-muted-foreground",children:"="}),l.jsx("span",{className:"font-mono bg-muted px-2 py-0.5 rounded",children:ge})]},ne))})})]}),Object.keys(q).length>0&&E&&l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{className:"text-sm font-medium",children:"Reaction 替换预览"}),l.jsx(yn,{className:"h-48 rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3",children:l.jsx("div",{className:"text-sm break-words",children:ee})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"reaction 中的 [name] 已被替换为对应的捕获组值"})]})]}),l.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:[l.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 测试说明"}),l.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[l.jsx("li",{children:"匹配的文本会以黄色背景高亮显示"}),l.jsx("li",{children:"命名捕获组的值会显示在下方列表中"}),l.jsx("li",{children:"Reaction 替换预览显示最终生成的反应内容"}),l.jsx("li",{children:"如需修改正则,切换回构建器标签页"})]})]})]})]})})]})]})},g=()=>{s({...t,keyword_rules:[...t.keyword_rules,{keywords:[],reaction:""}]})},x=T=>{s({...t,keyword_rules:t.keyword_rules.filter((E,_)=>_!==T)})},y=(T,E,_)=>{const A=[...t.keyword_rules];typeof _=="string"&&(A[T]={...A[T],reaction:_}),s({...t,keyword_rules:A})},w=T=>{const E=[...t.keyword_rules];E[T]={...E[T],keywords:[...E[T].keywords||[],""]},s({...t,keyword_rules:E})},b=(T,E)=>{const _=[...t.keyword_rules];_[T]={..._[T],keywords:(_[T].keywords||[]).filter((A,F)=>F!==E)},s({...t,keyword_rules:_})},k=(T,E,_)=>{const A=[...t.keyword_rules],F=[...A[T].keywords||[]];F[E]=_,A[T]={...A[T],keywords:F},s({...t,keyword_rules:A})},N=({rule:T})=>{const E=`{ regex = [${(T.regex||[]).map(_=>`"${_}"`).join(", ")}], reaction = "${T.reaction}" }`;return l.jsxs(Wo,{children:[l.jsx(Go,{asChild:!0,children:l.jsxs(de,{variant:"outline",size:"sm",children:[l.jsx(na,{className:"h-4 w-4 mr-1"}),"预览"]})}),l.jsx(Fl,{className:"w-[95vw] sm:w-[500px]",children:l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),l.jsx(yn,{className:"h-60 rounded-md bg-muted p-3",children:l.jsx("pre",{className:"font-mono text-xs break-all",children:E})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},C=({rule:T})=>{const E=`[[keyword_reaction.keyword_rules]] +keywords = [${(T.keywords||[]).map(_=>`"${_}"`).join(", ")}] +reaction = "${T.reaction}"`;return l.jsxs(Wo,{children:[l.jsx(Go,{asChild:!0,children:l.jsxs(de,{variant:"outline",size:"sm",children:[l.jsx(na,{className:"h-4 w-4 mr-1"}),"预览"]})}),l.jsx(Fl,{className:"w-[95vw] sm:w-[500px]",children:l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),l.jsx(yn,{className:"h-60 rounded-md bg-muted p-3",children:l.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap break-all",children:E})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-2",children:"关键词反应配置"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"配置触发特定反应的关键词和正则表达式规则"})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h4",{className:"text-base font-semibold",children:"正则表达式规则"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用正则表达式匹配消息内容"})]}),l.jsxs(de,{onClick:u,size:"sm",variant:"outline",children:[l.jsx(is,{className:"h-4 w-4 mr-1"}),"添加正则规则"]})]}),l.jsxs("div",{className:"space-y-3",children:[t.regex_rules.map((T,E)=>l.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("span",{className:"text-sm font-medium",children:["正则规则 ",E+1]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(m,{regex:T.regex&&T.regex[0]||"",reaction:T.reaction,onRegexChange:_=>f(E,"regex",_),onReactionChange:_=>f(E,"reaction",_)}),l.jsx(N,{rule:T}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"sm",variant:"ghost",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:["确定要删除正则规则 ",E+1," 吗?此操作无法撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>h(E),children:"删除"})]})]})]})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"正则表达式(Python 语法)"}),l.jsx(Re,{value:T.regex&&T.regex[0]||"",onChange:_=>f(E,"regex",_.target.value),placeholder:"例如:^(?P\\\\S{1,20})是这样的$ (点击正则编辑器按钮可视化构建)",className:"font-mono text-sm"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:'支持命名捕获组 (?Ppattern),可在 reaction 中使用 [name] 引用。点击"正则编辑器"可视化构建和测试!'})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"反应内容"}),l.jsx(Rn,{value:T.reaction,onChange:_=>f(E,"reaction",_.target.value),placeholder:`触发后麦麦的反应... +可以使用 [捕获组名] 来引用正则表达式中的内容`,rows:3,className:"text-sm"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"使用 [捕获组名] 引用正则表达式中的命名捕获组,例如 [n] 会被替换为捕获的内容"})]})]})]},E)),t.regex_rules.length===0&&l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无正则规则,点击"添加正则规则"开始配置'})]})]}),l.jsxs("div",{className:"space-y-4 border-t pt-6",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{children:[l.jsx("h4",{className:"text-base font-semibold",children:"关键词规则"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用关键词列表匹配消息内容"})]}),l.jsxs(de,{onClick:g,size:"sm",variant:"outline",children:[l.jsx(is,{className:"h-4 w-4 mr-1"}),"添加关键词规则"]})]}),l.jsxs("div",{className:"space-y-3",children:[t.keyword_rules.map((T,E)=>l.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("span",{className:"text-sm font-medium",children:["关键词规则 ",E+1]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(C,{rule:T}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"sm",variant:"ghost",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:["确定要删除关键词规则 ",E+1," 吗?此操作无法撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>x(E),children:"删除"})]})]})]})]})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(ce,{className:"text-xs font-medium",children:"关键词列表"}),l.jsxs(de,{onClick:()=>w(E),size:"sm",variant:"ghost",children:[l.jsx(is,{className:"h-3 w-3 mr-1"}),"添加关键词"]})]}),l.jsxs("div",{className:"space-y-2",children:[(T.keywords||[]).map((_,A)=>l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Re,{value:_,onChange:F=>k(E,A,F.target.value),placeholder:"关键词",className:"flex-1"}),l.jsx(de,{onClick:()=>b(E,A),size:"sm",variant:"ghost",children:l.jsx(Kt,{className:"h-4 w-4"})})]},A)),(!T.keywords||T.keywords.length===0)&&l.jsx("p",{className:"text-xs text-muted-foreground text-center py-2",children:'暂无关键词,点击"添加关键词"开始配置'})]})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-xs font-medium",children:"反应内容"}),l.jsx(Rn,{value:T.reaction,onChange:_=>y(E,"reaction",_.target.value),placeholder:"触发后麦麦的反应...",rows:3,className:"text-sm"})]})]})]},E)),t.keyword_rules.length===0&&l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无关键词规则,点击"添加关键词规则"开始配置'})]})]})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"回复后处理配置"}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"enable_response_post_process",checked:e.enable_response_post_process,onCheckedChange:T=>i({...e,enable_response_post_process:T})}),l.jsx(ce,{htmlFor:"enable_response_post_process",className:"cursor-pointer",children:"启用回复后处理"})]}),l.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"包括错别字生成器和回复分割器"})]}),e.enable_response_post_process&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"border-t pt-6 space-y-4",children:l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[l.jsx(Dt,{id:"enable_chinese_typo",checked:n.enable,onCheckedChange:T=>a({...n,enable:T})}),l.jsx(ce,{htmlFor:"enable_chinese_typo",className:"cursor-pointer font-semibold",children:"中文错别字生成器"})]}),l.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"为回复添加随机错别字,让麦麦的回复更自然"}),n.enable&&l.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"error_rate",className:"text-xs font-medium",children:"单字替换概率"}),l.jsx(Re,{id:"error_rate",type:"number",step:"0.001",min:"0",max:"1",value:n.error_rate,onChange:T=>a({...n,error_rate:parseFloat(T.target.value)})})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"min_freq",className:"text-xs font-medium",children:"最小字频阈值"}),l.jsx(Re,{id:"min_freq",type:"number",min:"0",value:n.min_freq,onChange:T=>a({...n,min_freq:parseInt(T.target.value)})})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"tone_error_rate",className:"text-xs font-medium",children:"声调错误概率"}),l.jsx(Re,{id:"tone_error_rate",type:"number",step:"0.01",min:"0",max:"1",value:n.tone_error_rate,onChange:T=>a({...n,tone_error_rate:parseFloat(T.target.value)})})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"word_replace_rate",className:"text-xs font-medium",children:"整词替换概率"}),l.jsx(Re,{id:"word_replace_rate",type:"number",step:"0.001",min:"0",max:"1",value:n.word_replace_rate,onChange:T=>a({...n,word_replace_rate:parseFloat(T.target.value)})})]})]})]})}),l.jsx("div",{className:"border-t pt-6 space-y-4",children:l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[l.jsx(Dt,{id:"enable_response_splitter",checked:r.enable,onCheckedChange:T=>o({...r,enable:T})}),l.jsx(ce,{htmlFor:"enable_response_splitter",className:"cursor-pointer font-semibold",children:"回复分割器"})]}),l.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"控制回复的长度和句子数量"}),r.enable&&l.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"max_length",className:"text-xs font-medium",children:"最大长度"}),l.jsx(Re,{id:"max_length",type:"number",min:"1",value:r.max_length,onChange:T=>o({...r,max_length:parseInt(T.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大字符数"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"max_sentence_num",className:"text-xs font-medium",children:"最大句子数"}),l.jsx(Re,{id:"max_sentence_num",type:"number",min:"1",value:r.max_sentence_num,onChange:T=>o({...r,max_sentence_num:parseInt(T.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大句子数量"})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"enable_kaomoji_protection",checked:r.enable_kaomoji_protection,onCheckedChange:T=>o({...r,enable_kaomoji_protection:T})}),l.jsx(ce,{htmlFor:"enable_kaomoji_protection",className:"cursor-pointer",children:"启用颜文字保护"})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"enable_overflow_return_all",checked:r.enable_overflow_return_all,onCheckedChange:T=>o({...r,enable_overflow_return_all:T})}),l.jsx(ce,{htmlFor:"enable_overflow_return_all",className:"cursor-pointer",children:"超出时一次性返回全部"})]}),l.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"当句子数量超出限制时,合并后一次性返回所有内容"})]})]})})]})]})]})}function xue({config:t,onChange:e}){return l.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[l.jsx("h3",{className:"text-lg font-semibold",children:"情绪设置"}),l.jsxs("div",{className:"grid gap-4",children:[l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{checked:t.enable_mood,onCheckedChange:n=>e({...t,enable_mood:n})}),l.jsx(ce,{className:"cursor-pointer",children:"启用情绪系统"})]}),t.enable_mood&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"情绪更新阈值"}),l.jsx(Re,{type:"number",min:"1",value:t.mood_update_threshold,onChange:n=>e({...t,mood_update_threshold:parseInt(n.target.value)})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"越高,更新越慢"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"情感特征"}),l.jsx(Rn,{value:t.emotion_style,onChange:n=>e({...t,emotion_style:n.target.value}),placeholder:"影响情绪的变化情况",rows:2})]})]})]})]})}function vue({config:t,onChange:e}){return l.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[l.jsx("h3",{className:"text-lg font-semibold",children:"语音设置"}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{checked:t.enable_asr,onCheckedChange:n=>e({...t,enable_asr:n})}),l.jsx(ce,{className:"cursor-pointer",children:"启用语音识别"})]}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"启用后麦麦可以识别语音消息,需要配置语音识别模型"})]})}function yue({config:t,onChange:e}){return l.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[l.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库设置"}),l.jsxs("div",{className:"grid gap-4",children:[l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{checked:t.enable,onCheckedChange:n=>e({...t,enable:n})}),l.jsx(ce,{className:"cursor-pointer",children:"启用 LPMM 知识库"})]}),t.enable&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"LPMM 模式"}),l.jsxs(It,{value:t.lpmm_mode,onValueChange:n=>e({...t,lpmm_mode:n}),children:[l.jsx(Pt,{children:l.jsx(qt,{placeholder:"选择 LPMM 模式"})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"classic",children:"经典模式"}),l.jsx(ze,{value:"agent",children:"Agent 模式"})]})]})]}),l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"同义词搜索 TopK"}),l.jsx(Re,{type:"number",min:"1",value:t.rag_synonym_search_top_k,onChange:n=>e({...t,rag_synonym_search_top_k:parseInt(n.target.value)})})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"同义词阈值"}),l.jsx(Re,{type:"number",step:"0.1",min:"0",max:"1",value:t.rag_synonym_threshold,onChange:n=>e({...t,rag_synonym_threshold:parseFloat(n.target.value)})})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"实体提取线程数"}),l.jsx(Re,{type:"number",min:"1",value:t.info_extraction_workers,onChange:n=>e({...t,info_extraction_workers:parseInt(n.target.value)})})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"嵌入向量维度"}),l.jsx(Re,{type:"number",min:"1",value:t.embedding_dimension,onChange:n=>e({...t,embedding_dimension:parseInt(n.target.value)})})]})]})]})]})]})}function bue({config:t,onChange:e}){const[n,r]=O.useState(""),[s,i]=O.useState("WARNING"),a=()=>{n&&!t.suppress_libraries.includes(n)&&(e({...t,suppress_libraries:[...t.suppress_libraries,n]}),r(""))},o=x=>{e({...t,suppress_libraries:t.suppress_libraries.filter(y=>y!==x)})},u=()=>{n&&!t.library_log_levels[n]&&(e({...t,library_log_levels:{...t.library_log_levels,[n]:s}}),r(""),i("WARNING"))},h=x=>{const y={...t.library_log_levels};delete y[x],e({...t,library_log_levels:y})},f=["DEBUG","INFO","WARNING","ERROR","CRITICAL"],m=["FULL","compact","lite"],g=["none","title","full"];return l.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-6",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"日志配置"}),l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"日期格式"}),l.jsx(Re,{value:t.date_style,onChange:x=>e({...t,date_style:x.target.value}),placeholder:"例如: m-d H:i:s"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"m=月, d=日, H=时, i=分, s=秒"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"日志级别样式"}),l.jsxs(It,{value:t.log_level_style,onValueChange:x=>e({...t,log_level_style:x}),children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsx(Lt,{children:m.map(x=>l.jsx(ze,{value:x,children:x},x))})]})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"日志文本颜色"}),l.jsxs(It,{value:t.color_text,onValueChange:x=>e({...t,color_text:x}),children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsx(Lt,{children:g.map(x=>l.jsx(ze,{value:x,children:x},x))})]})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"全局日志级别"}),l.jsxs(It,{value:t.log_level,onValueChange:x=>e({...t,log_level:x}),children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsx(Lt,{children:f.map(x=>l.jsx(ze,{value:x,children:x},x))})]})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"控制台日志级别"}),l.jsxs(It,{value:t.console_log_level,onValueChange:x=>e({...t,console_log_level:x}),children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsx(Lt,{children:f.map(x=>l.jsx(ze,{value:x,children:x},x))})]})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"文件日志级别"}),l.jsxs(It,{value:t.file_log_level,onValueChange:x=>e({...t,file_log_level:x}),children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsx(Lt,{children:f.map(x=>l.jsx(ze,{value:x,children:x},x))})]})]})]})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"mb-2 block",children:"完全屏蔽的库"}),l.jsxs("div",{className:"flex gap-2 mb-2",children:[l.jsx(Re,{value:n,onChange:x=>r(x.target.value),placeholder:"输入库名",className:"flex-1",onKeyDown:x=>{x.key==="Enter"&&(x.preventDefault(),a())}}),l.jsx(de,{onClick:a,size:"sm",className:"flex-shrink-0",children:l.jsx(is,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),l.jsx("div",{className:"flex flex-wrap gap-2",children:t.suppress_libraries.map(x=>l.jsxs("div",{className:"flex items-center gap-1 bg-secondary px-3 py-1 rounded-md",children:[l.jsx("span",{className:"text-sm",children:x}),l.jsx(de,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>o(x),children:l.jsx(Kt,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},x))})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"mb-2 block",children:"特定库的日志级别"}),l.jsxs("div",{className:"flex gap-2 mb-2",children:[l.jsx(Re,{value:n,onChange:x=>r(x.target.value),placeholder:"输入库名",className:"flex-1"}),l.jsxs(It,{value:s,onValueChange:i,children:[l.jsx(Pt,{className:"w-32",children:l.jsx(qt,{})}),l.jsx(Lt,{children:f.map(x=>l.jsx(ze,{value:x,children:x},x))})]}),l.jsx(de,{onClick:u,size:"sm",children:l.jsx(is,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),l.jsx("div",{className:"space-y-2",children:Object.entries(t.library_log_levels).map(([x,y])=>l.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[l.jsx("span",{className:"text-sm font-medium",children:x}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"text-sm text-muted-foreground",children:y}),l.jsx(de,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>h(x),children:l.jsx(Kt,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]})]},x))})]})]})}function wue({config:t,onChange:e}){return l.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[l.jsx("h3",{className:"text-lg font-semibold",children:"调试配置"}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(ce,{children:"显示 Prompt"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"是否在日志中显示提示词"})]}),l.jsx(Dt,{checked:t.show_prompt,onCheckedChange:n=>e({...t,show_prompt:n})})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(ce,{children:"显示回复器 Prompt"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的提示词"})]}),l.jsx(Dt,{checked:t.show_replyer_prompt,onCheckedChange:n=>e({...t,show_replyer_prompt:n})})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(ce,{children:"显示回复器推理"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的推理过程"})]}),l.jsx(Dt,{checked:t.show_replyer_reasoning,onCheckedChange:n=>e({...t,show_replyer_reasoning:n})})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(ce,{children:"显示 Jargon Prompt"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示术语相关的提示词"})]}),l.jsx(Dt,{checked:t.show_jargon_prompt,onCheckedChange:n=>e({...t,show_jargon_prompt:n})})]})]})]})}function Sue({config:t,onChange:e}){const[n,r]=O.useState(""),s=()=>{n&&!t.auth_token.includes(n)&&(e({...t,auth_token:[...t.auth_token,n]}),r(""))},i=a=>{e({...t,auth_token:t.auth_token.filter((o,u)=>u!==a)})};return l.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"MaimMessage 服务配置"}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(ce,{children:"启用自定义服务器"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"是否使用自定义的 MaimMessage 服务器"})]}),l.jsx(Dt,{checked:t.use_custom,onCheckedChange:a=>e({...t,use_custom:a})})]}),t.use_custom&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"主机地址"}),l.jsx(Re,{value:t.host,onChange:a=>e({...t,host:a.target.value}),placeholder:"127.0.0.1"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"端口号"}),l.jsx(Re,{type:"number",value:t.port,onChange:a=>e({...t,port:parseInt(a.target.value)}),placeholder:"8090"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"连接模式"}),l.jsxs(It,{value:t.mode,onValueChange:a=>e({...t,mode:a}),children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"ws",children:"WebSocket (ws)"}),l.jsx(ze,{value:"tcp",children:"TCP"})]})]})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{checked:t.use_wss,onCheckedChange:a=>e({...t,use_wss:a}),disabled:t.mode!=="ws"}),l.jsx(ce,{children:"使用 WSS 安全连接"})]})]}),t.use_wss&&t.mode==="ws"&&l.jsxs("div",{className:"grid gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"SSL 证书文件路径"}),l.jsx(Re,{value:t.cert_file,onChange:a=>e({...t,cert_file:a.target.value}),placeholder:"cert.pem"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"SSL 密钥文件路径"}),l.jsx(Re,{value:t.key_file,onChange:a=>e({...t,key_file:a.target.value}),placeholder:"key.pem"})]})]})]})]})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"mb-2 block",children:"认证令牌"}),l.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"用于 API 验证,为空则不启用验证"}),l.jsxs("div",{className:"flex gap-2 mb-2",children:[l.jsx(Re,{value:n,onChange:a=>r(a.target.value),placeholder:"输入认证令牌",onKeyDown:a=>{a.key==="Enter"&&(a.preventDefault(),s())}}),l.jsx(de,{onClick:s,size:"sm",children:l.jsx(is,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),l.jsx("div",{className:"space-y-2",children:t.auth_token.map((a,o)=>l.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[l.jsx("span",{className:"text-sm font-mono",children:a}),l.jsx(de,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>i(o),children:l.jsx(Kt,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},o))})]})]})}function kue({config:t,onChange:e}){return l.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[l.jsx("h3",{className:"text-lg font-semibold",children:"统计信息"}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(ce,{children:"启用统计信息发送"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"发送匿名统计信息,帮助我们了解全球有多少只麦麦在运行"})]}),l.jsx(Dt,{checked:t.enable,onCheckedChange:n=>e({...t,enable:n})})]})]})}const bu=O.forwardRef(({className:t,...e},n)=>l.jsx("div",{className:"relative w-full overflow-auto",children:l.jsx("table",{ref:n,className:Se("w-full caption-bottom text-sm",t),...e})}));bu.displayName="Table";const wu=O.forwardRef(({className:t,...e},n)=>l.jsx("thead",{ref:n,className:Se("[&_tr]:border-b",t),...e}));wu.displayName="TableHeader";const Su=O.forwardRef(({className:t,...e},n)=>l.jsx("tbody",{ref:n,className:Se("[&_tr:last-child]:border-0",t),...e}));Su.displayName="TableBody";const Oue=O.forwardRef(({className:t,...e},n)=>l.jsx("tfoot",{ref:n,className:Se("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",t),...e}));Oue.displayName="TableFooter";const _r=O.forwardRef(({className:t,...e},n)=>l.jsx("tr",{ref:n,className:Se("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",t),...e}));_r.displayName="TableRow";const jt=O.forwardRef(({className:t,...e},n)=>l.jsx("th",{ref:n,className:Se("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...e}));jt.displayName="TableHead";const gt=O.forwardRef(({className:t,...e},n)=>l.jsx("td",{ref:n,className:Se("px-4 py-3 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...e}));gt.displayName="TableCell";const jue=O.forwardRef(({className:t,...e},n)=>l.jsx("caption",{ref:n,className:Se("mt-4 text-sm text-muted-foreground",t),...e}));jue.displayName="TableCaption";const ms=O.forwardRef(({className:t,...e},n)=>l.jsx(jR,{ref:n,className:Se("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",t),...e,children:l.jsx(kX,{className:Se("grid place-content-center text-current"),children:l.jsx(Kc,{className:"h-4 w-4"})})}));ms.displayName=jR.displayName;function Nue(){const[t,e]=O.useState([]),[n,r]=O.useState(!0),[s,i]=O.useState(!1),[a,o]=O.useState(!1),[u,h]=O.useState(!1),[f,m]=O.useState(!1),[g,x]=O.useState(!1),[y,w]=O.useState(!1),[b,k]=O.useState(null),[N,C]=O.useState(null),[T,E]=O.useState(!1),[_,A]=O.useState(null),[F,B]=O.useState(!1),[P,H]=O.useState(""),[U,te]=O.useState(new Set),[z,W]=O.useState(!1),[q,J]=O.useState(1),[ee,Y]=O.useState(20),[R,re]=O.useState(""),{toast:K}=$r(),I=O.useRef(null),Q=O.useRef(!0);O.useEffect(()=>{$()},[]);const $=async()=>{try{r(!0);const le=await zd();e(le.api_providers||[]),h(!1),Q.current=!1}catch(le){console.error("加载配置失败:",le)}finally{r(!1)}},Z=async()=>{try{m(!0),Ok().catch(()=>{}),x(!0)}catch(le){console.error("重启失败:",le),x(!1),K({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),m(!1)}},ne=async()=>{try{i(!0),I.current&&clearTimeout(I.current);const le=await zd();le.api_providers=t,await Jx(le),h(!1),K({title:"保存成功",description:"正在重启麦麦..."}),await Z()}catch(le){console.error("保存配置失败:",le),K({title:"保存失败",description:le.message,variant:"destructive"}),i(!1)}},ge=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},se=()=>{x(!1),m(!1),K({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},Te=O.useCallback(async le=>{if(!Q.current)try{o(!0),await K5("api_providers",le),h(!1)}catch(Oe){console.error("自动保存失败:",Oe),h(!0)}finally{o(!1)}},[]);O.useEffect(()=>{if(!Q.current)return h(!0),I.current&&clearTimeout(I.current),I.current=setTimeout(()=>{Te(t)},2e3),()=>{I.current&&clearTimeout(I.current)}},[t,Te]);const qe=async()=>{try{i(!0),I.current&&clearTimeout(I.current);const le=await zd();le.api_providers=t,await Jx(le),h(!1),K({title:"保存成功",description:"模型提供商配置已保存"})}catch(le){console.error("保存配置失败:",le),K({title:"保存失败",description:le.message,variant:"destructive"})}finally{i(!1)}},ve=(le,Oe)=>{k(le||{name:"",base_url:"",api_key:"",client_type:"openai",max_retry:2,timeout:30,retry_interval:10}),C(Oe),B(!1),w(!0)},Fe=async()=>{if(b?.api_key)try{await navigator.clipboard.writeText(b.api_key),K({title:"复制成功",description:"API Key 已复制到剪贴板"})}catch{K({title:"复制失败",description:"无法访问剪贴板",variant:"destructive"})}},Qe=()=>{if(!b)return;const le={...b,max_retry:b.max_retry??2,timeout:b.timeout??30,retry_interval:b.retry_interval??10};if(N!==null){const Oe=[...t];Oe[N]=le,e(Oe)}else e([...t,le]);w(!1),k(null),C(null)},Ke=le=>{if(!le&&b){const Oe={...b,max_retry:b.max_retry??2,timeout:b.timeout??30,retry_interval:b.retry_interval??10};k(Oe)}w(le)},Tt=le=>{A(le),E(!0)},st=()=>{if(_!==null){const le=t.filter((Oe,Le)=>Le!==_);e(le),K({title:"删除成功",description:"提供商已从列表中移除"})}E(!1),A(null)},He=le=>{const Oe=new Set(U);Oe.has(le)?Oe.delete(le):Oe.add(le),te(Oe)},St=()=>{if(U.size===mn.length)te(new Set);else{const le=mn.map((Oe,Le)=>t.findIndex(nt=>nt===mn[Le]));te(new Set(le))}},bt=()=>{if(U.size===0){K({title:"提示",description:"请先选择要删除的提供商",variant:"default"});return}W(!0)},nr=()=>{const le=t.filter((Oe,Le)=>!U.has(Le));e(le),te(new Set),W(!1),K({title:"批量删除成功",description:`已删除 ${U.size} 个提供商`})},mn=t.filter(le=>{if(!P)return!0;const Oe=P.toLowerCase();return le.name.toLowerCase().includes(Oe)||le.base_url.toLowerCase().includes(Oe)||le.client_type.toLowerCase().includes(Oe)}),Hn=Math.ceil(mn.length/ee),$t=mn.slice((q-1)*ee,q*ee),ht=()=>{const le=parseInt(R);le>=1&&le<=Hn&&(J(le),re(""))};return n?l.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:l.jsx("div",{className:"flex items-center justify-center h-64",children:l.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})}):l.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型提供商配置"}),l.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理 API 提供商配置"})]}),l.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[U.size>0&&l.jsxs(de,{onClick:bt,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[l.jsx(Kt,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",U.size,")"]}),l.jsxs(de,{onClick:()=>ve(null,null),size:"sm",className:"w-full sm:w-auto",children:[l.jsx(is,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加提供商"]}),l.jsxs(de,{onClick:qe,disabled:s||a||!u||f,size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[l.jsx(X1,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),s?"保存中...":a?"自动保存中...":u?"保存配置":"已保存"]}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsxs(de,{disabled:s||a||f,size:"sm",className:"w-full sm:w-auto",children:[l.jsx(ik,{className:"mr-2 h-4 w-4"}),f?"重启中...":u?"保存并重启":"重启麦麦"]})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认重启麦麦?"}),l.jsx(cn,{children:u?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:u?ne:Z,children:u?"保存并重启":"确认重启"})]})]})]})]})]}),l.jsxs(Kd,{children:[l.jsx(Il,{className:"h-4 w-4"}),l.jsxs(Jd,{children:["配置更新后需要",l.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),l.jsxs(yn,{className:"h-[calc(100vh-260px)]",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2 mb-4",children:[l.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[l.jsx(js,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),l.jsx(Re,{placeholder:"搜索提供商名称、URL 或类型...",value:P,onChange:le=>H(le.target.value),className:"pl-9"})]}),P&&l.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",mn.length," 个结果"]})]}),l.jsx("div",{className:"md:hidden space-y-3",children:mn.length===0?l.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:P?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'}):$t.map((le,Oe)=>{const Le=t.findIndex(nt=>nt===le);return l.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("h3",{className:"font-semibold text-base truncate",children:le.name}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1 break-all",children:le.base_url})]}),l.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[l.jsxs(de,{variant:"default",size:"sm",onClick:()=>ve(le,Le),children:[l.jsx(Wd,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),l.jsxs(de,{size:"sm",onClick:()=>Tt(Le),className:"bg-red-600 hover:bg-red-700 text-white",children:[l.jsx(Kt,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground text-xs",children:"客户端类型"}),l.jsx("p",{className:"font-medium",children:le.client_type})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground text-xs",children:"最大重试"}),l.jsx("p",{className:"font-medium",children:le.max_retry})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground text-xs",children:"超时(秒)"}),l.jsx("p",{className:"font-medium",children:le.timeout})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground text-xs",children:"重试间隔(秒)"}),l.jsx("p",{className:"font-medium",children:le.retry_interval})]})]})]},Oe)})}),l.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:l.jsx("div",{className:"overflow-x-auto",children:l.jsxs(bu,{children:[l.jsx(wu,{children:l.jsxs(_r,{children:[l.jsx(jt,{className:"w-12",children:l.jsx(ms,{checked:U.size===mn.length&&mn.length>0,onCheckedChange:St})}),l.jsx(jt,{children:"名称"}),l.jsx(jt,{children:"基础URL"}),l.jsx(jt,{children:"客户端类型"}),l.jsx(jt,{className:"text-right",children:"最大重试"}),l.jsx(jt,{className:"text-right",children:"超时(秒)"}),l.jsx(jt,{className:"text-right",children:"重试间隔(秒)"}),l.jsx(jt,{className:"text-right",children:"操作"})]})}),l.jsx(Su,{children:$t.length===0?l.jsx(_r,{children:l.jsx(gt,{colSpan:8,className:"text-center text-muted-foreground py-8",children:P?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'})}):$t.map((le,Oe)=>{const Le=t.findIndex(nt=>nt===le);return l.jsxs(_r,{children:[l.jsx(gt,{children:l.jsx(ms,{checked:U.has(Le),onCheckedChange:()=>He(Le)})}),l.jsx(gt,{className:"font-medium",children:le.name}),l.jsx(gt,{className:"max-w-xs truncate",title:le.base_url,children:le.base_url}),l.jsx(gt,{children:le.client_type}),l.jsx(gt,{className:"text-right",children:le.max_retry}),l.jsx(gt,{className:"text-right",children:le.timeout}),l.jsx(gt,{className:"text-right",children:le.retry_interval}),l.jsx(gt,{className:"text-right",children:l.jsxs("div",{className:"flex justify-end gap-2",children:[l.jsxs(de,{variant:"default",size:"sm",onClick:()=>ve(le,Le),children:[l.jsx(Wd,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),l.jsxs(de,{size:"sm",onClick:()=>Tt(Le),className:"bg-red-600 hover:bg-red-700 text-white",children:[l.jsx(Kt,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})})]},Oe)})})]})})}),mn.length>0&&l.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 mt-4",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ce,{htmlFor:"page-size-provider",className:"text-sm whitespace-nowrap",children:"每页显示"}),l.jsxs(It,{value:ee.toString(),onValueChange:le=>{Y(parseInt(le)),J(1),te(new Set)},children:[l.jsx(Pt,{id:"page-size-provider",className:"w-20",children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"10",children:"10"}),l.jsx(ze,{value:"20",children:"20"}),l.jsx(ze,{value:"50",children:"50"}),l.jsx(ze,{value:"100",children:"100"})]})]}),l.jsxs("span",{className:"text-sm text-muted-foreground",children:["显示 ",(q-1)*ee+1," 到"," ",Math.min(q*ee,mn.length)," 条,共 ",mn.length," 条"]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(de,{variant:"outline",size:"sm",onClick:()=>J(1),disabled:q===1,className:"hidden sm:flex",children:l.jsx(i0,{className:"h-4 w-4"})}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>J(le=>Math.max(1,le-1)),disabled:q===1,children:[l.jsx(vu,{className:"h-4 w-4 sm:mr-1"}),l.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Re,{type:"number",value:R,onChange:le=>re(le.target.value),onKeyDown:le=>le.key==="Enter"&&ht(),placeholder:q.toString(),className:"w-16 h-8 text-center",min:1,max:Hn}),l.jsx(de,{variant:"outline",size:"sm",onClick:ht,disabled:!R,className:"h-8",children:"跳转"})]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>J(le=>le+1),disabled:q>=Hn,children:[l.jsx("span",{className:"hidden sm:inline",children:"下一页"}),l.jsx(yu,{className:"h-4 w-4 sm:ml-1"})]}),l.jsx(de,{variant:"outline",size:"sm",onClick:()=>J(Hn),disabled:q>=Hn,className:"hidden sm:flex",children:l.jsx(a0,{className:"h-4 w-4"})})]})]})]}),l.jsx(Mr,{open:y,onOpenChange:Ke,children:l.jsxs(vr,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[l.jsxs(yr,{children:[l.jsx(br,{children:N!==null?"编辑提供商":"添加提供商"}),l.jsx(as,{children:"配置 API 提供商的连接信息和参数"})]}),l.jsxs("div",{className:"grid gap-4 py-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"name",children:"名称 *"}),l.jsx(Re,{id:"name",value:b?.name||"",onChange:le=>k(Oe=>Oe?{...Oe,name:le.target.value}:null),placeholder:"例如: DeepSeek, SiliconFlow"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"base_url",children:"基础 URL *"}),l.jsx(Re,{id:"base_url",value:b?.base_url||"",onChange:le=>k(Oe=>Oe?{...Oe,base_url:le.target.value}:null),placeholder:"https://api.example.com/v1"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"api_key",children:"API Key *"}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Re,{id:"api_key",type:F?"text":"password",value:b?.api_key||"",onChange:le=>k(Oe=>Oe?{...Oe,api_key:le.target.value}:null),placeholder:"sk-...",className:"flex-1"}),l.jsx(de,{type:"button",variant:"outline",size:"icon",onClick:()=>B(!F),title:F?"隐藏密钥":"显示密钥",children:F?l.jsx(z5,{className:"h-4 w-4"}):l.jsx(na,{className:"h-4 w-4"})}),l.jsx(de,{type:"button",variant:"outline",size:"icon",onClick:Fe,title:"复制密钥",children:l.jsx(D5,{className:"h-4 w-4"})})]})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"client_type",children:"客户端类型"}),l.jsxs(It,{value:b?.client_type||"openai",onValueChange:le=>k(Oe=>Oe?{...Oe,client_type:le}:null),children:[l.jsx(Pt,{id:"client_type",children:l.jsx(qt,{placeholder:"选择客户端类型"})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"openai",children:"OpenAI"}),l.jsx(ze,{value:"gemini",children:"Gemini"})]})]})]}),l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"max_retry",children:"最大重试"}),l.jsx(Re,{id:"max_retry",type:"number",min:"0",value:b?.max_retry??"",onChange:le=>{const Oe=le.target.value===""?null:parseInt(le.target.value);k(Le=>Le?{...Le,max_retry:Oe}:null)},placeholder:"默认: 2"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"timeout",children:"超时(秒)"}),l.jsx(Re,{id:"timeout",type:"number",min:"1",value:b?.timeout??"",onChange:le=>{const Oe=le.target.value===""?null:parseInt(le.target.value);k(Le=>Le?{...Le,timeout:Oe}:null)},placeholder:"默认: 30"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"retry_interval",children:"重试间隔(秒)"}),l.jsx(Re,{id:"retry_interval",type:"number",min:"1",value:b?.retry_interval??"",onChange:le=>{const Oe=le.target.value===""?null:parseInt(le.target.value);k(Le=>Le?{...Le,retry_interval:Oe}:null)},placeholder:"默认: 10"})]})]})]}),l.jsxs(Ns,{children:[l.jsx(de,{variant:"outline",onClick:()=>w(!1),children:"取消"}),l.jsx(de,{onClick:Qe,children:"保存"})]})]})}),l.jsx(wn,{open:T,onOpenChange:E,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:['确定要删除提供商 "',_!==null?t[_]?.name:"",'" 吗? 此操作无法撤销。']})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:st,children:"删除"})]})]})}),l.jsx(wn,{open:z,onOpenChange:W,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认批量删除"}),l.jsxs(cn,{children:["确定要删除选中的 ",U.size," 个提供商吗? 此操作无法撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:nr,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),g&&l.jsx(jk,{onRestartComplete:ge,onRestartFailed:se})]})}var OT=1,Cue=.9,Tue=.8,Eue=.17,s4=.1,i4=.999,_ue=.9999,Mue=.99,Aue=/[\\\/_+.#"@\[\(\{&]/,Rue=/[\\\/_+.#"@\[\(\{&]/g,Due=/[\s-]/,DI=/[\s-]/g;function Y3(t,e,n,r,s,i,a){if(i===e.length)return s===t.length?OT:Mue;var o=`${s},${i}`;if(a[o]!==void 0)return a[o];for(var u=r.charAt(i),h=n.indexOf(u,s),f=0,m,g,x,y;h>=0;)m=Y3(t,e,n,r,h+1,i+1,a),m>f&&(h===s?m*=OT:Aue.test(t.charAt(h-1))?(m*=Tue,x=t.slice(s,h-1).match(Rue),x&&s>0&&(m*=Math.pow(i4,x.length))):Due.test(t.charAt(h-1))?(m*=Cue,y=t.slice(s,h-1).match(DI),y&&s>0&&(m*=Math.pow(i4,y.length))):(m*=Eue,s>0&&(m*=Math.pow(i4,h-s))),t.charAt(h)!==e.charAt(i)&&(m*=_ue)),(mm&&(m=g*s4)),m>f&&(f=m),h=n.indexOf(u,h+1);return a[o]=f,f}function jT(t){return t.toLowerCase().replace(DI," ")}function zue(t,e,n){return t=n&&n.length>0?`${t+" "+n.join(" ")}`:t,Y3(t,e,jT(t),jT(e),0,0,{})}var Pue=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],dc=Pue.reduce((t,e)=>{const n=XS(`Primitive.${e}`),r=O.forwardRef((s,i)=>{const{asChild:a,...o}=s,u=a?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(u,{...o,ref:i})});return r.displayName=`Primitive.${e}`,{...t,[e]:r}},{}),zf='[cmdk-group=""]',a4='[cmdk-group-items=""]',Lue='[cmdk-group-heading=""]',zI='[cmdk-item=""]',NT=`${zI}:not([aria-disabled="true"])`,Z3="cmdk-item-select",Od="data-value",Bue=(t,e,n)=>zue(t,e,n),PI=O.createContext(void 0),N0=()=>O.useContext(PI),LI=O.createContext(void 0),p6=()=>O.useContext(LI),BI=O.createContext(void 0),II=O.forwardRef((t,e)=>{let n=jd(()=>{var K,I;return{search:"",value:(I=(K=t.value)!=null?K:t.defaultValue)!=null?I:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=jd(()=>new Set),s=jd(()=>new Map),i=jd(()=>new Map),a=jd(()=>new Set),o=qI(t),{label:u,children:h,value:f,onValueChange:m,filter:g,shouldFilter:x,loop:y,disablePointerSelection:w=!1,vimBindings:b=!0,...k}=t,N=Li(),C=Li(),T=Li(),E=O.useRef(null),_=Xue();fu(()=>{if(f!==void 0){let K=f.trim();n.current.value=K,A.emit()}},[f]),fu(()=>{_(6,te)},[]);let A=O.useMemo(()=>({subscribe:K=>(a.current.add(K),()=>a.current.delete(K)),snapshot:()=>n.current,setState:(K,I,Q)=>{var $,Z,ne,ge;if(!Object.is(n.current[K],I)){if(n.current[K]=I,K==="search")U(),P(),_(1,H);else if(K==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let se=document.getElementById(T);se?se.focus():($=document.getElementById(N))==null||$.focus()}if(_(7,()=>{var se;n.current.selectedItemId=(se=z())==null?void 0:se.id,A.emit()}),Q||_(5,te),((Z=o.current)==null?void 0:Z.value)!==void 0){let se=I??"";(ge=(ne=o.current).onValueChange)==null||ge.call(ne,se);return}}A.emit()}},emit:()=>{a.current.forEach(K=>K())}}),[]),F=O.useMemo(()=>({value:(K,I,Q)=>{var $;I!==(($=i.current.get(K))==null?void 0:$.value)&&(i.current.set(K,{value:I,keywords:Q}),n.current.filtered.items.set(K,B(I,Q)),_(2,()=>{P(),A.emit()}))},item:(K,I)=>(r.current.add(K),I&&(s.current.has(I)?s.current.get(I).add(K):s.current.set(I,new Set([K]))),_(3,()=>{U(),P(),n.current.value||H(),A.emit()}),()=>{i.current.delete(K),r.current.delete(K),n.current.filtered.items.delete(K);let Q=z();_(4,()=>{U(),Q?.getAttribute("id")===K&&H(),A.emit()})}),group:K=>(s.current.has(K)||s.current.set(K,new Set),()=>{i.current.delete(K),s.current.delete(K)}),filter:()=>o.current.shouldFilter,label:u||t["aria-label"],getDisablePointerSelection:()=>o.current.disablePointerSelection,listId:N,inputId:T,labelId:C,listInnerRef:E}),[]);function B(K,I){var Q,$;let Z=($=(Q=o.current)==null?void 0:Q.filter)!=null?$:Bue;return K?Z(K,n.current.search,I):0}function P(){if(!n.current.search||o.current.shouldFilter===!1)return;let K=n.current.filtered.items,I=[];n.current.filtered.groups.forEach($=>{let Z=s.current.get($),ne=0;Z.forEach(ge=>{let se=K.get(ge);ne=Math.max(se,ne)}),I.push([$,ne])});let Q=E.current;W().sort(($,Z)=>{var ne,ge;let se=$.getAttribute("id"),Te=Z.getAttribute("id");return((ne=K.get(Te))!=null?ne:0)-((ge=K.get(se))!=null?ge:0)}).forEach($=>{let Z=$.closest(a4);Z?Z.appendChild($.parentElement===Z?$:$.closest(`${a4} > *`)):Q.appendChild($.parentElement===Q?$:$.closest(`${a4} > *`))}),I.sort(($,Z)=>Z[1]-$[1]).forEach($=>{var Z;let ne=(Z=E.current)==null?void 0:Z.querySelector(`${zf}[${Od}="${encodeURIComponent($[0])}"]`);ne?.parentElement.appendChild(ne)})}function H(){let K=W().find(Q=>Q.getAttribute("aria-disabled")!=="true"),I=K?.getAttribute(Od);A.setState("value",I||void 0)}function U(){var K,I,Q,$;if(!n.current.search||o.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let Z=0;for(let ne of r.current){let ge=(I=(K=i.current.get(ne))==null?void 0:K.value)!=null?I:"",se=($=(Q=i.current.get(ne))==null?void 0:Q.keywords)!=null?$:[],Te=B(ge,se);n.current.filtered.items.set(ne,Te),Te>0&&Z++}for(let[ne,ge]of s.current)for(let se of ge)if(n.current.filtered.items.get(se)>0){n.current.filtered.groups.add(ne);break}n.current.filtered.count=Z}function te(){var K,I,Q;let $=z();$&&(((K=$.parentElement)==null?void 0:K.firstChild)===$&&((Q=(I=$.closest(zf))==null?void 0:I.querySelector(Lue))==null||Q.scrollIntoView({block:"nearest"})),$.scrollIntoView({block:"nearest"}))}function z(){var K;return(K=E.current)==null?void 0:K.querySelector(`${zI}[aria-selected="true"]`)}function W(){var K;return Array.from(((K=E.current)==null?void 0:K.querySelectorAll(NT))||[])}function q(K){let I=W()[K];I&&A.setState("value",I.getAttribute(Od))}function J(K){var I;let Q=z(),$=W(),Z=$.findIndex(ge=>ge===Q),ne=$[Z+K];(I=o.current)!=null&&I.loop&&(ne=Z+K<0?$[$.length-1]:Z+K===$.length?$[0]:$[Z+K]),ne&&A.setState("value",ne.getAttribute(Od))}function ee(K){let I=z(),Q=I?.closest(zf),$;for(;Q&&!$;)Q=K>0?Wue(Q,zf):Gue(Q,zf),$=Q?.querySelector(NT);$?A.setState("value",$.getAttribute(Od)):J(K)}let Y=()=>q(W().length-1),R=K=>{K.preventDefault(),K.metaKey?Y():K.altKey?ee(1):J(1)},re=K=>{K.preventDefault(),K.metaKey?q(0):K.altKey?ee(-1):J(-1)};return O.createElement(dc.div,{ref:e,tabIndex:-1,...k,"cmdk-root":"",onKeyDown:K=>{var I;(I=k.onKeyDown)==null||I.call(k,K);let Q=K.nativeEvent.isComposing||K.keyCode===229;if(!(K.defaultPrevented||Q))switch(K.key){case"n":case"j":{b&&K.ctrlKey&&R(K);break}case"ArrowDown":{R(K);break}case"p":case"k":{b&&K.ctrlKey&&re(K);break}case"ArrowUp":{re(K);break}case"Home":{K.preventDefault(),q(0);break}case"End":{K.preventDefault(),Y();break}case"Enter":{K.preventDefault();let $=z();if($){let Z=new Event(Z3);$.dispatchEvent(Z)}}}}},O.createElement("label",{"cmdk-label":"",htmlFor:F.inputId,id:F.labelId,style:Zue},u),Ov(t,K=>O.createElement(LI.Provider,{value:A},O.createElement(PI.Provider,{value:F},K))))}),Iue=O.forwardRef((t,e)=>{var n,r;let s=Li(),i=O.useRef(null),a=O.useContext(BI),o=N0(),u=qI(t),h=(r=(n=u.current)==null?void 0:n.forceMount)!=null?r:a?.forceMount;fu(()=>{if(!h)return o.item(s,a?.id)},[h]);let f=FI(s,i,[t.value,t.children,i],t.keywords),m=p6(),g=ec(_=>_.value&&_.value===f.current),x=ec(_=>h||o.filter()===!1?!0:_.search?_.filtered.items.get(s)>0:!0);O.useEffect(()=>{let _=i.current;if(!(!_||t.disabled))return _.addEventListener(Z3,y),()=>_.removeEventListener(Z3,y)},[x,t.onSelect,t.disabled]);function y(){var _,A;w(),(A=(_=u.current).onSelect)==null||A.call(_,f.current)}function w(){m.setState("value",f.current,!0)}if(!x)return null;let{disabled:b,value:k,onSelect:N,forceMount:C,keywords:T,...E}=t;return O.createElement(dc.div,{ref:Uo(i,e),...E,id:s,"cmdk-item":"",role:"option","aria-disabled":!!b,"aria-selected":!!g,"data-disabled":!!b,"data-selected":!!g,onPointerMove:b||o.getDisablePointerSelection()?void 0:w,onClick:b?void 0:y},t.children)}),que=O.forwardRef((t,e)=>{let{heading:n,children:r,forceMount:s,...i}=t,a=Li(),o=O.useRef(null),u=O.useRef(null),h=Li(),f=N0(),m=ec(x=>s||f.filter()===!1?!0:x.search?x.filtered.groups.has(a):!0);fu(()=>f.group(a),[]),FI(a,o,[t.value,t.heading,u]);let g=O.useMemo(()=>({id:a,forceMount:s}),[s]);return O.createElement(dc.div,{ref:Uo(o,e),...i,"cmdk-group":"",role:"presentation",hidden:m?void 0:!0},n&&O.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:h},n),Ov(t,x=>O.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?h:void 0},O.createElement(BI.Provider,{value:g},x))))}),Fue=O.forwardRef((t,e)=>{let{alwaysRender:n,...r}=t,s=O.useRef(null),i=ec(a=>!a.search);return!n&&!i?null:O.createElement(dc.div,{ref:Uo(s,e),...r,"cmdk-separator":"",role:"separator"})}),$ue=O.forwardRef((t,e)=>{let{onValueChange:n,...r}=t,s=t.value!=null,i=p6(),a=ec(h=>h.search),o=ec(h=>h.selectedItemId),u=N0();return O.useEffect(()=>{t.value!=null&&i.setState("search",t.value)},[t.value]),O.createElement(dc.input,{ref:e,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":o,id:u.inputId,type:"text",value:s?t.value:a,onChange:h=>{s||i.setState("search",h.target.value),n?.(h.target.value)}})}),Que=O.forwardRef((t,e)=>{let{children:n,label:r="Suggestions",...s}=t,i=O.useRef(null),a=O.useRef(null),o=ec(h=>h.selectedItemId),u=N0();return O.useEffect(()=>{if(a.current&&i.current){let h=a.current,f=i.current,m,g=new ResizeObserver(()=>{m=requestAnimationFrame(()=>{let x=h.offsetHeight;f.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return g.observe(h),()=>{cancelAnimationFrame(m),g.unobserve(h)}}},[]),O.createElement(dc.div,{ref:Uo(i,e),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":o,"aria-label":r,id:u.listId},Ov(t,h=>O.createElement("div",{ref:Uo(a,u.listInnerRef),"cmdk-list-sizer":""},h)))}),Hue=O.forwardRef((t,e)=>{let{open:n,onOpenChange:r,overlayClassName:s,contentClassName:i,container:a,...o}=t;return O.createElement(ek,{open:n,onOpenChange:r},O.createElement(YS,{container:a},O.createElement(H1,{"cmdk-overlay":"",className:s}),O.createElement(V1,{"aria-label":t.label,"cmdk-dialog":"",className:i},O.createElement(II,{ref:e,...o}))))}),Vue=O.forwardRef((t,e)=>ec(n=>n.filtered.count===0)?O.createElement(dc.div,{ref:e,...t,"cmdk-empty":"",role:"presentation"}):null),Uue=O.forwardRef((t,e)=>{let{progress:n,children:r,label:s="Loading...",...i}=t;return O.createElement(dc.div,{ref:e,...i,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},Ov(t,a=>O.createElement("div",{"aria-hidden":!0},a)))}),Gs=Object.assign(II,{List:Que,Item:Iue,Input:$ue,Group:que,Separator:Fue,Dialog:Hue,Empty:Vue,Loading:Uue});function Wue(t,e){let n=t.nextElementSibling;for(;n;){if(n.matches(e))return n;n=n.nextElementSibling}}function Gue(t,e){let n=t.previousElementSibling;for(;n;){if(n.matches(e))return n;n=n.previousElementSibling}}function qI(t){let e=O.useRef(t);return fu(()=>{e.current=t}),e}var fu=typeof window>"u"?O.useEffect:O.useLayoutEffect;function jd(t){let e=O.useRef();return e.current===void 0&&(e.current=t()),e}function ec(t){let e=p6(),n=()=>t(e.snapshot());return O.useSyncExternalStore(e.subscribe,n,n)}function FI(t,e,n,r=[]){let s=O.useRef(),i=N0();return fu(()=>{var a;let o=(()=>{var h;for(let f of n){if(typeof f=="string")return f.trim();if(typeof f=="object"&&"current"in f)return f.current?(h=f.current.textContent)==null?void 0:h.trim():s.current}})(),u=r.map(h=>h.trim());i.value(t,o,u),(a=e.current)==null||a.setAttribute(Od,o),s.current=o}),s}var Xue=()=>{let[t,e]=O.useState(),n=jd(()=>new Map);return fu(()=>{n.current.forEach(r=>r()),n.current=new Map},[t]),(r,s)=>{n.current.set(r,s),e({})}};function Yue(t){let e=t.type;return typeof e=="function"?e(t.props):"render"in e?e.render(t.props):t}function Ov({asChild:t,children:e},n){return t&&O.isValidElement(e)?O.cloneElement(Yue(e),{ref:e.ref},n(e.props.children)):n(e)}var Zue={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const $I=O.forwardRef(({className:t,...e},n)=>l.jsx(Gs,{ref:n,className:Se("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...e}));$I.displayName=Gs.displayName;const QI=O.forwardRef(({className:t,...e},n)=>l.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[l.jsx(js,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),l.jsx(Gs.Input,{ref:n,className:Se("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",t),...e})]}));QI.displayName=Gs.Input.displayName;const HI=O.forwardRef(({className:t,...e},n)=>l.jsx(Gs.List,{ref:n,className:Se("max-h-[300px] overflow-y-auto overflow-x-hidden",t),...e}));HI.displayName=Gs.List.displayName;const VI=O.forwardRef((t,e)=>l.jsx(Gs.Empty,{ref:e,className:"py-6 text-center text-sm",...t}));VI.displayName=Gs.Empty.displayName;const UI=O.forwardRef(({className:t,...e},n)=>l.jsx(Gs.Group,{ref:n,className:Se("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",t),...e}));UI.displayName=Gs.Group.displayName;const Kue=O.forwardRef(({className:t,...e},n)=>l.jsx(Gs.Separator,{ref:n,className:Se("-mx-1 h-px bg-border",t),...e}));Kue.displayName=Gs.Separator.displayName;const WI=O.forwardRef(({className:t,...e},n)=>l.jsx(Gs.Item,{ref:n,className:Se("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",t),...e}));WI.displayName=Gs.Item.displayName;function Jue({options:t,selected:e,onChange:n,placeholder:r="选择选项...",emptyText:s="未找到选项",className:i}){const[a,o]=O.useState(!1),u=f=>{e.includes(f)?n(e.filter(m=>m!==f)):n([...e,f])},h=f=>{n(e.filter(m=>m!==f))};return l.jsxs(Wo,{open:a,onOpenChange:o,children:[l.jsx(Go,{asChild:!0,children:l.jsxs(de,{variant:"outline",role:"combobox","aria-expanded":a,className:Se("w-full justify-between min-h-10 h-auto",i),children:[l.jsx("div",{className:"flex gap-1 flex-wrap flex-1",children:e.length===0?l.jsx("span",{className:"text-muted-foreground",children:r}):e.map(f=>{const m=t.find(g=>g.value===f);return l.jsxs(kn,{variant:"secondary",className:"cursor-pointer hover:bg-secondary/80",onClick:g=>{g.stopPropagation(),h(f)},children:[m?.label||f,l.jsx(s0,{className:"ml-1 h-3 w-3",strokeWidth:2,fill:"none"})]},f)})}),l.jsx(FX,{className:"ml-2 h-4 w-4 shrink-0 opacity-50",strokeWidth:2,fill:"none"})]})}),l.jsx(Fl,{className:"w-full p-0",align:"start",children:l.jsxs($I,{children:[l.jsx(QI,{placeholder:"搜索...",className:"h-9"}),l.jsxs(HI,{children:[l.jsx(VI,{children:s}),l.jsx(UI,{children:t.map(f=>{const m=e.includes(f.value);return l.jsxs(WI,{value:f.value,onSelect:()=>u(f.value),children:[l.jsx("div",{className:Se("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",m?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:l.jsx(Kc,{className:"h-3 w-3",strokeWidth:2,fill:"none"})}),l.jsx("span",{children:f.label})]},f.value)})})]})]})})]})}function ede(){const[t,e]=O.useState([]),[n,r]=O.useState([]),[s,i]=O.useState([]),[a,o]=O.useState(null),[u,h]=O.useState(!0),[f,m]=O.useState(!1),[g,x]=O.useState(!1),[y,w]=O.useState(!1),[b,k]=O.useState(!1),[N,C]=O.useState(!1),[T,E]=O.useState(!1),[_,A]=O.useState(null),[F,B]=O.useState(null),[P,H]=O.useState(!1),[U,te]=O.useState(null),[z,W]=O.useState(""),[q,J]=O.useState(new Set),[ee,Y]=O.useState(!1),[R,re]=O.useState(1),[K,I]=O.useState(20),[Q,$]=O.useState(""),{toast:Z}=$r(),ne=O.useRef(null),ge=O.useRef(null),se=O.useRef(!0);O.useEffect(()=>{Te()},[]);const Te=async()=>{try{h(!0);const ue=await zd(),Ce=ue.models||[];e(Ce),i(Ce.map(ut=>ut.name));const lt=ue.api_providers||[];r(lt.map(ut=>ut.name)),o(ue.model_task_config||null),w(!1),se.current=!1}catch(ue){console.error("加载配置失败:",ue)}finally{h(!1)}},qe=async()=>{try{k(!0),Ok().catch(()=>{}),C(!0)}catch(ue){console.error("重启失败:",ue),C(!1),Z({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),k(!1)}},ve=async()=>{try{m(!0),ne.current&&clearTimeout(ne.current),ge.current&&clearTimeout(ge.current);const ue=await zd();ue.models=t,ue.model_task_config=a,await Jx(ue),w(!1),Z({title:"保存成功",description:"正在重启麦麦..."}),await qe()}catch(ue){console.error("保存配置失败:",ue),Z({title:"保存失败",description:ue.message,variant:"destructive"}),m(!1)}},Fe=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},Qe=()=>{C(!1),k(!1),Z({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},Ke=O.useCallback(async ue=>{if(!se.current)try{x(!0),await K5("models",ue),w(!1)}catch(Ce){console.error("自动保存模型列表失败:",Ce),w(!0)}finally{x(!1)}},[]),Tt=O.useCallback(async ue=>{if(!se.current)try{x(!0),await K5("model_task_config",ue),w(!1)}catch(Ce){console.error("自动保存任务配置失败:",Ce),w(!0)}finally{x(!1)}},[]);O.useEffect(()=>{if(!se.current)return w(!0),ne.current&&clearTimeout(ne.current),ne.current=setTimeout(()=>{Ke(t)},2e3),()=>{ne.current&&clearTimeout(ne.current)}},[t,Ke]),O.useEffect(()=>{if(!(se.current||!a))return w(!0),ge.current&&clearTimeout(ge.current),ge.current=setTimeout(()=>{Tt(a)},2e3),()=>{ge.current&&clearTimeout(ge.current)}},[a,Tt]);const st=async()=>{try{m(!0),ne.current&&clearTimeout(ne.current),ge.current&&clearTimeout(ge.current);const ue=await zd();ue.models=t,ue.model_task_config=a,await Jx(ue),w(!1),Z({title:"保存成功",description:"模型配置已保存"}),await Te()}catch(ue){console.error("保存配置失败:",ue),Z({title:"保存失败",description:ue.message,variant:"destructive"})}finally{m(!1)}},He=(ue,Ce)=>{A(ue||{model_identifier:"",name:"",api_provider:n[0]||"",price_in:0,price_out:0,force_stream_mode:!1,extra_params:{}}),B(Ce),E(!0)},St=()=>{if(!_)return;const ue={..._,price_in:_.price_in??0,price_out:_.price_out??0};let Ce;F!==null?(Ce=[...t],Ce[F]=ue):Ce=[...t,ue],e(Ce),i(Ce.map(lt=>lt.name)),E(!1),A(null),B(null)},bt=ue=>{if(!ue&&_){const Ce={..._,price_in:_.price_in??0,price_out:_.price_out??0};A(Ce)}E(ue)},nr=ue=>{te(ue),H(!0)},mn=()=>{if(U!==null){const ue=t.filter((Ce,lt)=>lt!==U);e(ue),i(ue.map(Ce=>Ce.name)),Z({title:"删除成功",description:"模型已从列表中移除"})}H(!1),te(null)},Hn=ue=>{const Ce=new Set(q);Ce.has(ue)?Ce.delete(ue):Ce.add(ue),J(Ce)},$t=()=>{if(q.size===Le.length)J(new Set);else{const ue=Le.map((Ce,lt)=>t.findIndex(ut=>ut===Le[lt]));J(new Set(ue))}},ht=()=>{if(q.size===0){Z({title:"提示",description:"请先选择要删除的模型",variant:"default"});return}Y(!0)},le=()=>{const ue=t.filter((Ce,lt)=>!q.has(lt));e(ue),i(ue.map(Ce=>Ce.name)),J(new Set),Y(!1),Z({title:"批量删除成功",description:`已删除 ${q.size} 个模型`})},Oe=(ue,Ce,lt)=>{a&&o({...a,[ue]:{...a[ue],[Ce]:lt}})},Le=t.filter(ue=>{if(!z)return!0;const Ce=z.toLowerCase();return ue.name.toLowerCase().includes(Ce)||ue.model_identifier.toLowerCase().includes(Ce)||ue.api_provider.toLowerCase().includes(Ce)}),nt=Math.ceil(Le.length/K),Ot=Le.slice((R-1)*K,R*K),Vt=()=>{const ue=parseInt(Q);ue>=1&&ue<=nt&&(re(ue),$(""))},Ln=ue=>a?[a.utils?.model_list||[],a.utils_small?.model_list||[],a.tool_use?.model_list||[],a.replyer?.model_list||[],a.planner?.model_list||[],a.vlm?.model_list||[],a.voice?.model_list||[],a.embedding?.model_list||[],a.lpmm_entity_extract?.model_list||[],a.lpmm_rdf_build?.model_list||[],a.lpmm_qa?.model_list||[]].some(lt=>lt.includes(ue)):!1;return u?l.jsx(yn,{className:"h-full",children:l.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:l.jsx("div",{className:"flex items-center justify-center h-64",children:l.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):l.jsx(yn,{className:"h-full",children:l.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型配置"}),l.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理模型和任务配置"})]}),l.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[l.jsxs(de,{onClick:st,disabled:f||g||!y||b,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[l.jsx(X1,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),f?"保存中...":g?"自动保存中...":y?"保存配置":"已保存"]}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsxs(de,{disabled:f||g||b,size:"sm",className:"flex-1 sm:flex-none",children:[l.jsx(ik,{className:"mr-2 h-4 w-4"}),b?"重启中...":y?"保存并重启":"重启麦麦"]})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认重启麦麦?"}),l.jsx(cn,{children:y?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:y?ve:qe,children:y?"保存并重启":"确认重启"})]})]})]})]})]}),l.jsxs(Kd,{children:[l.jsx(Il,{className:"h-4 w-4"}),l.jsxs(Jd,{children:["配置更新后需要",l.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),l.jsxs(ql,{defaultValue:"models",className:"w-full",children:[l.jsxs(La,{className:"grid w-full max-w-full sm:max-w-md grid-cols-2",children:[l.jsx(Zt,{value:"models",children:"模型配置"}),l.jsx(Zt,{value:"tasks",children:"模型任务配置"})]}),l.jsxs(An,{value:"models",className:"space-y-4 mt-0",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-2",children:[l.jsx("p",{className:"text-sm text-muted-foreground",children:"配置可用的模型列表"}),l.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[q.size>0&&l.jsxs(de,{onClick:ht,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[l.jsx(Kt,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",q.size,")"]}),l.jsxs(de,{onClick:()=>He(null,null),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[l.jsx(is,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加模型"]})]})]}),l.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2",children:[l.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[l.jsx(js,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),l.jsx(Re,{placeholder:"搜索模型名称、标识符或提供商...",value:z,onChange:ue=>W(ue.target.value),className:"pl-9"})]}),z&&l.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",Le.length," 个结果"]})]}),l.jsx("div",{className:"md:hidden space-y-3",children:Ot.length===0?l.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:z?"未找到匹配的模型":"暂无模型配置"}):Ot.map((ue,Ce)=>{const lt=t.findIndex(or=>or===ue),ut=Ln(ue.name);return l.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx("h3",{className:"font-semibold text-base",children:ue.name}),l.jsx(kn,{variant:ut?"default":"secondary",className:ut?"bg-green-600 hover:bg-green-700":"",children:ut?"已使用":"未使用"})]}),l.jsx("p",{className:"text-xs text-muted-foreground break-all",title:ue.model_identifier,children:ue.model_identifier})]}),l.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[l.jsxs(de,{variant:"default",size:"sm",onClick:()=>He(ue,lt),children:[l.jsx(Wd,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),l.jsxs(de,{size:"sm",onClick:()=>nr(lt),className:"bg-red-600 hover:bg-red-700 text-white",children:[l.jsx(Kt,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground text-xs",children:"提供商"}),l.jsx("p",{className:"font-medium",children:ue.api_provider})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground text-xs",children:"强制流式"}),l.jsx("p",{className:"font-medium",children:ue.force_stream_mode?"是":"否"})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground text-xs",children:"输入价格"}),l.jsxs("p",{className:"font-medium",children:["¥",ue.price_in,"/M"]})]}),l.jsxs("div",{children:[l.jsx("span",{className:"text-muted-foreground text-xs",children:"输出价格"}),l.jsxs("p",{className:"font-medium",children:["¥",ue.price_out,"/M"]})]})]})]},Ce)})}),l.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:l.jsx("div",{className:"overflow-x-auto",children:l.jsxs(bu,{children:[l.jsx(wu,{children:l.jsxs(_r,{children:[l.jsx(jt,{className:"w-12",children:l.jsx(ms,{checked:q.size===Le.length&&Le.length>0,onCheckedChange:$t})}),l.jsx(jt,{className:"w-24",children:"使用状态"}),l.jsx(jt,{children:"模型名称"}),l.jsx(jt,{children:"模型标识符"}),l.jsx(jt,{children:"提供商"}),l.jsx(jt,{className:"text-right",children:"输入价格"}),l.jsx(jt,{className:"text-right",children:"输出价格"}),l.jsx(jt,{className:"text-center",children:"强制流式"}),l.jsx(jt,{className:"text-right",children:"操作"})]})}),l.jsx(Su,{children:Ot.length===0?l.jsx(_r,{children:l.jsx(gt,{colSpan:9,className:"text-center text-muted-foreground py-8",children:z?"未找到匹配的模型":"暂无模型配置"})}):Ot.map((ue,Ce)=>{const lt=t.findIndex(or=>or===ue),ut=Ln(ue.name);return l.jsxs(_r,{children:[l.jsx(gt,{children:l.jsx(ms,{checked:q.has(lt),onCheckedChange:()=>Hn(lt)})}),l.jsx(gt,{children:l.jsx(kn,{variant:ut?"default":"secondary",className:ut?"bg-green-600 hover:bg-green-700":"",children:ut?"已使用":"未使用"})}),l.jsx(gt,{className:"font-medium",children:ue.name}),l.jsx(gt,{className:"max-w-xs truncate",title:ue.model_identifier,children:ue.model_identifier}),l.jsx(gt,{children:ue.api_provider}),l.jsxs(gt,{className:"text-right",children:["¥",ue.price_in,"/M"]}),l.jsxs(gt,{className:"text-right",children:["¥",ue.price_out,"/M"]}),l.jsx(gt,{className:"text-center",children:ue.force_stream_mode?"是":"否"}),l.jsx(gt,{className:"text-right",children:l.jsxs("div",{className:"flex justify-end gap-2",children:[l.jsxs(de,{variant:"default",size:"sm",onClick:()=>He(ue,lt),children:[l.jsx(Wd,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"编辑"]}),l.jsxs(de,{size:"sm",onClick:()=>nr(lt),className:"bg-red-600 hover:bg-red-700 text-white",children:[l.jsx(Kt,{className:"h-4 w-4 mr-1",strokeWidth:2,fill:"none"}),"删除"]})]})})]},Ce)})})]})})}),Le.length>0&&l.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 mt-4",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ce,{htmlFor:"page-size-model",className:"text-sm whitespace-nowrap",children:"每页显示"}),l.jsxs(It,{value:K.toString(),onValueChange:ue=>{I(parseInt(ue)),re(1),J(new Set)},children:[l.jsx(Pt,{id:"page-size-model",className:"w-20",children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"10",children:"10"}),l.jsx(ze,{value:"20",children:"20"}),l.jsx(ze,{value:"50",children:"50"}),l.jsx(ze,{value:"100",children:"100"})]})]}),l.jsxs("span",{className:"text-sm text-muted-foreground",children:["显示 ",(R-1)*K+1," 到"," ",Math.min(R*K,Le.length)," 条,共 ",Le.length," 条"]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(de,{variant:"outline",size:"sm",onClick:()=>re(1),disabled:R===1,className:"hidden sm:flex",children:l.jsx(i0,{className:"h-4 w-4"})}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>re(ue=>Math.max(1,ue-1)),disabled:R===1,children:[l.jsx(vu,{className:"h-4 w-4 sm:mr-1"}),l.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Re,{type:"number",value:Q,onChange:ue=>$(ue.target.value),onKeyDown:ue=>ue.key==="Enter"&&Vt(),placeholder:R.toString(),className:"w-16 h-8 text-center",min:1,max:nt}),l.jsx(de,{variant:"outline",size:"sm",onClick:Vt,disabled:!Q,className:"h-8",children:"跳转"})]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>re(ue=>ue+1),disabled:R>=nt,children:[l.jsx("span",{className:"hidden sm:inline",children:"下一页"}),l.jsx(yu,{className:"h-4 w-4 sm:ml-1"})]}),l.jsx(de,{variant:"outline",size:"sm",onClick:()=>re(nt),disabled:R>=nt,className:"hidden sm:flex",children:l.jsx(a0,{className:"h-4 w-4"})})]})]})]}),l.jsxs(An,{value:"tasks",className:"space-y-6 mt-0",children:[l.jsx("p",{className:"text-sm text-muted-foreground",children:"为不同的任务配置使用的模型和参数"}),a&&l.jsxs("div",{className:"grid gap-4 sm:gap-6",children:[l.jsx(Yi,{title:"组件模型 (utils)",description:"用于表情包、取名、关系、情绪变化等组件",taskConfig:a.utils,modelNames:s,onChange:(ue,Ce)=>Oe("utils",ue,Ce)}),l.jsx(Yi,{title:"组件小模型 (utils_small)",description:"消耗量较大的组件,建议使用速度较快的小模型",taskConfig:a.utils_small,modelNames:s,onChange:(ue,Ce)=>Oe("utils_small",ue,Ce)}),l.jsx(Yi,{title:"工具调用模型 (tool_use)",description:"需要使用支持工具调用的模型",taskConfig:a.tool_use,modelNames:s,onChange:(ue,Ce)=>Oe("tool_use",ue,Ce)}),l.jsx(Yi,{title:"首要回复模型 (replyer)",description:"用于表达器和表达方式学习",taskConfig:a.replyer,modelNames:s,onChange:(ue,Ce)=>Oe("replyer",ue,Ce)}),l.jsx(Yi,{title:"决策模型 (planner)",description:"负责决定麦麦该什么时候回复",taskConfig:a.planner,modelNames:s,onChange:(ue,Ce)=>Oe("planner",ue,Ce)}),l.jsx(Yi,{title:"图像识别模型 (vlm)",description:"视觉语言模型",taskConfig:a.vlm,modelNames:s,onChange:(ue,Ce)=>Oe("vlm",ue,Ce),hideTemperature:!0}),l.jsx(Yi,{title:"语音识别模型 (voice)",description:"语音转文字",taskConfig:a.voice,modelNames:s,onChange:(ue,Ce)=>Oe("voice",ue,Ce),hideTemperature:!0,hideMaxTokens:!0}),l.jsx(Yi,{title:"嵌入模型 (embedding)",description:"用于向量化",taskConfig:a.embedding,modelNames:s,onChange:(ue,Ce)=>Oe("embedding",ue,Ce),hideTemperature:!0,hideMaxTokens:!0}),l.jsxs("div",{className:"space-y-4",children:[l.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库模型"}),l.jsx(Yi,{title:"实体提取模型 (lpmm_entity_extract)",description:"从文本中提取实体",taskConfig:a.lpmm_entity_extract,modelNames:s,onChange:(ue,Ce)=>Oe("lpmm_entity_extract",ue,Ce)}),l.jsx(Yi,{title:"RDF 构建模型 (lpmm_rdf_build)",description:"构建知识图谱",taskConfig:a.lpmm_rdf_build,modelNames:s,onChange:(ue,Ce)=>Oe("lpmm_rdf_build",ue,Ce)}),l.jsx(Yi,{title:"问答模型 (lpmm_qa)",description:"知识库问答",taskConfig:a.lpmm_qa,modelNames:s,onChange:(ue,Ce)=>Oe("lpmm_qa",ue,Ce)})]})]})]})]}),l.jsx(Mr,{open:T,onOpenChange:bt,children:l.jsxs(vr,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[l.jsxs(yr,{children:[l.jsx(br,{children:F!==null?"编辑模型":"添加模型"}),l.jsx(as,{children:"配置模型的基本信息和参数"})]}),l.jsxs("div",{className:"grid gap-4 py-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"model_name",children:"模型名称 *"}),l.jsx(Re,{id:"model_name",value:_?.name||"",onChange:ue=>A(Ce=>Ce?{...Ce,name:ue.target.value}:null),placeholder:"例如: qwen3-30b"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"用于在任务配置中引用此模型"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"model_identifier",children:"模型标识符 *"}),l.jsx(Re,{id:"model_identifier",value:_?.model_identifier||"",onChange:ue=>A(Ce=>Ce?{...Ce,model_identifier:ue.target.value}:null),placeholder:"Qwen/Qwen3-30B-A3B-Instruct-2507"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"API 提供商提供的模型 ID"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"api_provider",children:"API 提供商 *"}),l.jsxs(It,{value:_?.api_provider||"",onValueChange:ue=>A(Ce=>Ce?{...Ce,api_provider:ue}:null),children:[l.jsx(Pt,{id:"api_provider",children:l.jsx(qt,{placeholder:"选择提供商"})}),l.jsx(Lt,{children:n.map(ue=>l.jsx(ze,{value:ue,children:ue},ue))})]})]}),l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"price_in",children:"输入价格 (¥/M token)"}),l.jsx(Re,{id:"price_in",type:"number",step:"0.1",min:"0",value:_?.price_in??"",onChange:ue=>{const Ce=ue.target.value===""?null:parseFloat(ue.target.value);A(lt=>lt?{...lt,price_in:Ce}:null)},placeholder:"默认: 0"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"price_out",children:"输出价格 (¥/M token)"}),l.jsx(Re,{id:"price_out",type:"number",step:"0.1",min:"0",value:_?.price_out??"",onChange:ue=>{const Ce=ue.target.value===""?null:parseFloat(ue.target.value);A(lt=>lt?{...lt,price_out:Ce}:null)},placeholder:"默认: 0"})]})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"force_stream_mode",checked:_?.force_stream_mode||!1,onCheckedChange:ue=>A(Ce=>Ce?{...Ce,force_stream_mode:ue}:null)}),l.jsx(ce,{htmlFor:"force_stream_mode",className:"cursor-pointer",children:"强制流式输出模式"})]})]}),l.jsxs(Ns,{children:[l.jsx(de,{variant:"outline",onClick:()=>E(!1),children:"取消"}),l.jsx(de,{onClick:St,children:"保存"})]})]})}),l.jsx(wn,{open:P,onOpenChange:H,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:['确定要删除模型 "',U!==null?t[U]?.name:"",'" 吗? 此操作无法撤销。']})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:mn,children:"删除"})]})]})}),l.jsx(wn,{open:ee,onOpenChange:Y,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认批量删除"}),l.jsxs(cn,{children:["确定要删除选中的 ",q.size," 个模型吗? 此操作无法撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:le,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),N&&l.jsx(jk,{onRestartComplete:Fe,onRestartFailed:Qe})]})})}function Yi({title:t,description:e,taskConfig:n,modelNames:r,onChange:s,hideTemperature:i=!1,hideMaxTokens:a=!1}){const o=u=>{s("model_list",u)};return l.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-4",children:[l.jsxs("div",{children:[l.jsx("h4",{className:"font-semibold text-base sm:text-lg",children:t}),l.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:e})]}),l.jsxs("div",{className:"grid gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"模型列表"}),l.jsx(Jue,{options:r.map(u=>({label:u,value:u})),selected:n.model_list||[],onChange:o,placeholder:"选择模型...",emptyText:"暂无可用模型"})]}),l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[!i&&l.jsxs("div",{className:"grid gap-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx(ce,{children:"温度"}),l.jsx(Re,{type:"number",step:"0.1",min:"0",max:"1",value:n.temperature??.3,onChange:u=>{const h=parseFloat(u.target.value);!isNaN(h)&&h>=0&&h<=1&&s("temperature",h)},className:"w-20 h-8 text-sm"})]}),l.jsx(lv,{value:[n.temperature??.3],onValueChange:u=>s("temperature",u[0]),min:0,max:1,step:.1,className:"w-full"})]}),!a&&l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{children:"最大 Token"}),l.jsx(Re,{type:"number",step:"1",min:"1",value:n.max_tokens??1024,onChange:u=>s("max_tokens",parseInt(u.target.value))})]})]})]})]})}const jv="/api/webui/config";async function tde(){const e=await(await yt(`${jv}/adapter-config/path`)).json();return!e.success||!e.path?null:{path:e.path,lastModified:e.lastModified}}async function nde(t){const n=await(await yt(`${jv}/adapter-config/path`,{method:"POST",headers:Et(),body:JSON.stringify({path:t})})).json();if(!n.success)throw new Error(n.message||"保存路径失败")}async function rde(t){const n=await(await yt(`${jv}/adapter-config?path=${encodeURIComponent(t)}`)).json();if(!n.success)throw new Error("读取配置文件失败");return n.content}async function CT(t,e){const r=await(await yt(`${jv}/adapter-config`,{method:"POST",headers:Et(),body:JSON.stringify({path:t,content:e})})).json();if(!r.success)throw new Error(r.message||"保存配置失败")}const ai={inner:{version:"0.1.2"},nickname:{nickname:""},napcat_server:{host:"localhost",port:8095,token:"",heartbeat_interval:30},maibot_server:{host:"localhost",port:8e3},chat:{group_list_type:"whitelist",group_list:[],private_list_type:"whitelist",private_list:[],ban_user_id:[],ban_qq_bot:!1,enable_poke:!0},voice:{use_tts:!1},debug:{level:"INFO"}};function sde(){const[t,e]=O.useState("upload"),[n,r]=O.useState(null),[s,i]=O.useState(""),[a,o]=O.useState(""),[u,h]=O.useState(""),[f,m]=O.useState(!1),[g,x]=O.useState(!1),[y,w]=O.useState(!1),[b,k]=O.useState(!1),[N,C]=O.useState(null),T=O.useRef(null),{toast:E}=$r(),_=O.useRef(null),A=Q=>{if(!Q.trim())return{valid:!1,error:"路径不能为空"};const $=/^([a-zA-Z]:\\|\\\\[^\\]+\\[^\\]+\\).+\.toml$/i,Z=/^(\/|~\/).+\.toml$/i,ne=$.test(Q),ge=Z.test(Q);return!ne&&!ge?{valid:!1,error:"路径格式错误。Windows: C:\\path\\file.toml,Linux: /path/file.toml"}:Q.toLowerCase().endsWith(".toml")?/[<>"|?*\x00-\x1F]/.test(Q)?{valid:!1,error:"路径包含非法字符"}:{valid:!0,error:""}:{valid:!1,error:"文件必须是 .toml 格式"}},F=Q=>{if(o(Q),Q.trim()){const $=A(Q);h($.error)}else h("")};O.useEffect(()=>{(async()=>{try{const $=await tde();$&&$.path&&(o($.path),e("path"),await B($.path))}catch($){console.error("加载保存的路径失败:",$)}})()},[]);const B=async Q=>{const $=A(Q);if(!$.valid){h($.error),E({title:"路径无效",description:$.error,variant:"destructive"});return}h(""),x(!0);try{const Z=await rde(Q),ne=Y(Z);r(ne),o(Q),await nde(Q),E({title:"加载成功",description:"已从配置文件加载"})}catch(Z){console.error("加载配置失败:",Z),E({title:"加载失败",description:Z instanceof Error?Z.message:"无法读取配置文件",variant:"destructive"})}finally{x(!1)}},P=O.useCallback(Q=>{t!=="path"||!a||(_.current&&clearTimeout(_.current),_.current=setTimeout(async()=>{m(!0);try{const $=R(Q);await CT(a,$),E({title:"自动保存成功",description:"配置已保存到文件"})}catch($){console.error("自动保存失败:",$),E({title:"自动保存失败",description:$ instanceof Error?$.message:"保存配置失败",variant:"destructive"})}finally{m(!1)}},1e3))},[t,a,E]),H=async()=>{if(!n||!a)return;const Q=A(a);if(!Q.valid){E({title:"保存失败",description:Q.error,variant:"destructive"});return}m(!0);try{const $=R(n);await CT(a,$),E({title:"保存成功",description:"配置已保存到文件"})}catch($){console.error("保存失败:",$),E({title:"保存失败",description:$ instanceof Error?$.message:"保存配置失败",variant:"destructive"})}finally{m(!1)}},U=async()=>{a&&await B(a)},te=Q=>{if(Q!==t){if(n){C(Q),w(!0);return}z(Q)}},z=Q=>{r(null),i(""),h(""),e(Q),E({title:"已切换模式",description:Q==="upload"?"现在可以上传配置文件":"现在可以指定配置文件路径"})},W=()=>{N&&(z(N),C(null)),w(!1)},q=()=>{if(n){k(!0);return}J()},J=()=>{o(""),r(null),h(""),E({title:"已清空",description:"路径和配置已清空"})},ee=()=>{J(),k(!1)},Y=Q=>{const $=JSON.parse(JSON.stringify(ai)),Z=Q.split(` +`);let ne="";for(const ge of Z){const se=ge.trim();if(!se||se.startsWith("#"))continue;const Te=se.match(/^\[(\w+)\]$/);if(Te){ne=Te[1];continue}const qe=se.match(/^(\w+)\s*=\s*(.+)$/);if(qe&&ne){const[,ve,Fe]=qe,Qe=Fe.trim();let Ke;if(Qe==="true")Ke=!0;else if(Qe==="false")Ke=!1;else if(Qe.startsWith("[")&&Qe.endsWith("]")){const Tt=Qe.slice(1,-1).trim();if(Tt){const st=Tt.split(",").map(St=>{const bt=St.trim();return isNaN(Number(bt))?bt.replace(/"/g,""):Number(bt)}),He=typeof st[0];Ke=st.every(St=>typeof St===He)?st:st.filter(St=>typeof St=="number")}else Ke=[]}else Qe.startsWith('"')&&Qe.endsWith('"')?Ke=Qe.slice(1,-1):isNaN(Number(Qe))?Ke=Qe.replace(/"/g,""):Ke=Number(Qe);if(ne in $){const Tt=$[ne];Tt[ve]=Ke}}}return $},R=Q=>{const $=[],Z=(ne,ge)=>ne===""||ne===null||ne===void 0?ge:ne;return $.push("[inner]"),$.push(`version = "${Z(Q.inner.version,ai.inner.version)}" # 版本号`),$.push("# 请勿修改版本号,除非你知道自己在做什么"),$.push(""),$.push("[nickname] # 现在没用"),$.push(`nickname = "${Z(Q.nickname.nickname,ai.nickname.nickname)}"`),$.push(""),$.push("[napcat_server] # Napcat连接的ws服务设置"),$.push(`host = "${Z(Q.napcat_server.host,ai.napcat_server.host)}" # Napcat设定的主机地址`),$.push(`port = ${Z(Q.napcat_server.port||0,ai.napcat_server.port)} # Napcat设定的端口`),$.push(`token = "${Z(Q.napcat_server.token,ai.napcat_server.token)}" # Napcat设定的访问令牌,若无则留空`),$.push(`heartbeat_interval = ${Z(Q.napcat_server.heartbeat_interval||0,ai.napcat_server.heartbeat_interval)} # 与Napcat设置的心跳相同(按秒计)`),$.push(""),$.push("[maibot_server] # 连接麦麦的ws服务设置"),$.push(`host = "${Z(Q.maibot_server.host,ai.maibot_server.host)}" # 麦麦在.env文件中设置的主机地址,即HOST字段`),$.push(`port = ${Z(Q.maibot_server.port||0,ai.maibot_server.port)} # 麦麦在.env文件中设置的端口,即PORT字段`),$.push(""),$.push("[chat] # 黑白名单功能"),$.push(`group_list_type = "${Z(Q.chat.group_list_type,ai.chat.group_list_type)}" # 群组名单类型,可选为:whitelist, blacklist`),$.push(`group_list = [${Q.chat.group_list.join(", ")}] # 群组名单`),$.push("# 当group_list_type为whitelist时,只有群组名单中的群组可以聊天"),$.push("# 当group_list_type为blacklist时,群组名单中的任何群组无法聊天"),$.push(`private_list_type = "${Z(Q.chat.private_list_type,ai.chat.private_list_type)}" # 私聊名单类型,可选为:whitelist, blacklist`),$.push(`private_list = [${Q.chat.private_list.join(", ")}] # 私聊名单`),$.push("# 当private_list_type为whitelist时,只有私聊名单中的用户可以聊天"),$.push("# 当private_list_type为blacklist时,私聊名单中的任何用户无法聊天"),$.push(`ban_user_id = [${Q.chat.ban_user_id.join(", ")}] # 全局禁止名单(全局禁止名单中的用户无法进行任何聊天)`),$.push(`ban_qq_bot = ${Q.chat.ban_qq_bot} # 是否屏蔽QQ官方机器人`),$.push(`enable_poke = ${Q.chat.enable_poke} # 是否启用戳一戳功能`),$.push(""),$.push("[voice] # 发送语音设置"),$.push(`use_tts = ${Q.voice.use_tts} # 是否使用tts语音(请确保你配置了tts并有对应的adapter)`),$.push(""),$.push("[debug]"),$.push(`level = "${Z(Q.debug.level,ai.debug.level)}" # 日志等级(DEBUG, INFO, WARNING, ERROR, CRITICAL)`),$.join(` +`)},re=Q=>{const $=Q.target.files?.[0];if(!$)return;const Z=new FileReader;Z.onload=ne=>{try{const ge=ne.target?.result,se=Y(ge);r(se),i($.name),E({title:"上传成功",description:`已加载配置文件:${$.name}`})}catch(ge){console.error("解析配置文件失败:",ge),E({title:"解析失败",description:"配置文件格式错误,请检查文件内容",variant:"destructive"})}},Z.readAsText($)},K=()=>{if(!n)return;const Q=R(n),$=new Blob([Q],{type:"text/plain;charset=utf-8"}),Z=URL.createObjectURL($),ne=document.createElement("a");ne.href=Z,ne.download=s||"config.toml",document.body.appendChild(ne),ne.click(),document.body.removeChild(ne),URL.revokeObjectURL(Z),E({title:"下载成功",description:"配置文件已下载,请手动覆盖并重启适配器"})},I=()=>{r(JSON.parse(JSON.stringify(ai))),i("config.toml"),E({title:"已加载默认配置",description:"可以开始编辑配置"})};return l.jsx(yn,{className:"h-full",children:l.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[l.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"麦麦适配器配置"}),l.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理麦麦的 QQ 适配器的配置文件"})]})}),l.jsxs(Ct,{children:[l.jsxs(xn,{children:[l.jsx(vn,{children:"工作模式"}),l.jsx(Lr,{children:"选择配置文件的管理方式"})]}),l.jsxs(Tn,{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 md:gap-4",children:[l.jsx("div",{className:`border-2 rounded-lg p-3 md:p-4 cursor-pointer transition-all ${t==="upload"?"border-primary bg-primary/5":"border-muted hover:border-primary/50 active:border-primary/70"}`,onClick:()=>te("upload"),children:l.jsxs("div",{className:"flex items-start gap-2 md:gap-3",children:[l.jsx(j8,{className:"h-4 w-4 md:h-5 md:w-5 mt-0.5 flex-shrink-0"}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("h3",{className:"font-semibold text-sm md:text-base",children:"上传文件模式"}),l.jsx("p",{className:"text-xs md:text-sm text-muted-foreground mt-1 line-clamp-2",children:"上传配置文件,编辑后下载并手动覆盖"})]})]})}),l.jsx("div",{className:`border-2 rounded-lg p-3 md:p-4 cursor-pointer transition-all ${t==="path"?"border-primary bg-primary/5":"border-muted hover:border-primary/50 active:border-primary/70"}`,onClick:()=>te("path"),children:l.jsxs("div",{className:"flex items-start gap-2 md:gap-3",children:[l.jsx($X,{className:"h-4 w-4 md:h-5 md:w-5 mt-0.5 flex-shrink-0"}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("h3",{className:"font-semibold text-sm md:text-base",children:"指定路径模式"}),l.jsx("p",{className:"text-xs md:text-sm text-muted-foreground mt-1 line-clamp-2",children:"指定配置文件路径,自动加载和保存"})]})]})})]}),t==="path"&&l.jsxs("div",{className:"space-y-3 pt-2 border-t",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"config-path",className:"text-sm md:text-base",children:"配置文件路径"}),l.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[l.jsxs("div",{className:"flex-1 space-y-1",children:[l.jsx(Re,{id:"config-path",value:a,onChange:Q=>F(Q.target.value),placeholder:"例: C:\\Adapter\\config.toml",className:`text-sm ${u?"border-destructive":""}`}),u&&l.jsx("p",{className:"text-xs text-destructive",children:u})]}),l.jsx(de,{onClick:()=>B(a),disabled:g||!a||!!u,className:"w-full sm:w-auto",children:g?l.jsxs(l.Fragment,{children:[l.jsx(hi,{className:"h-4 w-4 animate-spin mr-2"}),l.jsx("span",{className:"sm:hidden",children:"加载中..."})]}):l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"sm:hidden",children:"加载配置"}),l.jsx("span",{className:"hidden sm:inline",children:"加载"})]})})]})]}),l.jsxs("details",{className:"rounded-lg bg-muted/50 p-3 group",children:[l.jsxs("summary",{className:"text-xs font-medium cursor-pointer select-none list-none flex items-center justify-between",children:[l.jsx("span",{children:"路径格式说明"}),l.jsx("svg",{className:"h-4 w-4 transition-transform group-open:rotate-180",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:l.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),l.jsxs("div",{className:"mt-2 space-y-2 text-xs text-muted-foreground",children:[l.jsxs("div",{className:"space-y-1",children:[l.jsx("div",{className:"flex items-center gap-2",children:l.jsx("span",{className:"font-mono bg-background px-1.5 py-0.5 rounded text-[10px] md:text-xs whitespace-nowrap",children:"Windows"})}),l.jsxs("div",{className:"pl-2 space-y-0.5 text-[10px] md:text-xs break-all",children:[l.jsx("div",{children:"C:\\Adapter\\config.toml"}),l.jsx("div",{className:"hidden sm:block",children:"D:\\MaiBot\\adapter\\config.toml"}),l.jsx("div",{className:"hidden sm:block",children:"\\\\server\\share\\config.toml"})]})]}),l.jsxs("div",{className:"space-y-1",children:[l.jsx("div",{className:"flex items-center gap-2",children:l.jsx("span",{className:"font-mono bg-background px-1.5 py-0.5 rounded text-[10px] md:text-xs whitespace-nowrap",children:"Linux"})}),l.jsxs("div",{className:"pl-2 space-y-0.5 text-[10px] md:text-xs break-all",children:[l.jsx("div",{children:"/opt/adapter/config.toml"}),l.jsx("div",{className:"hidden sm:block",children:"/home/user/adapter/config.toml"}),l.jsx("div",{className:"hidden sm:block",children:"~/adapter/config.toml"})]})]}),l.jsx("p",{className:"pt-1 border-t text-[10px] md:text-xs",children:"💡 配置会自动保存到指定文件,修改后 1 秒自动保存"})]})]})]})]})]}),l.jsxs(Kd,{children:[l.jsx(Il,{className:"h-4 w-4"}),l.jsx(Jd,{children:t==="upload"?l.jsxs(l.Fragment,{children:[l.jsx("strong",{children:"上传文件模式:"}),"上传配置文件 → 在线编辑 → 下载文件 → 手动覆盖并重启适配器"]}):l.jsxs(l.Fragment,{children:[l.jsx("strong",{children:"指定路径模式:"}),"指定配置文件路径后,配置会自动加载,修改后 1 秒自动保存",f&&" (正在保存...)"]})})]}),t==="upload"&&!n&&l.jsxs("div",{className:"flex flex-col sm:flex-row gap-2 w-full",children:[l.jsx("input",{ref:T,type:"file",accept:".toml",className:"hidden",onChange:re}),l.jsxs(de,{onClick:()=>T.current?.click(),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[l.jsx(j8,{className:"mr-2 h-4 w-4"}),"上传配置"]}),l.jsxs(de,{onClick:I,size:"sm",className:"w-full sm:w-auto",children:[l.jsx(Dl,{className:"mr-2 h-4 w-4"}),"使用默认配置"]})]}),t==="upload"&&n&&l.jsx("div",{className:"flex gap-2",children:l.jsxs(de,{onClick:K,size:"sm",className:"w-full sm:w-auto",children:[l.jsx(Jc,{className:"mr-2 h-4 w-4"}),"下载配置"]})}),t==="path"&&n&&l.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[l.jsxs(de,{onClick:H,size:"sm",disabled:f||!!u,className:"w-full sm:w-auto",children:[l.jsx(X1,{className:"mr-2 h-4 w-4"}),f?"保存中...":"立即保存"]}),l.jsxs(de,{onClick:U,size:"sm",variant:"outline",disabled:g,className:"w-full sm:w-auto",children:[l.jsx(hi,{className:`mr-2 h-4 w-4 ${g?"animate-spin":""}`}),"刷新"]}),l.jsxs(de,{onClick:q,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[l.jsx(Kt,{className:"mr-2 h-4 w-4"}),"清空路径"]})]}),n?l.jsxs(ql,{defaultValue:"napcat",className:"w-full",children:[l.jsx("div",{className:"overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0",children:l.jsxs(La,{className:"inline-flex w-auto min-w-full sm:grid sm:w-full sm:grid-cols-5",children:[l.jsxs(Zt,{value:"napcat",className:"flex-shrink-0 text-xs sm:text-sm whitespace-nowrap",children:[l.jsx("span",{className:"hidden sm:inline",children:"Napcat 连接"}),l.jsx("span",{className:"sm:hidden",children:"Napcat"})]}),l.jsxs(Zt,{value:"maibot",className:"flex-shrink-0 text-xs sm:text-sm whitespace-nowrap",children:[l.jsx("span",{className:"hidden sm:inline",children:"麦麦连接"}),l.jsx("span",{className:"sm:hidden",children:"麦麦"})]}),l.jsxs(Zt,{value:"chat",className:"flex-shrink-0 text-xs sm:text-sm whitespace-nowrap",children:[l.jsx("span",{className:"hidden sm:inline",children:"聊天控制"}),l.jsx("span",{className:"sm:hidden",children:"聊天"})]}),l.jsxs(Zt,{value:"voice",className:"flex-shrink-0 text-xs sm:text-sm whitespace-nowrap",children:[l.jsx("span",{className:"hidden sm:inline",children:"语音设置"}),l.jsx("span",{className:"sm:hidden",children:"语音"})]}),l.jsx(Zt,{value:"debug",className:"flex-shrink-0 text-xs sm:text-sm whitespace-nowrap",children:"调试"})]})}),l.jsx(An,{value:"napcat",className:"space-y-4",children:l.jsx(ide,{config:n,onChange:Q=>{r(Q),P(Q)}})}),l.jsx(An,{value:"maibot",className:"space-y-4",children:l.jsx(ade,{config:n,onChange:Q=>{r(Q),P(Q)}})}),l.jsx(An,{value:"chat",className:"space-y-4",children:l.jsx(lde,{config:n,onChange:Q=>{r(Q),P(Q)}})}),l.jsx(An,{value:"voice",className:"space-y-4",children:l.jsx(ode,{config:n,onChange:Q=>{r(Q),P(Q)}})}),l.jsx(An,{value:"debug",className:"space-y-4",children:l.jsx(cde,{config:n,onChange:Q=>{r(Q),P(Q)}})})]}):l.jsx("div",{className:"rounded-lg border bg-card p-6 md:p-12",children:l.jsxs("div",{className:"text-center space-y-3 md:space-y-4",children:[l.jsx(Dl,{className:"h-12 w-12 md:h-16 md:w-16 mx-auto text-muted-foreground"}),l.jsxs("div",{children:[l.jsx("h3",{className:"text-base md:text-lg font-semibold",children:"尚未加载配置"}),l.jsx("p",{className:"text-xs md:text-sm text-muted-foreground mt-2 px-4",children:t==="upload"?"请上传现有配置文件,或使用默认配置开始编辑":"请指定配置文件路径并点击加载按钮"})]})]})}),l.jsx(wn,{open:y,onOpenChange:w,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认切换模式"}),l.jsxs(cn,{children:["切换模式将清空当前配置,确定要继续吗?",l.jsx("br",{}),l.jsx("span",{className:"text-destructive font-medium",children:"请确保已保存重要配置"})]})]}),l.jsxs(ln,{children:[l.jsx(dn,{onClick:()=>{w(!1),C(null)},children:"取消"}),l.jsx(un,{onClick:W,children:"确认切换"})]})]})}),l.jsx(wn,{open:b,onOpenChange:k,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认清空路径"}),l.jsxs(cn,{children:["清空路径将清除当前配置,确定要继续吗?",l.jsx("br",{}),l.jsx("span",{className:"text-muted-foreground text-sm",children:"此操作不会删除配置文件,只是清除界面中的配置"})]})]}),l.jsxs(ln,{children:[l.jsx(dn,{onClick:()=>k(!1),children:"取消"}),l.jsx(un,{onClick:ee,className:"bg-destructive hover:bg-destructive/90",children:"确认清空"})]})]})})]})})}function ide({config:t,onChange:e}){return l.jsx("div",{className:"rounded-lg border bg-card p-4 md:p-6 space-y-4 md:space-y-6",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-base md:text-lg font-semibold mb-3 md:mb-4",children:"Napcat WebSocket 服务设置"}),l.jsxs("div",{className:"grid gap-3 md:gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"napcat-host",className:"text-sm md:text-base",children:"主机地址"}),l.jsx(Re,{id:"napcat-host",value:t.napcat_server.host,onChange:n=>e({...t,napcat_server:{...t.napcat_server,host:n.target.value}}),placeholder:"localhost",className:"text-sm md:text-base"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Napcat 设定的主机地址"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"napcat-port",className:"text-sm md:text-base",children:"端口"}),l.jsx(Re,{id:"napcat-port",type:"number",value:t.napcat_server.port||"",onChange:n=>e({...t,napcat_server:{...t.napcat_server,port:n.target.value?parseInt(n.target.value):0}}),placeholder:"8095",className:"text-sm md:text-base"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Napcat 设定的端口(留空使用默认值 8095)"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"napcat-token",className:"text-sm md:text-base",children:"访问令牌(Token)"}),l.jsx(Re,{id:"napcat-token",type:"password",value:t.napcat_server.token,onChange:n=>e({...t,napcat_server:{...t.napcat_server,token:n.target.value}}),placeholder:"留空表示无需令牌",className:"text-sm md:text-base"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Napcat 设定的访问令牌,若无则留空"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"napcat-heartbeat",className:"text-sm md:text-base",children:"心跳间隔(秒)"}),l.jsx(Re,{id:"napcat-heartbeat",type:"number",value:t.napcat_server.heartbeat_interval||"",onChange:n=>e({...t,napcat_server:{...t.napcat_server,heartbeat_interval:n.target.value?parseInt(n.target.value):0}}),placeholder:"30",className:"text-sm md:text-base"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"与 Napcat 设置的心跳间隔保持一致(留空使用默认值 30)"})]})]})]})})}function ade({config:t,onChange:e}){return l.jsx("div",{className:"rounded-lg border bg-card p-4 md:p-6 space-y-4 md:space-y-6",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-base md:text-lg font-semibold mb-3 md:mb-4",children:"麦麦 WebSocket 服务设置"}),l.jsxs("div",{className:"grid gap-3 md:gap-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"maibot-host",className:"text-sm md:text-base",children:"主机地址"}),l.jsx(Re,{id:"maibot-host",value:t.maibot_server.host,onChange:n=>e({...t,maibot_server:{...t.maibot_server,host:n.target.value}}),placeholder:"localhost",className:"text-sm md:text-base"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"麦麦在 .env 文件中设置的 HOST 字段"})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{htmlFor:"maibot-port",className:"text-sm md:text-base",children:"端口"}),l.jsx(Re,{id:"maibot-port",type:"number",value:t.maibot_server.port||"",onChange:n=>e({...t,maibot_server:{...t.maibot_server,port:n.target.value?parseInt(n.target.value):0}}),placeholder:"8000",className:"text-sm md:text-base"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"麦麦在 .env 文件中设置的 PORT 字段(留空使用默认值 8000)"})]})]})]})})}function lde({config:t,onChange:e}){const n=i=>{const a={...t};i==="group"?a.chat.group_list=[...a.chat.group_list,0]:i==="private"?a.chat.private_list=[...a.chat.private_list,0]:a.chat.ban_user_id=[...a.chat.ban_user_id,0],e(a)},r=(i,a)=>{const o={...t};i==="group"?o.chat.group_list=o.chat.group_list.filter((u,h)=>h!==a):i==="private"?o.chat.private_list=o.chat.private_list.filter((u,h)=>h!==a):o.chat.ban_user_id=o.chat.ban_user_id.filter((u,h)=>h!==a),e(o)},s=(i,a,o)=>{const u={...t};i==="group"?u.chat.group_list[a]=o:i==="private"?u.chat.private_list[a]=o:u.chat.ban_user_id[a]=o,e(u)};return l.jsx("div",{className:"rounded-lg border bg-card p-4 md:p-6 space-y-4 md:space-y-6",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-base md:text-lg font-semibold mb-3 md:mb-4",children:"聊天黑白名单功能"}),l.jsxs("div",{className:"grid gap-4 md:gap-6",children:[l.jsxs("div",{className:"space-y-3 md:space-y-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-sm md:text-base",children:"群组名单类型"}),l.jsxs(It,{value:t.chat.group_list_type,onValueChange:i=>e({...t,chat:{...t.chat,group_list_type:i}}),children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"whitelist",children:"白名单(仅名单内可聊天)"}),l.jsx(ze,{value:"blacklist",children:"黑名单(名单内禁止聊天)"})]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 sm:gap-0",children:[l.jsx(ce,{className:"text-sm md:text-base",children:"群组列表"}),l.jsxs(de,{onClick:()=>n("group"),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[l.jsx(Dl,{className:"mr-1 h-4 w-4"}),"添加群号"]})]}),t.chat.group_list.map((i,a)=>l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Re,{type:"number",value:i,onChange:o=>s("group",a,parseInt(o.target.value)||0),placeholder:"输入群号",className:"text-sm md:text-base"}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"icon",variant:"outline",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:["确定要删除群号 ",i," 吗?此操作无法撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>r("group",a),children:"删除"})]})]})]})]},a)),t.chat.group_list.length===0&&l.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无群组"})]})]}),l.jsxs("div",{className:"space-y-3 md:space-y-4",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-sm md:text-base",children:"私聊名单类型"}),l.jsxs(It,{value:t.chat.private_list_type,onValueChange:i=>e({...t,chat:{...t.chat,private_list_type:i}}),children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"whitelist",children:"白名单(仅名单内可聊天)"}),l.jsx(ze,{value:"blacklist",children:"黑名单(名单内禁止聊天)"})]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 sm:gap-0",children:[l.jsx(ce,{className:"text-sm md:text-base",children:"私聊列表"}),l.jsxs(de,{onClick:()=>n("private"),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[l.jsx(Dl,{className:"mr-1 h-4 w-4"}),"添加用户"]})]}),t.chat.private_list.map((i,a)=>l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Re,{type:"number",value:i,onChange:o=>s("private",a,parseInt(o.target.value)||0),placeholder:"输入QQ号",className:"text-sm md:text-base"}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"icon",variant:"outline",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:["确定要删除用户 ",i," 吗?此操作无法撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>r("private",a),children:"删除"})]})]})]})]},a)),t.chat.private_list.length===0&&l.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无用户"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 sm:gap-0",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-sm md:text-base",children:"全局禁止名单"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"名单中的用户无法进行任何聊天"})]}),l.jsxs(de,{onClick:()=>n("ban"),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[l.jsx(Dl,{className:"mr-1 h-4 w-4"}),"添加用户"]})]}),t.chat.ban_user_id.map((i,a)=>l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Re,{type:"number",value:i,onChange:o=>s("ban",a,parseInt(o.target.value)||0),placeholder:"输入QQ号",className:"text-sm md:text-base"}),l.jsxs(wn,{children:[l.jsx(qr,{asChild:!0,children:l.jsx(de,{size:"icon",variant:"outline",children:l.jsx(Kt,{className:"h-4 w-4"})})}),l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:["确定要从全局禁止名单中删除用户 ",i," 吗?此操作无法撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>r("ban",a),children:"删除"})]})]})]})]},a)),t.chat.ban_user_id.length===0&&l.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无禁止用户"})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-sm md:text-base",children:"屏蔽QQ官方机器人"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"是否屏蔽来自QQ官方机器人的消息"})]}),l.jsx(Dt,{checked:t.chat.ban_qq_bot,onCheckedChange:i=>e({...t,chat:{...t.chat,ban_qq_bot:i}})})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-sm md:text-base",children:"启用戳一戳功能"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"是否响应戳一戳消息"})]}),l.jsx(Dt,{checked:t.chat.enable_poke,onCheckedChange:i=>e({...t,chat:{...t.chat,enable_poke:i}})})]})]})]})})}function ode({config:t,onChange:e}){return l.jsx("div",{className:"rounded-lg border bg-card p-4 md:p-6 space-y-4 md:space-y-6",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-base md:text-lg font-semibold mb-3 md:mb-4",children:"发送语音设置"}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-sm md:text-base",children:"使用 TTS 语音"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"请确保已配置 TTS 并有对应的适配器"})]}),l.jsx(Dt,{checked:t.voice.use_tts,onCheckedChange:n=>e({...t,voice:{use_tts:n}})})]})]})})}function cde({config:t,onChange:e}){return l.jsx("div",{className:"rounded-lg border bg-card p-4 md:p-6 space-y-4 md:space-y-6",children:l.jsxs("div",{children:[l.jsx("h3",{className:"text-base md:text-lg font-semibold mb-3 md:mb-4",children:"调试设置"}),l.jsx("div",{className:"grid gap-3 md:gap-4",children:l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ce,{className:"text-sm md:text-base",children:"日志等级"}),l.jsxs(It,{value:t.debug.level,onValueChange:n=>e({...t,debug:{level:n}}),children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"DEBUG",children:"DEBUG(调试)"}),l.jsx(ze,{value:"INFO",children:"INFO(信息)"}),l.jsx(ze,{value:"WARNING",children:"WARNING(警告)"}),l.jsx(ze,{value:"ERROR",children:"ERROR(错误)"}),l.jsx(ze,{value:"CRITICAL",children:"CRITICAL(严重)"})]})]}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"设置适配器的日志输出等级"})]})})]})})}function TT(t){const e=[],n=String(t||"");let r=n.indexOf(","),s=0,i=!1;for(;!i;){r===-1&&(r=n.length,i=!0);const a=n.slice(s,r).trim();(a||!i)&&e.push(a),s=r+1,r=n.indexOf(",",s)}return e}function ude(t,e){const n={};return(t[t.length-1]===""?[...t,""]:t).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const dde=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,hde=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,fde={};function ET(t,e){return(fde.jsx?hde:dde).test(t)}const mde=/[ \t\n\f\r]/g;function pde(t){return typeof t=="object"?t.type==="text"?_T(t.value):!1:_T(t)}function _T(t){return t.replace(mde,"")===""}class C0{constructor(e,n,r){this.normal=n,this.property=e,r&&(this.space=r)}}C0.prototype.normal={};C0.prototype.property={};C0.prototype.space=void 0;function GI(t,e){const n={},r={};for(const s of t)Object.assign(n,s.property),Object.assign(r,s.normal);return new C0(n,r,e)}function Fm(t){return t.toLowerCase()}class Xs{constructor(e,n){this.attribute=n,this.property=e}}Xs.prototype.attribute="";Xs.prototype.booleanish=!1;Xs.prototype.boolean=!1;Xs.prototype.commaOrSpaceSeparated=!1;Xs.prototype.commaSeparated=!1;Xs.prototype.defined=!1;Xs.prototype.mustUseProperty=!1;Xs.prototype.number=!1;Xs.prototype.overloadedBoolean=!1;Xs.prototype.property="";Xs.prototype.spaceSeparated=!1;Xs.prototype.space=void 0;let gde=0;const Rt=ku(),Cr=ku(),K3=ku(),Ie=ku(),Vn=ku(),$d=ku(),li=ku();function ku(){return 2**++gde}const J3=Object.freeze(Object.defineProperty({__proto__:null,boolean:Rt,booleanish:Cr,commaOrSpaceSeparated:li,commaSeparated:$d,number:Ie,overloadedBoolean:K3,spaceSeparated:Vn},Symbol.toStringTag,{value:"Module"})),l4=Object.keys(J3);class g6 extends Xs{constructor(e,n,r,s){let i=-1;if(super(e,n),MT(this,"space",s),typeof r=="number")for(;++i4&&n.slice(0,4)==="data"&&wde.test(e)){if(e.charAt(4)==="-"){const i=e.slice(5).replace(AT,kde);r="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{const i=e.slice(4);if(!AT.test(i)){let a=i.replace(bde,Sde);a.charAt(0)!=="-"&&(a="-"+a),e="data"+a}}s=g6}return new s(r,e)}function Sde(t){return"-"+t.toLowerCase()}function kde(t){return t.charAt(1).toUpperCase()}const nq=GI([XI,xde,KI,JI,eq],"html"),Nv=GI([XI,vde,KI,JI,eq],"svg");function RT(t){const e=String(t||"").trim();return e?e.split(/[ \t\n\r\f]+/g):[]}function Ode(t){return t.join(" ").trim()}var cd={},o4,DT;function jde(){if(DT)return o4;DT=1;var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,e=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,s=/^:\s*/,i=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,o=/^\s+|\s+$/g,u=` +`,h="/",f="*",m="",g="comment",x="declaration";function y(b,k){if(typeof b!="string")throw new TypeError("First argument must be a string");if(!b)return[];k=k||{};var N=1,C=1;function T(z){var W=z.match(e);W&&(N+=W.length);var q=z.lastIndexOf(u);C=~q?z.length-q:C+z.length}function E(){var z={line:N,column:C};return function(W){return W.position=new _(z),B(),W}}function _(z){this.start=z,this.end={line:N,column:C},this.source=k.source}_.prototype.content=b;function A(z){var W=new Error(k.source+":"+N+":"+C+": "+z);if(W.reason=z,W.filename=k.source,W.line=N,W.column=C,W.source=b,!k.silent)throw W}function F(z){var W=z.exec(b);if(W){var q=W[0];return T(q),b=b.slice(q.length),W}}function B(){F(n)}function P(z){var W;for(z=z||[];W=H();)W!==!1&&z.push(W);return z}function H(){var z=E();if(!(h!=b.charAt(0)||f!=b.charAt(1))){for(var W=2;m!=b.charAt(W)&&(f!=b.charAt(W)||h!=b.charAt(W+1));)++W;if(W+=2,m===b.charAt(W-1))return A("End of comment missing");var q=b.slice(2,W-2);return C+=2,T(q),b=b.slice(W),C+=2,z({type:g,comment:q})}}function U(){var z=E(),W=F(r);if(W){if(H(),!F(s))return A("property missing ':'");var q=F(i),J=z({type:x,property:w(W[0].replace(t,m)),value:q?w(q[0].replace(t,m)):m});return F(a),J}}function te(){var z=[];P(z);for(var W;W=U();)W!==!1&&(z.push(W),P(z));return z}return B(),te()}function w(b){return b?b.replace(o,m):m}return o4=y,o4}var zT;function Nde(){if(zT)return cd;zT=1;var t=cd&&cd.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(cd,"__esModule",{value:!0}),cd.default=n;const e=t(jde());function n(r,s){let i=null;if(!r||typeof r!="string")return i;const a=(0,e.default)(r),o=typeof s=="function";return a.forEach(u=>{if(u.type!=="declaration")return;const{property:h,value:f}=u;o?s(h,f,u):f&&(i=i||{},i[h]=f)}),i}return cd}var Pf={},PT;function Cde(){if(PT)return Pf;PT=1,Object.defineProperty(Pf,"__esModule",{value:!0}),Pf.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,e=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,s=/^-(ms)-/,i=function(h){return!h||n.test(h)||t.test(h)},a=function(h,f){return f.toUpperCase()},o=function(h,f){return"".concat(f,"-")},u=function(h,f){return f===void 0&&(f={}),i(h)?h:(h=h.toLowerCase(),f.reactCompat?h=h.replace(s,o):h=h.replace(r,o),h.replace(e,a))};return Pf.camelCase=u,Pf}var Lf,LT;function Tde(){if(LT)return Lf;LT=1;var t=Lf&&Lf.__importDefault||function(s){return s&&s.__esModule?s:{default:s}},e=t(Nde()),n=Cde();function r(s,i){var a={};return!s||typeof s!="string"||(0,e.default)(s,function(o,u){o&&u&&(a[(0,n.camelCase)(o,i)]=u)}),a}return r.default=r,Lf=r,Lf}var Ede=Tde();const _de=qS(Ede),rq=sq("end"),x6=sq("start");function sq(t){return e;function e(n){const r=n&&n.position&&n.position[t]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Mde(t){const e=x6(t),n=rq(t);if(e&&n)return{start:e,end:n}}function dm(t){return!t||typeof t!="object"?"":"position"in t||"type"in t?BT(t.position):"start"in t||"end"in t?BT(t):"line"in t||"column"in t?eS(t):""}function eS(t){return IT(t&&t.line)+":"+IT(t&&t.column)}function BT(t){return eS(t&&t.start)+"-"+eS(t&&t.end)}function IT(t){return t&&typeof t=="number"?t:1}class gs extends Error{constructor(e,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let s="",i={},a=!1;if(n&&("line"in n&&"column"in n?i={place:n}:"start"in n&&"end"in n?i={place:n}:"type"in n?i={ancestors:[n],place:n.position}:i={...n}),typeof e=="string"?s=e:!i.cause&&e&&(a=!0,s=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof r=="string"){const u=r.indexOf(":");u===-1?i.ruleId=r:(i.source=r.slice(0,u),i.ruleId=r.slice(u+1))}if(!i.place&&i.ancestors&&i.ancestors){const u=i.ancestors[i.ancestors.length-1];u&&(i.place=u.position)}const o=i.place&&"start"in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=s,this.line=o?o.line:void 0,this.name=dm(i.place)||"1:1",this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack=="string"?i.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}gs.prototype.file="";gs.prototype.name="";gs.prototype.reason="";gs.prototype.message="";gs.prototype.stack="";gs.prototype.column=void 0;gs.prototype.line=void 0;gs.prototype.ancestors=void 0;gs.prototype.cause=void 0;gs.prototype.fatal=void 0;gs.prototype.place=void 0;gs.prototype.ruleId=void 0;gs.prototype.source=void 0;const v6={}.hasOwnProperty,Ade=new Map,Rde=/[A-Z]/g,Dde=new Set(["table","tbody","thead","tfoot","tr"]),zde=new Set(["td","th"]),iq="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Pde(t,e){if(!e||e.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=e.filePath||void 0;let r;if(e.development){if(typeof e.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=Hde(n,e.jsxDEV)}else{if(typeof e.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof e.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=Qde(n,e.jsx,e.jsxs)}const s={Fragment:e.Fragment,ancestors:[],components:e.components||{},create:r,elementAttributeNameCase:e.elementAttributeNameCase||"react",evaluater:e.createEvaluater?e.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:e.ignoreInvalidStyle||!1,passKeys:e.passKeys!==!1,passNode:e.passNode||!1,schema:e.space==="svg"?Nv:nq,stylePropertyNameCase:e.stylePropertyNameCase||"dom",tableCellAlignToStyle:e.tableCellAlignToStyle!==!1},i=aq(s,t,void 0);return i&&typeof i!="string"?i:s.create(t,s.Fragment,{children:i||void 0},void 0)}function aq(t,e,n){if(e.type==="element")return Lde(t,e,n);if(e.type==="mdxFlowExpression"||e.type==="mdxTextExpression")return Bde(t,e);if(e.type==="mdxJsxFlowElement"||e.type==="mdxJsxTextElement")return qde(t,e,n);if(e.type==="mdxjsEsm")return Ide(t,e);if(e.type==="root")return Fde(t,e,n);if(e.type==="text")return $de(t,e)}function Lde(t,e,n){const r=t.schema;let s=r;e.tagName.toLowerCase()==="svg"&&r.space==="html"&&(s=Nv,t.schema=s),t.ancestors.push(e);const i=oq(t,e.tagName,!1),a=Vde(t,e);let o=b6(t,e);return Dde.has(e.tagName)&&(o=o.filter(function(u){return typeof u=="string"?!pde(u):!0})),lq(t,a,i,e),y6(a,o),t.ancestors.pop(),t.schema=r,t.create(e,i,a,n)}function Bde(t,e){if(e.data&&e.data.estree&&t.evaluater){const r=e.data.estree.body[0];return r.type,t.evaluater.evaluateExpression(r.expression)}$m(t,e.position)}function Ide(t,e){if(e.data&&e.data.estree&&t.evaluater)return t.evaluater.evaluateProgram(e.data.estree);$m(t,e.position)}function qde(t,e,n){const r=t.schema;let s=r;e.name==="svg"&&r.space==="html"&&(s=Nv,t.schema=s),t.ancestors.push(e);const i=e.name===null?t.Fragment:oq(t,e.name,!0),a=Ude(t,e),o=b6(t,e);return lq(t,a,i,e),y6(a,o),t.ancestors.pop(),t.schema=r,t.create(e,i,a,n)}function Fde(t,e,n){const r={};return y6(r,b6(t,e)),t.create(e,t.Fragment,r,n)}function $de(t,e){return e.value}function lq(t,e,n,r){typeof n!="string"&&n!==t.Fragment&&t.passNode&&(e.node=r)}function y6(t,e){if(e.length>0){const n=e.length>1?e:e[0];n&&(t.children=n)}}function Qde(t,e,n){return r;function r(s,i,a,o){const h=Array.isArray(a.children)?n:e;return o?h(i,a,o):h(i,a)}}function Hde(t,e){return n;function n(r,s,i,a){const o=Array.isArray(i.children),u=x6(r);return e(s,i,a,o,{columnNumber:u?u.column-1:void 0,fileName:t,lineNumber:u?u.line:void 0},void 0)}}function Vde(t,e){const n={};let r,s;for(s in e.properties)if(s!=="children"&&v6.call(e.properties,s)){const i=Wde(t,s,e.properties[s]);if(i){const[a,o]=i;t.tableCellAlignToStyle&&a==="align"&&typeof o=="string"&&zde.has(e.tagName)?r=o:n[a]=o}}if(r){const i=n.style||(n.style={});i[t.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function Ude(t,e){const n={};for(const r of e.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&t.evaluater){const i=r.data.estree.body[0];i.type;const a=i.expression;a.type;const o=a.properties[0];o.type,Object.assign(n,t.evaluater.evaluateExpression(o.argument))}else $m(t,e.position);else{const s=r.name;let i;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&t.evaluater){const o=r.value.data.estree.body[0];o.type,i=t.evaluater.evaluateExpression(o.expression)}else $m(t,e.position);else i=r.value===null?!0:r.value;n[s]=i}return n}function b6(t,e){const n=[];let r=-1;const s=t.passKeys?new Map:Ade;for(;++rs?0:s+e:e=e>s?s:e,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(e,n),t.splice(...a);else for(n&&t.splice(e,n);i0?(fi(t,t.length,0,e),t):e}const $T={}.hasOwnProperty;function uq(t){const e={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function ta(t){return t.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ws=hc(/[A-Za-z]/),fs=hc(/[\dA-Za-z]/),nhe=hc(/[#-'*+\--9=?A-Z^-~]/);function S1(t){return t!==null&&(t<32||t===127)}const tS=hc(/\d/),rhe=hc(/[\dA-Fa-f]/),she=hc(/[!-/:-@[-`{-~]/);function it(t){return t!==null&&t<-2}function $n(t){return t!==null&&(t<0||t===32)}function Gt(t){return t===-2||t===-1||t===32}const Cv=hc(new RegExp("\\p{P}|\\p{S}","u")),mu=hc(/\s/);function hc(t){return e;function e(n){return n!==null&&n>-1&&t.test(String.fromCharCode(n))}}function Ch(t){const e=[];let n=-1,r=0,s=0;for(;++n55295&&i<57344){const o=t.charCodeAt(n+1);i<56320&&o>56319&&o<57344?(a=String.fromCharCode(i,o),s=1):a="�"}else a=String.fromCharCode(i);a&&(e.push(t.slice(r,n),encodeURIComponent(a)),r=n+s+1,a=""),s&&(n+=s,s=0)}return e.join("")+t.slice(r)}function Ht(t,e,n,r){const s=r?r-1:Number.POSITIVE_INFINITY;let i=0;return a;function a(u){return Gt(u)?(t.enter(n),o(u)):e(u)}function o(u){return Gt(u)&&i++a))return;const A=e.events.length;let F=A,B,P;for(;F--;)if(e.events[F][0]==="exit"&&e.events[F][1].type==="chunkFlow"){if(B){P=e.events[F][1].end;break}B=!0}for(k(r),_=A;_C;){const E=n[T];e.containerState=E[1],E[0].exit.call(e,t)}n.length=C}function N(){s.write([null]),i=void 0,s=void 0,e.containerState._closeFlow=void 0}}function che(t,e,n){return Ht(t,t.attempt(this.parser.constructs.document,e,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ch(t){if(t===null||$n(t)||mu(t))return 1;if(Cv(t))return 2}function Tv(t,e,n){const r=[];let s=-1;for(;++s1&&t[n][1].end.offset-t[n][1].start.offset>1?2:1;const m={...t[r][1].end},g={...t[n][1].start};HT(m,-u),HT(g,u),a={type:u>1?"strongSequence":"emphasisSequence",start:m,end:{...t[r][1].end}},o={type:u>1?"strongSequence":"emphasisSequence",start:{...t[n][1].start},end:g},i={type:u>1?"strongText":"emphasisText",start:{...t[r][1].end},end:{...t[n][1].start}},s={type:u>1?"strong":"emphasis",start:{...a.start},end:{...o.end}},t[r][1].end={...a.start},t[n][1].start={...o.end},h=[],t[r][1].end.offset-t[r][1].start.offset&&(h=_i(h,[["enter",t[r][1],e],["exit",t[r][1],e]])),h=_i(h,[["enter",s,e],["enter",a,e],["exit",a,e],["enter",i,e]]),h=_i(h,Tv(e.parser.constructs.insideSpan.null,t.slice(r+1,n),e)),h=_i(h,[["exit",i,e],["enter",o,e],["exit",o,e],["exit",s,e]]),t[n][1].end.offset-t[n][1].start.offset?(f=2,h=_i(h,[["enter",t[n][1],e],["exit",t[n][1],e]])):f=0,fi(t,r-1,n-r+3,h),n=r+h.length-f-2;break}}for(n=-1;++n0&&Gt(_)?Ht(t,N,"linePrefix",i+1)(_):N(_)}function N(_){return _===null||it(_)?t.check(VT,w,T)(_):(t.enter("codeFlowValue"),C(_))}function C(_){return _===null||it(_)?(t.exit("codeFlowValue"),N(_)):(t.consume(_),C)}function T(_){return t.exit("codeFenced"),e(_)}function E(_,A,F){let B=0;return P;function P(W){return _.enter("lineEnding"),_.consume(W),_.exit("lineEnding"),H}function H(W){return _.enter("codeFencedFence"),Gt(W)?Ht(_,U,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(W):U(W)}function U(W){return W===o?(_.enter("codeFencedFenceSequence"),te(W)):F(W)}function te(W){return W===o?(B++,_.consume(W),te):B>=a?(_.exit("codeFencedFenceSequence"),Gt(W)?Ht(_,z,"whitespace")(W):z(W)):F(W)}function z(W){return W===null||it(W)?(_.exit("codeFencedFence"),A(W)):F(W)}}}function whe(t,e,n){const r=this;return s;function s(a){return a===null?n(a):(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),i)}function i(a){return r.parser.lazy[r.now().line]?n(a):e(a)}}const u4={name:"codeIndented",tokenize:khe},She={partial:!0,tokenize:Ohe};function khe(t,e,n){const r=this;return s;function s(h){return t.enter("codeIndented"),Ht(t,i,"linePrefix",5)(h)}function i(h){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?a(h):n(h)}function a(h){return h===null?u(h):it(h)?t.attempt(She,a,u)(h):(t.enter("codeFlowValue"),o(h))}function o(h){return h===null||it(h)?(t.exit("codeFlowValue"),a(h)):(t.consume(h),o)}function u(h){return t.exit("codeIndented"),e(h)}}function Ohe(t,e,n){const r=this;return s;function s(a){return r.parser.lazy[r.now().line]?n(a):it(a)?(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),s):Ht(t,i,"linePrefix",5)(a)}function i(a){const o=r.events[r.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?e(a):it(a)?s(a):n(a)}}const jhe={name:"codeText",previous:Che,resolve:Nhe,tokenize:The};function Nhe(t){let e=t.length-4,n=3,r,s;if((t[n][1].type==="lineEnding"||t[n][1].type==="space")&&(t[e][1].type==="lineEnding"||t[e][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(e,n,r){const s=n||0;this.setCursor(Math.trunc(e));const i=this.right.splice(this.right.length-s,Number.POSITIVE_INFINITY);return r&&Bf(this.left,r),i.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),Bf(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Bf(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e=4?e(a):t.interrupt(r.parser.constructs.flow,n,e)(a)}}function gq(t,e,n,r,s,i,a,o,u){const h=u||Number.POSITIVE_INFINITY;let f=0;return m;function m(k){return k===60?(t.enter(r),t.enter(s),t.enter(i),t.consume(k),t.exit(i),g):k===null||k===32||k===41||S1(k)?n(k):(t.enter(r),t.enter(a),t.enter(o),t.enter("chunkString",{contentType:"string"}),w(k))}function g(k){return k===62?(t.enter(i),t.consume(k),t.exit(i),t.exit(s),t.exit(r),e):(t.enter(o),t.enter("chunkString",{contentType:"string"}),x(k))}function x(k){return k===62?(t.exit("chunkString"),t.exit(o),g(k)):k===null||k===60||it(k)?n(k):(t.consume(k),k===92?y:x)}function y(k){return k===60||k===62||k===92?(t.consume(k),x):x(k)}function w(k){return!f&&(k===null||k===41||$n(k))?(t.exit("chunkString"),t.exit(o),t.exit(a),t.exit(r),e(k)):f999||x===null||x===91||x===93&&!u||x===94&&!o&&"_hiddenFootnoteSupport"in a.parser.constructs?n(x):x===93?(t.exit(i),t.enter(s),t.consume(x),t.exit(s),t.exit(r),e):it(x)?(t.enter("lineEnding"),t.consume(x),t.exit("lineEnding"),f):(t.enter("chunkString",{contentType:"string"}),m(x))}function m(x){return x===null||x===91||x===93||it(x)||o++>999?(t.exit("chunkString"),f(x)):(t.consume(x),u||(u=!Gt(x)),x===92?g:m)}function g(x){return x===91||x===92||x===93?(t.consume(x),o++,m):m(x)}}function vq(t,e,n,r,s,i){let a;return o;function o(g){return g===34||g===39||g===40?(t.enter(r),t.enter(s),t.consume(g),t.exit(s),a=g===40?41:g,u):n(g)}function u(g){return g===a?(t.enter(s),t.consume(g),t.exit(s),t.exit(r),e):(t.enter(i),h(g))}function h(g){return g===a?(t.exit(i),u(a)):g===null?n(g):it(g)?(t.enter("lineEnding"),t.consume(g),t.exit("lineEnding"),Ht(t,h,"linePrefix")):(t.enter("chunkString",{contentType:"string"}),f(g))}function f(g){return g===a||g===null||it(g)?(t.exit("chunkString"),h(g)):(t.consume(g),g===92?m:f)}function m(g){return g===a||g===92?(t.consume(g),f):f(g)}}function hm(t,e){let n;return r;function r(s){return it(s)?(t.enter("lineEnding"),t.consume(s),t.exit("lineEnding"),n=!0,r):Gt(s)?Ht(t,r,n?"linePrefix":"lineSuffix")(s):e(s)}}const Phe={name:"definition",tokenize:Bhe},Lhe={partial:!0,tokenize:Ihe};function Bhe(t,e,n){const r=this;let s;return i;function i(x){return t.enter("definition"),a(x)}function a(x){return xq.call(r,t,o,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(x)}function o(x){return s=ta(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),x===58?(t.enter("definitionMarker"),t.consume(x),t.exit("definitionMarker"),u):n(x)}function u(x){return $n(x)?hm(t,h)(x):h(x)}function h(x){return gq(t,f,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(x)}function f(x){return t.attempt(Lhe,m,m)(x)}function m(x){return Gt(x)?Ht(t,g,"whitespace")(x):g(x)}function g(x){return x===null||it(x)?(t.exit("definition"),r.parser.defined.push(s),e(x)):n(x)}}function Ihe(t,e,n){return r;function r(o){return $n(o)?hm(t,s)(o):n(o)}function s(o){return vq(t,i,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(o)}function i(o){return Gt(o)?Ht(t,a,"whitespace")(o):a(o)}function a(o){return o===null||it(o)?e(o):n(o)}}const qhe={name:"hardBreakEscape",tokenize:Fhe};function Fhe(t,e,n){return r;function r(i){return t.enter("hardBreakEscape"),t.consume(i),s}function s(i){return it(i)?(t.exit("hardBreakEscape"),e(i)):n(i)}}const $he={name:"headingAtx",resolve:Qhe,tokenize:Hhe};function Qhe(t,e){let n=t.length-2,r=3,s,i;return t[r][1].type==="whitespace"&&(r+=2),n-2>r&&t[n][1].type==="whitespace"&&(n-=2),t[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&t[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(s={type:"atxHeadingText",start:t[r][1].start,end:t[n][1].end},i={type:"chunkText",start:t[r][1].start,end:t[n][1].end,contentType:"text"},fi(t,r,n-r+1,[["enter",s,e],["enter",i,e],["exit",i,e],["exit",s,e]])),t}function Hhe(t,e,n){let r=0;return s;function s(f){return t.enter("atxHeading"),i(f)}function i(f){return t.enter("atxHeadingSequence"),a(f)}function a(f){return f===35&&r++<6?(t.consume(f),a):f===null||$n(f)?(t.exit("atxHeadingSequence"),o(f)):n(f)}function o(f){return f===35?(t.enter("atxHeadingSequence"),u(f)):f===null||it(f)?(t.exit("atxHeading"),e(f)):Gt(f)?Ht(t,o,"whitespace")(f):(t.enter("atxHeadingText"),h(f))}function u(f){return f===35?(t.consume(f),u):(t.exit("atxHeadingSequence"),o(f))}function h(f){return f===null||f===35||$n(f)?(t.exit("atxHeadingText"),o(f)):(t.consume(f),h)}}const Vhe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],WT=["pre","script","style","textarea"],Uhe={concrete:!0,name:"htmlFlow",resolveTo:Xhe,tokenize:Yhe},Whe={partial:!0,tokenize:Khe},Ghe={partial:!0,tokenize:Zhe};function Xhe(t){let e=t.length;for(;e--&&!(t[e][0]==="enter"&&t[e][1].type==="htmlFlow"););return e>1&&t[e-2][1].type==="linePrefix"&&(t[e][1].start=t[e-2][1].start,t[e+1][1].start=t[e-2][1].start,t.splice(e-2,2)),t}function Yhe(t,e,n){const r=this;let s,i,a,o,u;return h;function h(I){return f(I)}function f(I){return t.enter("htmlFlow"),t.enter("htmlFlowData"),t.consume(I),m}function m(I){return I===33?(t.consume(I),g):I===47?(t.consume(I),i=!0,w):I===63?(t.consume(I),s=3,r.interrupt?e:R):ws(I)?(t.consume(I),a=String.fromCharCode(I),b):n(I)}function g(I){return I===45?(t.consume(I),s=2,x):I===91?(t.consume(I),s=5,o=0,y):ws(I)?(t.consume(I),s=4,r.interrupt?e:R):n(I)}function x(I){return I===45?(t.consume(I),r.interrupt?e:R):n(I)}function y(I){const Q="CDATA[";return I===Q.charCodeAt(o++)?(t.consume(I),o===Q.length?r.interrupt?e:U:y):n(I)}function w(I){return ws(I)?(t.consume(I),a=String.fromCharCode(I),b):n(I)}function b(I){if(I===null||I===47||I===62||$n(I)){const Q=I===47,$=a.toLowerCase();return!Q&&!i&&WT.includes($)?(s=1,r.interrupt?e(I):U(I)):Vhe.includes(a.toLowerCase())?(s=6,Q?(t.consume(I),k):r.interrupt?e(I):U(I)):(s=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(I):i?N(I):C(I))}return I===45||fs(I)?(t.consume(I),a+=String.fromCharCode(I),b):n(I)}function k(I){return I===62?(t.consume(I),r.interrupt?e:U):n(I)}function N(I){return Gt(I)?(t.consume(I),N):P(I)}function C(I){return I===47?(t.consume(I),P):I===58||I===95||ws(I)?(t.consume(I),T):Gt(I)?(t.consume(I),C):P(I)}function T(I){return I===45||I===46||I===58||I===95||fs(I)?(t.consume(I),T):E(I)}function E(I){return I===61?(t.consume(I),_):Gt(I)?(t.consume(I),E):C(I)}function _(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(t.consume(I),u=I,A):Gt(I)?(t.consume(I),_):F(I)}function A(I){return I===u?(t.consume(I),u=null,B):I===null||it(I)?n(I):(t.consume(I),A)}function F(I){return I===null||I===34||I===39||I===47||I===60||I===61||I===62||I===96||$n(I)?E(I):(t.consume(I),F)}function B(I){return I===47||I===62||Gt(I)?C(I):n(I)}function P(I){return I===62?(t.consume(I),H):n(I)}function H(I){return I===null||it(I)?U(I):Gt(I)?(t.consume(I),H):n(I)}function U(I){return I===45&&s===2?(t.consume(I),q):I===60&&s===1?(t.consume(I),J):I===62&&s===4?(t.consume(I),re):I===63&&s===3?(t.consume(I),R):I===93&&s===5?(t.consume(I),Y):it(I)&&(s===6||s===7)?(t.exit("htmlFlowData"),t.check(Whe,K,te)(I)):I===null||it(I)?(t.exit("htmlFlowData"),te(I)):(t.consume(I),U)}function te(I){return t.check(Ghe,z,K)(I)}function z(I){return t.enter("lineEnding"),t.consume(I),t.exit("lineEnding"),W}function W(I){return I===null||it(I)?te(I):(t.enter("htmlFlowData"),U(I))}function q(I){return I===45?(t.consume(I),R):U(I)}function J(I){return I===47?(t.consume(I),a="",ee):U(I)}function ee(I){if(I===62){const Q=a.toLowerCase();return WT.includes(Q)?(t.consume(I),re):U(I)}return ws(I)&&a.length<8?(t.consume(I),a+=String.fromCharCode(I),ee):U(I)}function Y(I){return I===93?(t.consume(I),R):U(I)}function R(I){return I===62?(t.consume(I),re):I===45&&s===2?(t.consume(I),R):U(I)}function re(I){return I===null||it(I)?(t.exit("htmlFlowData"),K(I)):(t.consume(I),re)}function K(I){return t.exit("htmlFlow"),e(I)}}function Zhe(t,e,n){const r=this;return s;function s(a){return it(a)?(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),i):n(a)}function i(a){return r.parser.lazy[r.now().line]?n(a):e(a)}}function Khe(t,e,n){return r;function r(s){return t.enter("lineEnding"),t.consume(s),t.exit("lineEnding"),t.attempt(T0,e,n)}}const Jhe={name:"htmlText",tokenize:efe};function efe(t,e,n){const r=this;let s,i,a;return o;function o(R){return t.enter("htmlText"),t.enter("htmlTextData"),t.consume(R),u}function u(R){return R===33?(t.consume(R),h):R===47?(t.consume(R),E):R===63?(t.consume(R),C):ws(R)?(t.consume(R),F):n(R)}function h(R){return R===45?(t.consume(R),f):R===91?(t.consume(R),i=0,y):ws(R)?(t.consume(R),N):n(R)}function f(R){return R===45?(t.consume(R),x):n(R)}function m(R){return R===null?n(R):R===45?(t.consume(R),g):it(R)?(a=m,J(R)):(t.consume(R),m)}function g(R){return R===45?(t.consume(R),x):m(R)}function x(R){return R===62?q(R):R===45?g(R):m(R)}function y(R){const re="CDATA[";return R===re.charCodeAt(i++)?(t.consume(R),i===re.length?w:y):n(R)}function w(R){return R===null?n(R):R===93?(t.consume(R),b):it(R)?(a=w,J(R)):(t.consume(R),w)}function b(R){return R===93?(t.consume(R),k):w(R)}function k(R){return R===62?q(R):R===93?(t.consume(R),k):w(R)}function N(R){return R===null||R===62?q(R):it(R)?(a=N,J(R)):(t.consume(R),N)}function C(R){return R===null?n(R):R===63?(t.consume(R),T):it(R)?(a=C,J(R)):(t.consume(R),C)}function T(R){return R===62?q(R):C(R)}function E(R){return ws(R)?(t.consume(R),_):n(R)}function _(R){return R===45||fs(R)?(t.consume(R),_):A(R)}function A(R){return it(R)?(a=A,J(R)):Gt(R)?(t.consume(R),A):q(R)}function F(R){return R===45||fs(R)?(t.consume(R),F):R===47||R===62||$n(R)?B(R):n(R)}function B(R){return R===47?(t.consume(R),q):R===58||R===95||ws(R)?(t.consume(R),P):it(R)?(a=B,J(R)):Gt(R)?(t.consume(R),B):q(R)}function P(R){return R===45||R===46||R===58||R===95||fs(R)?(t.consume(R),P):H(R)}function H(R){return R===61?(t.consume(R),U):it(R)?(a=H,J(R)):Gt(R)?(t.consume(R),H):B(R)}function U(R){return R===null||R===60||R===61||R===62||R===96?n(R):R===34||R===39?(t.consume(R),s=R,te):it(R)?(a=U,J(R)):Gt(R)?(t.consume(R),U):(t.consume(R),z)}function te(R){return R===s?(t.consume(R),s=void 0,W):R===null?n(R):it(R)?(a=te,J(R)):(t.consume(R),te)}function z(R){return R===null||R===34||R===39||R===60||R===61||R===96?n(R):R===47||R===62||$n(R)?B(R):(t.consume(R),z)}function W(R){return R===47||R===62||$n(R)?B(R):n(R)}function q(R){return R===62?(t.consume(R),t.exit("htmlTextData"),t.exit("htmlText"),e):n(R)}function J(R){return t.exit("htmlTextData"),t.enter("lineEnding"),t.consume(R),t.exit("lineEnding"),ee}function ee(R){return Gt(R)?Ht(t,Y,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(R):Y(R)}function Y(R){return t.enter("htmlTextData"),a(R)}}const k6={name:"labelEnd",resolveAll:sfe,resolveTo:ife,tokenize:afe},tfe={tokenize:lfe},nfe={tokenize:ofe},rfe={tokenize:cfe};function sfe(t){let e=-1;const n=[];for(;++e=3&&(h===null||it(h))?(t.exit("thematicBreak"),e(h)):n(h)}function u(h){return h===s?(t.consume(h),r++,u):(t.exit("thematicBreakSequence"),Gt(h)?Ht(t,o,"whitespace")(h):o(h))}}const Ps={continuation:{tokenize:yfe},exit:wfe,name:"list",tokenize:vfe},gfe={partial:!0,tokenize:Sfe},xfe={partial:!0,tokenize:bfe};function vfe(t,e,n){const r=this,s=r.events[r.events.length-1];let i=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0,a=0;return o;function o(x){const y=r.containerState.type||(x===42||x===43||x===45?"listUnordered":"listOrdered");if(y==="listUnordered"?!r.containerState.marker||x===r.containerState.marker:tS(x)){if(r.containerState.type||(r.containerState.type=y,t.enter(y,{_container:!0})),y==="listUnordered")return t.enter("listItemPrefix"),x===42||x===45?t.check(Px,n,h)(x):h(x);if(!r.interrupt||x===49)return t.enter("listItemPrefix"),t.enter("listItemValue"),u(x)}return n(x)}function u(x){return tS(x)&&++a<10?(t.consume(x),u):(!r.interrupt||a<2)&&(r.containerState.marker?x===r.containerState.marker:x===41||x===46)?(t.exit("listItemValue"),h(x)):n(x)}function h(x){return t.enter("listItemMarker"),t.consume(x),t.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||x,t.check(T0,r.interrupt?n:f,t.attempt(gfe,g,m))}function f(x){return r.containerState.initialBlankLine=!0,i++,g(x)}function m(x){return Gt(x)?(t.enter("listItemPrefixWhitespace"),t.consume(x),t.exit("listItemPrefixWhitespace"),g):n(x)}function g(x){return r.containerState.size=i+r.sliceSerialize(t.exit("listItemPrefix"),!0).length,e(x)}}function yfe(t,e,n){const r=this;return r.containerState._closeFlow=void 0,t.check(T0,s,i);function s(o){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Ht(t,e,"listItemIndent",r.containerState.size+1)(o)}function i(o){return r.containerState.furtherBlankLines||!Gt(o)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(o)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,t.attempt(xfe,e,a)(o))}function a(o){return r.containerState._closeFlow=!0,r.interrupt=void 0,Ht(t,t.attempt(Ps,e,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}function bfe(t,e,n){const r=this;return Ht(t,s,"listItemIndent",r.containerState.size+1);function s(i){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?e(i):n(i)}}function wfe(t){t.exit(this.containerState.type)}function Sfe(t,e,n){const r=this;return Ht(t,s,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function s(i){const a=r.events[r.events.length-1];return!Gt(i)&&a&&a[1].type==="listItemPrefixWhitespace"?e(i):n(i)}}const GT={name:"setextUnderline",resolveTo:kfe,tokenize:Ofe};function kfe(t,e){let n=t.length,r,s,i;for(;n--;)if(t[n][0]==="enter"){if(t[n][1].type==="content"){r=n;break}t[n][1].type==="paragraph"&&(s=n)}else t[n][1].type==="content"&&t.splice(n,1),!i&&t[n][1].type==="definition"&&(i=n);const a={type:"setextHeading",start:{...t[r][1].start},end:{...t[t.length-1][1].end}};return t[s][1].type="setextHeadingText",i?(t.splice(s,0,["enter",a,e]),t.splice(i+1,0,["exit",t[r][1],e]),t[r][1].end={...t[i][1].end}):t[r][1]=a,t.push(["exit",a,e]),t}function Ofe(t,e,n){const r=this;let s;return i;function i(h){let f=r.events.length,m;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){m=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||m)?(t.enter("setextHeadingLine"),s=h,a(h)):n(h)}function a(h){return t.enter("setextHeadingLineSequence"),o(h)}function o(h){return h===s?(t.consume(h),o):(t.exit("setextHeadingLineSequence"),Gt(h)?Ht(t,u,"lineSuffix")(h):u(h))}function u(h){return h===null||it(h)?(t.exit("setextHeadingLine"),e(h)):n(h)}}const jfe={tokenize:Nfe};function Nfe(t){const e=this,n=t.attempt(T0,r,t.attempt(this.parser.constructs.flowInitial,s,Ht(t,t.attempt(this.parser.constructs.flow,s,t.attempt(Mhe,s)),"linePrefix")));return n;function r(i){if(i===null){t.consume(i);return}return t.enter("lineEndingBlank"),t.consume(i),t.exit("lineEndingBlank"),e.currentConstruct=void 0,n}function s(i){if(i===null){t.consume(i);return}return t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),e.currentConstruct=void 0,n}}const Cfe={resolveAll:bq()},Tfe=yq("string"),Efe=yq("text");function yq(t){return{resolveAll:bq(t==="text"?_fe:void 0),tokenize:e};function e(n){const r=this,s=this.parser.constructs[t],i=n.attempt(s,a,o);return a;function a(f){return h(f)?i(f):o(f)}function o(f){if(f===null){n.consume(f);return}return n.enter("data"),n.consume(f),u}function u(f){return h(f)?(n.exit("data"),i(f)):(n.consume(f),u)}function h(f){if(f===null)return!0;const m=s[f];let g=-1;if(m)for(;++g-1){const o=a[0];typeof o=="string"?a[0]=o.slice(r):a.shift()}i>0&&a.push(t[s].slice(0,i))}return a}function Qfe(t,e){let n=-1;const r=[];let s;for(;++n0){const Vt=Le.tokenStack[Le.tokenStack.length-1];(Vt[1]||YT).call(Le,void 0,Vt[0])}for(Oe.position={start:_o(le.length>0?le[0][1].start:{line:1,column:1,offset:0}),end:_o(le.length>0?le[le.length-2][1].end:{line:1,column:1,offset:0})},Ot=-1;++Ot1?"-"+o:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};t.patch(e,u);const h={type:"element",tagName:"sup",properties:{},children:[u]};return t.patch(e,h),t.applyData(e,h)}function ame(t,e){const n={type:"element",tagName:"h"+e.depth,properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function lme(t,e){if(t.options.allowDangerousHtml){const n={type:"raw",value:e.value};return t.patch(e,n),t.applyData(e,n)}}function kq(t,e){const n=e.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(e.label||e.identifier)+"]"),e.type==="imageReference")return[{type:"text",value:"!["+e.alt+r}];const s=t.all(e),i=s[0];i&&i.type==="text"?i.value="["+i.value:s.unshift({type:"text",value:"["});const a=s[s.length-1];return a&&a.type==="text"?a.value+=r:s.push({type:"text",value:r}),s}function ome(t,e){const n=String(e.identifier).toUpperCase(),r=t.definitionById.get(n);if(!r)return kq(t,e);const s={src:Ch(r.url||""),alt:e.alt};r.title!==null&&r.title!==void 0&&(s.title=r.title);const i={type:"element",tagName:"img",properties:s,children:[]};return t.patch(e,i),t.applyData(e,i)}function cme(t,e){const n={src:Ch(e.url)};e.alt!==null&&e.alt!==void 0&&(n.alt=e.alt),e.title!==null&&e.title!==void 0&&(n.title=e.title);const r={type:"element",tagName:"img",properties:n,children:[]};return t.patch(e,r),t.applyData(e,r)}function ume(t,e){const n={type:"text",value:e.value.replace(/\r?\n|\r/g," ")};t.patch(e,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return t.patch(e,r),t.applyData(e,r)}function dme(t,e){const n=String(e.identifier).toUpperCase(),r=t.definitionById.get(n);if(!r)return kq(t,e);const s={href:Ch(r.url||"")};r.title!==null&&r.title!==void 0&&(s.title=r.title);const i={type:"element",tagName:"a",properties:s,children:t.all(e)};return t.patch(e,i),t.applyData(e,i)}function hme(t,e){const n={href:Ch(e.url)};e.title!==null&&e.title!==void 0&&(n.title=e.title);const r={type:"element",tagName:"a",properties:n,children:t.all(e)};return t.patch(e,r),t.applyData(e,r)}function fme(t,e,n){const r=t.all(e),s=n?mme(n):Oq(e),i={},a=[];if(typeof e.checked=="boolean"){const f=r[0];let m;f&&f.type==="element"&&f.tagName==="p"?m=f:(m={type:"element",tagName:"p",properties:{},children:[]},r.unshift(m)),m.children.length>0&&m.children.unshift({type:"text",value:" "}),m.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:e.checked,disabled:!0},children:[]}),i.className=["task-list-item"]}let o=-1;for(;++o1}function pme(t,e){const n={},r=t.all(e);let s=-1;for(typeof e.start=="number"&&e.start!==1&&(n.start=e.start);++s0){const a={type:"element",tagName:"tbody",properties:{},children:t.wrap(n,!0)},o=x6(e.children[1]),u=rq(e.children[e.children.length-1]);o&&u&&(a.position={start:o,end:u}),s.push(a)}const i={type:"element",tagName:"table",properties:{},children:t.wrap(s,!0)};return t.patch(e,i),t.applyData(e,i)}function bme(t,e,n){const r=n?n.children:void 0,i=(r?r.indexOf(e):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,o=a?a.length:e.children.length;let u=-1;const h=[];for(;++u0,!0),r[0]),s=r.index+r[0].length,r=n.exec(e);return i.push(JT(e.slice(s),s>0,!1)),i.join("")}function JT(t,e,n){let r=0,s=t.length;if(e){let i=t.codePointAt(r);for(;i===ZT||i===KT;)r++,i=t.codePointAt(r)}if(n){let i=t.codePointAt(s-1);for(;i===ZT||i===KT;)s--,i=t.codePointAt(s-1)}return s>r?t.slice(r,s):""}function kme(t,e){const n={type:"text",value:Sme(String(e.value))};return t.patch(e,n),t.applyData(e,n)}function Ome(t,e){const n={type:"element",tagName:"hr",properties:{},children:[]};return t.patch(e,n),t.applyData(e,n)}const jme={blockquote:eme,break:tme,code:nme,delete:rme,emphasis:sme,footnoteReference:ime,heading:ame,html:lme,imageReference:ome,image:cme,inlineCode:ume,linkReference:dme,link:hme,listItem:fme,list:pme,paragraph:gme,root:xme,strong:vme,table:yme,tableCell:wme,tableRow:bme,text:kme,thematicBreak:Ome,toml:Ug,yaml:Ug,definition:Ug,footnoteDefinition:Ug};function Ug(){}const jq=-1,Ev=0,fm=1,k1=2,O6=3,j6=4,N6=5,C6=6,Nq=7,Cq=8,eE=typeof self=="object"?self:globalThis,Nme=(t,e)=>{const n=(s,i)=>(t.set(i,s),s),r=s=>{if(t.has(s))return t.get(s);const[i,a]=e[s];switch(i){case Ev:case jq:return n(a,s);case fm:{const o=n([],s);for(const u of a)o.push(r(u));return o}case k1:{const o=n({},s);for(const[u,h]of a)o[r(u)]=r(h);return o}case O6:return n(new Date(a),s);case j6:{const{source:o,flags:u}=a;return n(new RegExp(o,u),s)}case N6:{const o=n(new Map,s);for(const[u,h]of a)o.set(r(u),r(h));return o}case C6:{const o=n(new Set,s);for(const u of a)o.add(r(u));return o}case Nq:{const{name:o,message:u}=a;return n(new eE[o](u),s)}case Cq:return n(BigInt(a),s);case"BigInt":return n(Object(BigInt(a)),s);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:o}=new Uint8Array(a);return n(new DataView(o),a)}}return n(new eE[i](a),s)};return r},tE=t=>Nme(new Map,t)(0),ud="",{toString:Cme}={},{keys:Tme}=Object,If=t=>{const e=typeof t;if(e!=="object"||!t)return[Ev,e];const n=Cme.call(t).slice(8,-1);switch(n){case"Array":return[fm,ud];case"Object":return[k1,ud];case"Date":return[O6,ud];case"RegExp":return[j6,ud];case"Map":return[N6,ud];case"Set":return[C6,ud];case"DataView":return[fm,n]}return n.includes("Array")?[fm,n]:n.includes("Error")?[Nq,n]:[k1,n]},Wg=([t,e])=>t===Ev&&(e==="function"||e==="symbol"),Eme=(t,e,n,r)=>{const s=(a,o)=>{const u=r.push(a)-1;return n.set(o,u),u},i=a=>{if(n.has(a))return n.get(a);let[o,u]=If(a);switch(o){case Ev:{let f=a;switch(u){case"bigint":o=Cq,f=a.toString();break;case"function":case"symbol":if(t)throw new TypeError("unable to serialize "+u);f=null;break;case"undefined":return s([jq],a)}return s([o,f],a)}case fm:{if(u){let g=a;return u==="DataView"?g=new Uint8Array(a.buffer):u==="ArrayBuffer"&&(g=new Uint8Array(a)),s([u,[...g]],a)}const f=[],m=s([o,f],a);for(const g of a)f.push(i(g));return m}case k1:{if(u)switch(u){case"BigInt":return s([u,a.toString()],a);case"Boolean":case"Number":case"String":return s([u,a.valueOf()],a)}if(e&&"toJSON"in a)return i(a.toJSON());const f=[],m=s([o,f],a);for(const g of Tme(a))(t||!Wg(If(a[g])))&&f.push([i(g),i(a[g])]);return m}case O6:return s([o,a.toISOString()],a);case j6:{const{source:f,flags:m}=a;return s([o,{source:f,flags:m}],a)}case N6:{const f=[],m=s([o,f],a);for(const[g,x]of a)(t||!(Wg(If(g))||Wg(If(x))))&&f.push([i(g),i(x)]);return m}case C6:{const f=[],m=s([o,f],a);for(const g of a)(t||!Wg(If(g)))&&f.push(i(g));return m}}const{message:h}=a;return s([o,{name:u,message:h}],a)};return i},nE=(t,{json:e,lossy:n}={})=>{const r=[];return Eme(!(e||n),!!e,new Map,r)(t),r},O1=typeof structuredClone=="function"?(t,e)=>e&&("json"in e||"lossy"in e)?tE(nE(t,e)):structuredClone(t):(t,e)=>tE(nE(t,e));function _me(t,e){const n=[{type:"text",value:"↩"}];return e>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(e)}]}),n}function Mme(t,e){return"Back to reference "+(t+1)+(e>1?"-"+e:"")}function Ame(t){const e=typeof t.options.clobberPrefix=="string"?t.options.clobberPrefix:"user-content-",n=t.options.footnoteBackContent||_me,r=t.options.footnoteBackLabel||Mme,s=t.options.footnoteLabel||"Footnotes",i=t.options.footnoteLabelTagName||"h2",a=t.options.footnoteLabelProperties||{className:["sr-only"]},o=[];let u=-1;for(;++u0&&y.push({type:"text",value:" "});let N=typeof n=="string"?n:n(u,x);typeof N=="string"&&(N={type:"text",value:N}),y.push({type:"element",tagName:"a",properties:{href:"#"+e+"fnref-"+g+(x>1?"-"+x:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(u,x),className:["data-footnote-backref"]},children:Array.isArray(N)?N:[N]})}const b=f[f.length-1];if(b&&b.type==="element"&&b.tagName==="p"){const N=b.children[b.children.length-1];N&&N.type==="text"?N.value+=" ":b.children.push({type:"text",value:" "}),b.children.push(...y)}else f.push(...y);const k={type:"element",tagName:"li",properties:{id:e+"fn-"+g},children:t.wrap(f,!0)};t.patch(h,k),o.push(k)}if(o.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:i,properties:{...O1(a),id:"footnote-label"},children:[{type:"text",value:s}]},{type:"text",value:` +`},{type:"element",tagName:"ol",properties:{},children:t.wrap(o,!0)},{type:"text",value:` +`}]}}const E0=(function(t){if(t==null)return Pme;if(typeof t=="function")return _v(t);if(typeof t=="object")return Array.isArray(t)?Rme(t):Dme(t);if(typeof t=="string")return zme(t);throw new Error("Expected function, string, or object as test")});function Rme(t){const e=[];let n=-1;for(;++n":""))+")"})}return g;function g(){let x=Tq,y,w,b;if((!e||i(u,h,f[f.length-1]||void 0))&&(x=Ime(n(u,f)),x[0]===rS))return x;if("children"in u&&u.children){const k=u;if(k.children&&x[0]!==Eq)for(w=(r?k.children.length:-1)+a,b=f.concat(k);w>-1&&w0&&n.push({type:"text",value:` +`}),n}function rE(t){let e=0,n=t.charCodeAt(e);for(;n===9||n===32;)e++,n=t.charCodeAt(e);return t.slice(e)}function sE(t,e){const n=Fme(t,e),r=n.one(t,void 0),s=Ame(n),i=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return s&&i.children.push({type:"text",value:` +`},s),i}function Ume(t,e){return t&&"run"in t?async function(n,r){const s=sE(n,{file:r,...e});await t.run(s,r)}:function(n,r){return sE(n,{file:r,...t||e})}}function iE(t){if(t)throw t}var h4,aE;function Wme(){if(aE)return h4;aE=1;var t=Object.prototype.hasOwnProperty,e=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,s=function(h){return typeof Array.isArray=="function"?Array.isArray(h):e.call(h)==="[object Array]"},i=function(h){if(!h||e.call(h)!=="[object Object]")return!1;var f=t.call(h,"constructor"),m=h.constructor&&h.constructor.prototype&&t.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!f&&!m)return!1;var g;for(g in h);return typeof g>"u"||t.call(h,g)},a=function(h,f){n&&f.name==="__proto__"?n(h,f.name,{enumerable:!0,configurable:!0,value:f.newValue,writable:!0}):h[f.name]=f.newValue},o=function(h,f){if(f==="__proto__")if(t.call(h,f)){if(r)return r(h,f).value}else return;return h[f]};return h4=function u(){var h,f,m,g,x,y,w=arguments[0],b=1,k=arguments.length,N=!1;for(typeof w=="boolean"&&(N=w,w=arguments[1]||{},b=2),(w==null||typeof w!="object"&&typeof w!="function")&&(w={});ba.length;let u;o&&a.push(s);try{u=t.apply(this,a)}catch(h){const f=h;if(o&&n)throw f;return s(f)}o||(u&&u.then&&typeof u.then=="function"?u.then(i,s):u instanceof Error?s(u):i(u))}function s(a,...o){n||(n=!0,e(a,...o))}function i(a){s(null,a)}}const Sa={basename:Zme,dirname:Kme,extname:Jme,join:e0e,sep:"/"};function Zme(t,e){if(e!==void 0&&typeof e!="string")throw new TypeError('"ext" argument must be a string');_0(t);let n=0,r=-1,s=t.length,i;if(e===void 0||e.length===0||e.length>t.length){for(;s--;)if(t.codePointAt(s)===47){if(i){n=s+1;break}}else r<0&&(i=!0,r=s+1);return r<0?"":t.slice(n,r)}if(e===t)return"";let a=-1,o=e.length-1;for(;s--;)if(t.codePointAt(s)===47){if(i){n=s+1;break}}else a<0&&(i=!0,a=s+1),o>-1&&(t.codePointAt(s)===e.codePointAt(o--)?o<0&&(r=s):(o=-1,r=a));return n===r?r=a:r<0&&(r=t.length),t.slice(n,r)}function Kme(t){if(_0(t),t.length===0)return".";let e=-1,n=t.length,r;for(;--n;)if(t.codePointAt(n)===47){if(r){e=n;break}}else r||(r=!0);return e<0?t.codePointAt(0)===47?"/":".":e===1&&t.codePointAt(0)===47?"//":t.slice(0,e)}function Jme(t){_0(t);let e=t.length,n=-1,r=0,s=-1,i=0,a;for(;e--;){const o=t.codePointAt(e);if(o===47){if(a){r=e+1;break}continue}n<0&&(a=!0,n=e+1),o===46?s<0?s=e:i!==1&&(i=1):s>-1&&(i=-1)}return s<0||n<0||i===0||i===1&&s===n-1&&s===r+1?"":t.slice(s,n)}function e0e(...t){let e=-1,n;for(;++e0&&t.codePointAt(t.length-1)===47&&(n+="/"),e?"/"+n:n}function n0e(t,e){let n="",r=0,s=-1,i=0,a=-1,o,u;for(;++a<=t.length;){if(a2){if(u=n.lastIndexOf("/"),u!==n.length-1){u<0?(n="",r=0):(n=n.slice(0,u),r=n.length-1-n.lastIndexOf("/")),s=a,i=0;continue}}else if(n.length>0){n="",r=0,s=a,i=0;continue}}e&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+t.slice(s+1,a):n=t.slice(s+1,a),r=a-s-1;s=a,i=0}else o===46&&i>-1?i++:i=-1}return n}function _0(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}const r0e={cwd:s0e};function s0e(){return"/"}function aS(t){return!!(t!==null&&typeof t=="object"&&"href"in t&&t.href&&"protocol"in t&&t.protocol&&t.auth===void 0)}function i0e(t){if(typeof t=="string")t=new URL(t);else if(!aS(t)){const e=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+t+"`");throw e.code="ERR_INVALID_ARG_TYPE",e}if(t.protocol!=="file:"){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return a0e(t)}function a0e(t){if(t.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const e=t.pathname;let n=-1;for(;++n0){let[x,...y]=f;const w=r[g][1];iS(w)&&iS(x)&&(x=f4(!0,w,x)),r[g]=[h,x,...y]}}}}const u0e=new _6().freeze();function x4(t,e){if(typeof e!="function")throw new TypeError("Cannot `"+t+"` without `parser`")}function v4(t,e){if(typeof e!="function")throw new TypeError("Cannot `"+t+"` without `compiler`")}function y4(t,e){if(e)throw new Error("Cannot call `"+t+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function oE(t){if(!iS(t)||typeof t.type!="string")throw new TypeError("Expected node, got `"+t+"`")}function cE(t,e,n){if(!n)throw new Error("`"+t+"` finished async. Use `"+e+"` instead")}function Gg(t){return d0e(t)?t:new _q(t)}function d0e(t){return!!(t&&typeof t=="object"&&"message"in t&&"messages"in t)}function h0e(t){return typeof t=="string"||f0e(t)}function f0e(t){return!!(t&&typeof t=="object"&&"byteLength"in t&&"byteOffset"in t)}const m0e="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",uE=[],dE={allowDangerousHtml:!0},p0e=/^(https?|ircs?|mailto|xmpp)$/i,g0e=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function x0e(t){const e=v0e(t),n=y0e(t);return b0e(e.runSync(e.parse(n),n),t)}function v0e(t){const e=t.rehypePlugins||uE,n=t.remarkPlugins||uE,r=t.remarkRehypeOptions?{...t.remarkRehypeOptions,...dE}:dE;return u0e().use(Jfe).use(n).use(Ume,r).use(e)}function y0e(t){const e=t.children||"",n=new _q;return typeof e=="string"&&(n.value=e),n}function b0e(t,e){const n=e.allowedElements,r=e.allowElement,s=e.components,i=e.disallowedElements,a=e.skipHtml,o=e.unwrapDisallowed,u=e.urlTransform||w0e;for(const f of g0e)Object.hasOwn(e,f.from)&&(""+f.from+(f.to?"use `"+f.to+"` instead":"remove it")+m0e+f.id,void 0);return E6(t,h),Pde(t,{Fragment:l.Fragment,components:s,ignoreInvalidStyle:!0,jsx:l.jsx,jsxs:l.jsxs,passKeys:!0,passNode:!0});function h(f,m,g){if(f.type==="raw"&&g&&typeof m=="number")return a?g.children.splice(m,1):g.children[m]={type:"text",value:f.value},m;if(f.type==="element"){let x;for(x in c4)if(Object.hasOwn(c4,x)&&Object.hasOwn(f.properties,x)){const y=f.properties[x],w=c4[x];(w===null||w.includes(f.tagName))&&(f.properties[x]=u(String(y||""),x,f))}}if(f.type==="element"){let x=n?!n.includes(f.tagName):i?i.includes(f.tagName):!1;if(!x&&r&&typeof m=="number"&&(x=!r(f,m,g)),x&&g&&typeof m=="number")return o&&f.children?g.children.splice(m,1,...f.children):g.children.splice(m,1),m}}}function w0e(t){const e=t.indexOf(":"),n=t.indexOf("?"),r=t.indexOf("#"),s=t.indexOf("/");return e===-1||s!==-1&&e>s||n!==-1&&e>n||r!==-1&&e>r||p0e.test(t.slice(0,e))?t:""}function hE(t,e){const n=String(t);if(typeof e!="string")throw new TypeError("Expected character");let r=0,s=n.indexOf(e);for(;s!==-1;)r++,s=n.indexOf(e,s+e.length);return r}function S0e(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function k0e(t,e,n){const s=E0((n||{}).ignore||[]),i=O0e(e);let a=-1;for(;++a0?{type:"text",value:_}:void 0),_===!1?g.lastIndex=T+1:(y!==T&&N.push({type:"text",value:h.value.slice(y,T)}),Array.isArray(_)?N.push(..._):_&&N.push(_),y=T+C[0].length,k=!0),!g.global)break;C=g.exec(h.value)}return k?(y?\]}]+$/.exec(t);if(!e)return[t,void 0];t=t.slice(0,e.index);let n=e[0],r=n.indexOf(")");const s=hE(t,"(");let i=hE(t,")");for(;r!==-1&&s>i;)t+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),i++;return[t,n]}function Mq(t,e){const n=t.input.charCodeAt(t.index-1);return(t.index===0||mu(n)||Cv(n))&&(!e||n!==47)}Aq.peek=W0e;function I0e(){this.buffer()}function q0e(t){this.enter({type:"footnoteReference",identifier:"",label:""},t)}function F0e(){this.buffer()}function $0e(t){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},t)}function Q0e(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ta(this.sliceSerialize(t)).toLowerCase(),n.label=e}function H0e(t){this.exit(t)}function V0e(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ta(this.sliceSerialize(t)).toLowerCase(),n.label=e}function U0e(t){this.exit(t)}function W0e(){return"["}function Aq(t,e,n,r){const s=n.createTracker(r);let i=s.move("[^");const a=n.enter("footnoteReference"),o=n.enter("reference");return i+=s.move(n.safe(n.associationId(t),{after:"]",before:i})),o(),a(),i+=s.move("]"),i}function G0e(){return{enter:{gfmFootnoteCallString:I0e,gfmFootnoteCall:q0e,gfmFootnoteDefinitionLabelString:F0e,gfmFootnoteDefinition:$0e},exit:{gfmFootnoteCallString:Q0e,gfmFootnoteCall:H0e,gfmFootnoteDefinitionLabelString:V0e,gfmFootnoteDefinition:U0e}}}function X0e(t){let e=!1;return t&&t.firstLineBlank&&(e=!0),{handlers:{footnoteDefinition:n,footnoteReference:Aq},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,s,i,a){const o=i.createTracker(a);let u=o.move("[^");const h=i.enter("footnoteDefinition"),f=i.enter("label");return u+=o.move(i.safe(i.associationId(r),{before:u,after:"]"})),f(),u+=o.move("]:"),r.children&&r.children.length>0&&(o.shift(4),u+=o.move((e?` +`:" ")+i.indentLines(i.containerFlow(r,o.current()),e?Rq:Y0e))),h(),u}}function Y0e(t,e,n){return e===0?t:Rq(t,e,n)}function Rq(t,e,n){return(n?"":" ")+t}const Z0e=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Dq.peek=npe;function K0e(){return{canContainEols:["delete"],enter:{strikethrough:epe},exit:{strikethrough:tpe}}}function J0e(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:Z0e}],handlers:{delete:Dq}}}function epe(t){this.enter({type:"delete",children:[]},t)}function tpe(t){this.exit(t)}function Dq(t,e,n,r){const s=n.createTracker(r),i=n.enter("strikethrough");let a=s.move("~~");return a+=n.containerPhrasing(t,{...s.current(),before:a,after:"~"}),a+=s.move("~~"),i(),a}function npe(){return"~"}function rpe(t){return t.length}function spe(t,e){const n=e||{},r=(n.align||[]).concat(),s=n.stringLength||rpe,i=[],a=[],o=[],u=[];let h=0,f=-1;for(;++fh&&(h=t[f].length);++ku[k])&&(u[k]=C)}w.push(N)}a[f]=w,o[f]=b}let m=-1;if(typeof r=="object"&&"length"in r)for(;++mu[m]&&(u[m]=N),x[m]=N),g[m]=C}a.splice(1,0,g),o.splice(1,0,x),f=-1;const y=[];for(;++f "),i.shift(2);const a=n.indentLines(n.containerFlow(t,i.current()),lpe);return s(),a}function lpe(t,e,n){return">"+(n?"":" ")+t}function ope(t,e){return mE(t,e.inConstruct,!0)&&!mE(t,e.notInConstruct,!1)}function mE(t,e,n){if(typeof e=="string"&&(e=[e]),!e||e.length===0)return n;let r=-1;for(;++ra&&(a=i):i=1,s=r+e.length,r=n.indexOf(e,s);return a}function cpe(t,e){return!!(e.options.fences===!1&&t.value&&!t.lang&&/[^ \r\n]/.test(t.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(t.value))}function upe(t){const e=t.options.fence||"`";if(e!=="`"&&e!=="~")throw new Error("Cannot serialize code with `"+e+"` for `options.fence`, expected `` ` `` or `~`");return e}function dpe(t,e,n,r){const s=upe(n),i=t.value||"",a=s==="`"?"GraveAccent":"Tilde";if(cpe(t,n)){const m=n.enter("codeIndented"),g=n.indentLines(i,hpe);return m(),g}const o=n.createTracker(r),u=s.repeat(Math.max(zq(i,s)+1,3)),h=n.enter("codeFenced");let f=o.move(u);if(t.lang){const m=n.enter(`codeFencedLang${a}`);f+=o.move(n.safe(t.lang,{before:f,after:" ",encode:["`"],...o.current()})),m()}if(t.lang&&t.meta){const m=n.enter(`codeFencedMeta${a}`);f+=o.move(" "),f+=o.move(n.safe(t.meta,{before:f,after:` +`,encode:["`"],...o.current()})),m()}return f+=o.move(` +`),i&&(f+=o.move(i+` +`)),f+=o.move(u),h(),f}function hpe(t,e,n){return(n?"":" ")+t}function M6(t){const e=t.options.quote||'"';if(e!=='"'&&e!=="'")throw new Error("Cannot serialize title with `"+e+"` for `options.quote`, expected `\"`, or `'`");return e}function fpe(t,e,n,r){const s=M6(n),i=s==='"'?"Quote":"Apostrophe",a=n.enter("definition");let o=n.enter("label");const u=n.createTracker(r);let h=u.move("[");return h+=u.move(n.safe(n.associationId(t),{before:h,after:"]",...u.current()})),h+=u.move("]: "),o(),!t.url||/[\0- \u007F]/.test(t.url)?(o=n.enter("destinationLiteral"),h+=u.move("<"),h+=u.move(n.safe(t.url,{before:h,after:">",...u.current()})),h+=u.move(">")):(o=n.enter("destinationRaw"),h+=u.move(n.safe(t.url,{before:h,after:t.title?" ":` +`,...u.current()}))),o(),t.title&&(o=n.enter(`title${i}`),h+=u.move(" "+s),h+=u.move(n.safe(t.title,{before:h,after:s,...u.current()})),h+=u.move(s),o()),a(),h}function mpe(t){const e=t.options.emphasis||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize emphasis with `"+e+"` for `options.emphasis`, expected `*`, or `_`");return e}function Qm(t){return"&#x"+t.toString(16).toUpperCase()+";"}function j1(t,e,n){const r=ch(t),s=ch(e);return r===void 0?s===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:s===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?s===void 0?{inside:!1,outside:!1}:s===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:s===void 0?{inside:!1,outside:!1}:s===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}Pq.peek=ppe;function Pq(t,e,n,r){const s=mpe(n),i=n.enter("emphasis"),a=n.createTracker(r),o=a.move(s);let u=a.move(n.containerPhrasing(t,{after:s,before:o,...a.current()}));const h=u.charCodeAt(0),f=j1(r.before.charCodeAt(r.before.length-1),h,s);f.inside&&(u=Qm(h)+u.slice(1));const m=u.charCodeAt(u.length-1),g=j1(r.after.charCodeAt(0),m,s);g.inside&&(u=u.slice(0,-1)+Qm(m));const x=a.move(s);return i(),n.attentionEncodeSurroundingInfo={after:g.outside,before:f.outside},o+u+x}function ppe(t,e,n){return n.options.emphasis||"*"}function gpe(t,e){let n=!1;return E6(t,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,rS}),!!((!t.depth||t.depth<3)&&w6(t)&&(e.options.setext||n))}function xpe(t,e,n,r){const s=Math.max(Math.min(6,t.depth||1),1),i=n.createTracker(r);if(gpe(t,n)){const f=n.enter("headingSetext"),m=n.enter("phrasing"),g=n.containerPhrasing(t,{...i.current(),before:` +`,after:` +`});return m(),f(),g+` +`+(s===1?"=":"-").repeat(g.length-(Math.max(g.lastIndexOf("\r"),g.lastIndexOf(` +`))+1))}const a="#".repeat(s),o=n.enter("headingAtx"),u=n.enter("phrasing");i.move(a+" ");let h=n.containerPhrasing(t,{before:"# ",after:` +`,...i.current()});return/^[\t ]/.test(h)&&(h=Qm(h.charCodeAt(0))+h.slice(1)),h=h?a+" "+h:a,n.options.closeAtx&&(h+=" "+a),u(),o(),h}Lq.peek=vpe;function Lq(t){return t.value||""}function vpe(){return"<"}Bq.peek=ype;function Bq(t,e,n,r){const s=M6(n),i=s==='"'?"Quote":"Apostrophe",a=n.enter("image");let o=n.enter("label");const u=n.createTracker(r);let h=u.move("![");return h+=u.move(n.safe(t.alt,{before:h,after:"]",...u.current()})),h+=u.move("]("),o(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(o=n.enter("destinationLiteral"),h+=u.move("<"),h+=u.move(n.safe(t.url,{before:h,after:">",...u.current()})),h+=u.move(">")):(o=n.enter("destinationRaw"),h+=u.move(n.safe(t.url,{before:h,after:t.title?" ":")",...u.current()}))),o(),t.title&&(o=n.enter(`title${i}`),h+=u.move(" "+s),h+=u.move(n.safe(t.title,{before:h,after:s,...u.current()})),h+=u.move(s),o()),h+=u.move(")"),a(),h}function ype(){return"!"}Iq.peek=bpe;function Iq(t,e,n,r){const s=t.referenceType,i=n.enter("imageReference");let a=n.enter("label");const o=n.createTracker(r);let u=o.move("![");const h=n.safe(t.alt,{before:u,after:"]",...o.current()});u+=o.move(h+"]["),a();const f=n.stack;n.stack=[],a=n.enter("reference");const m=n.safe(n.associationId(t),{before:u,after:"]",...o.current()});return a(),n.stack=f,i(),s==="full"||!h||h!==m?u+=o.move(m+"]"):s==="shortcut"?u=u.slice(0,-1):u+=o.move("]"),u}function bpe(){return"!"}qq.peek=wpe;function qq(t,e,n){let r=t.value||"",s="`",i=-1;for(;new RegExp("(^|[^`])"+s+"([^`]|$)").test(r);)s+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i\u007F]/.test(t.url))}$q.peek=Spe;function $q(t,e,n,r){const s=M6(n),i=s==='"'?"Quote":"Apostrophe",a=n.createTracker(r);let o,u;if(Fq(t,n)){const f=n.stack;n.stack=[],o=n.enter("autolink");let m=a.move("<");return m+=a.move(n.containerPhrasing(t,{before:m,after:">",...a.current()})),m+=a.move(">"),o(),n.stack=f,m}o=n.enter("link"),u=n.enter("label");let h=a.move("[");return h+=a.move(n.containerPhrasing(t,{before:h,after:"](",...a.current()})),h+=a.move("]("),u(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(u=n.enter("destinationLiteral"),h+=a.move("<"),h+=a.move(n.safe(t.url,{before:h,after:">",...a.current()})),h+=a.move(">")):(u=n.enter("destinationRaw"),h+=a.move(n.safe(t.url,{before:h,after:t.title?" ":")",...a.current()}))),u(),t.title&&(u=n.enter(`title${i}`),h+=a.move(" "+s),h+=a.move(n.safe(t.title,{before:h,after:s,...a.current()})),h+=a.move(s),u()),h+=a.move(")"),o(),h}function Spe(t,e,n){return Fq(t,n)?"<":"["}Qq.peek=kpe;function Qq(t,e,n,r){const s=t.referenceType,i=n.enter("linkReference");let a=n.enter("label");const o=n.createTracker(r);let u=o.move("[");const h=n.containerPhrasing(t,{before:u,after:"]",...o.current()});u+=o.move(h+"]["),a();const f=n.stack;n.stack=[],a=n.enter("reference");const m=n.safe(n.associationId(t),{before:u,after:"]",...o.current()});return a(),n.stack=f,i(),s==="full"||!h||h!==m?u+=o.move(m+"]"):s==="shortcut"?u=u.slice(0,-1):u+=o.move("]"),u}function kpe(){return"["}function A6(t){const e=t.options.bullet||"*";if(e!=="*"&&e!=="+"&&e!=="-")throw new Error("Cannot serialize items with `"+e+"` for `options.bullet`, expected `*`, `+`, or `-`");return e}function Ope(t){const e=A6(t),n=t.options.bulletOther;if(!n)return e==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===e)throw new Error("Expected `bullet` (`"+e+"`) and `bulletOther` (`"+n+"`) to be different");return n}function jpe(t){const e=t.options.bulletOrdered||".";if(e!=="."&&e!==")")throw new Error("Cannot serialize items with `"+e+"` for `options.bulletOrdered`, expected `.` or `)`");return e}function Hq(t){const e=t.options.rule||"*";if(e!=="*"&&e!=="-"&&e!=="_")throw new Error("Cannot serialize rules with `"+e+"` for `options.rule`, expected `*`, `-`, or `_`");return e}function Npe(t,e,n,r){const s=n.enter("list"),i=n.bulletCurrent;let a=t.ordered?jpe(n):A6(n);const o=t.ordered?a==="."?")":".":Ope(n);let u=e&&n.bulletLastUsed?a===n.bulletLastUsed:!1;if(!t.ordered){const f=t.children?t.children[0]:void 0;if((a==="*"||a==="-")&&f&&(!f.children||!f.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(u=!0),Hq(n)===a&&f){let m=-1;for(;++m-1?e.start:1)+(n.options.incrementListMarker===!1?0:e.children.indexOf(t))+i);let a=i.length+1;(s==="tab"||s==="mixed"&&(e&&e.type==="list"&&e.spread||t.spread))&&(a=Math.ceil(a/4)*4);const o=n.createTracker(r);o.move(i+" ".repeat(a-i.length)),o.shift(a);const u=n.enter("listItem"),h=n.indentLines(n.containerFlow(t,o.current()),f);return u(),h;function f(m,g,x){return g?(x?"":" ".repeat(a))+m:(x?i:i+" ".repeat(a-i.length))+m}}function Epe(t,e,n,r){const s=n.enter("paragraph"),i=n.enter("phrasing"),a=n.containerPhrasing(t,r);return i(),s(),a}const _pe=E0(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function Mpe(t,e,n,r){return(t.children.some(function(a){return _pe(a)})?n.containerPhrasing:n.containerFlow).call(n,t,r)}function Ape(t){const e=t.options.strong||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize strong with `"+e+"` for `options.strong`, expected `*`, or `_`");return e}Vq.peek=Rpe;function Vq(t,e,n,r){const s=Ape(n),i=n.enter("strong"),a=n.createTracker(r),o=a.move(s+s);let u=a.move(n.containerPhrasing(t,{after:s,before:o,...a.current()}));const h=u.charCodeAt(0),f=j1(r.before.charCodeAt(r.before.length-1),h,s);f.inside&&(u=Qm(h)+u.slice(1));const m=u.charCodeAt(u.length-1),g=j1(r.after.charCodeAt(0),m,s);g.inside&&(u=u.slice(0,-1)+Qm(m));const x=a.move(s+s);return i(),n.attentionEncodeSurroundingInfo={after:g.outside,before:f.outside},o+u+x}function Rpe(t,e,n){return n.options.strong||"*"}function Dpe(t,e,n,r){return n.safe(t.value,r)}function zpe(t){const e=t.options.ruleRepetition||3;if(e<3)throw new Error("Cannot serialize rules with repetition `"+e+"` for `options.ruleRepetition`, expected `3` or more");return e}function Ppe(t,e,n){const r=(Hq(n)+(n.options.ruleSpaces?" ":"")).repeat(zpe(n));return n.options.ruleSpaces?r.slice(0,-1):r}const Uq={blockquote:ape,break:pE,code:dpe,definition:fpe,emphasis:Pq,hardBreak:pE,heading:xpe,html:Lq,image:Bq,imageReference:Iq,inlineCode:qq,link:$q,linkReference:Qq,list:Npe,listItem:Tpe,paragraph:Epe,root:Mpe,strong:Vq,text:Dpe,thematicBreak:Ppe};function Lpe(){return{enter:{table:Bpe,tableData:gE,tableHeader:gE,tableRow:qpe},exit:{codeText:Fpe,table:Ipe,tableData:k4,tableHeader:k4,tableRow:k4}}}function Bpe(t){const e=t._align;this.enter({type:"table",align:e.map(function(n){return n==="none"?null:n}),children:[]},t),this.data.inTable=!0}function Ipe(t){this.exit(t),this.data.inTable=void 0}function qpe(t){this.enter({type:"tableRow",children:[]},t)}function k4(t){this.exit(t)}function gE(t){this.enter({type:"tableCell",children:[]},t)}function Fpe(t){let e=this.resume();this.data.inTable&&(e=e.replace(/\\([\\|])/g,$pe));const n=this.stack[this.stack.length-1];n.type,n.value=e,this.exit(t)}function $pe(t,e){return e==="|"?e:t}function Qpe(t){const e=t||{},n=e.tableCellPadding,r=e.tablePipeAlign,s=e.stringLength,i=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` +`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:g,table:a,tableCell:u,tableRow:o}};function a(x,y,w,b){return h(f(x,w,b),x.align)}function o(x,y,w,b){const k=m(x,w,b),N=h([k]);return N.slice(0,N.indexOf(` +`))}function u(x,y,w,b){const k=w.enter("tableCell"),N=w.enter("phrasing"),C=w.containerPhrasing(x,{...b,before:i,after:i});return N(),k(),C}function h(x,y){return spe(x,{align:y,alignDelimiters:r,padding:n,stringLength:s})}function f(x,y,w){const b=x.children;let k=-1;const N=[],C=y.enter("table");for(;++k0&&!n&&(t[t.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const lge={tokenize:pge,partial:!0};function oge(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:hge,continuation:{tokenize:fge},exit:mge}},text:{91:{name:"gfmFootnoteCall",tokenize:dge},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:cge,resolveTo:uge}}}}function cge(t,e,n){const r=this;let s=r.events.length;const i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a;for(;s--;){const u=r.events[s][1];if(u.type==="labelImage"){a=u;break}if(u.type==="gfmFootnoteCall"||u.type==="labelLink"||u.type==="label"||u.type==="image"||u.type==="link")break}return o;function o(u){if(!a||!a._balanced)return n(u);const h=ta(r.sliceSerialize({start:a.end,end:r.now()}));return h.codePointAt(0)!==94||!i.includes(h.slice(1))?n(u):(t.enter("gfmFootnoteCallLabelMarker"),t.consume(u),t.exit("gfmFootnoteCallLabelMarker"),e(u))}}function uge(t,e){let n=t.length;for(;n--;)if(t[n][1].type==="labelImage"&&t[n][0]==="enter"){t[n][1];break}t[n+1][1].type="data",t[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},t[n+3][1].start),end:Object.assign({},t[t.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},t[n+3][1].end),end:Object.assign({},t[n+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const i={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},t[t.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},i.start),end:Object.assign({},i.end)},o=[t[n+1],t[n+2],["enter",r,e],t[n+3],t[n+4],["enter",s,e],["exit",s,e],["enter",i,e],["enter",a,e],["exit",a,e],["exit",i,e],t[t.length-2],t[t.length-1],["exit",r,e]];return t.splice(n,t.length-n+1,...o),t}function dge(t,e,n){const r=this,s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i=0,a;return o;function o(m){return t.enter("gfmFootnoteCall"),t.enter("gfmFootnoteCallLabelMarker"),t.consume(m),t.exit("gfmFootnoteCallLabelMarker"),u}function u(m){return m!==94?n(m):(t.enter("gfmFootnoteCallMarker"),t.consume(m),t.exit("gfmFootnoteCallMarker"),t.enter("gfmFootnoteCallString"),t.enter("chunkString").contentType="string",h)}function h(m){if(i>999||m===93&&!a||m===null||m===91||$n(m))return n(m);if(m===93){t.exit("chunkString");const g=t.exit("gfmFootnoteCallString");return s.includes(ta(r.sliceSerialize(g)))?(t.enter("gfmFootnoteCallLabelMarker"),t.consume(m),t.exit("gfmFootnoteCallLabelMarker"),t.exit("gfmFootnoteCall"),e):n(m)}return $n(m)||(a=!0),i++,t.consume(m),m===92?f:h}function f(m){return m===91||m===92||m===93?(t.consume(m),i++,h):h(m)}}function hge(t,e,n){const r=this,s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i,a=0,o;return u;function u(y){return t.enter("gfmFootnoteDefinition")._container=!0,t.enter("gfmFootnoteDefinitionLabel"),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(y),t.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(y){return y===94?(t.enter("gfmFootnoteDefinitionMarker"),t.consume(y),t.exit("gfmFootnoteDefinitionMarker"),t.enter("gfmFootnoteDefinitionLabelString"),t.enter("chunkString").contentType="string",f):n(y)}function f(y){if(a>999||y===93&&!o||y===null||y===91||$n(y))return n(y);if(y===93){t.exit("chunkString");const w=t.exit("gfmFootnoteDefinitionLabelString");return i=ta(r.sliceSerialize(w)),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(y),t.exit("gfmFootnoteDefinitionLabelMarker"),t.exit("gfmFootnoteDefinitionLabel"),g}return $n(y)||(o=!0),a++,t.consume(y),y===92?m:f}function m(y){return y===91||y===92||y===93?(t.consume(y),a++,f):f(y)}function g(y){return y===58?(t.enter("definitionMarker"),t.consume(y),t.exit("definitionMarker"),s.includes(i)||s.push(i),Ht(t,x,"gfmFootnoteDefinitionWhitespace")):n(y)}function x(y){return e(y)}}function fge(t,e,n){return t.check(T0,e,t.attempt(lge,e,n))}function mge(t){t.exit("gfmFootnoteDefinition")}function pge(t,e,n){const r=this;return Ht(t,s,"gfmFootnoteDefinitionIndent",5);function s(i){const a=r.events[r.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?e(i):n(i)}}function gge(t){let n=(t||{}).singleTilde;const r={name:"strikethrough",tokenize:i,resolveAll:s};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function s(a,o){let u=-1;for(;++u1?u(y):(a.consume(y),m++,x);if(m<2&&!n)return u(y);const b=a.exit("strikethroughSequenceTemporary"),k=ch(y);return b._open=!k||k===2&&!!w,b._close=!w||w===2&&!!k,o(y)}}}class xge{constructor(){this.map=[]}add(e,n,r){vge(this,e,n,r)}consume(e){if(this.map.sort(function(i,a){return i[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(e.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),e.length=this.map[n][0];r.push(e.slice()),e.length=0;let s=r.pop();for(;s;){for(const i of s)e.push(i);s=r.pop()}this.map.length=0}}function vge(t,e,n,r){let s=0;if(!(n===0&&r.length===0)){for(;s-1;){const z=r.events[H][1].type;if(z==="lineEnding"||z==="linePrefix")H--;else break}const U=H>-1?r.events[H][1].type:null,te=U==="tableHead"||U==="tableRow"?_:u;return te===_&&r.parser.lazy[r.now().line]?n(P):te(P)}function u(P){return t.enter("tableHead"),t.enter("tableRow"),h(P)}function h(P){return P===124||(a=!0,i+=1),f(P)}function f(P){return P===null?n(P):it(P)?i>1?(i=0,r.interrupt=!0,t.exit("tableRow"),t.enter("lineEnding"),t.consume(P),t.exit("lineEnding"),x):n(P):Gt(P)?Ht(t,f,"whitespace")(P):(i+=1,a&&(a=!1,s+=1),P===124?(t.enter("tableCellDivider"),t.consume(P),t.exit("tableCellDivider"),a=!0,f):(t.enter("data"),m(P)))}function m(P){return P===null||P===124||$n(P)?(t.exit("data"),f(P)):(t.consume(P),P===92?g:m)}function g(P){return P===92||P===124?(t.consume(P),m):m(P)}function x(P){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(P):(t.enter("tableDelimiterRow"),a=!1,Gt(P)?Ht(t,y,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(P):y(P))}function y(P){return P===45||P===58?b(P):P===124?(a=!0,t.enter("tableCellDivider"),t.consume(P),t.exit("tableCellDivider"),w):E(P)}function w(P){return Gt(P)?Ht(t,b,"whitespace")(P):b(P)}function b(P){return P===58?(i+=1,a=!0,t.enter("tableDelimiterMarker"),t.consume(P),t.exit("tableDelimiterMarker"),k):P===45?(i+=1,k(P)):P===null||it(P)?T(P):E(P)}function k(P){return P===45?(t.enter("tableDelimiterFiller"),N(P)):E(P)}function N(P){return P===45?(t.consume(P),N):P===58?(a=!0,t.exit("tableDelimiterFiller"),t.enter("tableDelimiterMarker"),t.consume(P),t.exit("tableDelimiterMarker"),C):(t.exit("tableDelimiterFiller"),C(P))}function C(P){return Gt(P)?Ht(t,T,"whitespace")(P):T(P)}function T(P){return P===124?y(P):P===null||it(P)?!a||s!==i?E(P):(t.exit("tableDelimiterRow"),t.exit("tableHead"),e(P)):E(P)}function E(P){return n(P)}function _(P){return t.enter("tableRow"),A(P)}function A(P){return P===124?(t.enter("tableCellDivider"),t.consume(P),t.exit("tableCellDivider"),A):P===null||it(P)?(t.exit("tableRow"),e(P)):Gt(P)?Ht(t,A,"whitespace")(P):(t.enter("data"),F(P))}function F(P){return P===null||P===124||$n(P)?(t.exit("data"),A(P)):(t.consume(P),P===92?B:F)}function B(P){return P===92||P===124?(t.consume(P),F):F(P)}}function Sge(t,e){let n=-1,r=!0,s=0,i=[0,0,0,0],a=[0,0,0,0],o=!1,u=0,h,f,m;const g=new xge;for(;++nn[2]+1){const y=n[2]+1,w=n[3]-n[2]-1;t.add(y,w,[])}}t.add(n[3]+1,0,[["exit",m,e]])}return s!==void 0&&(i.end=Object.assign({},Nd(e.events,s)),t.add(s,0,[["exit",i,e]]),i=void 0),i}function vE(t,e,n,r,s){const i=[],a=Nd(e.events,n);s&&(s.end=Object.assign({},a),i.push(["exit",s,e])),r.end=Object.assign({},a),i.push(["exit",r,e]),t.add(n+1,0,i)}function Nd(t,e){const n=t[e],r=n[0]==="enter"?"start":"end";return n[1][r]}const kge={name:"tasklistCheck",tokenize:jge};function Oge(){return{text:{91:kge}}}function jge(t,e,n){const r=this;return s;function s(u){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(u):(t.enter("taskListCheck"),t.enter("taskListCheckMarker"),t.consume(u),t.exit("taskListCheckMarker"),i)}function i(u){return $n(u)?(t.enter("taskListCheckValueUnchecked"),t.consume(u),t.exit("taskListCheckValueUnchecked"),a):u===88||u===120?(t.enter("taskListCheckValueChecked"),t.consume(u),t.exit("taskListCheckValueChecked"),a):n(u)}function a(u){return u===93?(t.enter("taskListCheckMarker"),t.consume(u),t.exit("taskListCheckMarker"),t.exit("taskListCheck"),o):n(u)}function o(u){return it(u)?e(u):Gt(u)?t.check({tokenize:Nge},e,n)(u):n(u)}}function Nge(t,e,n){return Ht(t,r,"whitespace");function r(s){return s===null?n(s):e(s)}}function Cge(t){return uq([Kpe(),oge(),gge(t),bge(),Oge()])}const Tge={};function Ege(t){const e=this,n=t||Tge,r=e.data(),s=r.micromarkExtensions||(r.micromarkExtensions=[]),i=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),a=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);s.push(Cge(n)),i.push(Gpe()),a.push(Xpe(n))}function _ge(){return{enter:{mathFlow:t,mathFlowFenceMeta:e,mathText:i},exit:{mathFlow:s,mathFlowFence:r,mathFlowFenceMeta:n,mathFlowValue:o,mathText:a,mathTextData:o}};function t(u){const h={type:"element",tagName:"code",properties:{className:["language-math","math-display"]},children:[]};this.enter({type:"math",meta:null,value:"",data:{hName:"pre",hChildren:[h]}},u)}function e(){this.buffer()}function n(){const u=this.resume(),h=this.stack[this.stack.length-1];h.type,h.meta=u}function r(){this.data.mathFlowInside||(this.buffer(),this.data.mathFlowInside=!0)}function s(u){const h=this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),f=this.stack[this.stack.length-1];f.type,this.exit(u),f.value=h;const m=f.data.hChildren[0];m.type,m.tagName,m.children.push({type:"text",value:h}),this.data.mathFlowInside=void 0}function i(u){this.enter({type:"inlineMath",value:"",data:{hName:"code",hProperties:{className:["language-math","math-inline"]},hChildren:[]}},u),this.buffer()}function a(u){const h=this.resume(),f=this.stack[this.stack.length-1];f.type,this.exit(u),f.value=h,f.data.hChildren.push({type:"text",value:h})}function o(u){this.config.enter.data.call(this,u),this.config.exit.data.call(this,u)}}function Mge(t){let e=(t||{}).singleDollarTextMath;return e==null&&(e=!0),r.peek=s,{unsafe:[{character:"\r",inConstruct:"mathFlowMeta"},{character:` +`,inConstruct:"mathFlowMeta"},{character:"$",after:e?void 0:"\\$",inConstruct:"phrasing"},{character:"$",inConstruct:"mathFlowMeta"},{atBreak:!0,character:"$",after:"\\$"}],handlers:{math:n,inlineMath:r}};function n(i,a,o,u){const h=i.value||"",f=o.createTracker(u),m="$".repeat(Math.max(zq(h,"$")+1,2)),g=o.enter("mathFlow");let x=f.move(m);if(i.meta){const y=o.enter("mathFlowMeta");x+=f.move(o.safe(i.meta,{after:` +`,before:x,encode:["$"],...f.current()})),y()}return x+=f.move(` +`),h&&(x+=f.move(h+` +`)),x+=f.move(m),g(),x}function r(i,a,o){let u=i.value||"",h=1;for(e||h++;new RegExp("(^|[^$])"+"\\$".repeat(h)+"([^$]|$)").test(u);)h++;const f="$".repeat(h);/[^ \r\n]/.test(u)&&(/^[ \r\n]/.test(u)&&/[ \r\n]$/.test(u)||/^\$|\$$/.test(u))&&(u=" "+u+" ");let m=-1;for(;++m15?h="…"+o.slice(s-15,s):h=o.slice(0,s);var f;i+15":">","<":"<",'"':""","'":"'"},Qge=/[&><"']/g;function Hge(t){return String(t).replace(Qge,e=>$ge[e])}var tF=function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},Vge=function(e){var n=tF(e);return n.type==="mathord"||n.type==="textord"||n.type==="atom"},Uge=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},Wge=function(e){var n=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return n?n[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(n[1])?null:n[1].toLowerCase():"_relative"},bn={deflt:Ige,escape:Hge,hyphenate:Fge,getBaseElem:tF,isCharacterBox:Vge,protocolFromUrl:Wge},Lx={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function Gge(t){if(t.default)return t.default;var e=t.type,n=Array.isArray(e)?e[0]:e;if(typeof n!="string")return n.enum[0];switch(n){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class D6{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var n in Lx)if(Lx.hasOwnProperty(n)){var r=Lx[n];this[n]=e[n]!==void 0?r.processor?r.processor(e[n]):e[n]:Gge(r)}}reportNonstrict(e,n,r){var s=this.strict;if(typeof s=="function"&&(s=s(e,n,r)),!(!s||s==="ignore")){if(s===!0||s==="error")throw new Be("LaTeX-incompatible input and strict mode is set to 'error': "+(n+" ["+e+"]"),r);s==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+n+" ["+e+"]"))}}useStrictBehavior(e,n,r){var s=this.strict;if(typeof s=="function")try{s=s(e,n,r)}catch{s="error"}return!s||s==="ignore"?!1:s===!0||s==="error"?!0:s==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+n+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var n=bn.protocolFromUrl(e.url);if(n==null)return!1;e.protocol=n}var r=typeof this.trust=="function"?this.trust(e):this.trust;return!!r}}class Mo{constructor(e,n,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=n,this.cramped=r}sup(){return Oa[Xge[this.id]]}sub(){return Oa[Yge[this.id]]}fracNum(){return Oa[Zge[this.id]]}fracDen(){return Oa[Kge[this.id]]}cramp(){return Oa[Jge[this.id]]}text(){return Oa[exe[this.id]]}isTight(){return this.size>=2}}var z6=0,N1=1,Qd=2,Pl=3,Hm=4,zi=5,uh=6,Ss=7,Oa=[new Mo(z6,0,!1),new Mo(N1,0,!0),new Mo(Qd,1,!1),new Mo(Pl,1,!0),new Mo(Hm,2,!1),new Mo(zi,2,!0),new Mo(uh,3,!1),new Mo(Ss,3,!0)],Xge=[Hm,zi,Hm,zi,uh,Ss,uh,Ss],Yge=[zi,zi,zi,zi,Ss,Ss,Ss,Ss],Zge=[Qd,Pl,Hm,zi,uh,Ss,uh,Ss],Kge=[Pl,Pl,zi,zi,Ss,Ss,Ss,Ss],Jge=[N1,N1,Pl,Pl,zi,zi,Ss,Ss],exe=[z6,N1,Qd,Pl,Qd,Pl,Qd,Pl],xt={DISPLAY:Oa[z6],TEXT:Oa[Qd],SCRIPT:Oa[Hm],SCRIPTSCRIPT:Oa[uh]},oS=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function txe(t){for(var e=0;e=s[0]&&t<=s[1])return n.name}return null}var Bx=[];oS.forEach(t=>t.blocks.forEach(e=>Bx.push(...e)));function nF(t){for(var e=0;e=Bx[e]&&t<=Bx[e+1])return!0;return!1}var dd=80,nxe=function(e,n){return"M95,"+(622+e+n)+` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+e/2.075+" -"+e+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+e)+`H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M`+(834+e)+" "+n+"h400000v"+(40+e)+"h-400000z"},rxe=function(e,n){return"M263,"+(601+e+n)+`c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l`+e/2.084+" -"+e+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+e)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M`+(1001+e)+" "+n+"h400000v"+(40+e)+"h-400000z"},sxe=function(e,n){return"M983 "+(10+e+n)+` +l`+e/3.13+" -"+e+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M`+(1001+e)+" "+n+"h400000v"+(40+e)+"h-400000z"},ixe=function(e,n){return"M424,"+(2398+e+n)+` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+e)+`H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+n+` +h400000v`+(40+e)+"h-400000z"},axe=function(e,n){return"M473,"+(2713+e+n)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM`+(1001+e)+" "+n+"h400000v"+(40+e)+"H1017.7z"},lxe=function(e){var n=e/2;return"M400000 "+e+" H0 L"+n+" 0 l65 45 L145 "+(e-80)+" H400000z"},oxe=function(e,n,r){var s=r-54-n-e;return"M702 "+(e+n)+"H400000"+(40+e)+` +H742v`+s+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 `+n+"H400000v"+(40+e)+"H742z"},cxe=function(e,n,r){n=1e3*n;var s="";switch(e){case"sqrtMain":s=nxe(n,dd);break;case"sqrtSize1":s=rxe(n,dd);break;case"sqrtSize2":s=sxe(n,dd);break;case"sqrtSize3":s=ixe(n,dd);break;case"sqrtSize4":s=axe(n,dd);break;case"sqrtTall":s=oxe(n,dd,r)}return s},uxe=function(e,n){switch(e){case"⎜":return"M291 0 H417 V"+n+" H291z M291 0 H417 V"+n+" H291z";case"∣":return"M145 0 H188 V"+n+" H145z M145 0 H188 V"+n+" H145z";case"∥":return"M145 0 H188 V"+n+" H145z M145 0 H188 V"+n+" H145z"+("M367 0 H410 V"+n+" H367z M367 0 H410 V"+n+" H367z");case"⎟":return"M457 0 H583 V"+n+" H457z M457 0 H583 V"+n+" H457z";case"⎢":return"M319 0 H403 V"+n+" H319z M319 0 H403 V"+n+" H319z";case"⎥":return"M263 0 H347 V"+n+" H263z M263 0 H347 V"+n+" H263z";case"⎪":return"M384 0 H504 V"+n+" H384z M384 0 H504 V"+n+" H384z";case"⏐":return"M312 0 H355 V"+n+" H312z M312 0 H355 V"+n+" H312z";case"‖":return"M257 0 H300 V"+n+" H257z M257 0 H300 V"+n+" H257z"+("M478 0 H521 V"+n+" H478z M478 0 H521 V"+n+" H478z");default:return""}},bE={doubleleftarrow:`M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},dxe=function(e,n){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+n+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+n+" v1759 h84z";case"vert":return"M145 15 v585 v"+n+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-n+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+n+" v585 h43z";case"doublevert":return"M145 15 v585 v"+n+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-n+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+n+` v585 h43z +M367 15 v585 v`+n+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-n+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+n+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+n+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+n+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+n+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+n+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+` v602 h84z +M403 1759 V0 H319 V1759 v`+n+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+` v602 h84z +M347 1759 V0 h-84 V1759 v`+n+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(n+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(n+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(n+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-`+(n+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class M0{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),n=0;nn.toText();return this.children.map(e).join("")}}var Ra={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Yg={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},wE={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function hxe(t,e){Ra[t]=e}function P6(t,e,n){if(!Ra[e])throw new Error("Font metrics not found for font: "+e+".");var r=t.charCodeAt(0),s=Ra[e][r];if(!s&&t[0]in wE&&(r=wE[t[0]].charCodeAt(0),s=Ra[e][r]),!s&&n==="text"&&nF(r)&&(s=Ra[e][77]),s)return{depth:s[0],height:s[1],italic:s[2],skew:s[3],width:s[4]}}var O4={};function fxe(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!O4[e]){var n=O4[e]={cssEmPerMu:Yg.quad[e]/18};for(var r in Yg)Yg.hasOwnProperty(r)&&(n[r]=Yg[r][e])}return O4[e]}var mxe=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],SE=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],kE=function(e,n){return n.size<2?e:mxe[e-1][n.size-1]};class Tl{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||Tl.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=SE[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);return new Tl(n)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:kE(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:SE[e-1]})}havingBaseStyle(e){e=e||this.style.text();var n=kE(Tl.BASESIZE,e);return this.size===n&&this.textSize===Tl.BASESIZE&&this.style===e?this:this.extend({style:e,size:n})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==Tl.BASESIZE?["sizing","reset-size"+this.size,"size"+Tl.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=fxe(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}Tl.BASESIZE=6;var cS={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},pxe={ex:!0,em:!0,mu:!0},rF=function(e){return typeof e!="string"&&(e=e.unit),e in cS||e in pxe||e==="ex"},ar=function(e,n){var r;if(e.unit in cS)r=cS[e.unit]/n.fontMetrics().ptPerEm/n.sizeMultiplier;else if(e.unit==="mu")r=n.fontMetrics().cssEmPerMu;else{var s;if(n.style.isTight()?s=n.havingStyle(n.style.text()):s=n,e.unit==="ex")r=s.fontMetrics().xHeight;else if(e.unit==="em")r=s.fontMetrics().quad;else throw new Be("Invalid unit: '"+e.unit+"'");s!==n&&(r*=s.sizeMultiplier/n.sizeMultiplier)}return Math.min(e.number*r,n.maxSize)},$e=function(e){return+e.toFixed(4)+"em"},tc=function(e){return e.filter(n=>n).join(" ")},sF=function(e,n,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},n){n.style.isTight()&&this.classes.push("mtight");var s=n.getColor();s&&(this.style.color=s)}},iF=function(e){var n=document.createElement(e);n.className=tc(this.classes);for(var r in this.style)this.style.hasOwnProperty(r)&&(n.style[r]=this.style[r]);for(var s in this.attributes)this.attributes.hasOwnProperty(s)&&n.setAttribute(s,this.attributes[s]);for(var i=0;i/=\x00-\x1f]/,aF=function(e){var n="<"+e;this.classes.length&&(n+=' class="'+bn.escape(tc(this.classes))+'"');var r="";for(var s in this.style)this.style.hasOwnProperty(s)&&(r+=bn.hyphenate(s)+":"+this.style[s]+";");r&&(n+=' style="'+bn.escape(r)+'"');for(var i in this.attributes)if(this.attributes.hasOwnProperty(i)){if(gxe.test(i))throw new Be("Invalid attribute name '"+i+"'");n+=" "+i+'="'+bn.escape(this.attributes[i])+'"'}n+=">";for(var a=0;a",n};class A0{constructor(e,n,r,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,sF.call(this,e,r,s),this.children=n||[]}setAttribute(e,n){this.attributes[e]=n}hasClass(e){return this.classes.includes(e)}toNode(){return iF.call(this,"span")}toMarkup(){return aF.call(this,"span")}}class L6{constructor(e,n,r,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,sF.call(this,n,s),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,n){this.attributes[e]=n}hasClass(e){return this.classes.includes(e)}toNode(){return iF.call(this,"a")}toMarkup(){return aF.call(this,"a")}}class xxe{constructor(e,n,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=n,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var n in this.style)this.style.hasOwnProperty(n)&&(e.style[n]=this.style[n]);return e}toMarkup(){var e=''+bn.escape(this.alt)+'0&&(n=document.createElement("span"),n.style.marginRight=$e(this.italic)),this.classes.length>0&&(n=n||document.createElement("span"),n.className=tc(this.classes));for(var r in this.style)this.style.hasOwnProperty(r)&&(n=n||document.createElement("span"),n.style[r]=this.style[r]);return n?(n.appendChild(e),n):e}toMarkup(){var e=!1,n="0&&(r+="margin-right:"+this.italic+"em;");for(var s in this.style)this.style.hasOwnProperty(s)&&(r+=bn.hyphenate(s)+":"+this.style[s]+";");r&&(e=!0,n+=' style="'+bn.escape(r)+'"');var i=bn.escape(this.text);return e?(n+=">",n+=i,n+="",n):i}}class Vl{constructor(e,n){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=n||{}}toNode(){var e="http://www.w3.org/2000/svg",n=document.createElementNS(e,"svg");for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&n.setAttribute(r,this.attributes[r]);for(var s=0;s':''}}class uS{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",n=document.createElementNS(e,"line");for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&n.setAttribute(r,this.attributes[r]);return n}toMarkup(){var e=" but got "+String(t)+".")}var bxe={bin:1,close:1,inner:1,open:1,punct:1,rel:1},wxe={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Un={math:{},text:{}};function M(t,e,n,r,s,i){Un[t][s]={font:e,group:n,replace:r},i&&r&&(Un[t][r]=Un[t][s])}var D="math",De="text",V="main",ie="ams",er="accent-token",Ze="bin",Ts="close",Th="inner",pt="mathord",Rr="op-token",xi="open",Mv="punct",ae="rel",Kl="spacing",me="textord";M(D,V,ae,"≡","\\equiv",!0);M(D,V,ae,"≺","\\prec",!0);M(D,V,ae,"≻","\\succ",!0);M(D,V,ae,"∼","\\sim",!0);M(D,V,ae,"⊥","\\perp");M(D,V,ae,"⪯","\\preceq",!0);M(D,V,ae,"⪰","\\succeq",!0);M(D,V,ae,"≃","\\simeq",!0);M(D,V,ae,"∣","\\mid",!0);M(D,V,ae,"≪","\\ll",!0);M(D,V,ae,"≫","\\gg",!0);M(D,V,ae,"≍","\\asymp",!0);M(D,V,ae,"∥","\\parallel");M(D,V,ae,"⋈","\\bowtie",!0);M(D,V,ae,"⌣","\\smile",!0);M(D,V,ae,"⊑","\\sqsubseteq",!0);M(D,V,ae,"⊒","\\sqsupseteq",!0);M(D,V,ae,"≐","\\doteq",!0);M(D,V,ae,"⌢","\\frown",!0);M(D,V,ae,"∋","\\ni",!0);M(D,V,ae,"∝","\\propto",!0);M(D,V,ae,"⊢","\\vdash",!0);M(D,V,ae,"⊣","\\dashv",!0);M(D,V,ae,"∋","\\owns");M(D,V,Mv,".","\\ldotp");M(D,V,Mv,"⋅","\\cdotp");M(D,V,me,"#","\\#");M(De,V,me,"#","\\#");M(D,V,me,"&","\\&");M(De,V,me,"&","\\&");M(D,V,me,"ℵ","\\aleph",!0);M(D,V,me,"∀","\\forall",!0);M(D,V,me,"ℏ","\\hbar",!0);M(D,V,me,"∃","\\exists",!0);M(D,V,me,"∇","\\nabla",!0);M(D,V,me,"♭","\\flat",!0);M(D,V,me,"ℓ","\\ell",!0);M(D,V,me,"♮","\\natural",!0);M(D,V,me,"♣","\\clubsuit",!0);M(D,V,me,"℘","\\wp",!0);M(D,V,me,"♯","\\sharp",!0);M(D,V,me,"♢","\\diamondsuit",!0);M(D,V,me,"ℜ","\\Re",!0);M(D,V,me,"♡","\\heartsuit",!0);M(D,V,me,"ℑ","\\Im",!0);M(D,V,me,"♠","\\spadesuit",!0);M(D,V,me,"§","\\S",!0);M(De,V,me,"§","\\S");M(D,V,me,"¶","\\P",!0);M(De,V,me,"¶","\\P");M(D,V,me,"†","\\dag");M(De,V,me,"†","\\dag");M(De,V,me,"†","\\textdagger");M(D,V,me,"‡","\\ddag");M(De,V,me,"‡","\\ddag");M(De,V,me,"‡","\\textdaggerdbl");M(D,V,Ts,"⎱","\\rmoustache",!0);M(D,V,xi,"⎰","\\lmoustache",!0);M(D,V,Ts,"⟯","\\rgroup",!0);M(D,V,xi,"⟮","\\lgroup",!0);M(D,V,Ze,"∓","\\mp",!0);M(D,V,Ze,"⊖","\\ominus",!0);M(D,V,Ze,"⊎","\\uplus",!0);M(D,V,Ze,"⊓","\\sqcap",!0);M(D,V,Ze,"∗","\\ast");M(D,V,Ze,"⊔","\\sqcup",!0);M(D,V,Ze,"◯","\\bigcirc",!0);M(D,V,Ze,"∙","\\bullet",!0);M(D,V,Ze,"‡","\\ddagger");M(D,V,Ze,"≀","\\wr",!0);M(D,V,Ze,"⨿","\\amalg");M(D,V,Ze,"&","\\And");M(D,V,ae,"⟵","\\longleftarrow",!0);M(D,V,ae,"⇐","\\Leftarrow",!0);M(D,V,ae,"⟸","\\Longleftarrow",!0);M(D,V,ae,"⟶","\\longrightarrow",!0);M(D,V,ae,"⇒","\\Rightarrow",!0);M(D,V,ae,"⟹","\\Longrightarrow",!0);M(D,V,ae,"↔","\\leftrightarrow",!0);M(D,V,ae,"⟷","\\longleftrightarrow",!0);M(D,V,ae,"⇔","\\Leftrightarrow",!0);M(D,V,ae,"⟺","\\Longleftrightarrow",!0);M(D,V,ae,"↦","\\mapsto",!0);M(D,V,ae,"⟼","\\longmapsto",!0);M(D,V,ae,"↗","\\nearrow",!0);M(D,V,ae,"↩","\\hookleftarrow",!0);M(D,V,ae,"↪","\\hookrightarrow",!0);M(D,V,ae,"↘","\\searrow",!0);M(D,V,ae,"↼","\\leftharpoonup",!0);M(D,V,ae,"⇀","\\rightharpoonup",!0);M(D,V,ae,"↙","\\swarrow",!0);M(D,V,ae,"↽","\\leftharpoondown",!0);M(D,V,ae,"⇁","\\rightharpoondown",!0);M(D,V,ae,"↖","\\nwarrow",!0);M(D,V,ae,"⇌","\\rightleftharpoons",!0);M(D,ie,ae,"≮","\\nless",!0);M(D,ie,ae,"","\\@nleqslant");M(D,ie,ae,"","\\@nleqq");M(D,ie,ae,"⪇","\\lneq",!0);M(D,ie,ae,"≨","\\lneqq",!0);M(D,ie,ae,"","\\@lvertneqq");M(D,ie,ae,"⋦","\\lnsim",!0);M(D,ie,ae,"⪉","\\lnapprox",!0);M(D,ie,ae,"⊀","\\nprec",!0);M(D,ie,ae,"⋠","\\npreceq",!0);M(D,ie,ae,"⋨","\\precnsim",!0);M(D,ie,ae,"⪹","\\precnapprox",!0);M(D,ie,ae,"≁","\\nsim",!0);M(D,ie,ae,"","\\@nshortmid");M(D,ie,ae,"∤","\\nmid",!0);M(D,ie,ae,"⊬","\\nvdash",!0);M(D,ie,ae,"⊭","\\nvDash",!0);M(D,ie,ae,"⋪","\\ntriangleleft");M(D,ie,ae,"⋬","\\ntrianglelefteq",!0);M(D,ie,ae,"⊊","\\subsetneq",!0);M(D,ie,ae,"","\\@varsubsetneq");M(D,ie,ae,"⫋","\\subsetneqq",!0);M(D,ie,ae,"","\\@varsubsetneqq");M(D,ie,ae,"≯","\\ngtr",!0);M(D,ie,ae,"","\\@ngeqslant");M(D,ie,ae,"","\\@ngeqq");M(D,ie,ae,"⪈","\\gneq",!0);M(D,ie,ae,"≩","\\gneqq",!0);M(D,ie,ae,"","\\@gvertneqq");M(D,ie,ae,"⋧","\\gnsim",!0);M(D,ie,ae,"⪊","\\gnapprox",!0);M(D,ie,ae,"⊁","\\nsucc",!0);M(D,ie,ae,"⋡","\\nsucceq",!0);M(D,ie,ae,"⋩","\\succnsim",!0);M(D,ie,ae,"⪺","\\succnapprox",!0);M(D,ie,ae,"≆","\\ncong",!0);M(D,ie,ae,"","\\@nshortparallel");M(D,ie,ae,"∦","\\nparallel",!0);M(D,ie,ae,"⊯","\\nVDash",!0);M(D,ie,ae,"⋫","\\ntriangleright");M(D,ie,ae,"⋭","\\ntrianglerighteq",!0);M(D,ie,ae,"","\\@nsupseteqq");M(D,ie,ae,"⊋","\\supsetneq",!0);M(D,ie,ae,"","\\@varsupsetneq");M(D,ie,ae,"⫌","\\supsetneqq",!0);M(D,ie,ae,"","\\@varsupsetneqq");M(D,ie,ae,"⊮","\\nVdash",!0);M(D,ie,ae,"⪵","\\precneqq",!0);M(D,ie,ae,"⪶","\\succneqq",!0);M(D,ie,ae,"","\\@nsubseteqq");M(D,ie,Ze,"⊴","\\unlhd");M(D,ie,Ze,"⊵","\\unrhd");M(D,ie,ae,"↚","\\nleftarrow",!0);M(D,ie,ae,"↛","\\nrightarrow",!0);M(D,ie,ae,"⇍","\\nLeftarrow",!0);M(D,ie,ae,"⇏","\\nRightarrow",!0);M(D,ie,ae,"↮","\\nleftrightarrow",!0);M(D,ie,ae,"⇎","\\nLeftrightarrow",!0);M(D,ie,ae,"△","\\vartriangle");M(D,ie,me,"ℏ","\\hslash");M(D,ie,me,"▽","\\triangledown");M(D,ie,me,"◊","\\lozenge");M(D,ie,me,"Ⓢ","\\circledS");M(D,ie,me,"®","\\circledR");M(De,ie,me,"®","\\circledR");M(D,ie,me,"∡","\\measuredangle",!0);M(D,ie,me,"∄","\\nexists");M(D,ie,me,"℧","\\mho");M(D,ie,me,"Ⅎ","\\Finv",!0);M(D,ie,me,"⅁","\\Game",!0);M(D,ie,me,"‵","\\backprime");M(D,ie,me,"▲","\\blacktriangle");M(D,ie,me,"▼","\\blacktriangledown");M(D,ie,me,"■","\\blacksquare");M(D,ie,me,"⧫","\\blacklozenge");M(D,ie,me,"★","\\bigstar");M(D,ie,me,"∢","\\sphericalangle",!0);M(D,ie,me,"∁","\\complement",!0);M(D,ie,me,"ð","\\eth",!0);M(De,V,me,"ð","ð");M(D,ie,me,"╱","\\diagup");M(D,ie,me,"╲","\\diagdown");M(D,ie,me,"□","\\square");M(D,ie,me,"□","\\Box");M(D,ie,me,"◊","\\Diamond");M(D,ie,me,"¥","\\yen",!0);M(De,ie,me,"¥","\\yen",!0);M(D,ie,me,"✓","\\checkmark",!0);M(De,ie,me,"✓","\\checkmark");M(D,ie,me,"ℶ","\\beth",!0);M(D,ie,me,"ℸ","\\daleth",!0);M(D,ie,me,"ℷ","\\gimel",!0);M(D,ie,me,"ϝ","\\digamma",!0);M(D,ie,me,"ϰ","\\varkappa");M(D,ie,xi,"┌","\\@ulcorner",!0);M(D,ie,Ts,"┐","\\@urcorner",!0);M(D,ie,xi,"└","\\@llcorner",!0);M(D,ie,Ts,"┘","\\@lrcorner",!0);M(D,ie,ae,"≦","\\leqq",!0);M(D,ie,ae,"⩽","\\leqslant",!0);M(D,ie,ae,"⪕","\\eqslantless",!0);M(D,ie,ae,"≲","\\lesssim",!0);M(D,ie,ae,"⪅","\\lessapprox",!0);M(D,ie,ae,"≊","\\approxeq",!0);M(D,ie,Ze,"⋖","\\lessdot");M(D,ie,ae,"⋘","\\lll",!0);M(D,ie,ae,"≶","\\lessgtr",!0);M(D,ie,ae,"⋚","\\lesseqgtr",!0);M(D,ie,ae,"⪋","\\lesseqqgtr",!0);M(D,ie,ae,"≑","\\doteqdot");M(D,ie,ae,"≓","\\risingdotseq",!0);M(D,ie,ae,"≒","\\fallingdotseq",!0);M(D,ie,ae,"∽","\\backsim",!0);M(D,ie,ae,"⋍","\\backsimeq",!0);M(D,ie,ae,"⫅","\\subseteqq",!0);M(D,ie,ae,"⋐","\\Subset",!0);M(D,ie,ae,"⊏","\\sqsubset",!0);M(D,ie,ae,"≼","\\preccurlyeq",!0);M(D,ie,ae,"⋞","\\curlyeqprec",!0);M(D,ie,ae,"≾","\\precsim",!0);M(D,ie,ae,"⪷","\\precapprox",!0);M(D,ie,ae,"⊲","\\vartriangleleft");M(D,ie,ae,"⊴","\\trianglelefteq");M(D,ie,ae,"⊨","\\vDash",!0);M(D,ie,ae,"⊪","\\Vvdash",!0);M(D,ie,ae,"⌣","\\smallsmile");M(D,ie,ae,"⌢","\\smallfrown");M(D,ie,ae,"≏","\\bumpeq",!0);M(D,ie,ae,"≎","\\Bumpeq",!0);M(D,ie,ae,"≧","\\geqq",!0);M(D,ie,ae,"⩾","\\geqslant",!0);M(D,ie,ae,"⪖","\\eqslantgtr",!0);M(D,ie,ae,"≳","\\gtrsim",!0);M(D,ie,ae,"⪆","\\gtrapprox",!0);M(D,ie,Ze,"⋗","\\gtrdot");M(D,ie,ae,"⋙","\\ggg",!0);M(D,ie,ae,"≷","\\gtrless",!0);M(D,ie,ae,"⋛","\\gtreqless",!0);M(D,ie,ae,"⪌","\\gtreqqless",!0);M(D,ie,ae,"≖","\\eqcirc",!0);M(D,ie,ae,"≗","\\circeq",!0);M(D,ie,ae,"≜","\\triangleq",!0);M(D,ie,ae,"∼","\\thicksim");M(D,ie,ae,"≈","\\thickapprox");M(D,ie,ae,"⫆","\\supseteqq",!0);M(D,ie,ae,"⋑","\\Supset",!0);M(D,ie,ae,"⊐","\\sqsupset",!0);M(D,ie,ae,"≽","\\succcurlyeq",!0);M(D,ie,ae,"⋟","\\curlyeqsucc",!0);M(D,ie,ae,"≿","\\succsim",!0);M(D,ie,ae,"⪸","\\succapprox",!0);M(D,ie,ae,"⊳","\\vartriangleright");M(D,ie,ae,"⊵","\\trianglerighteq");M(D,ie,ae,"⊩","\\Vdash",!0);M(D,ie,ae,"∣","\\shortmid");M(D,ie,ae,"∥","\\shortparallel");M(D,ie,ae,"≬","\\between",!0);M(D,ie,ae,"⋔","\\pitchfork",!0);M(D,ie,ae,"∝","\\varpropto");M(D,ie,ae,"◀","\\blacktriangleleft");M(D,ie,ae,"∴","\\therefore",!0);M(D,ie,ae,"∍","\\backepsilon");M(D,ie,ae,"▶","\\blacktriangleright");M(D,ie,ae,"∵","\\because",!0);M(D,ie,ae,"⋘","\\llless");M(D,ie,ae,"⋙","\\gggtr");M(D,ie,Ze,"⊲","\\lhd");M(D,ie,Ze,"⊳","\\rhd");M(D,ie,ae,"≂","\\eqsim",!0);M(D,V,ae,"⋈","\\Join");M(D,ie,ae,"≑","\\Doteq",!0);M(D,ie,Ze,"∔","\\dotplus",!0);M(D,ie,Ze,"∖","\\smallsetminus");M(D,ie,Ze,"⋒","\\Cap",!0);M(D,ie,Ze,"⋓","\\Cup",!0);M(D,ie,Ze,"⩞","\\doublebarwedge",!0);M(D,ie,Ze,"⊟","\\boxminus",!0);M(D,ie,Ze,"⊞","\\boxplus",!0);M(D,ie,Ze,"⋇","\\divideontimes",!0);M(D,ie,Ze,"⋉","\\ltimes",!0);M(D,ie,Ze,"⋊","\\rtimes",!0);M(D,ie,Ze,"⋋","\\leftthreetimes",!0);M(D,ie,Ze,"⋌","\\rightthreetimes",!0);M(D,ie,Ze,"⋏","\\curlywedge",!0);M(D,ie,Ze,"⋎","\\curlyvee",!0);M(D,ie,Ze,"⊝","\\circleddash",!0);M(D,ie,Ze,"⊛","\\circledast",!0);M(D,ie,Ze,"⋅","\\centerdot");M(D,ie,Ze,"⊺","\\intercal",!0);M(D,ie,Ze,"⋒","\\doublecap");M(D,ie,Ze,"⋓","\\doublecup");M(D,ie,Ze,"⊠","\\boxtimes",!0);M(D,ie,ae,"⇢","\\dashrightarrow",!0);M(D,ie,ae,"⇠","\\dashleftarrow",!0);M(D,ie,ae,"⇇","\\leftleftarrows",!0);M(D,ie,ae,"⇆","\\leftrightarrows",!0);M(D,ie,ae,"⇚","\\Lleftarrow",!0);M(D,ie,ae,"↞","\\twoheadleftarrow",!0);M(D,ie,ae,"↢","\\leftarrowtail",!0);M(D,ie,ae,"↫","\\looparrowleft",!0);M(D,ie,ae,"⇋","\\leftrightharpoons",!0);M(D,ie,ae,"↶","\\curvearrowleft",!0);M(D,ie,ae,"↺","\\circlearrowleft",!0);M(D,ie,ae,"↰","\\Lsh",!0);M(D,ie,ae,"⇈","\\upuparrows",!0);M(D,ie,ae,"↿","\\upharpoonleft",!0);M(D,ie,ae,"⇃","\\downharpoonleft",!0);M(D,V,ae,"⊶","\\origof",!0);M(D,V,ae,"⊷","\\imageof",!0);M(D,ie,ae,"⊸","\\multimap",!0);M(D,ie,ae,"↭","\\leftrightsquigarrow",!0);M(D,ie,ae,"⇉","\\rightrightarrows",!0);M(D,ie,ae,"⇄","\\rightleftarrows",!0);M(D,ie,ae,"↠","\\twoheadrightarrow",!0);M(D,ie,ae,"↣","\\rightarrowtail",!0);M(D,ie,ae,"↬","\\looparrowright",!0);M(D,ie,ae,"↷","\\curvearrowright",!0);M(D,ie,ae,"↻","\\circlearrowright",!0);M(D,ie,ae,"↱","\\Rsh",!0);M(D,ie,ae,"⇊","\\downdownarrows",!0);M(D,ie,ae,"↾","\\upharpoonright",!0);M(D,ie,ae,"⇂","\\downharpoonright",!0);M(D,ie,ae,"⇝","\\rightsquigarrow",!0);M(D,ie,ae,"⇝","\\leadsto");M(D,ie,ae,"⇛","\\Rrightarrow",!0);M(D,ie,ae,"↾","\\restriction");M(D,V,me,"‘","`");M(D,V,me,"$","\\$");M(De,V,me,"$","\\$");M(De,V,me,"$","\\textdollar");M(D,V,me,"%","\\%");M(De,V,me,"%","\\%");M(D,V,me,"_","\\_");M(De,V,me,"_","\\_");M(De,V,me,"_","\\textunderscore");M(D,V,me,"∠","\\angle",!0);M(D,V,me,"∞","\\infty",!0);M(D,V,me,"′","\\prime");M(D,V,me,"△","\\triangle");M(D,V,me,"Γ","\\Gamma",!0);M(D,V,me,"Δ","\\Delta",!0);M(D,V,me,"Θ","\\Theta",!0);M(D,V,me,"Λ","\\Lambda",!0);M(D,V,me,"Ξ","\\Xi",!0);M(D,V,me,"Π","\\Pi",!0);M(D,V,me,"Σ","\\Sigma",!0);M(D,V,me,"Υ","\\Upsilon",!0);M(D,V,me,"Φ","\\Phi",!0);M(D,V,me,"Ψ","\\Psi",!0);M(D,V,me,"Ω","\\Omega",!0);M(D,V,me,"A","Α");M(D,V,me,"B","Β");M(D,V,me,"E","Ε");M(D,V,me,"Z","Ζ");M(D,V,me,"H","Η");M(D,V,me,"I","Ι");M(D,V,me,"K","Κ");M(D,V,me,"M","Μ");M(D,V,me,"N","Ν");M(D,V,me,"O","Ο");M(D,V,me,"P","Ρ");M(D,V,me,"T","Τ");M(D,V,me,"X","Χ");M(D,V,me,"¬","\\neg",!0);M(D,V,me,"¬","\\lnot");M(D,V,me,"⊤","\\top");M(D,V,me,"⊥","\\bot");M(D,V,me,"∅","\\emptyset");M(D,ie,me,"∅","\\varnothing");M(D,V,pt,"α","\\alpha",!0);M(D,V,pt,"β","\\beta",!0);M(D,V,pt,"γ","\\gamma",!0);M(D,V,pt,"δ","\\delta",!0);M(D,V,pt,"ϵ","\\epsilon",!0);M(D,V,pt,"ζ","\\zeta",!0);M(D,V,pt,"η","\\eta",!0);M(D,V,pt,"θ","\\theta",!0);M(D,V,pt,"ι","\\iota",!0);M(D,V,pt,"κ","\\kappa",!0);M(D,V,pt,"λ","\\lambda",!0);M(D,V,pt,"μ","\\mu",!0);M(D,V,pt,"ν","\\nu",!0);M(D,V,pt,"ξ","\\xi",!0);M(D,V,pt,"ο","\\omicron",!0);M(D,V,pt,"π","\\pi",!0);M(D,V,pt,"ρ","\\rho",!0);M(D,V,pt,"σ","\\sigma",!0);M(D,V,pt,"τ","\\tau",!0);M(D,V,pt,"υ","\\upsilon",!0);M(D,V,pt,"ϕ","\\phi",!0);M(D,V,pt,"χ","\\chi",!0);M(D,V,pt,"ψ","\\psi",!0);M(D,V,pt,"ω","\\omega",!0);M(D,V,pt,"ε","\\varepsilon",!0);M(D,V,pt,"ϑ","\\vartheta",!0);M(D,V,pt,"ϖ","\\varpi",!0);M(D,V,pt,"ϱ","\\varrho",!0);M(D,V,pt,"ς","\\varsigma",!0);M(D,V,pt,"φ","\\varphi",!0);M(D,V,Ze,"∗","*",!0);M(D,V,Ze,"+","+");M(D,V,Ze,"−","-",!0);M(D,V,Ze,"⋅","\\cdot",!0);M(D,V,Ze,"∘","\\circ",!0);M(D,V,Ze,"÷","\\div",!0);M(D,V,Ze,"±","\\pm",!0);M(D,V,Ze,"×","\\times",!0);M(D,V,Ze,"∩","\\cap",!0);M(D,V,Ze,"∪","\\cup",!0);M(D,V,Ze,"∖","\\setminus",!0);M(D,V,Ze,"∧","\\land");M(D,V,Ze,"∨","\\lor");M(D,V,Ze,"∧","\\wedge",!0);M(D,V,Ze,"∨","\\vee",!0);M(D,V,me,"√","\\surd");M(D,V,xi,"⟨","\\langle",!0);M(D,V,xi,"∣","\\lvert");M(D,V,xi,"∥","\\lVert");M(D,V,Ts,"?","?");M(D,V,Ts,"!","!");M(D,V,Ts,"⟩","\\rangle",!0);M(D,V,Ts,"∣","\\rvert");M(D,V,Ts,"∥","\\rVert");M(D,V,ae,"=","=");M(D,V,ae,":",":");M(D,V,ae,"≈","\\approx",!0);M(D,V,ae,"≅","\\cong",!0);M(D,V,ae,"≥","\\ge");M(D,V,ae,"≥","\\geq",!0);M(D,V,ae,"←","\\gets");M(D,V,ae,">","\\gt",!0);M(D,V,ae,"∈","\\in",!0);M(D,V,ae,"","\\@not");M(D,V,ae,"⊂","\\subset",!0);M(D,V,ae,"⊃","\\supset",!0);M(D,V,ae,"⊆","\\subseteq",!0);M(D,V,ae,"⊇","\\supseteq",!0);M(D,ie,ae,"⊈","\\nsubseteq",!0);M(D,ie,ae,"⊉","\\nsupseteq",!0);M(D,V,ae,"⊨","\\models");M(D,V,ae,"←","\\leftarrow",!0);M(D,V,ae,"≤","\\le");M(D,V,ae,"≤","\\leq",!0);M(D,V,ae,"<","\\lt",!0);M(D,V,ae,"→","\\rightarrow",!0);M(D,V,ae,"→","\\to");M(D,ie,ae,"≱","\\ngeq",!0);M(D,ie,ae,"≰","\\nleq",!0);M(D,V,Kl," ","\\ ");M(D,V,Kl," ","\\space");M(D,V,Kl," ","\\nobreakspace");M(De,V,Kl," ","\\ ");M(De,V,Kl," "," ");M(De,V,Kl," ","\\space");M(De,V,Kl," ","\\nobreakspace");M(D,V,Kl,null,"\\nobreak");M(D,V,Kl,null,"\\allowbreak");M(D,V,Mv,",",",");M(D,V,Mv,";",";");M(D,ie,Ze,"⊼","\\barwedge",!0);M(D,ie,Ze,"⊻","\\veebar",!0);M(D,V,Ze,"⊙","\\odot",!0);M(D,V,Ze,"⊕","\\oplus",!0);M(D,V,Ze,"⊗","\\otimes",!0);M(D,V,me,"∂","\\partial",!0);M(D,V,Ze,"⊘","\\oslash",!0);M(D,ie,Ze,"⊚","\\circledcirc",!0);M(D,ie,Ze,"⊡","\\boxdot",!0);M(D,V,Ze,"△","\\bigtriangleup");M(D,V,Ze,"▽","\\bigtriangledown");M(D,V,Ze,"†","\\dagger");M(D,V,Ze,"⋄","\\diamond");M(D,V,Ze,"⋆","\\star");M(D,V,Ze,"◃","\\triangleleft");M(D,V,Ze,"▹","\\triangleright");M(D,V,xi,"{","\\{");M(De,V,me,"{","\\{");M(De,V,me,"{","\\textbraceleft");M(D,V,Ts,"}","\\}");M(De,V,me,"}","\\}");M(De,V,me,"}","\\textbraceright");M(D,V,xi,"{","\\lbrace");M(D,V,Ts,"}","\\rbrace");M(D,V,xi,"[","\\lbrack",!0);M(De,V,me,"[","\\lbrack",!0);M(D,V,Ts,"]","\\rbrack",!0);M(De,V,me,"]","\\rbrack",!0);M(D,V,xi,"(","\\lparen",!0);M(D,V,Ts,")","\\rparen",!0);M(De,V,me,"<","\\textless",!0);M(De,V,me,">","\\textgreater",!0);M(D,V,xi,"⌊","\\lfloor",!0);M(D,V,Ts,"⌋","\\rfloor",!0);M(D,V,xi,"⌈","\\lceil",!0);M(D,V,Ts,"⌉","\\rceil",!0);M(D,V,me,"\\","\\backslash");M(D,V,me,"∣","|");M(D,V,me,"∣","\\vert");M(De,V,me,"|","\\textbar",!0);M(D,V,me,"∥","\\|");M(D,V,me,"∥","\\Vert");M(De,V,me,"∥","\\textbardbl");M(De,V,me,"~","\\textasciitilde");M(De,V,me,"\\","\\textbackslash");M(De,V,me,"^","\\textasciicircum");M(D,V,ae,"↑","\\uparrow",!0);M(D,V,ae,"⇑","\\Uparrow",!0);M(D,V,ae,"↓","\\downarrow",!0);M(D,V,ae,"⇓","\\Downarrow",!0);M(D,V,ae,"↕","\\updownarrow",!0);M(D,V,ae,"⇕","\\Updownarrow",!0);M(D,V,Rr,"∐","\\coprod");M(D,V,Rr,"⋁","\\bigvee");M(D,V,Rr,"⋀","\\bigwedge");M(D,V,Rr,"⨄","\\biguplus");M(D,V,Rr,"⋂","\\bigcap");M(D,V,Rr,"⋃","\\bigcup");M(D,V,Rr,"∫","\\int");M(D,V,Rr,"∫","\\intop");M(D,V,Rr,"∬","\\iint");M(D,V,Rr,"∭","\\iiint");M(D,V,Rr,"∏","\\prod");M(D,V,Rr,"∑","\\sum");M(D,V,Rr,"⨂","\\bigotimes");M(D,V,Rr,"⨁","\\bigoplus");M(D,V,Rr,"⨀","\\bigodot");M(D,V,Rr,"∮","\\oint");M(D,V,Rr,"∯","\\oiint");M(D,V,Rr,"∰","\\oiiint");M(D,V,Rr,"⨆","\\bigsqcup");M(D,V,Rr,"∫","\\smallint");M(De,V,Th,"…","\\textellipsis");M(D,V,Th,"…","\\mathellipsis");M(De,V,Th,"…","\\ldots",!0);M(D,V,Th,"…","\\ldots",!0);M(D,V,Th,"⋯","\\@cdots",!0);M(D,V,Th,"⋱","\\ddots",!0);M(D,V,me,"⋮","\\varvdots");M(De,V,me,"⋮","\\varvdots");M(D,V,er,"ˊ","\\acute");M(D,V,er,"ˋ","\\grave");M(D,V,er,"¨","\\ddot");M(D,V,er,"~","\\tilde");M(D,V,er,"ˉ","\\bar");M(D,V,er,"˘","\\breve");M(D,V,er,"ˇ","\\check");M(D,V,er,"^","\\hat");M(D,V,er,"⃗","\\vec");M(D,V,er,"˙","\\dot");M(D,V,er,"˚","\\mathring");M(D,V,pt,"","\\@imath");M(D,V,pt,"","\\@jmath");M(D,V,me,"ı","ı");M(D,V,me,"ȷ","ȷ");M(De,V,me,"ı","\\i",!0);M(De,V,me,"ȷ","\\j",!0);M(De,V,me,"ß","\\ss",!0);M(De,V,me,"æ","\\ae",!0);M(De,V,me,"œ","\\oe",!0);M(De,V,me,"ø","\\o",!0);M(De,V,me,"Æ","\\AE",!0);M(De,V,me,"Œ","\\OE",!0);M(De,V,me,"Ø","\\O",!0);M(De,V,er,"ˊ","\\'");M(De,V,er,"ˋ","\\`");M(De,V,er,"ˆ","\\^");M(De,V,er,"˜","\\~");M(De,V,er,"ˉ","\\=");M(De,V,er,"˘","\\u");M(De,V,er,"˙","\\.");M(De,V,er,"¸","\\c");M(De,V,er,"˚","\\r");M(De,V,er,"ˇ","\\v");M(De,V,er,"¨",'\\"');M(De,V,er,"˝","\\H");M(De,V,er,"◯","\\textcircled");var lF={"--":!0,"---":!0,"``":!0,"''":!0};M(De,V,me,"–","--",!0);M(De,V,me,"–","\\textendash");M(De,V,me,"—","---",!0);M(De,V,me,"—","\\textemdash");M(De,V,me,"‘","`",!0);M(De,V,me,"‘","\\textquoteleft");M(De,V,me,"’","'",!0);M(De,V,me,"’","\\textquoteright");M(De,V,me,"“","``",!0);M(De,V,me,"“","\\textquotedblleft");M(De,V,me,"”","''",!0);M(De,V,me,"”","\\textquotedblright");M(D,V,me,"°","\\degree",!0);M(De,V,me,"°","\\degree");M(De,V,me,"°","\\textdegree",!0);M(D,V,me,"£","\\pounds");M(D,V,me,"£","\\mathsterling",!0);M(De,V,me,"£","\\pounds");M(De,V,me,"£","\\textsterling",!0);M(D,ie,me,"✠","\\maltese");M(De,ie,me,"✠","\\maltese");var jE='0123456789/@."';for(var j4=0;j40)return Ki(i,h,s,n,a.concat(f));if(u){var m,g;if(u==="boldsymbol"){var x=Oxe(i,s,n,a,r);m=x.fontName,g=[x.fontClass]}else o?(m=uF[u].fontName,g=[u]):(m=ex(u,n.fontWeight,n.fontShape),g=[u,n.fontWeight,n.fontShape]);if(Av(i,m,s).metrics)return Ki(i,m,s,n,a.concat(g));if(lF.hasOwnProperty(i)&&m.slice(0,10)==="Typewriter"){for(var y=[],w=0;w{if(tc(t.classes)!==tc(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var n=t.classes[0];if(n==="mbin"||n==="mord")return!1}for(var r in t.style)if(t.style.hasOwnProperty(r)&&t.style[r]!==e.style[r])return!1;for(var s in e.style)if(e.style.hasOwnProperty(s)&&t.style[s]!==e.style[s])return!1;return!0},Cxe=t=>{for(var e=0;en&&(n=a.height),a.depth>r&&(r=a.depth),a.maxFontSize>s&&(s=a.maxFontSize)}e.height=n,e.depth=r,e.maxFontSize=s},Ls=function(e,n,r,s){var i=new A0(e,n,r,s);return B6(i),i},oF=(t,e,n,r)=>new A0(t,e,n,r),Txe=function(e,n,r){var s=Ls([e],[],n);return s.height=Math.max(r||n.fontMetrics().defaultRuleThickness,n.minRuleThickness),s.style.borderBottomWidth=$e(s.height),s.maxFontSize=1,s},Exe=function(e,n,r,s){var i=new L6(e,n,r,s);return B6(i),i},cF=function(e){var n=new M0(e);return B6(n),n},_xe=function(e,n){return e instanceof M0?Ls([],[e],n):e},Mxe=function(e){if(e.positionType==="individualShift"){for(var n=e.children,r=[n[0]],s=-n[0].shift-n[0].elem.depth,i=s,a=1;a{var n=Ls(["mspace"],[],e),r=ar(t,e);return n.style.marginRight=$e(r),n},ex=function(e,n,r){var s="";switch(e){case"amsrm":s="AMS";break;case"textrm":s="Main";break;case"textsf":s="SansSerif";break;case"texttt":s="Typewriter";break;default:s=e}var i;return n==="textbf"&&r==="textit"?i="BoldItalic":n==="textbf"?i="Bold":n==="textit"?i="Italic":i="Regular",s+"-"+i},uF={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},dF={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Dxe=function(e,n){var[r,s,i]=dF[e],a=new nc(r),o=new Vl([a],{width:$e(s),height:$e(i),style:"width:"+$e(s),viewBox:"0 0 "+1e3*s+" "+1e3*i,preserveAspectRatio:"xMinYMin"}),u=oF(["overlay"],[o],n);return u.height=i,u.style.height=$e(i),u.style.width=$e(s),u},be={fontMap:uF,makeSymbol:Ki,mathsym:kxe,makeSpan:Ls,makeSvgSpan:oF,makeLineSpan:Txe,makeAnchor:Exe,makeFragment:cF,wrapFragment:_xe,makeVList:Axe,makeOrd:jxe,makeGlue:Rxe,staticSvg:Dxe,svgData:dF,tryCombineChars:Cxe},sr={number:3,unit:"mu"},Bc={number:4,unit:"mu"},bl={number:5,unit:"mu"},zxe={mord:{mop:sr,mbin:Bc,mrel:bl,minner:sr},mop:{mord:sr,mop:sr,mrel:bl,minner:sr},mbin:{mord:Bc,mop:Bc,mopen:Bc,minner:Bc},mrel:{mord:bl,mop:bl,mopen:bl,minner:bl},mopen:{},mclose:{mop:sr,mbin:Bc,mrel:bl,minner:sr},mpunct:{mord:sr,mop:sr,mrel:bl,mopen:sr,mclose:sr,mpunct:sr,minner:sr},minner:{mord:sr,mop:sr,mbin:Bc,mrel:bl,mopen:sr,mpunct:sr,minner:sr}},Pxe={mord:{mop:sr},mop:{mord:sr,mop:sr},mbin:{},mrel:{},mopen:{},mclose:{mop:sr},mpunct:{},minner:{mop:sr}},hF={},T1={},E1={};function Ge(t){for(var{type:e,names:n,props:r,handler:s,htmlBuilder:i,mathmlBuilder:a}=t,o={type:e,numArgs:r.numArgs,argTypes:r.argTypes,allowedInArgument:!!r.allowedInArgument,allowedInText:!!r.allowedInText,allowedInMath:r.allowedInMath===void 0?!0:r.allowedInMath,numOptionalArgs:r.numOptionalArgs||0,infix:!!r.infix,primitive:!!r.primitive,handler:s},u=0;u{var b=w.classes[0],k=y.classes[0];b==="mbin"&&Bxe.includes(k)?w.classes[0]="mord":k==="mbin"&&Lxe.includes(b)&&(y.classes[0]="mord")},{node:m},g,x),_E(i,(y,w)=>{var b=hS(w),k=hS(y),N=b&&k?y.hasClass("mtight")?Pxe[b][k]:zxe[b][k]:null;if(N)return be.makeGlue(N,h)},{node:m},g,x),i},_E=function t(e,n,r,s,i){s&&e.push(s);for(var a=0;ag=>{e.splice(m+1,0,g),a++})(a)}s&&e.pop()},fF=function(e){return e instanceof M0||e instanceof L6||e instanceof A0&&e.hasClass("enclosing")?e:null},Fxe=function t(e,n){var r=fF(e);if(r){var s=r.children;if(s.length){if(n==="right")return t(s[s.length-1],"right");if(n==="left")return t(s[0],"left")}}return e},hS=function(e,n){return e?(n&&(e=Fxe(e,n)),qxe[e.classes[0]]||null):null},Vm=function(e,n){var r=["nulldelimiter"].concat(e.baseSizingClasses());return Ul(n.concat(r))},hn=function(e,n,r){if(!e)return Ul();if(T1[e.type]){var s=T1[e.type](e,n);if(r&&n.size!==r.size){s=Ul(n.sizingClasses(r),[s],n);var i=n.sizeMultiplier/r.sizeMultiplier;s.height*=i,s.depth*=i}return s}else throw new Be("Got group of unknown type: '"+e.type+"'")};function tx(t,e){var n=Ul(["base"],t,e),r=Ul(["strut"]);return r.style.height=$e(n.height+n.depth),n.depth&&(r.style.verticalAlign=$e(-n.depth)),n.children.unshift(r),n}function fS(t,e){var n=null;t.length===1&&t[0].type==="tag"&&(n=t[0].tag,t=t[0].body);var r=Fr(t,e,"root"),s;r.length===2&&r[1].hasClass("tag")&&(s=r.pop());for(var i=[],a=[],o=0;o0&&(i.push(tx(a,e)),a=[]),i.push(r[o]));a.length>0&&i.push(tx(a,e));var h;n?(h=tx(Fr(n,e,!0)),h.classes=["tag"],i.push(h)):s&&i.push(s);var f=Ul(["katex-html"],i);if(f.setAttribute("aria-hidden","true"),h){var m=h.children[0];m.style.height=$e(f.height+f.depth),f.depth&&(m.style.verticalAlign=$e(-f.depth))}return f}function mF(t){return new M0(t)}class ui{constructor(e,n,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=n||[],this.classes=r||[]}setAttribute(e,n){this.attributes[e]=n}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&e.setAttribute(n,this.attributes[n]);this.classes.length>0&&(e.className=tc(this.classes));for(var r=0;r0&&(e+=' class ="'+bn.escape(tc(this.classes))+'"'),e+=">";for(var r=0;r",e}toText(){return this.children.map(e=>e.toText()).join("")}}class Da{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return bn.escape(this.toText())}toText(){return this.text}}class $xe{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",$e(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var Pe={MathNode:ui,TextNode:Da,SpaceNode:$xe,newDocumentFragment:mF},Qi=function(e,n,r){return Un[n][e]&&Un[n][e].replace&&e.charCodeAt(0)!==55349&&!(lF.hasOwnProperty(e)&&r&&(r.fontFamily&&r.fontFamily.slice(4,6)==="tt"||r.font&&r.font.slice(4,6)==="tt"))&&(e=Un[n][e].replace),new Pe.TextNode(e)},I6=function(e){return e.length===1?e[0]:new Pe.MathNode("mrow",e)},q6=function(e,n){if(n.fontFamily==="texttt")return"monospace";if(n.fontFamily==="textsf")return n.fontShape==="textit"&&n.fontWeight==="textbf"?"sans-serif-bold-italic":n.fontShape==="textit"?"sans-serif-italic":n.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(n.fontShape==="textit"&&n.fontWeight==="textbf")return"bold-italic";if(n.fontShape==="textit")return"italic";if(n.fontWeight==="textbf")return"bold";var r=n.font;if(!r||r==="mathnormal")return null;var s=e.mode;if(r==="mathit")return"italic";if(r==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(r==="mathbf")return"bold";if(r==="mathbb")return"double-struck";if(r==="mathsfit")return"sans-serif-italic";if(r==="mathfrak")return"fraktur";if(r==="mathscr"||r==="mathcal")return"script";if(r==="mathsf")return"sans-serif";if(r==="mathtt")return"monospace";var i=e.text;if(["\\imath","\\jmath"].includes(i))return null;Un[s][i]&&Un[s][i].replace&&(i=Un[s][i].replace);var a=be.fontMap[r].fontName;return P6(i,a,s)?be.fontMap[r].variant:null};function E4(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof Da&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var n=t.children[0];return n instanceof Da&&n.text===","}else return!1}var Ys=function(e,n,r){if(e.length===1){var s=Qn(e[0],n);return r&&s instanceof ui&&s.type==="mo"&&(s.setAttribute("lspace","0em"),s.setAttribute("rspace","0em")),[s]}for(var i=[],a,o=0;o=1&&(a.type==="mn"||E4(a))){var h=u.children[0];h instanceof ui&&h.type==="mn"&&(h.children=[...a.children,...h.children],i.pop())}else if(a.type==="mi"&&a.children.length===1){var f=a.children[0];if(f instanceof Da&&f.text==="̸"&&(u.type==="mo"||u.type==="mi"||u.type==="mn")){var m=u.children[0];m instanceof Da&&m.text.length>0&&(m.text=m.text.slice(0,1)+"̸"+m.text.slice(1),i.pop())}}}i.push(u),a=u}return i},rc=function(e,n,r){return I6(Ys(e,n,r))},Qn=function(e,n){if(!e)return new Pe.MathNode("mrow");if(E1[e.type]){var r=E1[e.type](e,n);return r}else throw new Be("Got group of unknown type: '"+e.type+"'")};function ME(t,e,n,r,s){var i=Ys(t,n),a;i.length===1&&i[0]instanceof ui&&["mrow","mtable"].includes(i[0].type)?a=i[0]:a=new Pe.MathNode("mrow",i);var o=new Pe.MathNode("annotation",[new Pe.TextNode(e)]);o.setAttribute("encoding","application/x-tex");var u=new Pe.MathNode("semantics",[a,o]),h=new Pe.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),r&&h.setAttribute("display","block");var f=s?"katex":"katex-mathml";return be.makeSpan([f],[h])}var pF=function(e){return new Tl({style:e.displayMode?xt.DISPLAY:xt.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},gF=function(e,n){if(n.displayMode){var r=["katex-display"];n.leqno&&r.push("leqno"),n.fleqn&&r.push("fleqn"),e=be.makeSpan(r,[e])}return e},Qxe=function(e,n,r){var s=pF(r),i;if(r.output==="mathml")return ME(e,n,s,r.displayMode,!0);if(r.output==="html"){var a=fS(e,s);i=be.makeSpan(["katex"],[a])}else{var o=ME(e,n,s,r.displayMode,!1),u=fS(e,s);i=be.makeSpan(["katex"],[o,u])}return gF(i,r)},Hxe=function(e,n,r){var s=pF(r),i=fS(e,s),a=be.makeSpan(["katex"],[i]);return gF(a,r)},Vxe={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},Uxe=function(e){var n=new Pe.MathNode("mo",[new Pe.TextNode(Vxe[e.replace(/^\\/,"")])]);return n.setAttribute("stretchy","true"),n},Wxe={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Gxe=function(e){return e.type==="ordgroup"?e.body.length:1},Xxe=function(e,n){function r(){var o=4e5,u=e.label.slice(1);if(["widehat","widecheck","widetilde","utilde"].includes(u)){var h=e,f=Gxe(h.base),m,g,x;if(f>5)u==="widehat"||u==="widecheck"?(m=420,o=2364,x=.42,g=u+"4"):(m=312,o=2340,x=.34,g="tilde4");else{var y=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(o=[0,1062,2364,2364,2364][y],m=[0,239,300,360,420][y],x=[0,.24,.3,.3,.36,.42][y],g=u+y):(o=[0,600,1033,2339,2340][y],m=[0,260,286,306,312][y],x=[0,.26,.286,.3,.306,.34][y],g="tilde"+y)}var w=new nc(g),b=new Vl([w],{width:"100%",height:$e(x),viewBox:"0 0 "+o+" "+m,preserveAspectRatio:"none"});return{span:be.makeSvgSpan([],[b],n),minWidth:0,height:x}}else{var k=[],N=Wxe[u],[C,T,E]=N,_=E/1e3,A=C.length,F,B;if(A===1){var P=N[3];F=["hide-tail"],B=[P]}else if(A===2)F=["halfarrow-left","halfarrow-right"],B=["xMinYMin","xMaxYMin"];else if(A===3)F=["brace-left","brace-center","brace-right"],B=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+A+" children.");for(var H=0;H0&&(s.style.minWidth=$e(i)),s},Yxe=function(e,n,r,s,i){var a,o=e.height+e.depth+r+s;if(/fbox|color|angl/.test(n)){if(a=be.makeSpan(["stretchy",n],[],i),n==="fbox"){var u=i.color&&i.getColor();u&&(a.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(n)&&h.push(new uS({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(n)&&h.push(new uS({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new Vl(h,{width:"100%",height:$e(o)});a=be.makeSvgSpan([],[f],i)}return a.height=o,a.style.height=$e(o),a},Wl={encloseSpan:Yxe,mathMLnode:Uxe,svgSpan:Xxe};function zt(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function F6(t){var e=Rv(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function Rv(t){return t&&(t.type==="atom"||wxe.hasOwnProperty(t.type))?t:null}var $6=(t,e)=>{var n,r,s;t&&t.type==="supsub"?(r=zt(t.base,"accent"),n=r.base,t.base=n,s=yxe(hn(t,e)),t.base=r):(r=zt(t,"accent"),n=r.base);var i=hn(n,e.havingCrampedStyle()),a=r.isShifty&&bn.isCharacterBox(n),o=0;if(a){var u=bn.getBaseElem(n),h=hn(u,e.havingCrampedStyle());o=OE(h).skew}var f=r.label==="\\c",m=f?i.height+i.depth:Math.min(i.height,e.fontMetrics().xHeight),g;if(r.isStretchy)g=Wl.svgSpan(r,e),g=be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:g,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+$e(2*o)+")",marginLeft:$e(2*o)}:void 0}]},e);else{var x,y;r.label==="\\vec"?(x=be.staticSvg("vec",e),y=be.svgData.vec[1]):(x=be.makeOrd({mode:r.mode,text:r.label},e,"textord"),x=OE(x),x.italic=0,y=x.width,f&&(m+=x.depth)),g=be.makeSpan(["accent-body"],[x]);var w=r.label==="\\textcircled";w&&(g.classes.push("accent-full"),m=i.height);var b=o;w||(b-=y/2),g.style.left=$e(b),r.label==="\\textcircled"&&(g.style.top=".2em"),g=be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-m},{type:"elem",elem:g}]},e)}var k=be.makeSpan(["mord","accent"],[g],e);return s?(s.children[0]=k,s.height=Math.max(k.height,s.height),s.classes[0]="mord",s):k},xF=(t,e)=>{var n=t.isStretchy?Wl.mathMLnode(t.label):new Pe.MathNode("mo",[Qi(t.label,t.mode)]),r=new Pe.MathNode("mover",[Qn(t.base,e),n]);return r.setAttribute("accent","true"),r},Zxe=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Ge({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var n=_1(e[0]),r=!Zxe.test(t.funcName),s=!r||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:r,isShifty:s,base:n}},htmlBuilder:$6,mathmlBuilder:xF});Ge({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var n=e[0],r=t.parser.mode;return r==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),r="text"),{type:"accent",mode:r,label:t.funcName,isStretchy:!1,isShifty:!0,base:n}},htmlBuilder:$6,mathmlBuilder:xF});Ge({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:n,funcName:r}=t,s=e[0];return{type:"accentUnder",mode:n.mode,label:r,base:s}},htmlBuilder:(t,e)=>{var n=hn(t.base,e),r=Wl.svgSpan(t,e),s=t.label==="\\utilde"?.12:0,i=be.makeVList({positionType:"top",positionData:n.height,children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:s},{type:"elem",elem:n}]},e);return be.makeSpan(["mord","accentunder"],[i],e)},mathmlBuilder:(t,e)=>{var n=Wl.mathMLnode(t.label),r=new Pe.MathNode("munder",[Qn(t.base,e),n]);return r.setAttribute("accentunder","true"),r}});var nx=t=>{var e=new Pe.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Ge({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,n){var{parser:r,funcName:s}=t;return{type:"xArrow",mode:r.mode,label:s,body:e[0],below:n[0]}},htmlBuilder(t,e){var n=e.style,r=e.havingStyle(n.sup()),s=be.wrapFragment(hn(t.body,r,e),e),i=t.label.slice(0,2)==="\\x"?"x":"cd";s.classes.push(i+"-arrow-pad");var a;t.below&&(r=e.havingStyle(n.sub()),a=be.wrapFragment(hn(t.below,r,e),e),a.classes.push(i+"-arrow-pad"));var o=Wl.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*o.height,h=-e.fontMetrics().axisHeight-.5*o.height-.111;(s.depth>.25||t.label==="\\xleftequilibrium")&&(h-=s.depth);var f;if(a){var m=-e.fontMetrics().axisHeight+a.height+.5*o.height+.111;f=be.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:h},{type:"elem",elem:o,shift:u},{type:"elem",elem:a,shift:m}]},e)}else f=be.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:h},{type:"elem",elem:o,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),be.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var n=Wl.mathMLnode(t.label);n.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var r;if(t.body){var s=nx(Qn(t.body,e));if(t.below){var i=nx(Qn(t.below,e));r=new Pe.MathNode("munderover",[n,i,s])}else r=new Pe.MathNode("mover",[n,s])}else if(t.below){var a=nx(Qn(t.below,e));r=new Pe.MathNode("munder",[n,a])}else r=nx(),r=new Pe.MathNode("mover",[n,r]);return r}});var Kxe=be.makeSpan;function vF(t,e){var n=Fr(t.body,e,!0);return Kxe([t.mclass],n,e)}function yF(t,e){var n,r=Ys(t.body,e);return t.mclass==="minner"?n=new Pe.MathNode("mpadded",r):t.mclass==="mord"?t.isCharacterBox?(n=r[0],n.type="mi"):n=new Pe.MathNode("mi",r):(t.isCharacterBox?(n=r[0],n.type="mo"):n=new Pe.MathNode("mo",r),t.mclass==="mbin"?(n.attributes.lspace="0.22em",n.attributes.rspace="0.22em"):t.mclass==="mpunct"?(n.attributes.lspace="0em",n.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(n.attributes.lspace="0em",n.attributes.rspace="0em"):t.mclass==="minner"&&(n.attributes.lspace="0.0556em",n.attributes.width="+0.1111em")),n}Ge({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:n,funcName:r}=t,s=e[0];return{type:"mclass",mode:n.mode,mclass:"m"+r.slice(5),body:xr(s),isCharacterBox:bn.isCharacterBox(s)}},htmlBuilder:vF,mathmlBuilder:yF});var Dv=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};Ge({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:n}=t;return{type:"mclass",mode:n.mode,mclass:Dv(e[0]),body:xr(e[1]),isCharacterBox:bn.isCharacterBox(e[1])}}});Ge({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:n,funcName:r}=t,s=e[1],i=e[0],a;r!=="\\stackrel"?a=Dv(s):a="mrel";var o={type:"op",mode:s.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:r!=="\\stackrel",body:xr(s)},u={type:"supsub",mode:i.mode,base:o,sup:r==="\\underset"?null:i,sub:r==="\\underset"?i:null};return{type:"mclass",mode:n.mode,mclass:a,body:[u],isCharacterBox:bn.isCharacterBox(u)}},htmlBuilder:vF,mathmlBuilder:yF});Ge({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:n}=t;return{type:"pmb",mode:n.mode,mclass:Dv(e[0]),body:xr(e[0])}},htmlBuilder(t,e){var n=Fr(t.body,e,!0),r=be.makeSpan([t.mclass],n,e);return r.style.textShadow="0.02em 0.01em 0.04px",r},mathmlBuilder(t,e){var n=Ys(t.body,e),r=new Pe.MathNode("mstyle",n);return r.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),r}});var Jxe={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},AE=()=>({type:"styling",body:[],mode:"math",style:"display"}),RE=t=>t.type==="textord"&&t.text==="@",e1e=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function t1e(t,e,n){var r=Jxe[t];switch(r){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return n.callFunction(r,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var s=n.callFunction("\\\\cdleft",[e[0]],[]),i={type:"atom",text:r,mode:"math",family:"rel"},a=n.callFunction("\\Big",[i],[]),o=n.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[s,a,o]};return n.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return n.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return n.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function n1e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var n=t.fetch().text;if(n==="&"||n==="\\\\")t.consume();else if(n==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new Be("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var r=[],s=[r],i=0;i-1))if("<>AV".indexOf(h)>-1)for(var m=0;m<2;m++){for(var g=!0,x=u+1;xAV=|." after @',a[u]);var y=t1e(h,f,t),w={type:"styling",body:[y],mode:"math",style:"display"};r.push(w),o=AE()}i%2===0?r.push(o):r.shift(),r=[],s.push(r)}t.gullet.endGroup(),t.gullet.endGroup();var b=new Array(s[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:s,arraystretch:1,addJot:!0,rowGaps:[null],cols:b,colSeparationType:"CD",hLinesBeforeRow:new Array(s.length+1).fill([])}}Ge({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:n,funcName:r}=t;return{type:"cdlabel",mode:n.mode,side:r.slice(4),label:e[0]}},htmlBuilder(t,e){var n=e.havingStyle(e.style.sup()),r=be.wrapFragment(hn(t.label,n,e),e);return r.classes.push("cd-label-"+t.side),r.style.bottom=$e(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder(t,e){var n=new Pe.MathNode("mrow",[Qn(t.label,e)]);return n=new Pe.MathNode("mpadded",[n]),n.setAttribute("width","0"),t.side==="left"&&n.setAttribute("lspace","-1width"),n.setAttribute("voffset","0.7em"),n=new Pe.MathNode("mstyle",[n]),n.setAttribute("displaystyle","false"),n.setAttribute("scriptlevel","1"),n}});Ge({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:n}=t;return{type:"cdlabelparent",mode:n.mode,fragment:e[0]}},htmlBuilder(t,e){var n=be.wrapFragment(hn(t.fragment,e),e);return n.classes.push("cd-vert-arrow"),n},mathmlBuilder(t,e){return new Pe.MathNode("mrow",[Qn(t.fragment,e)])}});Ge({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:n}=t,r=zt(e[0],"ordgroup"),s=r.body,i="",a=0;a=1114111)throw new Be("\\@char with invalid code point "+i);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:n.mode,text:h}}});var bF=(t,e)=>{var n=Fr(t.body,e.withColor(t.color),!1);return be.makeFragment(n)},wF=(t,e)=>{var n=Ys(t.body,e.withColor(t.color)),r=new Pe.MathNode("mstyle",n);return r.setAttribute("mathcolor",t.color),r};Ge({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:n}=t,r=zt(e[0],"color-token").color,s=e[1];return{type:"color",mode:n.mode,color:r,body:xr(s)}},htmlBuilder:bF,mathmlBuilder:wF});Ge({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:n,breakOnTokenText:r}=t,s=zt(e[0],"color-token").color;n.gullet.macros.set("\\current@color",s);var i=n.parseExpression(!0,r);return{type:"color",mode:n.mode,color:s,body:i}},htmlBuilder:bF,mathmlBuilder:wF});Ge({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,n){var{parser:r}=t,s=r.gullet.future().text==="["?r.parseSizeGroup(!0):null,i=!r.settings.displayMode||!r.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:r.mode,newLine:i,size:s&&zt(s,"size").value}},htmlBuilder(t,e){var n=be.makeSpan(["mspace"],[],e);return t.newLine&&(n.classes.push("newline"),t.size&&(n.style.marginTop=$e(ar(t.size,e)))),n},mathmlBuilder(t,e){var n=new Pe.MathNode("mspace");return t.newLine&&(n.setAttribute("linebreak","newline"),t.size&&n.setAttribute("height",$e(ar(t.size,e)))),n}});var mS={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},SF=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new Be("Expected a control sequence",t);return e},r1e=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},kF=(t,e,n,r)=>{var s=t.gullet.macros.get(n.text);s==null&&(n.noexpand=!0,s={tokens:[n],numArgs:0,unexpandable:!t.gullet.isExpandable(n.text)}),t.gullet.macros.set(e,s,r)};Ge({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:n}=t;e.consumeSpaces();var r=e.fetch();if(mS[r.text])return(n==="\\global"||n==="\\\\globallong")&&(r.text=mS[r.text]),zt(e.parseFunction(),"internal");throw new Be("Invalid token after macro prefix",r)}});Ge({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:n}=t,r=e.gullet.popToken(),s=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new Be("Expected a control sequence",r);for(var i=0,a,o=[[]];e.gullet.future().text!=="{";)if(r=e.gullet.popToken(),r.text==="#"){if(e.gullet.future().text==="{"){a=e.gullet.future(),o[i].push("{");break}if(r=e.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new Be('Invalid argument number "'+r.text+'"');if(parseInt(r.text)!==i+1)throw new Be('Argument number "'+r.text+'" out of order');i++,o.push([])}else{if(r.text==="EOF")throw new Be("Expected a macro definition");o[i].push(r.text)}var{tokens:u}=e.gullet.consumeArg();return a&&u.unshift(a),(n==="\\edef"||n==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(s,{tokens:u,numArgs:i,delimiters:o},n===mS[n]),{type:"internal",mode:e.mode}}});Ge({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:n}=t,r=SF(e.gullet.popToken());e.gullet.consumeSpaces();var s=r1e(e);return kF(e,r,s,n==="\\\\globallet"),{type:"internal",mode:e.mode}}});Ge({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:n}=t,r=SF(e.gullet.popToken()),s=e.gullet.popToken(),i=e.gullet.popToken();return kF(e,r,i,n==="\\\\globalfuture"),e.gullet.pushToken(i),e.gullet.pushToken(s),{type:"internal",mode:e.mode}}});var Xf=function(e,n,r){var s=Un.math[e]&&Un.math[e].replace,i=P6(s||e,n,r);if(!i)throw new Error("Unsupported symbol "+e+" and font size "+n+".");return i},Q6=function(e,n,r,s){var i=r.havingBaseStyle(n),a=be.makeSpan(s.concat(i.sizingClasses(r)),[e],r),o=i.sizeMultiplier/r.sizeMultiplier;return a.height*=o,a.depth*=o,a.maxFontSize=i.sizeMultiplier,a},OF=function(e,n,r){var s=n.havingBaseStyle(r),i=(1-n.sizeMultiplier/s.sizeMultiplier)*n.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=$e(i),e.height-=i,e.depth+=i},s1e=function(e,n,r,s,i,a){var o=be.makeSymbol(e,"Main-Regular",i,s),u=Q6(o,n,s,a);return r&&OF(u,s,n),u},i1e=function(e,n,r,s){return be.makeSymbol(e,"Size"+n+"-Regular",r,s)},jF=function(e,n,r,s,i,a){var o=i1e(e,n,i,s),u=Q6(be.makeSpan(["delimsizing","size"+n],[o],s),xt.TEXT,s,a);return r&&OF(u,s,xt.TEXT),u},_4=function(e,n,r){var s;n==="Size1-Regular"?s="delim-size1":s="delim-size4";var i=be.makeSpan(["delimsizinginner",s],[be.makeSpan([],[be.makeSymbol(e,n,r)])]);return{type:"elem",elem:i}},M4=function(e,n,r){var s=Ra["Size4-Regular"][e.charCodeAt(0)]?Ra["Size4-Regular"][e.charCodeAt(0)][4]:Ra["Size1-Regular"][e.charCodeAt(0)][4],i=new nc("inner",uxe(e,Math.round(1e3*n))),a=new Vl([i],{width:$e(s),height:$e(n),style:"width:"+$e(s),viewBox:"0 0 "+1e3*s+" "+Math.round(1e3*n),preserveAspectRatio:"xMinYMin"}),o=be.makeSvgSpan([],[a],r);return o.height=n,o.style.height=$e(n),o.style.width=$e(s),{type:"elem",elem:o}},pS=.008,rx={type:"kern",size:-1*pS},a1e=["|","\\lvert","\\rvert","\\vert"],l1e=["\\|","\\lVert","\\rVert","\\Vert"],NF=function(e,n,r,s,i,a){var o,u,h,f,m="",g=0;o=h=f=e,u=null;var x="Size1-Regular";e==="\\uparrow"?h=f="⏐":e==="\\Uparrow"?h=f="‖":e==="\\downarrow"?o=h="⏐":e==="\\Downarrow"?o=h="‖":e==="\\updownarrow"?(o="\\uparrow",h="⏐",f="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",h="‖",f="\\Downarrow"):a1e.includes(e)?(h="∣",m="vert",g=333):l1e.includes(e)?(h="∥",m="doublevert",g=556):e==="["||e==="\\lbrack"?(o="⎡",h="⎢",f="⎣",x="Size4-Regular",m="lbrack",g=667):e==="]"||e==="\\rbrack"?(o="⎤",h="⎥",f="⎦",x="Size4-Regular",m="rbrack",g=667):e==="\\lfloor"||e==="⌊"?(h=o="⎢",f="⎣",x="Size4-Regular",m="lfloor",g=667):e==="\\lceil"||e==="⌈"?(o="⎡",h=f="⎢",x="Size4-Regular",m="lceil",g=667):e==="\\rfloor"||e==="⌋"?(h=o="⎥",f="⎦",x="Size4-Regular",m="rfloor",g=667):e==="\\rceil"||e==="⌉"?(o="⎤",h=f="⎥",x="Size4-Regular",m="rceil",g=667):e==="("||e==="\\lparen"?(o="⎛",h="⎜",f="⎝",x="Size4-Regular",m="lparen",g=875):e===")"||e==="\\rparen"?(o="⎞",h="⎟",f="⎠",x="Size4-Regular",m="rparen",g=875):e==="\\{"||e==="\\lbrace"?(o="⎧",u="⎨",f="⎩",h="⎪",x="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",u="⎬",f="⎭",h="⎪",x="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",f="⎩",h="⎪",x="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",f="⎭",h="⎪",x="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",f="⎭",h="⎪",x="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",f="⎩",h="⎪",x="Size4-Regular");var y=Xf(o,x,i),w=y.height+y.depth,b=Xf(h,x,i),k=b.height+b.depth,N=Xf(f,x,i),C=N.height+N.depth,T=0,E=1;if(u!==null){var _=Xf(u,x,i);T=_.height+_.depth,E=2}var A=w+C+T,F=Math.max(0,Math.ceil((n-A)/(E*k))),B=A+F*E*k,P=s.fontMetrics().axisHeight;r&&(P*=s.sizeMultiplier);var H=B/2-P,U=[];if(m.length>0){var te=B-w-C,z=Math.round(B*1e3),W=dxe(m,Math.round(te*1e3)),q=new nc(m,W),J=(g/1e3).toFixed(3)+"em",ee=(z/1e3).toFixed(3)+"em",Y=new Vl([q],{width:J,height:ee,viewBox:"0 0 "+g+" "+z}),R=be.makeSvgSpan([],[Y],s);R.height=z/1e3,R.style.width=J,R.style.height=ee,U.push({type:"elem",elem:R})}else{if(U.push(_4(f,x,i)),U.push(rx),u===null){var re=B-w-C+2*pS;U.push(M4(h,re,s))}else{var K=(B-w-C-T)/2+2*pS;U.push(M4(h,K,s)),U.push(rx),U.push(_4(u,x,i)),U.push(rx),U.push(M4(h,K,s))}U.push(rx),U.push(_4(o,x,i))}var I=s.havingBaseStyle(xt.TEXT),Q=be.makeVList({positionType:"bottom",positionData:H,children:U},I);return Q6(be.makeSpan(["delimsizing","mult"],[Q],I),xt.TEXT,s,a)},A4=80,R4=.08,D4=function(e,n,r,s,i){var a=cxe(e,s,r),o=new nc(e,a),u=new Vl([o],{width:"400em",height:$e(n),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return be.makeSvgSpan(["hide-tail"],[u],i)},o1e=function(e,n){var r=n.havingBaseSizing(),s=_F("\\surd",e*r.sizeMultiplier,EF,r),i=r.sizeMultiplier,a=Math.max(0,n.minRuleThickness-n.fontMetrics().sqrtRuleThickness),o,u=0,h=0,f=0,m;return s.type==="small"?(f=1e3+1e3*a+A4,e<1?i=1:e<1.4&&(i=.7),u=(1+a+R4)/i,h=(1+a)/i,o=D4("sqrtMain",u,f,a,n),o.style.minWidth="0.853em",m=.833/i):s.type==="large"?(f=(1e3+A4)*mm[s.size],h=(mm[s.size]+a)/i,u=(mm[s.size]+a+R4)/i,o=D4("sqrtSize"+s.size,u,f,a,n),o.style.minWidth="1.02em",m=1/i):(u=e+a+R4,h=e+a,f=Math.floor(1e3*e+a)+A4,o=D4("sqrtTall",u,f,a,n),o.style.minWidth="0.742em",m=1.056),o.height=h,o.style.height=$e(u),{span:o,advanceWidth:m,ruleWidth:(n.fontMetrics().sqrtRuleThickness+a)*i}},CF=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],c1e=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],TF=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],mm=[0,1.2,1.8,2.4,3],u1e=function(e,n,r,s,i){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),CF.includes(e)||TF.includes(e))return jF(e,n,!1,r,s,i);if(c1e.includes(e))return NF(e,mm[n],!1,r,s,i);throw new Be("Illegal delimiter: '"+e+"'")},d1e=[{type:"small",style:xt.SCRIPTSCRIPT},{type:"small",style:xt.SCRIPT},{type:"small",style:xt.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],h1e=[{type:"small",style:xt.SCRIPTSCRIPT},{type:"small",style:xt.SCRIPT},{type:"small",style:xt.TEXT},{type:"stack"}],EF=[{type:"small",style:xt.SCRIPTSCRIPT},{type:"small",style:xt.SCRIPT},{type:"small",style:xt.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],f1e=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},_F=function(e,n,r,s){for(var i=Math.min(2,3-s.style.size),a=i;an)return r[a]}return r[r.length-1]},MF=function(e,n,r,s,i,a){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;TF.includes(e)?o=d1e:CF.includes(e)?o=EF:o=h1e;var u=_F(e,n,o,s);return u.type==="small"?s1e(e,u.style,r,s,i,a):u.type==="large"?jF(e,u.size,r,s,i,a):NF(e,n,r,s,i,a)},m1e=function(e,n,r,s,i,a){var o=s.fontMetrics().axisHeight*s.sizeMultiplier,u=901,h=5/s.fontMetrics().ptPerEm,f=Math.max(n-o,r+o),m=Math.max(f/500*u,2*f-h);return MF(e,m,!0,s,i,a)},Ll={sqrtImage:o1e,sizedDelim:u1e,sizeToMaxHeight:mm,customSizedDelim:MF,leftRightDelim:m1e},DE={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},p1e=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function zv(t,e){var n=Rv(t);if(n&&p1e.includes(n.text))return n;throw n?new Be("Invalid delimiter '"+n.text+"' after '"+e.funcName+"'",t):new Be("Invalid delimiter type '"+t.type+"'",t)}Ge({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var n=zv(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:DE[t.funcName].size,mclass:DE[t.funcName].mclass,delim:n.text}},htmlBuilder:(t,e)=>t.delim==="."?be.makeSpan([t.mclass]):Ll.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Qi(t.delim,t.mode));var n=new Pe.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?n.setAttribute("fence","true"):n.setAttribute("fence","false"),n.setAttribute("stretchy","true");var r=$e(Ll.sizeToMaxHeight[t.size]);return n.setAttribute("minsize",r),n.setAttribute("maxsize",r),n}});function zE(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Ge({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var n=t.parser.gullet.macros.get("\\current@color");if(n&&typeof n!="string")throw new Be("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:zv(e[0],t).text,color:n}}});Ge({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var n=zv(e[0],t),r=t.parser;++r.leftrightDepth;var s=r.parseExpression(!1);--r.leftrightDepth,r.expect("\\right",!1);var i=zt(r.parseFunction(),"leftright-right");return{type:"leftright",mode:r.mode,body:s,left:n.text,right:i.delim,rightColor:i.color}},htmlBuilder:(t,e)=>{zE(t);for(var n=Fr(t.body,e,!0,["mopen","mclose"]),r=0,s=0,i=!1,a=0;a{zE(t);var n=Ys(t.body,e);if(t.left!=="."){var r=new Pe.MathNode("mo",[Qi(t.left,t.mode)]);r.setAttribute("fence","true"),n.unshift(r)}if(t.right!=="."){var s=new Pe.MathNode("mo",[Qi(t.right,t.mode)]);s.setAttribute("fence","true"),t.rightColor&&s.setAttribute("mathcolor",t.rightColor),n.push(s)}return I6(n)}});Ge({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var n=zv(e[0],t);if(!t.parser.leftrightDepth)throw new Be("\\middle without preceding \\left",n);return{type:"middle",mode:t.parser.mode,delim:n.text}},htmlBuilder:(t,e)=>{var n;if(t.delim===".")n=Vm(e,[]);else{n=Ll.sizedDelim(t.delim,1,e,t.mode,[]);var r={delim:t.delim,options:e};n.isMiddle=r}return n},mathmlBuilder:(t,e)=>{var n=t.delim==="\\vert"||t.delim==="|"?Qi("|","text"):Qi(t.delim,t.mode),r=new Pe.MathNode("mo",[n]);return r.setAttribute("fence","true"),r.setAttribute("lspace","0.05em"),r.setAttribute("rspace","0.05em"),r}});var H6=(t,e)=>{var n=be.wrapFragment(hn(t.body,e),e),r=t.label.slice(1),s=e.sizeMultiplier,i,a=0,o=bn.isCharacterBox(t.body);if(r==="sout")i=be.makeSpan(["stretchy","sout"]),i.height=e.fontMetrics().defaultRuleThickness/s,a=-.5*e.fontMetrics().xHeight;else if(r==="phase"){var u=ar({number:.6,unit:"pt"},e),h=ar({number:.35,unit:"ex"},e),f=e.havingBaseSizing();s=s/f.sizeMultiplier;var m=n.height+n.depth+u+h;n.style.paddingLeft=$e(m/2+u);var g=Math.floor(1e3*m*s),x=lxe(g),y=new Vl([new nc("phase",x)],{width:"400em",height:$e(g/1e3),viewBox:"0 0 400000 "+g,preserveAspectRatio:"xMinYMin slice"});i=be.makeSvgSpan(["hide-tail"],[y],e),i.style.height=$e(m),a=n.depth+u+h}else{/cancel/.test(r)?o||n.classes.push("cancel-pad"):r==="angl"?n.classes.push("anglpad"):n.classes.push("boxpad");var w=0,b=0,k=0;/box/.test(r)?(k=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),w=e.fontMetrics().fboxsep+(r==="colorbox"?0:k),b=w):r==="angl"?(k=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),w=4*k,b=Math.max(0,.25-n.depth)):(w=o?.2:0,b=w),i=Wl.encloseSpan(n,r,w,b,e),/fbox|boxed|fcolorbox/.test(r)?(i.style.borderStyle="solid",i.style.borderWidth=$e(k)):r==="angl"&&k!==.049&&(i.style.borderTopWidth=$e(k),i.style.borderRightWidth=$e(k)),a=n.depth+b,t.backgroundColor&&(i.style.backgroundColor=t.backgroundColor,t.borderColor&&(i.style.borderColor=t.borderColor))}var N;if(t.backgroundColor)N=be.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:a},{type:"elem",elem:n,shift:0}]},e);else{var C=/cancel|phase/.test(r)?["svg-align"]:[];N=be.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:0},{type:"elem",elem:i,shift:a,wrapperClasses:C}]},e)}return/cancel/.test(r)&&(N.height=n.height,N.depth=n.depth),/cancel/.test(r)&&!o?be.makeSpan(["mord","cancel-lap"],[N],e):be.makeSpan(["mord"],[N],e)},V6=(t,e)=>{var n=0,r=new Pe.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Qn(t.body,e)]);switch(t.label){case"\\cancel":r.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":r.setAttribute("notation","downdiagonalstrike");break;case"\\phase":r.setAttribute("notation","phasorangle");break;case"\\sout":r.setAttribute("notation","horizontalstrike");break;case"\\fbox":r.setAttribute("notation","box");break;case"\\angl":r.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(n=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,r.setAttribute("width","+"+2*n+"pt"),r.setAttribute("height","+"+2*n+"pt"),r.setAttribute("lspace",n+"pt"),r.setAttribute("voffset",n+"pt"),t.label==="\\fcolorbox"){var s=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);r.setAttribute("style","border: "+s+"em solid "+String(t.borderColor))}break;case"\\xcancel":r.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&r.setAttribute("mathbackground",t.backgroundColor),r};Ge({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,n){var{parser:r,funcName:s}=t,i=zt(e[0],"color-token").color,a=e[1];return{type:"enclose",mode:r.mode,label:s,backgroundColor:i,body:a}},htmlBuilder:H6,mathmlBuilder:V6});Ge({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,n){var{parser:r,funcName:s}=t,i=zt(e[0],"color-token").color,a=zt(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:r.mode,label:s,backgroundColor:a,borderColor:i,body:o}},htmlBuilder:H6,mathmlBuilder:V6});Ge({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:n}=t;return{type:"enclose",mode:n.mode,label:"\\fbox",body:e[0]}}});Ge({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:n,funcName:r}=t,s=e[0];return{type:"enclose",mode:n.mode,label:r,body:s}},htmlBuilder:H6,mathmlBuilder:V6});Ge({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:n}=t;return{type:"enclose",mode:n.mode,label:"\\angl",body:e[0]}}});var AF={};function Ha(t){for(var{type:e,names:n,props:r,handler:s,htmlBuilder:i,mathmlBuilder:a}=t,o={type:e,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:s},u=0;u{var e=t.parser.settings;if(!e.displayMode)throw new Be("{"+t.envName+"} can be used only in display mode.")};function U6(t){if(t.indexOf("ed")===-1)return t.indexOf("*")===-1}function fc(t,e,n){var{hskipBeforeAndAfter:r,addJot:s,cols:i,arraystretch:a,colSeparationType:o,autoTag:u,singleRow:h,emptySingleRow:f,maxNumCols:m,leqno:g}=e;if(t.gullet.beginGroup(),h||t.gullet.macros.set("\\cr","\\\\\\relax"),!a){var x=t.gullet.expandMacroAsText("\\arraystretch");if(x==null)a=1;else if(a=parseFloat(x),!a||a<0)throw new Be("Invalid \\arraystretch: "+x)}t.gullet.beginGroup();var y=[],w=[y],b=[],k=[],N=u!=null?[]:void 0;function C(){u&&t.gullet.macros.set("\\@eqnsw","1",!0)}function T(){N&&(t.gullet.macros.get("\\df@tag")?(N.push(t.subparse([new mi("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):N.push(!!u&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(C(),k.push(PE(t));;){var E=t.parseExpression(!1,h?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup(),E={type:"ordgroup",mode:t.mode,body:E},n&&(E={type:"styling",mode:t.mode,style:n,body:[E]}),y.push(E);var _=t.fetch().text;if(_==="&"){if(m&&y.length===m){if(h||o)throw new Be("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(_==="\\end"){T(),y.length===1&&E.type==="styling"&&E.body[0].body.length===0&&(w.length>1||!f)&&w.pop(),k.length0&&(C+=.25),h.push({pos:C,isDashed:He[St]})}for(T(a[0]),r=0;r0&&(H+=N,AHe))for(r=0;r=o)){var ne=void 0;(s>0||e.hskipBeforeAndAfter)&&(ne=bn.deflt(K.pregap,g),ne!==0&&(W=be.makeSpan(["arraycolsep"],[]),W.style.width=$e(ne),z.push(W)));var ge=[];for(r=0;r0){for(var ve=be.makeLineSpan("hline",n,f),Fe=be.makeLineSpan("hdashline",n,f),Qe=[{type:"elem",elem:u,shift:0}];h.length>0;){var Ke=h.pop(),Tt=Ke.pos-U;Ke.isDashed?Qe.push({type:"elem",elem:Fe,shift:Tt}):Qe.push({type:"elem",elem:ve,shift:Tt})}u=be.makeVList({positionType:"individualShift",children:Qe},n)}if(J.length===0)return be.makeSpan(["mord"],[u],n);var st=be.makeVList({positionType:"individualShift",children:J},n);return st=be.makeSpan(["tag"],[st],n),be.makeFragment([u,st])},g1e={c:"center ",l:"left ",r:"right "},Ua=function(e,n){for(var r=[],s=new Pe.MathNode("mtd",[],["mtr-glue"]),i=new Pe.MathNode("mtd",[],["mml-eqn-num"]),a=0;a0){var y=e.cols,w="",b=!1,k=0,N=y.length;y[0].type==="separator"&&(g+="top ",k=1),y[y.length-1].type==="separator"&&(g+="bottom ",N-=1);for(var C=k;C0?"left ":"",g+=F[F.length-1].length>0?"right ":"";for(var B=1;B-1?"alignat":"align",i=e.envName==="split",a=fc(e.parser,{cols:r,addJot:!0,autoTag:i?void 0:U6(e.envName),emptySingleRow:!0,colSeparationType:s,maxNumCols:i?2:void 0,leqno:e.parser.settings.leqno},"display"),o,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(n[0]&&n[0].type==="ordgroup"){for(var f="",m=0;m0&&x&&(b=1),r[y]={type:"align",align:w,pregap:b,postgap:0}}return a.colSeparationType=x?"align":"alignat",a};Ha({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var n=Rv(e[0]),r=n?[e[0]]:zt(e[0],"ordgroup").body,s=r.map(function(a){var o=F6(a),u=o.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new Be("Unknown column alignment: "+u,a)}),i={cols:s,hskipBeforeAndAfter:!0,maxNumCols:s.length};return fc(t.parser,i,W6(t.envName))},htmlBuilder:Va,mathmlBuilder:Ua});Ha({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],n="c",r={hskipBeforeAndAfter:!1,cols:[{type:"align",align:n}]};if(t.envName.charAt(t.envName.length-1)==="*"){var s=t.parser;if(s.consumeSpaces(),s.fetch().text==="["){if(s.consume(),s.consumeSpaces(),n=s.fetch().text,"lcr".indexOf(n)===-1)throw new Be("Expected l or c or r",s.nextToken);s.consume(),s.consumeSpaces(),s.expect("]"),s.consume(),r.cols=[{type:"align",align:n}]}}var i=fc(t.parser,r,W6(t.envName)),a=Math.max(0,...i.body.map(o=>o.length));return i.cols=new Array(a).fill({type:"align",align:n}),e?{type:"leftright",mode:t.mode,body:[i],left:e[0],right:e[1],rightColor:void 0}:i},htmlBuilder:Va,mathmlBuilder:Ua});Ha({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},n=fc(t.parser,e,"script");return n.colSeparationType="small",n},htmlBuilder:Va,mathmlBuilder:Ua});Ha({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var n=Rv(e[0]),r=n?[e[0]]:zt(e[0],"ordgroup").body,s=r.map(function(a){var o=F6(a),u=o.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new Be("Unknown column alignment: "+u,a)});if(s.length>1)throw new Be("{subarray} can contain only one column");var i={cols:s,hskipBeforeAndAfter:!1,arraystretch:.5};if(i=fc(t.parser,i,"script"),i.body.length>0&&i.body[0].length>1)throw new Be("{subarray} can contain only one column");return i},htmlBuilder:Va,mathmlBuilder:Ua});Ha({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},n=fc(t.parser,e,W6(t.envName));return{type:"leftright",mode:t.mode,body:[n],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Va,mathmlBuilder:Ua});Ha({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:DF,htmlBuilder:Va,mathmlBuilder:Ua});Ha({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){["gather","gather*"].includes(t.envName)&&Pv(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:U6(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return fc(t.parser,e,"display")},htmlBuilder:Va,mathmlBuilder:Ua});Ha({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:DF,htmlBuilder:Va,mathmlBuilder:Ua});Ha({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){Pv(t);var e={autoTag:U6(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return fc(t.parser,e,"display")},htmlBuilder:Va,mathmlBuilder:Ua});Ha({type:"array",names:["CD"],props:{numArgs:0},handler(t){return Pv(t),n1e(t.parser)},htmlBuilder:Va,mathmlBuilder:Ua});X("\\nonumber","\\gdef\\@eqnsw{0}");X("\\notag","\\nonumber");Ge({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new Be(t.funcName+" valid only within array environment")}});var LE=AF;Ge({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:n,funcName:r}=t,s=e[0];if(s.type!=="ordgroup")throw new Be("Invalid environment name",s);for(var i="",a=0;a{var n=t.font,r=e.withFont(n);return hn(t.body,r)},PF=(t,e)=>{var n=t.font,r=e.withFont(n);return Qn(t.body,r)},BE={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Ge({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:n,funcName:r}=t,s=_1(e[0]),i=r;return i in BE&&(i=BE[i]),{type:"font",mode:n.mode,font:i.slice(1),body:s}},htmlBuilder:zF,mathmlBuilder:PF});Ge({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:n}=t,r=e[0],s=bn.isCharacterBox(r);return{type:"mclass",mode:n.mode,mclass:Dv(r),body:[{type:"font",mode:n.mode,font:"boldsymbol",body:r}],isCharacterBox:s}}});Ge({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:n,funcName:r,breakOnTokenText:s}=t,{mode:i}=n,a=n.parseExpression(!0,s),o="math"+r.slice(1);return{type:"font",mode:i,font:o,body:{type:"ordgroup",mode:n.mode,body:a}}},htmlBuilder:zF,mathmlBuilder:PF});var LF=(t,e)=>{var n=e;return t==="display"?n=n.id>=xt.SCRIPT.id?n.text():xt.DISPLAY:t==="text"&&n.size===xt.DISPLAY.size?n=xt.TEXT:t==="script"?n=xt.SCRIPT:t==="scriptscript"&&(n=xt.SCRIPTSCRIPT),n},G6=(t,e)=>{var n=LF(t.size,e.style),r=n.fracNum(),s=n.fracDen(),i;i=e.havingStyle(r);var a=hn(t.numer,i,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;a.height=a.height0?y=3*g:y=7*g,w=e.fontMetrics().denom1):(m>0?(x=e.fontMetrics().num2,y=g):(x=e.fontMetrics().num3,y=3*g),w=e.fontMetrics().denom2);var b;if(f){var N=e.fontMetrics().axisHeight;x-a.depth-(N+.5*m){var n=new Pe.MathNode("mfrac",[Qn(t.numer,e),Qn(t.denom,e)]);if(!t.hasBarLine)n.setAttribute("linethickness","0px");else if(t.barSize){var r=ar(t.barSize,e);n.setAttribute("linethickness",$e(r))}var s=LF(t.size,e.style);if(s.size!==e.style.size){n=new Pe.MathNode("mstyle",[n]);var i=s.size===xt.DISPLAY.size?"true":"false";n.setAttribute("displaystyle",i),n.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var a=[];if(t.leftDelim!=null){var o=new Pe.MathNode("mo",[new Pe.TextNode(t.leftDelim.replace("\\",""))]);o.setAttribute("fence","true"),a.push(o)}if(a.push(n),t.rightDelim!=null){var u=new Pe.MathNode("mo",[new Pe.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),a.push(u)}return I6(a)}return n};Ge({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:n,funcName:r}=t,s=e[0],i=e[1],a,o=null,u=null,h="auto";switch(r){case"\\dfrac":case"\\frac":case"\\tfrac":a=!0;break;case"\\\\atopfrac":a=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":a=!1,o="(",u=")";break;case"\\\\bracefrac":a=!1,o="\\{",u="\\}";break;case"\\\\brackfrac":a=!1,o="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(r){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:n.mode,continued:!1,numer:s,denom:i,hasBarLine:a,leftDelim:o,rightDelim:u,size:h,barSize:null}},htmlBuilder:G6,mathmlBuilder:X6});Ge({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(t,e)=>{var{parser:n,funcName:r}=t,s=e[0],i=e[1];return{type:"genfrac",mode:n.mode,continued:!0,numer:s,denom:i,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}});Ge({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:n,token:r}=t,s;switch(n){case"\\over":s="\\frac";break;case"\\choose":s="\\binom";break;case"\\atop":s="\\\\atopfrac";break;case"\\brace":s="\\\\bracefrac";break;case"\\brack":s="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:s,token:r}}});var IE=["display","text","script","scriptscript"],qE=function(e){var n=null;return e.length>0&&(n=e,n=n==="."?null:n),n};Ge({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:n}=t,r=e[4],s=e[5],i=_1(e[0]),a=i.type==="atom"&&i.family==="open"?qE(i.text):null,o=_1(e[1]),u=o.type==="atom"&&o.family==="close"?qE(o.text):null,h=zt(e[2],"size"),f,m=null;h.isBlank?f=!0:(m=h.value,f=m.number>0);var g="auto",x=e[3];if(x.type==="ordgroup"){if(x.body.length>0){var y=zt(x.body[0],"textord");g=IE[Number(y.text)]}}else x=zt(x,"textord"),g=IE[Number(x.text)];return{type:"genfrac",mode:n.mode,numer:r,denom:s,continued:!1,hasBarLine:f,barSize:m,leftDelim:a,rightDelim:u,size:g}},htmlBuilder:G6,mathmlBuilder:X6});Ge({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:n,funcName:r,token:s}=t;return{type:"infix",mode:n.mode,replaceWith:"\\\\abovefrac",size:zt(e[0],"size").value,token:s}}});Ge({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:n,funcName:r}=t,s=e[0],i=Uge(zt(e[1],"infix").size),a=e[2],o=i.number>0;return{type:"genfrac",mode:n.mode,numer:s,denom:a,continued:!1,hasBarLine:o,barSize:i,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:G6,mathmlBuilder:X6});var BF=(t,e)=>{var n=e.style,r,s;t.type==="supsub"?(r=t.sup?hn(t.sup,e.havingStyle(n.sup()),e):hn(t.sub,e.havingStyle(n.sub()),e),s=zt(t.base,"horizBrace")):s=zt(t,"horizBrace");var i=hn(s.base,e.havingBaseStyle(xt.DISPLAY)),a=Wl.svgSpan(s,e),o;if(s.isOver?(o=be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:.1},{type:"elem",elem:a}]},e),o.children[0].children[0].children[1].classes.push("svg-align")):(o=be.makeVList({positionType:"bottom",positionData:i.depth+.1+a.height,children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:i}]},e),o.children[0].children[0].children[0].classes.push("svg-align")),r){var u=be.makeSpan(["mord",s.isOver?"mover":"munder"],[o],e);s.isOver?o=be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:r}]},e):o=be.makeVList({positionType:"bottom",positionData:u.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return be.makeSpan(["mord",s.isOver?"mover":"munder"],[o],e)},x1e=(t,e)=>{var n=Wl.mathMLnode(t.label);return new Pe.MathNode(t.isOver?"mover":"munder",[Qn(t.base,e),n])};Ge({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:n,funcName:r}=t;return{type:"horizBrace",mode:n.mode,label:r,isOver:/^\\over/.test(r),base:e[0]}},htmlBuilder:BF,mathmlBuilder:x1e});Ge({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,r=e[1],s=zt(e[0],"url").url;return n.settings.isTrusted({command:"\\href",url:s})?{type:"href",mode:n.mode,href:s,body:xr(r)}:n.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var n=Fr(t.body,e,!1);return be.makeAnchor(t.href,[],n,e)},mathmlBuilder:(t,e)=>{var n=rc(t.body,e);return n instanceof ui||(n=new ui("mrow",[n])),n.setAttribute("href",t.href),n}});Ge({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,r=zt(e[0],"url").url;if(!n.settings.isTrusted({command:"\\url",url:r}))return n.formatUnsupportedCmd("\\url");for(var s=[],i=0;i{var{parser:n,funcName:r,token:s}=t,i=zt(e[0],"raw").string,a=e[1];n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,u={};switch(r){case"\\htmlClass":u.class=i,o={command:"\\htmlClass",class:i};break;case"\\htmlId":u.id=i,o={command:"\\htmlId",id:i};break;case"\\htmlStyle":u.style=i,o={command:"\\htmlStyle",style:i};break;case"\\htmlData":{for(var h=i.split(","),f=0;f{var n=Fr(t.body,e,!1),r=["enclosing"];t.attributes.class&&r.push(...t.attributes.class.trim().split(/\s+/));var s=be.makeSpan(r,n,e);for(var i in t.attributes)i!=="class"&&t.attributes.hasOwnProperty(i)&&s.setAttribute(i,t.attributes[i]);return s},mathmlBuilder:(t,e)=>rc(t.body,e)});Ge({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t;return{type:"htmlmathml",mode:n.mode,html:xr(e[0]),mathml:xr(e[1])}},htmlBuilder:(t,e)=>{var n=Fr(t.html,e,!1);return be.makeFragment(n)},mathmlBuilder:(t,e)=>rc(t.mathml,e)});var z4=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!n)throw new Be("Invalid size: '"+e+"' in \\includegraphics");var r={number:+(n[1]+n[2]),unit:n[3]};if(!rF(r))throw new Be("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r};Ge({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,n)=>{var{parser:r}=t,s={number:0,unit:"em"},i={number:.9,unit:"em"},a={number:0,unit:"em"},o="";if(n[0])for(var u=zt(n[0],"raw").string,h=u.split(","),f=0;f{var n=ar(t.height,e),r=0;t.totalheight.number>0&&(r=ar(t.totalheight,e)-n);var s=0;t.width.number>0&&(s=ar(t.width,e));var i={height:$e(n+r)};s>0&&(i.width=$e(s)),r>0&&(i.verticalAlign=$e(-r));var a=new xxe(t.src,t.alt,i);return a.height=n,a.depth=r,a},mathmlBuilder:(t,e)=>{var n=new Pe.MathNode("mglyph",[]);n.setAttribute("alt",t.alt);var r=ar(t.height,e),s=0;if(t.totalheight.number>0&&(s=ar(t.totalheight,e)-r,n.setAttribute("valign",$e(-s))),n.setAttribute("height",$e(r+s)),t.width.number>0){var i=ar(t.width,e);n.setAttribute("width",$e(i))}return n.setAttribute("src",t.src),n}});Ge({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:n,funcName:r}=t,s=zt(e[0],"size");if(n.settings.strict){var i=r[1]==="m",a=s.value.unit==="mu";i?(a||n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+r+" supports only mu units, "+("not "+s.value.unit+" units")),n.mode!=="math"&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+r+" works only in math mode")):a&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+r+" doesn't support mu units")}return{type:"kern",mode:n.mode,dimension:s.value}},htmlBuilder(t,e){return be.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var n=ar(t.dimension,e);return new Pe.SpaceNode(n)}});Ge({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n,funcName:r}=t,s=e[0];return{type:"lap",mode:n.mode,alignment:r.slice(5),body:s}},htmlBuilder:(t,e)=>{var n;t.alignment==="clap"?(n=be.makeSpan([],[hn(t.body,e)]),n=be.makeSpan(["inner"],[n],e)):n=be.makeSpan(["inner"],[hn(t.body,e)]);var r=be.makeSpan(["fix"],[]),s=be.makeSpan([t.alignment],[n,r],e),i=be.makeSpan(["strut"]);return i.style.height=$e(s.height+s.depth),s.depth&&(i.style.verticalAlign=$e(-s.depth)),s.children.unshift(i),s=be.makeSpan(["thinbox"],[s],e),be.makeSpan(["mord","vbox"],[s],e)},mathmlBuilder:(t,e)=>{var n=new Pe.MathNode("mpadded",[Qn(t.body,e)]);if(t.alignment!=="rlap"){var r=t.alignment==="llap"?"-1":"-0.5";n.setAttribute("lspace",r+"width")}return n.setAttribute("width","0px"),n}});Ge({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:n,parser:r}=t,s=r.mode;r.switchMode("math");var i=n==="\\("?"\\)":"$",a=r.parseExpression(!1,i);return r.expect(i),r.switchMode(s),{type:"styling",mode:r.mode,style:"text",body:a}}});Ge({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new Be("Mismatched "+t.funcName)}});var FE=(t,e)=>{switch(e.style.size){case xt.DISPLAY.size:return t.display;case xt.TEXT.size:return t.text;case xt.SCRIPT.size:return t.script;case xt.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Ge({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:n}=t;return{type:"mathchoice",mode:n.mode,display:xr(e[0]),text:xr(e[1]),script:xr(e[2]),scriptscript:xr(e[3])}},htmlBuilder:(t,e)=>{var n=FE(t,e),r=Fr(n,e,!1);return be.makeFragment(r)},mathmlBuilder:(t,e)=>{var n=FE(t,e);return rc(n,e)}});var IF=(t,e,n,r,s,i,a)=>{t=be.makeSpan([],[t]);var o=n&&bn.isCharacterBox(n),u,h;if(e){var f=hn(e,r.havingStyle(s.sup()),r);h={elem:f,kern:Math.max(r.fontMetrics().bigOpSpacing1,r.fontMetrics().bigOpSpacing3-f.depth)}}if(n){var m=hn(n,r.havingStyle(s.sub()),r);u={elem:m,kern:Math.max(r.fontMetrics().bigOpSpacing2,r.fontMetrics().bigOpSpacing4-m.height)}}var g;if(h&&u){var x=r.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+a;g=be.makeVList({positionType:"bottom",positionData:x,children:[{type:"kern",size:r.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:$e(-i)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:$e(i)},{type:"kern",size:r.fontMetrics().bigOpSpacing5}]},r)}else if(u){var y=t.height-a;g=be.makeVList({positionType:"top",positionData:y,children:[{type:"kern",size:r.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:$e(-i)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},r)}else if(h){var w=t.depth+a;g=be.makeVList({positionType:"bottom",positionData:w,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:$e(i)},{type:"kern",size:r.fontMetrics().bigOpSpacing5}]},r)}else return t;var b=[g];if(u&&i!==0&&!o){var k=be.makeSpan(["mspace"],[],r);k.style.marginRight=$e(i),b.unshift(k)}return be.makeSpan(["mop","op-limits"],b,r)},qF=["\\smallint"],Eh=(t,e)=>{var n,r,s=!1,i;t.type==="supsub"?(n=t.sup,r=t.sub,i=zt(t.base,"op"),s=!0):i=zt(t,"op");var a=e.style,o=!1;a.size===xt.DISPLAY.size&&i.symbol&&!qF.includes(i.name)&&(o=!0);var u;if(i.symbol){var h=o?"Size2-Regular":"Size1-Regular",f="";if((i.name==="\\oiint"||i.name==="\\oiiint")&&(f=i.name.slice(1),i.name=f==="oiint"?"\\iint":"\\iiint"),u=be.makeSymbol(i.name,h,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),f.length>0){var m=u.italic,g=be.staticSvg(f+"Size"+(o?"2":"1"),e);u=be.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:g,shift:o?.08:0}]},e),i.name="\\"+f,u.classes.unshift("mop"),u.italic=m}}else if(i.body){var x=Fr(i.body,e,!0);x.length===1&&x[0]instanceof $i?(u=x[0],u.classes[0]="mop"):u=be.makeSpan(["mop"],x,e)}else{for(var y=[],w=1;w{var n;if(t.symbol)n=new ui("mo",[Qi(t.name,t.mode)]),qF.includes(t.name)&&n.setAttribute("largeop","false");else if(t.body)n=new ui("mo",Ys(t.body,e));else{n=new ui("mi",[new Da(t.name.slice(1))]);var r=new ui("mo",[Qi("⁡","text")]);t.parentIsSupSub?n=new ui("mrow",[n,r]):n=mF([n,r])}return n},v1e={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Ge({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:n,funcName:r}=t,s=r;return s.length===1&&(s=v1e[s]),{type:"op",mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:s}},htmlBuilder:Eh,mathmlBuilder:R0});Ge({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:n}=t,r=e[0];return{type:"op",mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:xr(r)}},htmlBuilder:Eh,mathmlBuilder:R0});var y1e={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Ge({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:n}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:Eh,mathmlBuilder:R0});Ge({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:n}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:Eh,mathmlBuilder:R0});Ge({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(t){var{parser:e,funcName:n}=t,r=n;return r.length===1&&(r=y1e[r]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:Eh,mathmlBuilder:R0});var FF=(t,e)=>{var n,r,s=!1,i;t.type==="supsub"?(n=t.sup,r=t.sub,i=zt(t.base,"operatorname"),s=!0):i=zt(t,"operatorname");var a;if(i.body.length>0){for(var o=i.body.map(m=>{var g=m.text;return typeof g=="string"?{type:"textord",mode:m.mode,text:g}:m}),u=Fr(o,e.withFont("mathrm"),!0),h=0;h{for(var n=Ys(t.body,e.withFont("mathrm")),r=!0,s=0;sf.toText()).join("");n=[new Pe.TextNode(o)]}var u=new Pe.MathNode("mi",n);u.setAttribute("mathvariant","normal");var h=new Pe.MathNode("mo",[Qi("⁡","text")]);return t.parentIsSupSub?new Pe.MathNode("mrow",[u,h]):Pe.newDocumentFragment([u,h])};Ge({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:n,funcName:r}=t,s=e[0];return{type:"operatorname",mode:n.mode,body:xr(s),alwaysHandleSupSub:r==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:FF,mathmlBuilder:b1e});X("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Ou({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?be.makeFragment(Fr(t.body,e,!1)):be.makeSpan(["mord"],Fr(t.body,e,!0),e)},mathmlBuilder(t,e){return rc(t.body,e,!0)}});Ge({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:n}=t,r=e[0];return{type:"overline",mode:n.mode,body:r}},htmlBuilder(t,e){var n=hn(t.body,e.havingCrampedStyle()),r=be.makeLineSpan("overline-line",e),s=e.fontMetrics().defaultRuleThickness,i=be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:3*s},{type:"elem",elem:r},{type:"kern",size:s}]},e);return be.makeSpan(["mord","overline"],[i],e)},mathmlBuilder(t,e){var n=new Pe.MathNode("mo",[new Pe.TextNode("‾")]);n.setAttribute("stretchy","true");var r=new Pe.MathNode("mover",[Qn(t.body,e),n]);return r.setAttribute("accent","true"),r}});Ge({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,r=e[0];return{type:"phantom",mode:n.mode,body:xr(r)}},htmlBuilder:(t,e)=>{var n=Fr(t.body,e.withPhantom(),!1);return be.makeFragment(n)},mathmlBuilder:(t,e)=>{var n=Ys(t.body,e);return new Pe.MathNode("mphantom",n)}});Ge({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,r=e[0];return{type:"hphantom",mode:n.mode,body:r}},htmlBuilder:(t,e)=>{var n=be.makeSpan([],[hn(t.body,e.withPhantom())]);if(n.height=0,n.depth=0,n.children)for(var r=0;r{var n=Ys(xr(t.body),e),r=new Pe.MathNode("mphantom",n),s=new Pe.MathNode("mpadded",[r]);return s.setAttribute("height","0px"),s.setAttribute("depth","0px"),s}});Ge({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,r=e[0];return{type:"vphantom",mode:n.mode,body:r}},htmlBuilder:(t,e)=>{var n=be.makeSpan(["inner"],[hn(t.body,e.withPhantom())]),r=be.makeSpan(["fix"],[]);return be.makeSpan(["mord","rlap"],[n,r],e)},mathmlBuilder:(t,e)=>{var n=Ys(xr(t.body),e),r=new Pe.MathNode("mphantom",n),s=new Pe.MathNode("mpadded",[r]);return s.setAttribute("width","0px"),s}});Ge({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:n}=t,r=zt(e[0],"size").value,s=e[1];return{type:"raisebox",mode:n.mode,dy:r,body:s}},htmlBuilder(t,e){var n=hn(t.body,e),r=ar(t.dy,e);return be.makeVList({positionType:"shift",positionData:-r,children:[{type:"elem",elem:n}]},e)},mathmlBuilder(t,e){var n=new Pe.MathNode("mpadded",[Qn(t.body,e)]),r=t.dy.number+t.dy.unit;return n.setAttribute("voffset",r),n}});Ge({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Ge({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,n){var{parser:r}=t,s=n[0],i=zt(e[0],"size"),a=zt(e[1],"size");return{type:"rule",mode:r.mode,shift:s&&zt(s,"size").value,width:i.value,height:a.value}},htmlBuilder(t,e){var n=be.makeSpan(["mord","rule"],[],e),r=ar(t.width,e),s=ar(t.height,e),i=t.shift?ar(t.shift,e):0;return n.style.borderRightWidth=$e(r),n.style.borderTopWidth=$e(s),n.style.bottom=$e(i),n.width=r,n.height=s+i,n.depth=-i,n.maxFontSize=s*1.125*e.sizeMultiplier,n},mathmlBuilder(t,e){var n=ar(t.width,e),r=ar(t.height,e),s=t.shift?ar(t.shift,e):0,i=e.color&&e.getColor()||"black",a=new Pe.MathNode("mspace");a.setAttribute("mathbackground",i),a.setAttribute("width",$e(n)),a.setAttribute("height",$e(r));var o=new Pe.MathNode("mpadded",[a]);return s>=0?o.setAttribute("height",$e(s)):(o.setAttribute("height",$e(s)),o.setAttribute("depth",$e(-s))),o.setAttribute("voffset",$e(s)),o}});function $F(t,e,n){for(var r=Fr(t,e,!1),s=e.sizeMultiplier/n.sizeMultiplier,i=0;i{var n=e.havingSize(t.size);return $F(t.body,n,e)};Ge({type:"sizing",names:$E,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:n,funcName:r,parser:s}=t,i=s.parseExpression(!1,n);return{type:"sizing",mode:s.mode,size:$E.indexOf(r)+1,body:i}},htmlBuilder:w1e,mathmlBuilder:(t,e)=>{var n=e.havingSize(t.size),r=Ys(t.body,n),s=new Pe.MathNode("mstyle",r);return s.setAttribute("mathsize",$e(n.sizeMultiplier)),s}});Ge({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,n)=>{var{parser:r}=t,s=!1,i=!1,a=n[0]&&zt(n[0],"ordgroup");if(a)for(var o="",u=0;u{var n=be.makeSpan([],[hn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return n;if(t.smashHeight&&(n.height=0,n.children))for(var r=0;r{var n=new Pe.MathNode("mpadded",[Qn(t.body,e)]);return t.smashHeight&&n.setAttribute("height","0px"),t.smashDepth&&n.setAttribute("depth","0px"),n}});Ge({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,n){var{parser:r}=t,s=n[0],i=e[0];return{type:"sqrt",mode:r.mode,body:i,index:s}},htmlBuilder(t,e){var n=hn(t.body,e.havingCrampedStyle());n.height===0&&(n.height=e.fontMetrics().xHeight),n=be.wrapFragment(n,e);var r=e.fontMetrics(),s=r.defaultRuleThickness,i=s;e.style.idn.height+n.depth+a&&(a=(a+m-n.height-n.depth)/2);var g=u.height-n.height-a-h;n.style.paddingLeft=$e(f);var x=be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:-(n.height+g)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var y=e.havingStyle(xt.SCRIPTSCRIPT),w=hn(t.index,y,e),b=.6*(x.height-x.depth),k=be.makeVList({positionType:"shift",positionData:-b,children:[{type:"elem",elem:w}]},e),N=be.makeSpan(["root"],[k]);return be.makeSpan(["mord","sqrt"],[N,x],e)}else return be.makeSpan(["mord","sqrt"],[x],e)},mathmlBuilder(t,e){var{body:n,index:r}=t;return r?new Pe.MathNode("mroot",[Qn(n,e),Qn(r,e)]):new Pe.MathNode("msqrt",[Qn(n,e)])}});var QE={display:xt.DISPLAY,text:xt.TEXT,script:xt.SCRIPT,scriptscript:xt.SCRIPTSCRIPT};Ge({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:n,funcName:r,parser:s}=t,i=s.parseExpression(!0,n),a=r.slice(1,r.length-5);return{type:"styling",mode:s.mode,style:a,body:i}},htmlBuilder(t,e){var n=QE[t.style],r=e.havingStyle(n).withFont("");return $F(t.body,r,e)},mathmlBuilder(t,e){var n=QE[t.style],r=e.havingStyle(n),s=Ys(t.body,r),i=new Pe.MathNode("mstyle",s),a={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=a[t.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}});var S1e=function(e,n){var r=e.base;if(r)if(r.type==="op"){var s=r.limits&&(n.style.size===xt.DISPLAY.size||r.alwaysHandleSupSub);return s?Eh:null}else if(r.type==="operatorname"){var i=r.alwaysHandleSupSub&&(n.style.size===xt.DISPLAY.size||r.limits);return i?FF:null}else{if(r.type==="accent")return bn.isCharacterBox(r.base)?$6:null;if(r.type==="horizBrace"){var a=!e.sub;return a===r.isOver?BF:null}else return null}else return null};Ou({type:"supsub",htmlBuilder(t,e){var n=S1e(t,e);if(n)return n(t,e);var{base:r,sup:s,sub:i}=t,a=hn(r,e),o,u,h=e.fontMetrics(),f=0,m=0,g=r&&bn.isCharacterBox(r);if(s){var x=e.havingStyle(e.style.sup());o=hn(s,x,e),g||(f=a.height-x.fontMetrics().supDrop*x.sizeMultiplier/e.sizeMultiplier)}if(i){var y=e.havingStyle(e.style.sub());u=hn(i,y,e),g||(m=a.depth+y.fontMetrics().subDrop*y.sizeMultiplier/e.sizeMultiplier)}var w;e.style===xt.DISPLAY?w=h.sup1:e.style.cramped?w=h.sup3:w=h.sup2;var b=e.sizeMultiplier,k=$e(.5/h.ptPerEm/b),N=null;if(u){var C=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(a instanceof $i||C)&&(N=$e(-a.italic))}var T;if(o&&u){f=Math.max(f,w,o.depth+.25*h.xHeight),m=Math.max(m,h.sub2);var E=h.defaultRuleThickness,_=4*E;if(f-o.depth-(u.height-m)<_){m=_-(f-o.depth)+u.height;var A=.8*h.xHeight-(f-o.depth);A>0&&(f+=A,m-=A)}var F=[{type:"elem",elem:u,shift:m,marginRight:k,marginLeft:N},{type:"elem",elem:o,shift:-f,marginRight:k}];T=be.makeVList({positionType:"individualShift",children:F},e)}else if(u){m=Math.max(m,h.sub1,u.height-.8*h.xHeight);var B=[{type:"elem",elem:u,marginLeft:N,marginRight:k}];T=be.makeVList({positionType:"shift",positionData:m,children:B},e)}else if(o)f=Math.max(f,w,o.depth+.25*h.xHeight),T=be.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:o,marginRight:k}]},e);else throw new Error("supsub must have either sup or sub.");var P=hS(a,"right")||"mord";return be.makeSpan([P],[a,be.makeSpan(["msupsub"],[T])],e)},mathmlBuilder(t,e){var n=!1,r,s;t.base&&t.base.type==="horizBrace"&&(s=!!t.sup,s===t.base.isOver&&(n=!0,r=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var i=[Qn(t.base,e)];t.sub&&i.push(Qn(t.sub,e)),t.sup&&i.push(Qn(t.sup,e));var a;if(n)a=r?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===xt.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===xt.DISPLAY||h.limits)?a="munderover":a="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===xt.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===xt.DISPLAY)?a="munder":a="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===xt.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===xt.DISPLAY)?a="mover":a="msup"}return new Pe.MathNode(a,i)}});Ou({type:"atom",htmlBuilder(t,e){return be.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var n=new Pe.MathNode("mo",[Qi(t.text,t.mode)]);if(t.family==="bin"){var r=q6(t,e);r==="bold-italic"&&n.setAttribute("mathvariant",r)}else t.family==="punct"?n.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&n.setAttribute("stretchy","false");return n}});var QF={mi:"italic",mn:"normal",mtext:"normal"};Ou({type:"mathord",htmlBuilder(t,e){return be.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var n=new Pe.MathNode("mi",[Qi(t.text,t.mode,e)]),r=q6(t,e)||"italic";return r!==QF[n.type]&&n.setAttribute("mathvariant",r),n}});Ou({type:"textord",htmlBuilder(t,e){return be.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var n=Qi(t.text,t.mode,e),r=q6(t,e)||"normal",s;return t.mode==="text"?s=new Pe.MathNode("mtext",[n]):/[0-9]/.test(t.text)?s=new Pe.MathNode("mn",[n]):t.text==="\\prime"?s=new Pe.MathNode("mo",[n]):s=new Pe.MathNode("mi",[n]),r!==QF[s.type]&&s.setAttribute("mathvariant",r),s}});var P4={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},L4={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Ou({type:"spacing",htmlBuilder(t,e){if(L4.hasOwnProperty(t.text)){var n=L4[t.text].className||"";if(t.mode==="text"){var r=be.makeOrd(t,e,"textord");return r.classes.push(n),r}else return be.makeSpan(["mspace",n],[be.mathsym(t.text,t.mode,e)],e)}else{if(P4.hasOwnProperty(t.text))return be.makeSpan(["mspace",P4[t.text]],[],e);throw new Be('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var n;if(L4.hasOwnProperty(t.text))n=new Pe.MathNode("mtext",[new Pe.TextNode(" ")]);else{if(P4.hasOwnProperty(t.text))return new Pe.MathNode("mspace");throw new Be('Unknown type of space "'+t.text+'"')}return n}});var HE=()=>{var t=new Pe.MathNode("mtd",[]);return t.setAttribute("width","50%"),t};Ou({type:"tag",mathmlBuilder(t,e){var n=new Pe.MathNode("mtable",[new Pe.MathNode("mtr",[HE(),new Pe.MathNode("mtd",[rc(t.body,e)]),HE(),new Pe.MathNode("mtd",[rc(t.tag,e)])])]);return n.setAttribute("width","100%"),n}});var VE={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},UE={"\\textbf":"textbf","\\textmd":"textmd"},k1e={"\\textit":"textit","\\textup":"textup"},WE=(t,e)=>{var n=t.font;if(n){if(VE[n])return e.withTextFontFamily(VE[n]);if(UE[n])return e.withTextFontWeight(UE[n]);if(n==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(k1e[n])};Ge({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:n,funcName:r}=t,s=e[0];return{type:"text",mode:n.mode,body:xr(s),font:r}},htmlBuilder(t,e){var n=WE(t,e),r=Fr(t.body,n,!0);return be.makeSpan(["mord","text"],r,n)},mathmlBuilder(t,e){var n=WE(t,e);return rc(t.body,n)}});Ge({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:n}=t;return{type:"underline",mode:n.mode,body:e[0]}},htmlBuilder(t,e){var n=hn(t.body,e),r=be.makeLineSpan("underline-line",e),s=e.fontMetrics().defaultRuleThickness,i=be.makeVList({positionType:"top",positionData:n.height,children:[{type:"kern",size:s},{type:"elem",elem:r},{type:"kern",size:3*s},{type:"elem",elem:n}]},e);return be.makeSpan(["mord","underline"],[i],e)},mathmlBuilder(t,e){var n=new Pe.MathNode("mo",[new Pe.TextNode("‾")]);n.setAttribute("stretchy","true");var r=new Pe.MathNode("munder",[Qn(t.body,e),n]);return r.setAttribute("accentunder","true"),r}});Ge({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:n}=t;return{type:"vcenter",mode:n.mode,body:e[0]}},htmlBuilder(t,e){var n=hn(t.body,e),r=e.fontMetrics().axisHeight,s=.5*(n.height-r-(n.depth+r));return be.makeVList({positionType:"shift",positionData:s,children:[{type:"elem",elem:n}]},e)},mathmlBuilder(t,e){return new Pe.MathNode("mpadded",[Qn(t.body,e)],["vcenter"])}});Ge({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,n){throw new Be("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var n=GE(t),r=[],s=e.havingStyle(e.style.text()),i=0;it.body.replace(/ /g,t.star?"␣":" "),Qo=hF,HF=`[ \r + ]`,O1e="\\\\[a-zA-Z@]+",j1e="\\\\[^\uD800-\uDFFF]",N1e="("+O1e+")"+HF+"*",C1e=`\\\\( +|[ \r ]+ +?)[ \r ]*`,gS="[̀-ͯ]",T1e=new RegExp(gS+"+$"),E1e="("+HF+"+)|"+(C1e+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(gS+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(gS+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+N1e)+("|"+j1e+")");class XE{constructor(e,n){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=n,this.tokenRegex=new RegExp(E1e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,n){this.catcodes[e]=n}lex(){var e=this.input,n=this.tokenRegex.lastIndex;if(n===e.length)return new mi("EOF",new Bs(this,n,n));var r=this.tokenRegex.exec(e);if(r===null||r.index!==n)throw new Be("Unexpected character: '"+e[n]+"'",new mi(e[n],new Bs(this,n,n+1)));var s=r[6]||r[3]||(r[2]?"\\ ":" ");if(this.catcodes[s]===14){var i=e.indexOf(` +`,this.tokenRegex.lastIndex);return i===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=i+1,this.lex()}return new mi(s,new Bs(this,n,this.tokenRegex.lastIndex))}}class _1e{constructor(e,n){e===void 0&&(e={}),n===void 0&&(n={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=n,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new Be("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var n in e)e.hasOwnProperty(n)&&(e[n]==null?delete this.current[n]:this.current[n]=e[n])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,n,r){if(r===void 0&&(r=!1),r){for(var s=0;s0&&(this.undefStack[this.undefStack.length-1][e]=n)}else{var i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}n==null?delete this.current[e]:this.current[e]=n}}var M1e=RF;X("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});X("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});X("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});X("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});X("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var n=t.future();return e[0].length===1&&e[0][0].text===n.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});X("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");X("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var YE={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};X("\\char",function(t){var e=t.popToken(),n,r="";if(e.text==="'")n=8,e=t.popToken();else if(e.text==='"')n=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")r=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new Be("\\char` missing argument");r=e.text.charCodeAt(0)}else n=10;if(n){if(r=YE[e.text],r==null||r>=n)throw new Be("Invalid base-"+n+" digit "+e.text);for(var s;(s=YE[t.future().text])!=null&&s{var s=t.consumeArg().tokens;if(s.length!==1)throw new Be("\\newcommand's first argument must be a macro name");var i=s[0].text,a=t.isDefined(i);if(a&&!e)throw new Be("\\newcommand{"+i+"} attempting to redefine "+(i+"; use \\renewcommand"));if(!a&&!n)throw new Be("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");var o=0;if(s=t.consumeArg().tokens,s.length===1&&s[0].text==="["){for(var u="",h=t.expandNextToken();h.text!=="]"&&h.text!=="EOF";)u+=h.text,h=t.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new Be("Invalid number of arguments: "+u);o=parseInt(u),s=t.consumeArg().tokens}return a&&r||t.macros.set(i,{tokens:s,numArgs:o}),""};X("\\newcommand",t=>Y6(t,!1,!0,!1));X("\\renewcommand",t=>Y6(t,!0,!1,!1));X("\\providecommand",t=>Y6(t,!0,!0,!0));X("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(n=>n.text).join("")),""});X("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(n=>n.text).join("")),""});X("\\show",t=>{var e=t.popToken(),n=e.text;return console.log(e,t.macros.get(n),Qo[n],Un.math[n],Un.text[n]),""});X("\\bgroup","{");X("\\egroup","}");X("~","\\nobreakspace");X("\\lq","`");X("\\rq","'");X("\\aa","\\r a");X("\\AA","\\r A");X("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");X("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");X("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");X("ℬ","\\mathscr{B}");X("ℰ","\\mathscr{E}");X("ℱ","\\mathscr{F}");X("ℋ","\\mathscr{H}");X("ℐ","\\mathscr{I}");X("ℒ","\\mathscr{L}");X("ℳ","\\mathscr{M}");X("ℛ","\\mathscr{R}");X("ℭ","\\mathfrak{C}");X("ℌ","\\mathfrak{H}");X("ℨ","\\mathfrak{Z}");X("\\Bbbk","\\Bbb{k}");X("·","\\cdotp");X("\\llap","\\mathllap{\\textrm{#1}}");X("\\rlap","\\mathrlap{\\textrm{#1}}");X("\\clap","\\mathclap{\\textrm{#1}}");X("\\mathstrut","\\vphantom{(}");X("\\underbar","\\underline{\\text{#1}}");X("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');X("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");X("\\ne","\\neq");X("≠","\\neq");X("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");X("∉","\\notin");X("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");X("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");X("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");X("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");X("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");X("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");X("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");X("⟂","\\perp");X("‼","\\mathclose{!\\mkern-0.8mu!}");X("∌","\\notni");X("⌜","\\ulcorner");X("⌝","\\urcorner");X("⌞","\\llcorner");X("⌟","\\lrcorner");X("©","\\copyright");X("®","\\textregistered");X("️","\\textregistered");X("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');X("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');X("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');X("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');X("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");X("⋮","\\vdots");X("\\varGamma","\\mathit{\\Gamma}");X("\\varDelta","\\mathit{\\Delta}");X("\\varTheta","\\mathit{\\Theta}");X("\\varLambda","\\mathit{\\Lambda}");X("\\varXi","\\mathit{\\Xi}");X("\\varPi","\\mathit{\\Pi}");X("\\varSigma","\\mathit{\\Sigma}");X("\\varUpsilon","\\mathit{\\Upsilon}");X("\\varPhi","\\mathit{\\Phi}");X("\\varPsi","\\mathit{\\Psi}");X("\\varOmega","\\mathit{\\Omega}");X("\\substack","\\begin{subarray}{c}#1\\end{subarray}");X("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");X("\\boxed","\\fbox{$\\displaystyle{#1}$}");X("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");X("\\implies","\\DOTSB\\;\\Longrightarrow\\;");X("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");X("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");X("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var ZE={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};X("\\dots",function(t){var e="\\dotso",n=t.expandAfterFuture().text;return n in ZE?e=ZE[n]:(n.slice(0,4)==="\\not"||n in Un.math&&["bin","rel"].includes(Un.math[n].group))&&(e="\\dotsb"),e});var Z6={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};X("\\dotso",function(t){var e=t.future().text;return e in Z6?"\\ldots\\,":"\\ldots"});X("\\dotsc",function(t){var e=t.future().text;return e in Z6&&e!==","?"\\ldots\\,":"\\ldots"});X("\\cdots",function(t){var e=t.future().text;return e in Z6?"\\@cdots\\,":"\\@cdots"});X("\\dotsb","\\cdots");X("\\dotsm","\\cdots");X("\\dotsi","\\!\\cdots");X("\\dotsx","\\ldots\\,");X("\\DOTSI","\\relax");X("\\DOTSB","\\relax");X("\\DOTSX","\\relax");X("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");X("\\,","\\tmspace+{3mu}{.1667em}");X("\\thinspace","\\,");X("\\>","\\mskip{4mu}");X("\\:","\\tmspace+{4mu}{.2222em}");X("\\medspace","\\:");X("\\;","\\tmspace+{5mu}{.2777em}");X("\\thickspace","\\;");X("\\!","\\tmspace-{3mu}{.1667em}");X("\\negthinspace","\\!");X("\\negmedspace","\\tmspace-{4mu}{.2222em}");X("\\negthickspace","\\tmspace-{5mu}{.277em}");X("\\enspace","\\kern.5em ");X("\\enskip","\\hskip.5em\\relax");X("\\quad","\\hskip1em\\relax");X("\\qquad","\\hskip2em\\relax");X("\\tag","\\@ifstar\\tag@literal\\tag@paren");X("\\tag@paren","\\tag@literal{({#1})}");X("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new Be("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});X("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");X("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");X("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");X("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");X("\\newline","\\\\\\relax");X("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var VF=$e(Ra["Main-Regular"][84][1]-.7*Ra["Main-Regular"][65][1]);X("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+VF+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");X("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+VF+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");X("\\hspace","\\@ifstar\\@hspacer\\@hspace");X("\\@hspace","\\hskip #1\\relax");X("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");X("\\ordinarycolon",":");X("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");X("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');X("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');X("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');X("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');X("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');X("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');X("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');X("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');X("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');X("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');X("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');X("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');X("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');X("∷","\\dblcolon");X("∹","\\eqcolon");X("≔","\\coloneqq");X("≕","\\eqqcolon");X("⩴","\\Coloneqq");X("\\ratio","\\vcentcolon");X("\\coloncolon","\\dblcolon");X("\\colonequals","\\coloneqq");X("\\coloncolonequals","\\Coloneqq");X("\\equalscolon","\\eqqcolon");X("\\equalscoloncolon","\\Eqqcolon");X("\\colonminus","\\coloneq");X("\\coloncolonminus","\\Coloneq");X("\\minuscolon","\\eqcolon");X("\\minuscoloncolon","\\Eqcolon");X("\\coloncolonapprox","\\Colonapprox");X("\\coloncolonsim","\\Colonsim");X("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");X("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");X("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");X("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");X("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");X("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");X("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");X("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");X("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");X("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");X("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");X("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");X("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");X("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");X("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");X("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");X("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");X("\\nleqq","\\html@mathml{\\@nleqq}{≰}");X("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");X("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");X("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");X("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");X("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");X("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");X("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");X("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");X("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");X("\\imath","\\html@mathml{\\@imath}{ı}");X("\\jmath","\\html@mathml{\\@jmath}{ȷ}");X("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");X("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");X("⟦","\\llbracket");X("⟧","\\rrbracket");X("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");X("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");X("⦃","\\lBrace");X("⦄","\\rBrace");X("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");X("⦵","\\minuso");X("\\darr","\\downarrow");X("\\dArr","\\Downarrow");X("\\Darr","\\Downarrow");X("\\lang","\\langle");X("\\rang","\\rangle");X("\\uarr","\\uparrow");X("\\uArr","\\Uparrow");X("\\Uarr","\\Uparrow");X("\\N","\\mathbb{N}");X("\\R","\\mathbb{R}");X("\\Z","\\mathbb{Z}");X("\\alef","\\aleph");X("\\alefsym","\\aleph");X("\\Alpha","\\mathrm{A}");X("\\Beta","\\mathrm{B}");X("\\bull","\\bullet");X("\\Chi","\\mathrm{X}");X("\\clubs","\\clubsuit");X("\\cnums","\\mathbb{C}");X("\\Complex","\\mathbb{C}");X("\\Dagger","\\ddagger");X("\\diamonds","\\diamondsuit");X("\\empty","\\emptyset");X("\\Epsilon","\\mathrm{E}");X("\\Eta","\\mathrm{H}");X("\\exist","\\exists");X("\\harr","\\leftrightarrow");X("\\hArr","\\Leftrightarrow");X("\\Harr","\\Leftrightarrow");X("\\hearts","\\heartsuit");X("\\image","\\Im");X("\\infin","\\infty");X("\\Iota","\\mathrm{I}");X("\\isin","\\in");X("\\Kappa","\\mathrm{K}");X("\\larr","\\leftarrow");X("\\lArr","\\Leftarrow");X("\\Larr","\\Leftarrow");X("\\lrarr","\\leftrightarrow");X("\\lrArr","\\Leftrightarrow");X("\\Lrarr","\\Leftrightarrow");X("\\Mu","\\mathrm{M}");X("\\natnums","\\mathbb{N}");X("\\Nu","\\mathrm{N}");X("\\Omicron","\\mathrm{O}");X("\\plusmn","\\pm");X("\\rarr","\\rightarrow");X("\\rArr","\\Rightarrow");X("\\Rarr","\\Rightarrow");X("\\real","\\Re");X("\\reals","\\mathbb{R}");X("\\Reals","\\mathbb{R}");X("\\Rho","\\mathrm{P}");X("\\sdot","\\cdot");X("\\sect","\\S");X("\\spades","\\spadesuit");X("\\sub","\\subset");X("\\sube","\\subseteq");X("\\supe","\\supseteq");X("\\Tau","\\mathrm{T}");X("\\thetasym","\\vartheta");X("\\weierp","\\wp");X("\\Zeta","\\mathrm{Z}");X("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");X("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");X("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");X("\\bra","\\mathinner{\\langle{#1}|}");X("\\ket","\\mathinner{|{#1}\\rangle}");X("\\braket","\\mathinner{\\langle{#1}\\rangle}");X("\\Bra","\\left\\langle#1\\right|");X("\\Ket","\\left|#1\\right\\rangle");var UF=t=>e=>{var n=e.consumeArg().tokens,r=e.consumeArg().tokens,s=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var u=m=>g=>{t&&(g.macros.set("|",a),s.length&&g.macros.set("\\|",o));var x=m;if(!m&&s.length){var y=g.future();y.text==="|"&&(g.popToken(),x=!0)}return{tokens:x?s:r,numArgs:0}};e.macros.set("|",u(!1)),s.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...i,...h,...n]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}};X("\\bra@ket",UF(!1));X("\\bra@set",UF(!0));X("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");X("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");X("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");X("\\angln","{\\angl n}");X("\\blue","\\textcolor{##6495ed}{#1}");X("\\orange","\\textcolor{##ffa500}{#1}");X("\\pink","\\textcolor{##ff00af}{#1}");X("\\red","\\textcolor{##df0030}{#1}");X("\\green","\\textcolor{##28ae7b}{#1}");X("\\gray","\\textcolor{gray}{#1}");X("\\purple","\\textcolor{##9d38bd}{#1}");X("\\blueA","\\textcolor{##ccfaff}{#1}");X("\\blueB","\\textcolor{##80f6ff}{#1}");X("\\blueC","\\textcolor{##63d9ea}{#1}");X("\\blueD","\\textcolor{##11accd}{#1}");X("\\blueE","\\textcolor{##0c7f99}{#1}");X("\\tealA","\\textcolor{##94fff5}{#1}");X("\\tealB","\\textcolor{##26edd5}{#1}");X("\\tealC","\\textcolor{##01d1c1}{#1}");X("\\tealD","\\textcolor{##01a995}{#1}");X("\\tealE","\\textcolor{##208170}{#1}");X("\\greenA","\\textcolor{##b6ffb0}{#1}");X("\\greenB","\\textcolor{##8af281}{#1}");X("\\greenC","\\textcolor{##74cf70}{#1}");X("\\greenD","\\textcolor{##1fab54}{#1}");X("\\greenE","\\textcolor{##0d923f}{#1}");X("\\goldA","\\textcolor{##ffd0a9}{#1}");X("\\goldB","\\textcolor{##ffbb71}{#1}");X("\\goldC","\\textcolor{##ff9c39}{#1}");X("\\goldD","\\textcolor{##e07d10}{#1}");X("\\goldE","\\textcolor{##a75a05}{#1}");X("\\redA","\\textcolor{##fca9a9}{#1}");X("\\redB","\\textcolor{##ff8482}{#1}");X("\\redC","\\textcolor{##f9685d}{#1}");X("\\redD","\\textcolor{##e84d39}{#1}");X("\\redE","\\textcolor{##bc2612}{#1}");X("\\maroonA","\\textcolor{##ffbde0}{#1}");X("\\maroonB","\\textcolor{##ff92c6}{#1}");X("\\maroonC","\\textcolor{##ed5fa6}{#1}");X("\\maroonD","\\textcolor{##ca337c}{#1}");X("\\maroonE","\\textcolor{##9e034e}{#1}");X("\\purpleA","\\textcolor{##ddd7ff}{#1}");X("\\purpleB","\\textcolor{##c6b9fc}{#1}");X("\\purpleC","\\textcolor{##aa87ff}{#1}");X("\\purpleD","\\textcolor{##7854ab}{#1}");X("\\purpleE","\\textcolor{##543b78}{#1}");X("\\mintA","\\textcolor{##f5f9e8}{#1}");X("\\mintB","\\textcolor{##edf2df}{#1}");X("\\mintC","\\textcolor{##e0e5cc}{#1}");X("\\grayA","\\textcolor{##f6f7f7}{#1}");X("\\grayB","\\textcolor{##f0f1f2}{#1}");X("\\grayC","\\textcolor{##e3e5e6}{#1}");X("\\grayD","\\textcolor{##d6d8da}{#1}");X("\\grayE","\\textcolor{##babec2}{#1}");X("\\grayF","\\textcolor{##888d93}{#1}");X("\\grayG","\\textcolor{##626569}{#1}");X("\\grayH","\\textcolor{##3b3e40}{#1}");X("\\grayI","\\textcolor{##21242c}{#1}");X("\\kaBlue","\\textcolor{##314453}{#1}");X("\\kaGreen","\\textcolor{##71B307}{#1}");var WF={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class A1e{constructor(e,n,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=n,this.expansionCount=0,this.feed(e),this.macros=new _1e(M1e,n.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new XE(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var n,r,s;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;n=this.popToken(),{tokens:s,end:r}=this.consumeArg(["]"])}else({tokens:s,start:n,end:r}=this.consumeArg());return this.pushToken(new mi("EOF",r.loc)),this.pushTokens(s),new mi("",Bs.range(n,r))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var n=[],r=e&&e.length>0;r||this.consumeSpaces();var s=this.future(),i,a=0,o=0;do{if(i=this.popToken(),n.push(i),i.text==="{")++a;else if(i.text==="}"){if(--a,a===-1)throw new Be("Extra }",i)}else if(i.text==="EOF")throw new Be("Unexpected end of input in a macro argument, expected '"+(e&&r?e[o]:"}")+"'",i);if(e&&r)if((a===0||a===1&&e[o]==="{")&&i.text===e[o]){if(++o,o===e.length){n.splice(-o,o);break}}else o=0}while(a!==0||r);return s.text==="{"&&n[n.length-1].text==="}"&&(n.pop(),n.shift()),n.reverse(),{tokens:n,start:s,end:i}}consumeArgs(e,n){if(n){if(n.length!==e+1)throw new Be("The length of delimiters doesn't match the number of args!");for(var r=n[0],s=0;sthis.settings.maxExpand)throw new Be("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var n=this.popToken(),r=n.text,s=n.noexpand?null:this._getExpansion(r);if(s==null||e&&s.unexpandable){if(e&&s==null&&r[0]==="\\"&&!this.isDefined(r))throw new Be("Undefined control sequence: "+r);return this.pushToken(n),!1}this.countExpansion(1);var i=s.tokens,a=this.consumeArgs(s.numArgs,s.delimiters);if(s.numArgs){i=i.slice();for(var o=i.length-1;o>=0;--o){var u=i[o];if(u.text==="#"){if(o===0)throw new Be("Incomplete placeholder at end of macro body",u);if(u=i[--o],u.text==="#")i.splice(o+1,1);else if(/^[1-9]$/.test(u.text))i.splice(o,2,...a[+u.text-1]);else throw new Be("Not a valid argument number",u)}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new mi(e)]):void 0}expandTokens(e){var n=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(this.expandOnce(!0)===!1){var s=this.stack.pop();s.treatAsRelax&&(s.noexpand=!1,s.treatAsRelax=!1),n.push(s)}return this.countExpansion(n.length),n}expandMacroAsText(e){var n=this.expandMacro(e);return n&&n.map(r=>r.text).join("")}_getExpansion(e){var n=this.macros.get(e);if(n==null)return n;if(e.length===1){var r=this.lexer.catcodes[e];if(r!=null&&r!==13)return}var s=typeof n=="function"?n(this):n;if(typeof s=="string"){var i=0;if(s.indexOf("#")!==-1)for(var a=s.replace(/##/g,"");a.indexOf("#"+(i+1))!==-1;)++i;for(var o=new XE(s,this.settings),u=[],h=o.lex();h.text!=="EOF";)u.push(h),h=o.lex();u.reverse();var f={tokens:u,numArgs:i};return f}return s}isDefined(e){return this.macros.has(e)||Qo.hasOwnProperty(e)||Un.math.hasOwnProperty(e)||Un.text.hasOwnProperty(e)||WF.hasOwnProperty(e)}isExpandable(e){var n=this.macros.get(e);return n!=null?typeof n=="string"||typeof n=="function"||!n.unexpandable:Qo.hasOwnProperty(e)&&!Qo[e].primitive}}var KE=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,sx=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),B4={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},JE={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Lv{constructor(e,n){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new A1e(e,n,this.mode),this.settings=n,this.leftrightDepth=0}expect(e,n){if(n===void 0&&(n=!0),this.fetch().text!==e)throw new Be("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());n&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var n=this.nextToken;this.consume(),this.gullet.pushToken(new mi("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=n,r}parseExpression(e,n){for(var r=[];;){this.mode==="math"&&this.consumeSpaces();var s=this.fetch();if(Lv.endOfExpression.indexOf(s.text)!==-1||n&&s.text===n||e&&Qo[s.text]&&Qo[s.text].infix)break;var i=this.parseAtom(n);if(i){if(i.type==="internal")continue}else break;r.push(i)}return this.mode==="text"&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var n=-1,r,s=0;s=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+n[0]+'" used in math mode',e);var o=Un[this.mode][n].group,u=Bs.range(e),h;if(bxe.hasOwnProperty(o)){var f=o;h={type:"atom",mode:this.mode,family:f,loc:u,text:n}}else h={type:o,mode:this.mode,loc:u,text:n};a=h}else if(n.charCodeAt(0)>=128)this.settings.strict&&(nF(n.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+n[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+n[0]+'"'+(" ("+n.charCodeAt(0)+")"),e)),a={type:"textord",mode:"text",loc:Bs.range(e),text:n};else return null;if(this.consume(),i)for(var m=0;mh&&(h=f):f&&(h!==void 0&&h>-1&&u.push(` +`.repeat(h)||" "),h=-1,u.push(f))}return u.join("")}function e$(t,e,n){return t.type==="element"?cve(t,e,n):t.type==="text"?n.whitespace==="normal"?t$(t,n):uve(t):[]}function cve(t,e,n){const r=n$(t,n),s=t.children||[];let i=-1,a=[];if(lve(t))return a;let o,u;for(vS(t)||o_(t)&&s_(e,t,o_)?u=` +`:ave(t)?(o=2,u=2):JF(t)&&(o=1,u=1);++i{try{i(!0);const ve=await bve({page:a,page_size:f,search:g||void 0,is_registered:y==="all"?void 0:y==="registered",is_banned:b==="all"?void 0:b==="banned",format:N==="all"?void 0:N,sort_by:"usage_count",sort_order:"desc"});e(ve.data),h(ve.total)}catch(ve){const Fe=ve instanceof Error?ve.message:"加载表情包列表失败";ee({title:"错误",description:Fe,variant:"destructive"})}finally{i(!1)}},[a,f,g,y,b,N,ee]),R=async()=>{try{const ve=await Ove();r(ve.data)}catch(ve){console.error("加载统计数据失败:",ve)}};O.useEffect(()=>{Y()},[Y]),O.useEffect(()=>{R()},[]);const re=async ve=>{try{const Fe=await wve(ve.id);E(Fe.data),A(!0)}catch(Fe){const Qe=Fe instanceof Error?Fe.message:"加载详情失败";ee({title:"错误",description:Qe,variant:"destructive"})}},K=ve=>{E(ve),B(!0)},I=ve=>{E(ve),H(!0)},Q=async()=>{if(T)try{await kve(T.id),ee({title:"成功",description:"表情包已删除"}),H(!1),E(null),Y(),R()}catch(ve){const Fe=ve instanceof Error?ve.message:"删除失败";ee({title:"错误",description:Fe,variant:"destructive"})}},$=async ve=>{try{await jve(ve.id),ee({title:"成功",description:"表情包已注册"}),Y(),R()}catch(Fe){const Qe=Fe instanceof Error?Fe.message:"注册失败";ee({title:"错误",description:Qe,variant:"destructive"})}},Z=async ve=>{try{await Nve(ve.id),ee({title:"成功",description:"表情包已封禁"}),Y(),R()}catch(Fe){const Qe=Fe instanceof Error?Fe.message:"封禁失败";ee({title:"错误",description:Qe,variant:"destructive"})}},ne=ve=>{const Fe=new Set(U);Fe.has(ve)?Fe.delete(ve):Fe.add(ve),te(Fe)},ge=()=>{U.size===t.length&&t.length>0?te(new Set):te(new Set(t.map(ve=>ve.id)))},se=async()=>{try{const ve=await Cve(Array.from(U));ee({title:"批量删除完成",description:ve.message}),te(new Set),W(!1),Y(),R()}catch(ve){ee({title:"批量删除失败",description:ve instanceof Error?ve.message:"批量删除失败",variant:"destructive"})}},Te=()=>{const ve=parseInt(q),Fe=Math.ceil(u/f);ve>=1&&ve<=Fe?(o(ve),J("")):ee({title:"无效的页码",description:`请输入1-${Fe}之间的页码`,variant:"destructive"})},qe=n?.formats?Object.keys(n.formats):[];return l.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[l.jsxs("div",{className:"mb-4 sm:mb-6",children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"表情包管理"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理麦麦的表情包资源"})]}),l.jsx(yn,{className:"flex-1",children:l.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[n&&l.jsxs("div",{className:"grid gap-4 grid-cols-2 lg:grid-cols-4",children:[l.jsx(Ct,{children:l.jsxs(xn,{className:"pb-2",children:[l.jsx(Lr,{children:"总数"}),l.jsx(vn,{className:"text-2xl",children:n.total})]})}),l.jsx(Ct,{children:l.jsxs(xn,{className:"pb-2",children:[l.jsx(Lr,{children:"已注册"}),l.jsx(vn,{className:"text-2xl text-green-600",children:n.registered})]})}),l.jsx(Ct,{children:l.jsxs(xn,{className:"pb-2",children:[l.jsx(Lr,{children:"已封禁"}),l.jsx(vn,{className:"text-2xl text-red-600",children:n.banned})]})}),l.jsx(Ct,{children:l.jsxs(xn,{className:"pb-2",children:[l.jsx(Lr,{children:"未注册"}),l.jsx(vn,{className:"text-2xl text-gray-600",children:n.unregistered})]})})]}),l.jsxs(Ct,{children:[l.jsx(xn,{children:l.jsxs(vn,{className:"flex items-center gap-2",children:[l.jsx(q5,{className:"h-5 w-5"}),"搜索和筛选"]})}),l.jsxs(Tn,{className:"space-y-4",children:[l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{children:"搜索"}),l.jsxs("div",{className:"relative",children:[l.jsx(js,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),l.jsx(Re,{placeholder:"描述或哈希值...",value:g,onChange:ve=>{x(ve.target.value),o(1)},className:"pl-8"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{children:"注册状态"}),l.jsxs(It,{value:y,onValueChange:ve=>{w(ve),o(1)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"all",children:"全部"}),l.jsx(ze,{value:"registered",children:"已注册"}),l.jsx(ze,{value:"unregistered",children:"未注册"})]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{children:"封禁状态"}),l.jsxs(It,{value:b,onValueChange:ve=>{k(ve),o(1)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"all",children:"全部"}),l.jsx(ze,{value:"banned",children:"已封禁"}),l.jsx(ze,{value:"unbanned",children:"未封禁"})]})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{children:"格式"}),l.jsxs(It,{value:N,onValueChange:ve=>{C(ve),o(1)},children:[l.jsx(Pt,{children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"all",children:"全部"}),qe.map(ve=>l.jsxs(ze,{value:ve,children:[ve.toUpperCase()," (",n?.formats[ve],")"]},ve))]})]})]})]}),l.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3 pt-4 border-t",children:[l.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:U.size>0&&l.jsxs("span",{children:["已选择 ",U.size," 个表情包"]})}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ce,{htmlFor:"emoji-page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),l.jsxs(It,{value:f.toString(),onValueChange:ve=>{m(parseInt(ve)),o(1),te(new Set)},children:[l.jsx(Pt,{id:"emoji-page-size",className:"w-20",children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"10",children:"10"}),l.jsx(ze,{value:"20",children:"20"}),l.jsx(ze,{value:"50",children:"50"}),l.jsx(ze,{value:"100",children:"100"})]})]}),U.size>0&&l.jsxs(l.Fragment,{children:[l.jsx(de,{variant:"outline",size:"sm",onClick:()=>te(new Set),children:"取消选择"}),l.jsxs(de,{variant:"destructive",size:"sm",onClick:()=>W(!0),children:[l.jsx(Kt,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]}),l.jsx("div",{className:"flex justify-end pt-4 border-t",children:l.jsxs(de,{variant:"outline",size:"sm",onClick:Y,disabled:s,children:[l.jsx(hi,{className:`h-4 w-4 mr-2 ${s?"animate-spin":""}`}),"刷新"]})})]})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{children:[l.jsx(vn,{children:"表情包列表"}),l.jsxs(Lr,{children:["共 ",u," 个表情包,当前第 ",a," 页"]})]}),l.jsxs(Tn,{children:[l.jsx("div",{className:"hidden md:block rounded-md border overflow-hidden",children:l.jsxs(bu,{children:[l.jsx(wu,{children:l.jsxs(_r,{children:[l.jsx(jt,{className:"w-12",children:l.jsx(ms,{checked:t.length>0&&U.size===t.length,onCheckedChange:ge,"aria-label":"全选"})}),l.jsx(jt,{className:"w-16",children:"预览"}),l.jsx(jt,{children:"描述"}),l.jsx(jt,{children:"格式"}),l.jsx(jt,{children:"情绪"}),l.jsx(jt,{className:"text-center",children:"状态"}),l.jsx(jt,{className:"text-right",children:"使用次数"}),l.jsx(jt,{className:"text-right",children:"操作"})]})}),l.jsx(Su,{children:t.length===0?l.jsx(_r,{children:l.jsx(gt,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):t.map(ve=>l.jsxs(_r,{children:[l.jsx(gt,{children:l.jsx(ms,{checked:U.has(ve.id),onCheckedChange:()=>ne(ve.id),"aria-label":`选择 ${ve.description}`})}),l.jsx(gt,{children:l.jsx("div",{className:"w-20 h-20 bg-muted rounded flex items-center justify-center overflow-hidden",children:l.jsx("img",{src:yS(ve.id),alt:ve.description||"表情包",className:"w-full h-full object-cover",onError:Fe=>{const Qe=Fe.target;Qe.style.display="none";const Ke=Qe.parentElement;Ke&&(Ke.innerHTML='')}})})}),l.jsx(gt,{children:l.jsxs("div",{className:"space-y-1 max-w-xs",children:[l.jsx("div",{className:"font-medium truncate",title:ve.description||"无描述",children:ve.description||"无描述"}),l.jsxs("div",{className:"text-xs text-muted-foreground font-mono",children:[ve.emoji_hash.slice(0,16),"..."]})]})}),l.jsx(gt,{children:l.jsx(kn,{variant:"outline",children:ve.format.toUpperCase()})}),l.jsx(gt,{children:l.jsx(c_,{emotions:ve.emotion})}),l.jsx(gt,{className:"align-middle",children:l.jsxs("div",{className:"flex gap-2 justify-center",children:[ve.is_registered&&l.jsxs(kn,{variant:"default",className:"bg-green-600",children:[l.jsx(Ea,{className:"h-3 w-3 mr-1"}),"已注册"]}),ve.is_banned&&l.jsxs(kn,{variant:"destructive",children:[l.jsx(P5,{className:"h-3 w-3 mr-1"}),"已封禁"]})]})}),l.jsx(gt,{className:"text-right font-mono",children:ve.usage_count}),l.jsx(gt,{children:l.jsxs("div",{className:"flex items-center justify-end gap-1 flex-wrap",children:[l.jsxs(de,{variant:"default",size:"sm",onClick:()=>re(ve),children:[l.jsx(Il,{className:"h-4 w-4 mr-1"}),"详情"]}),l.jsxs(de,{variant:"default",size:"sm",onClick:()=>K(ve),children:[l.jsx(Gd,{className:"h-4 w-4 mr-1"}),"编辑"]}),!ve.is_registered&&l.jsxs(de,{size:"sm",onClick:()=>$(ve),className:"bg-green-600 hover:bg-green-700 text-white",children:[l.jsx(Ea,{className:"h-4 w-4 mr-1"}),"注册"]}),!ve.is_banned&&l.jsxs(de,{size:"sm",onClick:()=>Z(ve),className:"bg-orange-600 hover:bg-orange-700 text-white",children:[l.jsx(N8,{className:"h-4 w-4 mr-1"}),"封禁"]}),l.jsxs(de,{size:"sm",onClick:()=>I(ve),className:"bg-red-600 hover:bg-red-700 text-white",children:[l.jsx(Kt,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},ve.id))})]})}),l.jsx("div",{className:"md:hidden space-y-3",children:t.length===0?l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):t.map(ve=>l.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[l.jsxs("div",{className:"flex gap-3",children:[l.jsx("div",{className:"flex-shrink-0",children:l.jsx("div",{className:"w-16 h-16 bg-muted rounded flex items-center justify-center overflow-hidden",children:l.jsx("img",{src:yS(ve.id),alt:ve.description||"表情包",className:"w-full h-full object-cover",onError:Fe=>{const Qe=Fe.target;Qe.style.display="none";const Ke=Qe.parentElement;Ke&&(Ke.innerHTML='')}})})}),l.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[l.jsxs("div",{className:"min-w-0 w-full overflow-hidden",children:[l.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",title:ve.description||"无描述",children:ve.description||"无描述"}),l.jsxs("p",{className:"text-xs text-muted-foreground font-mono line-clamp-1 w-full break-all",children:[ve.emoji_hash.slice(0,16),"..."]})]}),l.jsxs("div",{className:"flex flex-wrap gap-1 items-center min-w-0",children:[l.jsx(kn,{variant:"outline",className:"text-xs flex-shrink-0",children:ve.format.toUpperCase()}),ve.is_registered&&l.jsxs(kn,{variant:"default",className:"bg-green-600 text-xs flex-shrink-0",children:[l.jsx(Ea,{className:"h-3 w-3 mr-1"}),"已注册"]}),ve.is_banned&&l.jsxs(kn,{variant:"destructive",className:"text-xs flex-shrink-0",children:[l.jsx(P5,{className:"h-3 w-3 mr-1"}),"已封禁"]}),l.jsxs("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:["使用: ",ve.usage_count]})]}),ve.emotion&&ve.emotion.trim()&&l.jsx("div",{className:"min-w-0 overflow-hidden",children:l.jsx(c_,{emotions:ve.emotion})})]})]}),l.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[l.jsxs(de,{variant:"default",size:"sm",onClick:()=>re(ve),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[l.jsx(Il,{className:"h-3 w-3 mr-1"}),"详情"]}),l.jsxs(de,{variant:"default",size:"sm",onClick:()=>K(ve),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[l.jsx(Gd,{className:"h-3 w-3 mr-1"}),"编辑"]}),!ve.is_registered&&l.jsxs(de,{size:"sm",onClick:()=>$(ve),className:"text-xs px-2 py-1 h-auto flex-shrink-0 bg-green-600 hover:bg-green-700 text-white",children:[l.jsx(Ea,{className:"h-3 w-3 mr-1"}),"注册"]}),!ve.is_banned&&l.jsxs(de,{size:"sm",onClick:()=>Z(ve),className:"text-xs px-2 py-1 h-auto flex-shrink-0 bg-orange-600 hover:bg-orange-700 text-white",children:[l.jsx(N8,{className:"h-3 w-3 mr-1"}),"封禁"]}),l.jsxs(de,{size:"sm",onClick:()=>I(ve),className:"text-xs px-2 py-1 h-auto flex-shrink-0 bg-red-600 hover:bg-red-700 text-white",children:[l.jsx(Kt,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},ve.id))}),u>0&&l.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 mt-4",children:[l.jsxs("div",{className:"text-sm text-muted-foreground",children:["显示 ",(a-1)*f+1," 到"," ",Math.min(a*f,u)," 条,共 ",u," 条"]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(de,{variant:"outline",size:"sm",onClick:()=>o(1),disabled:a===1,className:"hidden sm:flex",children:l.jsx(i0,{className:"h-4 w-4"})}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>o(ve=>Math.max(1,ve-1)),disabled:a===1,children:[l.jsx(vu,{className:"h-4 w-4 sm:mr-1"}),l.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Re,{type:"number",value:q,onChange:ve=>J(ve.target.value),onKeyDown:ve=>ve.key==="Enter"&&Te(),placeholder:a.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(u/f)}),l.jsx(de,{variant:"outline",size:"sm",onClick:Te,disabled:!q,className:"h-8",children:"跳转"})]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>o(ve=>ve+1),disabled:a>=Math.ceil(u/f),children:[l.jsx("span",{className:"hidden sm:inline",children:"下一页"}),l.jsx(yu,{className:"h-4 w-4 sm:ml-1"})]}),l.jsx(de,{variant:"outline",size:"sm",onClick:()=>o(Math.ceil(u/f)),disabled:a>=Math.ceil(u/f),className:"hidden sm:flex",children:l.jsx(a0,{className:"h-4 w-4"})})]})]})]})]}),l.jsx(Eve,{emoji:T,open:_,onOpenChange:A}),l.jsx(_ve,{emoji:T,open:F,onOpenChange:B,onSuccess:()=>{Y(),R()}})]})}),l.jsx(wn,{open:z,onOpenChange:W,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认批量删除"}),l.jsxs(cn,{children:["你确定要删除选中的 ",U.size," 个表情包吗?此操作不可撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:se,children:"确认删除"})]})]})}),l.jsx(Mr,{open:P,onOpenChange:H,children:l.jsxs(vr,{children:[l.jsxs(yr,{children:[l.jsx(br,{children:"确认删除"}),l.jsx(as,{children:"确定要删除这个表情包吗?此操作无法撤销。"})]}),l.jsxs(Ns,{children:[l.jsx(de,{variant:"outline",onClick:()=>H(!1),children:"取消"}),l.jsx(de,{variant:"destructive",onClick:Q,children:"删除"})]})]})})]})}function Eve({emoji:t,open:e,onOpenChange:n}){if(!t)return null;const r=s=>s?new Date(s*1e3).toLocaleString("zh-CN"):"-";return l.jsx(Mr,{open:e,onOpenChange:n,children:l.jsxs(vr,{className:"max-w-2xl max-h-[90vh]",children:[l.jsx(yr,{children:l.jsx(br,{children:"表情包详情"})}),l.jsx(yn,{className:"max-h-[calc(90vh-8rem)] pr-4",children:l.jsxs("div",{className:"space-y-4",children:[l.jsx("div",{className:"flex justify-center",children:l.jsx("div",{className:"w-32 h-32 bg-muted rounded-lg flex items-center justify-center overflow-hidden",children:l.jsx("img",{src:yS(t.id),alt:t.description||"表情包",className:"w-full h-full object-cover",onError:s=>{const i=s.target;i.style.display="none";const a=i.parentElement;a&&(a.innerHTML='')}})})}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"ID"}),l.jsx("div",{className:"mt-1 font-mono",children:t.id})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"格式"}),l.jsx("div",{className:"mt-1",children:l.jsx(kn,{variant:"outline",children:t.format.toUpperCase()})})]})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"文件路径"}),l.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:t.full_path})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"哈希值"}),l.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:t.emoji_hash})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"描述"}),t.description?l.jsx("div",{className:"mt-1 rounded-lg border bg-muted/50 p-3",children:l.jsx(yve,{className:"prose-sm",children:t.description})}):l.jsx("div",{className:"mt-1 text-sm text-muted-foreground",children:"-"})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"情绪"}),l.jsx("div",{className:"mt-1",children:t.emotion?l.jsx("span",{className:"text-sm",children:t.emotion}):l.jsx("span",{className:"text-sm text-muted-foreground",children:"-"})})]}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"状态"}),l.jsxs("div",{className:"mt-2 flex gap-2",children:[t.is_registered&&l.jsx(kn,{variant:"default",className:"bg-green-600",children:"已注册"}),t.is_banned&&l.jsx(kn,{variant:"destructive",children:"已封禁"}),!t.is_registered&&!t.is_banned&&l.jsx(kn,{variant:"outline",children:"未注册"})]})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"使用次数"}),l.jsx("div",{className:"mt-1 font-mono text-lg",children:t.usage_count})]})]}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"记录时间"}),l.jsx("div",{className:"mt-1 text-sm",children:r(t.record_time)})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"注册时间"}),l.jsx("div",{className:"mt-1 text-sm",children:r(t.register_time)})]})]}),l.jsxs("div",{children:[l.jsx(ce,{className:"text-muted-foreground",children:"最后使用"}),l.jsx("div",{className:"mt-1 text-sm",children:r(t.last_used_time)})]})]})})]})})}function _ve({emoji:t,open:e,onOpenChange:n,onSuccess:r}){const[s,i]=O.useState(""),[a,o]=O.useState(""),[u,h]=O.useState(!1),[f,m]=O.useState(!1),[g,x]=O.useState(!1),{toast:y}=$r();O.useEffect(()=>{t&&(i(t.description||""),o(t.emotion||""),h(t.is_registered),m(t.is_banned))},[t]);const w=async()=>{if(t)try{x(!0);const b=a.split(/[,,]/).map(k=>k.trim()).filter(Boolean).join(",");await Sve(t.id,{description:s||void 0,emotion:b||void 0,is_registered:u,is_banned:f}),y({title:"成功",description:"表情包信息已更新"}),n(!1),r()}catch(b){const k=b instanceof Error?b.message:"保存失败";y({title:"错误",description:k,variant:"destructive"})}finally{x(!1)}};return t?l.jsx(Mr,{open:e,onOpenChange:n,children:l.jsxs(vr,{className:"max-w-2xl",children:[l.jsxs(yr,{children:[l.jsx(br,{children:"编辑表情包"}),l.jsx(as,{children:"修改表情包的描述和标签信息"})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx(ce,{children:"描述"}),l.jsx(Rn,{value:s,onChange:b=>i(b.target.value),placeholder:"输入表情包描述...",rows:3,className:"mt-1"})]}),l.jsxs("div",{children:[l.jsx(ce,{children:"情绪"}),l.jsx(Rn,{value:a,onChange:b=>o(b.target.value),placeholder:"输入情绪描述...",rows:2,className:"mt-1"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"输入情绪相关的文本描述"})]}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(ms,{id:"is_registered",checked:u,onCheckedChange:b=>h(b===!0)}),l.jsx(ce,{htmlFor:"is_registered",className:"cursor-pointer",children:"已注册"})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(ms,{id:"is_banned",checked:f,onCheckedChange:b=>m(b===!0)}),l.jsx(ce,{htmlFor:"is_banned",className:"cursor-pointer",children:"已封禁"})]})]})]}),l.jsxs(Ns,{children:[l.jsx(de,{variant:"outline",onClick:()=>n(!1),children:"取消"}),l.jsx(de,{onClick:w,disabled:g,children:g?"保存中...":"保存"})]})]})}):null}function c_({emotions:t}){if(!t||t.trim()==="")return l.jsx("span",{className:"text-xs text-muted-foreground",children:"-"});const e=20,n=t.length>e?t.slice(0,e)+"...":t;return l.jsx("div",{className:"text-sm break-words max-w-xs",title:t,children:n})}const Nu="/api/webui/expression";async function Mve(t){const e=new URLSearchParams;t.page&&e.append("page",t.page.toString()),t.page_size&&e.append("page_size",t.page_size.toString()),t.search&&e.append("search",t.search),t.chat_id&&e.append("chat_id",t.chat_id);const n=await yt(`${Nu}/list?${e}`,{headers:Et()});if(!n.ok){const r=await n.json();throw new Error(r.detail||"获取表达方式列表失败")}return n.json()}async function Ave(t){const e=await yt(`${Nu}/${t}`,{headers:Et()});if(!e.ok){const n=await e.json();throw new Error(n.detail||"获取表达方式详情失败")}return e.json()}async function Rve(t){const e=await yt(`${Nu}/`,{method:"POST",headers:Et(),body:JSON.stringify(t)});if(!e.ok){const n=await e.json();throw new Error(n.detail||"创建表达方式失败")}return e.json()}async function Dve(t,e){const n=await yt(`${Nu}/${t}`,{method:"PATCH",headers:Et(),body:JSON.stringify(e)});if(!n.ok){const r=await n.json();throw new Error(r.detail||"更新表达方式失败")}return n.json()}async function zve(t){const e=await yt(`${Nu}/${t}`,{method:"DELETE",headers:Et()});if(!e.ok){const n=await e.json();throw new Error(n.detail||"删除表达方式失败")}return e.json()}async function Pve(t){const e=await yt(`${Nu}/batch/delete`,{method:"POST",headers:Et(),body:JSON.stringify({ids:t})});if(!e.ok){const n=await e.json();throw new Error(n.detail||"批量删除表达方式失败")}return e.json()}async function Lve(){const t=await yt(`${Nu}/stats/summary`,{headers:Et()});if(!t.ok){const e=await t.json();throw new Error(e.detail||"获取统计数据失败")}return t.json()}function Bve(){const[t,e]=O.useState([]),[n,r]=O.useState(!0),[s,i]=O.useState(0),[a,o]=O.useState(1),[u,h]=O.useState(20),[f,m]=O.useState(""),[g,x]=O.useState(null),[y,w]=O.useState(!1),[b,k]=O.useState(!1),[N,C]=O.useState(!1),[T,E]=O.useState(null),[_,A]=O.useState(new Set),[F,B]=O.useState(!1),[P,H]=O.useState(""),[U,te]=O.useState({total:0,recent_7days:0,chat_count:0,top_chats:{}}),{toast:z}=$r(),W=async()=>{try{r(!0);const $=await Mve({page:a,page_size:u,search:f||void 0});e($.data),i($.total)}catch($){z({title:"加载失败",description:$ instanceof Error?$.message:"无法加载表达方式",variant:"destructive"})}finally{r(!1)}},q=async()=>{try{const $=await Lve();$?.data&&te($.data)}catch($){console.error("加载统计数据失败:",$)}};O.useEffect(()=>{W(),q()},[a,u,f]);const J=async $=>{try{const Z=await Ave($.id);x(Z.data),w(!0)}catch(Z){z({title:"加载详情失败",description:Z instanceof Error?Z.message:"无法加载表达方式详情",variant:"destructive"})}},ee=$=>{x($),k(!0)},Y=async $=>{try{await zve($.id),z({title:"删除成功",description:`已删除表达方式: ${$.situation}`}),E(null),W(),q()}catch(Z){z({title:"删除失败",description:Z instanceof Error?Z.message:"无法删除表达方式",variant:"destructive"})}},R=$=>{const Z=new Set(_);Z.has($)?Z.delete($):Z.add($),A(Z)},re=()=>{_.size===t.length&&t.length>0?A(new Set):A(new Set(t.map($=>$.id)))},K=async()=>{try{await Pve(Array.from(_)),z({title:"批量删除成功",description:`已删除 ${_.size} 个表达方式`}),A(new Set),B(!1),W(),q()}catch($){z({title:"批量删除失败",description:$ instanceof Error?$.message:"无法批量删除表达方式",variant:"destructive"})}},I=()=>{const $=parseInt(P),Z=Math.ceil(s/u);$>=1&&$<=Z?(o($),H("")):z({title:"无效的页码",description:`请输入1-${Z}之间的页码`,variant:"destructive"})},Q=$=>$?new Date($*1e3).toLocaleString("zh-CN"):"-";return l.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[l.jsx("div",{className:"mb-4 sm:mb-6",children:l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[l.jsxs("div",{children:[l.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[l.jsx(r0,{className:"h-8 w-8",strokeWidth:2}),"表达方式管理"]}),l.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦的表达方式和话术模板"})]}),l.jsxs(de,{onClick:()=>C(!0),className:"gap-2",children:[l.jsx(is,{className:"h-4 w-4"}),"新增表达方式"]})]})}),l.jsx(yn,{className:"flex-1",children:l.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[l.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[l.jsx("div",{className:"text-sm text-muted-foreground",children:"总数量"}),l.jsx("div",{className:"text-2xl font-bold mt-1",children:U.total})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[l.jsx("div",{className:"text-sm text-muted-foreground",children:"近7天新增"}),l.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:U.recent_7days})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[l.jsx("div",{className:"text-sm text-muted-foreground",children:"关联聊天数"}),l.jsx("div",{className:"text-2xl font-bold mt-1 text-blue-600",children:U.chat_count})]})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[l.jsx(ce,{htmlFor:"search",children:"搜索"}),l.jsx("div",{className:"flex flex-col sm:flex-row gap-2 mt-1.5",children:l.jsxs("div",{className:"flex-1 relative",children:[l.jsx(js,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),l.jsx(Re,{id:"search",placeholder:"搜索情境、风格或上下文...",value:f,onChange:$=>m($.target.value),className:"pl-9"})]})}),l.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:[l.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:_.size>0&&l.jsxs("span",{children:["已选择 ",_.size," 个表达方式"]})}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ce,{htmlFor:"page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),l.jsxs(It,{value:u.toString(),onValueChange:$=>{h(parseInt($)),o(1),A(new Set)},children:[l.jsx(Pt,{id:"page-size",className:"w-20",children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"10",children:"10"}),l.jsx(ze,{value:"20",children:"20"}),l.jsx(ze,{value:"50",children:"50"}),l.jsx(ze,{value:"100",children:"100"})]})]}),_.size>0&&l.jsxs(l.Fragment,{children:[l.jsx(de,{variant:"outline",size:"sm",onClick:()=>A(new Set),children:"取消选择"}),l.jsxs(de,{variant:"destructive",size:"sm",onClick:()=>B(!0),children:[l.jsx(Kt,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]})]}),l.jsxs("div",{className:"rounded-lg border bg-card",children:[l.jsx("div",{className:"hidden md:block",children:l.jsxs(bu,{children:[l.jsx(wu,{children:l.jsxs(_r,{children:[l.jsx(jt,{className:"w-12",children:l.jsx(ms,{checked:_.size===t.length&&t.length>0,onCheckedChange:re})}),l.jsx(jt,{children:"情境"}),l.jsx(jt,{children:"风格"}),l.jsx(jt,{children:"聊天ID"}),l.jsx(jt,{children:"最后活跃"}),l.jsx(jt,{className:"text-right",children:"操作"})]})}),l.jsx(Su,{children:n?l.jsx(_r,{children:l.jsx(gt,{colSpan:6,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):t.length===0?l.jsx(_r,{children:l.jsx(gt,{colSpan:6,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):t.map($=>l.jsxs(_r,{children:[l.jsx(gt,{children:l.jsx(ms,{checked:_.has($.id),onCheckedChange:()=>R($.id)})}),l.jsx(gt,{className:"font-medium max-w-xs truncate",children:$.situation}),l.jsx(gt,{className:"max-w-xs truncate",children:$.style}),l.jsx(gt,{className:"font-mono text-sm",children:$.chat_id}),l.jsx(gt,{className:"text-sm text-muted-foreground",children:Q($.last_active_time)}),l.jsx(gt,{className:"text-right",children:l.jsxs("div",{className:"flex justify-end gap-2",children:[l.jsxs(de,{variant:"default",size:"sm",onClick:()=>J($),children:[l.jsx(na,{className:"h-4 w-4 mr-1"}),"详情"]}),l.jsxs(de,{variant:"default",size:"sm",onClick:()=>ee($),children:[l.jsx(Gd,{className:"h-4 w-4 mr-1"}),"编辑"]}),l.jsxs(de,{size:"sm",onClick:()=>E($),className:"bg-red-600 hover:bg-red-700 text-white",children:[l.jsx(Kt,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},$.id))})]})}),l.jsx("div",{className:"md:hidden space-y-3 p-4",children:n?l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):t.length===0?l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):t.map($=>l.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx(ms,{checked:_.has($.id),onCheckedChange:()=>R($.id),className:"mt-1"}),l.jsxs("div",{className:"min-w-0 flex-1 overflow-hidden space-y-2",children:[l.jsxs("div",{children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"情境"}),l.jsx("h3",{className:"font-semibold text-sm line-clamp-2 w-full break-all",title:$.situation,children:$.situation})]}),l.jsxs("div",{children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"风格"}),l.jsx("p",{className:"text-sm line-clamp-2 w-full break-all",title:$.style,children:$.style})]})]})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[l.jsxs("div",{children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"聊天ID"}),l.jsx("p",{className:"font-mono text-xs truncate",children:$.chat_id})]}),l.jsxs("div",{children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后活跃"}),l.jsx("p",{className:"text-xs",children:Q($.last_active_time)})]})]}),l.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>J($),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[l.jsx(na,{className:"h-3 w-3 mr-1"}),"查看"]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>ee($),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[l.jsx(Gd,{className:"h-3 w-3 mr-1"}),"编辑"]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>E($),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[l.jsx(Kt,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},$.id))}),s>0&&l.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",children:[l.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",s," 条记录,第 ",a," / ",Math.ceil(s/u)," 页"]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(de,{variant:"outline",size:"sm",onClick:()=>o(1),disabled:a===1,className:"hidden sm:flex",children:l.jsx(i0,{className:"h-4 w-4"})}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>o(a-1),disabled:a===1,children:[l.jsx(vu,{className:"h-4 w-4 sm:mr-1"}),l.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Re,{type:"number",value:P,onChange:$=>H($.target.value),onKeyDown:$=>$.key==="Enter"&&I(),placeholder:a.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(s/u)}),l.jsx(de,{variant:"outline",size:"sm",onClick:I,disabled:!P,className:"h-8",children:"跳转"})]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>o(a+1),disabled:a>=Math.ceil(s/u),children:[l.jsx("span",{className:"hidden sm:inline",children:"下一页"}),l.jsx(yu,{className:"h-4 w-4 sm:ml-1"})]}),l.jsx(de,{variant:"outline",size:"sm",onClick:()=>o(Math.ceil(s/u)),disabled:a>=Math.ceil(s/u),className:"hidden sm:flex",children:l.jsx(a0,{className:"h-4 w-4"})})]})]})]})]})}),l.jsx(Ive,{expression:g,open:y,onOpenChange:w}),l.jsx(qve,{open:N,onOpenChange:C,onSuccess:()=>{W(),q(),C(!1)}}),l.jsx(Fve,{expression:g,open:b,onOpenChange:k,onSuccess:()=>{W(),q(),k(!1)}}),l.jsx(wn,{open:!!T,onOpenChange:()=>E(null),children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:['确定要删除表达方式 "',T?.situation,'" 吗? 此操作不可撤销。']})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>T&&Y(T),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})}),l.jsx($ve,{open:F,onOpenChange:B,onConfirm:K,count:_.size})]})}function Ive({expression:t,open:e,onOpenChange:n}){if(!t)return null;const r=s=>s?new Date(s*1e3).toLocaleString("zh-CN"):"-";return l.jsx(Mr,{open:e,onOpenChange:n,children:l.jsxs(vr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[l.jsxs(yr,{children:[l.jsx(br,{children:"表达方式详情"}),l.jsx(as,{children:"查看表达方式的完整信息"})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[l.jsx(hd,{label:"情境",value:t.situation}),l.jsx(hd,{label:"风格",value:t.style}),l.jsx(hd,{icon:Ux,label:"聊天ID",value:t.chat_id,mono:!0}),l.jsx(hd,{icon:Ux,label:"记录ID",value:t.id.toString(),mono:!0})]}),t.context&&l.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[l.jsx(ce,{className:"text-xs text-muted-foreground",children:"上下文"}),l.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:t.context})]}),t.up_content&&l.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[l.jsx(ce,{className:"text-xs text-muted-foreground",children:"上文内容"}),l.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:t.up_content})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[l.jsx(hd,{icon:Yc,label:"最后活跃",value:r(t.last_active_time)}),l.jsx(hd,{icon:Yc,label:"创建时间",value:r(t.create_date)})]})]}),l.jsx(Ns,{children:l.jsx(de,{onClick:()=>n(!1),children:"关闭"})})]})})}function hd({icon:t,label:e,value:n,mono:r=!1}){return l.jsxs("div",{className:"space-y-1",children:[l.jsxs(ce,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[t&&l.jsx(t,{className:"h-3 w-3"}),e]}),l.jsx("div",{className:Se("text-sm",r&&"font-mono",!n&&"text-muted-foreground"),children:n||"-"})]})}function qve({open:t,onOpenChange:e,onSuccess:n}){const[r,s]=O.useState({situation:"",style:"",context:"",up_content:"",chat_id:""}),[i,a]=O.useState(!1),{toast:o}=$r(),u=async()=>{if(!r.situation||!r.style||!r.chat_id){o({title:"验证失败",description:"请填写必填字段:情境、风格和聊天ID",variant:"destructive"});return}try{a(!0),await Rve(r),o({title:"创建成功",description:"表达方式已创建"}),s({situation:"",style:"",context:"",up_content:"",chat_id:""}),n()}catch(h){o({title:"创建失败",description:h instanceof Error?h.message:"无法创建表达方式",variant:"destructive"})}finally{a(!1)}};return l.jsx(Mr,{open:t,onOpenChange:e,children:l.jsxs(vr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[l.jsxs(yr,{children:[l.jsx(br,{children:"新增表达方式"}),l.jsx(as,{children:"创建新的表达方式记录"})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsxs(ce,{htmlFor:"situation",children:["情境 ",l.jsx("span",{className:"text-destructive",children:"*"})]}),l.jsx(Re,{id:"situation",value:r.situation,onChange:h=>s({...r,situation:h.target.value}),placeholder:"描述使用场景"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs(ce,{htmlFor:"style",children:["风格 ",l.jsx("span",{className:"text-destructive",children:"*"})]}),l.jsx(Re,{id:"style",value:r.style,onChange:h=>s({...r,style:h.target.value}),placeholder:"描述表达风格"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs(ce,{htmlFor:"chat_id",children:["聊天ID ",l.jsx("span",{className:"text-destructive",children:"*"})]}),l.jsx(Re,{id:"chat_id",value:r.chat_id,onChange:h=>s({...r,chat_id:h.target.value}),placeholder:"关联的聊天ID"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"context",children:"上下文"}),l.jsx(Rn,{id:"context",value:r.context,onChange:h=>s({...r,context:h.target.value}),placeholder:"上下文信息(可选)",rows:3})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"up_content",children:"上文内容"}),l.jsx(Rn,{id:"up_content",value:r.up_content,onChange:h=>s({...r,up_content:h.target.value}),placeholder:"上文内容(可选)",rows:3})]})]}),l.jsxs(Ns,{children:[l.jsx(de,{variant:"outline",onClick:()=>e(!1),children:"取消"}),l.jsx(de,{onClick:u,disabled:i,children:i?"创建中...":"创建"})]})]})})}function Fve({expression:t,open:e,onOpenChange:n,onSuccess:r}){const[s,i]=O.useState({}),[a,o]=O.useState(!1),{toast:u}=$r();O.useEffect(()=>{t&&i({situation:t.situation,style:t.style,context:t.context||"",up_content:t.up_content||"",chat_id:t.chat_id})},[t]);const h=async()=>{if(t)try{o(!0),await Dve(t.id,s),u({title:"保存成功",description:"表达方式已更新"}),r()}catch(f){u({title:"保存失败",description:f instanceof Error?f.message:"无法更新表达方式",variant:"destructive"})}finally{o(!1)}};return t?l.jsx(Mr,{open:e,onOpenChange:n,children:l.jsxs(vr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[l.jsxs(yr,{children:[l.jsx(br,{children:"编辑表达方式"}),l.jsx(as,{children:"修改表达方式的信息"})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"edit_situation",children:"情境"}),l.jsx(Re,{id:"edit_situation",value:s.situation||"",onChange:f=>i({...s,situation:f.target.value}),placeholder:"描述使用场景"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"edit_style",children:"风格"}),l.jsx(Re,{id:"edit_style",value:s.style||"",onChange:f=>i({...s,style:f.target.value}),placeholder:"描述表达风格"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"edit_chat_id",children:"聊天ID"}),l.jsx(Re,{id:"edit_chat_id",value:s.chat_id||"",onChange:f=>i({...s,chat_id:f.target.value}),placeholder:"关联的聊天ID"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"edit_context",children:"上下文"}),l.jsx(Rn,{id:"edit_context",value:s.context||"",onChange:f=>i({...s,context:f.target.value}),placeholder:"上下文信息",rows:3})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"edit_up_content",children:"上文内容"}),l.jsx(Rn,{id:"edit_up_content",value:s.up_content||"",onChange:f=>i({...s,up_content:f.target.value}),placeholder:"上文内容",rows:3})]})]}),l.jsxs(Ns,{children:[l.jsx(de,{variant:"outline",onClick:()=>n(!1),children:"取消"}),l.jsx(de,{onClick:h,disabled:a,children:a?"保存中...":"保存"})]})]})}):null}function $ve({open:t,onOpenChange:e,onConfirm:n,count:r}){return l.jsx(wn,{open:t,onOpenChange:e,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认批量删除"}),l.jsxs(cn,{children:["您即将删除 ",r," 个表达方式,此操作无法撤销。确定要继续吗?"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:n,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"确认删除"})]})]})})}const _h="/api/webui/person";async function Qve(t){const e=new URLSearchParams;t.page&&e.append("page",t.page.toString()),t.page_size&&e.append("page_size",t.page_size.toString()),t.search&&e.append("search",t.search),t.is_known!==void 0&&e.append("is_known",t.is_known.toString()),t.platform&&e.append("platform",t.platform);const n=await yt(`${_h}/list?${e}`,{headers:Et()});if(!n.ok){const r=await n.json();throw new Error(r.detail||"获取人物列表失败")}return n.json()}async function Hve(t){const e=await yt(`${_h}/${t}`,{headers:Et()});if(!e.ok){const n=await e.json();throw new Error(n.detail||"获取人物详情失败")}return e.json()}async function Vve(t,e){const n=await yt(`${_h}/${t}`,{method:"PATCH",headers:Et(),body:JSON.stringify(e)});if(!n.ok){const r=await n.json();throw new Error(r.detail||"更新人物信息失败")}return n.json()}async function Uve(t){const e=await yt(`${_h}/${t}`,{method:"DELETE",headers:Et()});if(!e.ok){const n=await e.json();throw new Error(n.detail||"删除人物信息失败")}return e.json()}async function Wve(){const t=await yt(`${_h}/stats/summary`,{headers:Et()});if(!t.ok){const e=await t.json();throw new Error(e.detail||"获取统计数据失败")}return t.json()}async function Gve(t){const e=await yt(`${_h}/batch/delete`,{method:"POST",headers:Et(),body:JSON.stringify({person_ids:t})});if(!e.ok){const n=await e.json();throw new Error(n.detail||"批量删除失败")}return e.json()}function Xve(){const[t,e]=O.useState([]),[n,r]=O.useState(!0),[s,i]=O.useState(0),[a,o]=O.useState(1),[u,h]=O.useState(20),[f,m]=O.useState(""),[g,x]=O.useState(void 0),[y,w]=O.useState(void 0),[b,k]=O.useState(null),[N,C]=O.useState(!1),[T,E]=O.useState(!1),[_,A]=O.useState(null),[F,B]=O.useState({total:0,known:0,unknown:0,platforms:{}}),[P,H]=O.useState(new Set),[U,te]=O.useState(!1),[z,W]=O.useState(""),{toast:q}=$r(),J=async()=>{try{r(!0);const se=await Qve({page:a,page_size:u,search:f||void 0,is_known:g,platform:y});e(se.data),i(se.total)}catch(se){q({title:"加载失败",description:se instanceof Error?se.message:"无法加载人物信息",variant:"destructive"})}finally{r(!1)}},ee=async()=>{try{const se=await Wve();se?.data&&B(se.data)}catch(se){console.error("加载统计数据失败:",se)}};O.useEffect(()=>{J(),ee()},[a,u,f,g,y]);const Y=async se=>{try{const Te=await Hve(se.person_id);k(Te.data),C(!0)}catch(Te){q({title:"加载详情失败",description:Te instanceof Error?Te.message:"无法加载人物详情",variant:"destructive"})}},R=se=>{k(se),E(!0)},re=async se=>{try{await Uve(se.person_id),q({title:"删除成功",description:`已删除人物信息: ${se.person_name||se.nickname||se.user_id}`}),A(null),J(),ee()}catch(Te){q({title:"删除失败",description:Te instanceof Error?Te.message:"无法删除人物信息",variant:"destructive"})}},K=O.useMemo(()=>Object.keys(F.platforms),[F.platforms]),I=se=>{const Te=new Set(P);Te.has(se)?Te.delete(se):Te.add(se),H(Te)},Q=()=>{P.size===t.length&&t.length>0?H(new Set):H(new Set(t.map(se=>se.person_id)))},$=()=>{if(P.size===0){q({title:"未选择任何人物",description:"请先选择要删除的人物",variant:"destructive"});return}te(!0)},Z=async()=>{try{const se=await Gve(Array.from(P));q({title:"批量删除完成",description:se.message}),H(new Set),te(!1),J(),ee()}catch(se){q({title:"批量删除失败",description:se instanceof Error?se.message:"批量删除失败",variant:"destructive"})}},ne=()=>{const se=parseInt(z),Te=Math.ceil(s/u);se>=1&&se<=Te?(o(se),W("")):q({title:"无效的页码",description:`请输入1-${Te}之间的页码`,variant:"destructive"})},ge=se=>se?new Date(se*1e3).toLocaleString("zh-CN"):"-";return l.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[l.jsx("div",{className:"mb-4 sm:mb-6",children:l.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:l.jsxs("div",{children:[l.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[l.jsx(QX,{className:"h-8 w-8",strokeWidth:2}),"人物信息管理"]}),l.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦认识的所有人物信息"})]})})}),l.jsx(yn,{className:"flex-1",children:l.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[l.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[l.jsx("div",{className:"text-sm text-muted-foreground",children:"总人数"}),l.jsx("div",{className:"text-2xl font-bold mt-1",children:F.total})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[l.jsx("div",{className:"text-sm text-muted-foreground",children:"已认识"}),l.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:F.known})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[l.jsx("div",{className:"text-sm text-muted-foreground",children:"未认识"}),l.jsx("div",{className:"text-2xl font-bold mt-1 text-muted-foreground",children:F.unknown})]})]}),l.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[l.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-4 gap-4",children:[l.jsxs("div",{className:"sm:col-span-2",children:[l.jsx(ce,{htmlFor:"search",children:"搜索"}),l.jsxs("div",{className:"relative mt-1.5",children:[l.jsx(js,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),l.jsx(Re,{id:"search",placeholder:"搜索名称、昵称或用户ID...",value:f,onChange:se=>m(se.target.value),className:"pl-9"})]})]}),l.jsxs("div",{children:[l.jsx(ce,{htmlFor:"filter-known",children:"认识状态"}),l.jsxs(It,{value:g===void 0?"all":g.toString(),onValueChange:se=>{x(se==="all"?void 0:se==="true"),o(1)},children:[l.jsx(Pt,{id:"filter-known",className:"mt-1.5",children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"all",children:"全部"}),l.jsx(ze,{value:"true",children:"已认识"}),l.jsx(ze,{value:"false",children:"未认识"})]})]})]}),l.jsxs("div",{children:[l.jsx(ce,{htmlFor:"filter-platform",children:"平台"}),l.jsxs(It,{value:y||"all",onValueChange:se=>{w(se==="all"?void 0:se),o(1)},children:[l.jsx(Pt,{id:"filter-platform",className:"mt-1.5",children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"all",children:"全部平台"}),K.map(se=>l.jsxs(ze,{value:se,children:[se," (",F.platforms[se],")"]},se))]})]})]})]}),l.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:[l.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:P.size>0&&l.jsxs("span",{children:["已选择 ",P.size," 个人物"]})}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ce,{htmlFor:"page-size",className:"text-sm whitespace-nowrap",children:"每页显示"}),l.jsxs(It,{value:u.toString(),onValueChange:se=>{h(parseInt(se)),o(1),H(new Set)},children:[l.jsx(Pt,{id:"page-size",className:"w-20",children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"10",children:"10"}),l.jsx(ze,{value:"20",children:"20"}),l.jsx(ze,{value:"50",children:"50"}),l.jsx(ze,{value:"100",children:"100"})]})]}),P.size>0&&l.jsxs(l.Fragment,{children:[l.jsx(de,{variant:"outline",size:"sm",onClick:()=>H(new Set),children:"取消选择"}),l.jsxs(de,{variant:"destructive",size:"sm",onClick:$,children:[l.jsx(Kt,{className:"h-4 w-4 mr-1"}),"批量删除"]})]})]})]})]}),l.jsxs("div",{className:"rounded-lg border bg-card",children:[l.jsx("div",{className:"hidden md:block",children:l.jsxs(bu,{children:[l.jsx(wu,{children:l.jsxs(_r,{children:[l.jsx(jt,{className:"w-12",children:l.jsx(ms,{checked:t.length>0&&P.size===t.length,onCheckedChange:Q,"aria-label":"全选"})}),l.jsx(jt,{children:"状态"}),l.jsx(jt,{children:"名称"}),l.jsx(jt,{children:"昵称"}),l.jsx(jt,{children:"平台"}),l.jsx(jt,{children:"用户ID"}),l.jsx(jt,{children:"最后更新"}),l.jsx(jt,{className:"text-right",children:"操作"})]})}),l.jsx(Su,{children:n?l.jsx(_r,{children:l.jsx(gt,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):t.length===0?l.jsx(_r,{children:l.jsx(gt,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):t.map(se=>l.jsxs(_r,{children:[l.jsx(gt,{children:l.jsx(ms,{checked:P.has(se.person_id),onCheckedChange:()=>I(se.person_id),"aria-label":`选择 ${se.person_name||se.nickname||se.user_id}`})}),l.jsx(gt,{children:l.jsx("div",{className:Se("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium",se.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:se.is_known?"已认识":"未认识"})}),l.jsx(gt,{className:"font-medium",children:se.person_name||l.jsx("span",{className:"text-muted-foreground",children:"-"})}),l.jsx(gt,{children:se.nickname||"-"}),l.jsx(gt,{children:se.platform}),l.jsx(gt,{className:"font-mono text-sm",children:se.user_id}),l.jsx(gt,{className:"text-sm text-muted-foreground",children:ge(se.last_know)}),l.jsx(gt,{className:"text-right",children:l.jsxs("div",{className:"flex justify-end gap-2",children:[l.jsxs(de,{variant:"default",size:"sm",onClick:()=>Y(se),children:[l.jsx(na,{className:"h-4 w-4 mr-1"}),"详情"]}),l.jsxs(de,{variant:"default",size:"sm",onClick:()=>R(se),children:[l.jsx(Gd,{className:"h-4 w-4 mr-1"}),"编辑"]}),l.jsxs(de,{size:"sm",onClick:()=>A(se),className:"bg-red-600 hover:bg-red-700 text-white",children:[l.jsx(Kt,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},se.id))})]})}),l.jsx("div",{className:"md:hidden space-y-3 p-4",children:n?l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):t.length===0?l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):t.map(se=>l.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx(ms,{checked:P.has(se.person_id),onCheckedChange:()=>I(se.person_id),className:"mt-1"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:Se("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium mb-2",se.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:se.is_known?"已认识":"未认识"}),l.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",children:se.person_name||l.jsx("span",{className:"text-muted-foreground",children:"未命名"})}),se.nickname&&l.jsxs("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-1 w-full break-all",children:["昵称: ",se.nickname]})]})]}),l.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[l.jsxs("div",{children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"平台"}),l.jsx("p",{className:"font-medium text-xs",children:se.platform})]}),l.jsxs("div",{children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"用户ID"}),l.jsx("p",{className:"font-mono text-xs truncate",title:se.user_id,children:se.user_id})]}),l.jsxs("div",{className:"col-span-2",children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后更新"}),l.jsx("p",{className:"text-xs",children:ge(se.last_know)})]})]}),l.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>Y(se),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[l.jsx(na,{className:"h-3 w-3 mr-1"}),"查看"]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>R(se),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[l.jsx(Gd,{className:"h-3 w-3 mr-1"}),"编辑"]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>A(se),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[l.jsx(Kt,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},se.id))}),s>0&&l.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-4 py-3 border-t",children:[l.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",s," 条记录,第 ",a," / ",Math.ceil(s/u)," 页"]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(de,{variant:"outline",size:"sm",onClick:()=>o(1),disabled:a===1,className:"hidden sm:flex",children:l.jsx(i0,{className:"h-4 w-4"})}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>o(a-1),disabled:a===1,children:[l.jsx(vu,{className:"h-4 w-4 sm:mr-1"}),l.jsx("span",{className:"hidden sm:inline",children:"上一页"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Re,{type:"number",value:z,onChange:se=>W(se.target.value),onKeyDown:se=>se.key==="Enter"&&ne(),placeholder:a.toString(),className:"w-16 h-8 text-center",min:1,max:Math.ceil(s/u)}),l.jsx(de,{variant:"outline",size:"sm",onClick:ne,disabled:!z,className:"h-8",children:"跳转"})]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:()=>o(a+1),disabled:a>=Math.ceil(s/u),children:[l.jsx("span",{className:"hidden sm:inline",children:"下一页"}),l.jsx(yu,{className:"h-4 w-4 sm:ml-1"})]}),l.jsx(de,{variant:"outline",size:"sm",onClick:()=>o(Math.ceil(s/u)),disabled:a>=Math.ceil(s/u),className:"hidden sm:flex",children:l.jsx(a0,{className:"h-4 w-4"})})]})]})]})]})}),l.jsx(Yve,{person:b,open:N,onOpenChange:C}),l.jsx(Zve,{person:b,open:T,onOpenChange:E,onSuccess:()=>{J(),ee(),E(!1)}}),l.jsx(wn,{open:!!_,onOpenChange:()=>A(null),children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认删除"}),l.jsxs(cn,{children:['确定要删除人物信息 "',_?.person_name||_?.nickname||_?.user_id,'" 吗? 此操作不可撤销。']})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:()=>_&&re(_),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})}),l.jsx(wn,{open:U,onOpenChange:te,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"确认批量删除"}),l.jsxs(cn,{children:["确定要删除选中的 ",P.size," 个人物信息吗? 此操作不可撤销。"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{children:"取消"}),l.jsx(un,{onClick:Z,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})})]})}function Yve({person:t,open:e,onOpenChange:n}){if(!t)return null;const r=s=>s?new Date(s*1e3).toLocaleString("zh-CN"):"-";return l.jsx(Mr,{open:e,onOpenChange:n,children:l.jsxs(vr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[l.jsxs(yr,{children:[l.jsx(br,{children:"人物详情"}),l.jsxs(as,{children:["查看 ",t.person_name||t.nickname||t.user_id," 的完整信息"]})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[l.jsx(wl,{icon:ER,label:"人物名称",value:t.person_name}),l.jsx(wl,{icon:r0,label:"昵称",value:t.nickname}),l.jsx(wl,{icon:Ux,label:"用户ID",value:t.user_id,mono:!0}),l.jsx(wl,{icon:Ux,label:"人物ID",value:t.person_id,mono:!0}),l.jsx(wl,{label:"平台",value:t.platform}),l.jsx(wl,{label:"状态",value:t.is_known?"已认识":"未认识"})]}),t.name_reason&&l.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[l.jsx(ce,{className:"text-xs text-muted-foreground",children:"名称设定原因"}),l.jsx("p",{className:"mt-1 text-sm",children:t.name_reason})]}),t.memory_points&&l.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[l.jsx(ce,{className:"text-xs text-muted-foreground",children:"个人印象"}),l.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:t.memory_points})]}),t.group_nick_name&&t.group_nick_name.length>0&&l.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[l.jsx(ce,{className:"text-xs text-muted-foreground",children:"群昵称"}),l.jsx("div",{className:"mt-2 space-y-1",children:t.group_nick_name.map((s,i)=>l.jsxs("div",{className:"text-sm flex items-center gap-2",children:[l.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:s.group_id}),l.jsx("span",{children:"→"}),l.jsx("span",{children:s.group_nick_name})]},i))})]}),l.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[l.jsx(wl,{icon:Yc,label:"认识时间",value:r(t.know_times)}),l.jsx(wl,{icon:Yc,label:"首次记录",value:r(t.know_since)}),l.jsx(wl,{icon:Yc,label:"最后更新",value:r(t.last_know)})]})]}),l.jsx(Ns,{children:l.jsx(de,{onClick:()=>n(!1),children:"关闭"})})]})})}function wl({icon:t,label:e,value:n,mono:r=!1}){return l.jsxs("div",{className:"space-y-1",children:[l.jsxs(ce,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[t&&l.jsx(t,{className:"h-3 w-3"}),e]}),l.jsx("div",{className:Se("text-sm",r&&"font-mono",!n&&"text-muted-foreground"),children:n||"-"})]})}function Zve({person:t,open:e,onOpenChange:n,onSuccess:r}){const[s,i]=O.useState({}),[a,o]=O.useState(!1),{toast:u}=$r();O.useEffect(()=>{t&&i({person_name:t.person_name||"",name_reason:t.name_reason||"",nickname:t.nickname||"",memory_points:t.memory_points||"",is_known:t.is_known})},[t]);const h=async()=>{if(t)try{o(!0),await Vve(t.person_id,s),u({title:"保存成功",description:"人物信息已更新"}),r()}catch(f){u({title:"保存失败",description:f instanceof Error?f.message:"无法更新人物信息",variant:"destructive"})}finally{o(!1)}};return t?l.jsx(Mr,{open:e,onOpenChange:n,children:l.jsxs(vr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[l.jsxs(yr,{children:[l.jsx(br,{children:"编辑人物信息"}),l.jsxs(as,{children:["修改 ",t.person_name||t.nickname||t.user_id," 的信息"]})]}),l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"person_name",children:"人物名称"}),l.jsx(Re,{id:"person_name",value:s.person_name||"",onChange:f=>i({...s,person_name:f.target.value}),placeholder:"为这个人设置一个名称"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"nickname",children:"昵称"}),l.jsx(Re,{id:"nickname",value:s.nickname||"",onChange:f=>i({...s,nickname:f.target.value}),placeholder:"昵称"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"name_reason",children:"名称设定原因"}),l.jsx(Rn,{id:"name_reason",value:s.name_reason||"",onChange:f=>i({...s,name_reason:f.target.value}),placeholder:"为什么这样称呼这个人?",rows:2})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"memory_points",children:"个人印象"}),l.jsx(Rn,{id:"memory_points",value:s.memory_points||"",onChange:f=>i({...s,memory_points:f.target.value}),placeholder:"对这个人的印象和记忆点...",rows:4})]}),l.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[l.jsxs("div",{children:[l.jsx(ce,{htmlFor:"is_known",className:"text-base font-medium",children:"已认识"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"标记是否已经认识这个人"})]}),l.jsx(Dt,{id:"is_known",checked:s.is_known,onCheckedChange:f=>i({...s,is_known:f})})]})]}),l.jsxs(Ns,{children:[l.jsx(de,{variant:"outline",onClick:()=>n(!1),children:"取消"}),l.jsx(de,{onClick:h,disabled:a,children:a?"保存中...":"保存"})]})]})}):null}function ls(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,r;n{let e;const n=new Set,r=(f,m)=>{const g=typeof f=="function"?f(e):f;if(!Object.is(g,e)){const x=e;e=m??(typeof g!="object"||g===null)?g:Object.assign({},e,g),n.forEach(y=>y(e,x))}},s=()=>e,u={setState:r,getState:s,getInitialState:()=>h,subscribe:f=>(n.add(f),()=>n.delete(f)),destroy:()=>{(Kve?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},h=e=t(r,s,u);return u},Jve=t=>t?u_(t):u_,{useDebugValue:eye}=fe,{useSyncExternalStoreWithSelector:tye}=aG,nye=t=>t;function r$(t,e=nye,n){const r=tye(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return eye(r),r}const d_=(t,e)=>{const n=Jve(t),r=(s,i=e)=>r$(n,s,i);return Object.assign(r,n),r},rye=(t,e)=>t?d_(t,e):d_;function Wr(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(const[r,s]of t)if(!Object.is(s,e.get(r)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(const r of t)if(!e.has(r))return!1;return!0}const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(e,r)||!Object.is(t[r],e[r]))return!1;return!0}var sye={value:()=>{}};function Bv(){for(var t=0,e=arguments.length,n={},r;t=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Ix.prototype=Bv.prototype={constructor:Ix,on:function(t,e){var n=this._,r=iye(t+"",n),s,i=-1,a=r.length;if(arguments.length<2){for(;++i0)for(var n=new Array(s),r=0,s,i;r=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),f_.hasOwnProperty(e)?{space:f_[e],local:t}:t}function lye(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===bS&&e.documentElement.namespaceURI===bS?e.createElement(t):e.createElementNS(n,t)}}function oye(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function s$(t){var e=Iv(t);return(e.local?oye:lye)(e)}function cye(){}function tO(t){return t==null?cye:function(){return this.querySelector(t)}}function uye(t){typeof t!="function"&&(t=tO(t));for(var e=this._groups,n=e.length,r=new Array(n),s=0;s=C&&(C=N+1);!(E=b[C])&&++C=0;)(a=r[s])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function zye(t){t||(t=Pye);function e(m,g){return m&&g?t(m.__data__,g.__data__):!m-!g}for(var n=this._groups,r=n.length,s=new Array(r),i=0;ie?1:t>=e?0:NaN}function Lye(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Bye(){return Array.from(this)}function Iye(){for(var t=this._groups,e=0,n=t.length;e1?this.each((e==null?Yye:typeof e=="function"?Kye:Zye)(t,e,n??"")):dh(this.node(),t)}function dh(t,e){return t.style.getPropertyValue(e)||c$(t).getComputedStyle(t,null).getPropertyValue(e)}function ebe(t){return function(){delete this[t]}}function tbe(t,e){return function(){this[t]=e}}function nbe(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function rbe(t,e){return arguments.length>1?this.each((e==null?ebe:typeof e=="function"?nbe:tbe)(t,e)):this.node()[t]}function u$(t){return t.trim().split(/^|\s+/)}function nO(t){return t.classList||new d$(t)}function d$(t){this._node=t,this._names=u$(t.getAttribute("class")||"")}d$.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function h$(t,e){for(var n=nO(t),r=-1,s=e.length;++r=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function Mbe(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,s=e.length,i;n()=>t;function wS(t,{sourceEvent:e,subject:n,target:r,identifier:s,active:i,x:a,y:o,dx:u,dy:h,dispatch:f}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:o,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:f}})}wS.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Fbe(t){return!t.ctrlKey&&!t.button}function $be(){return this.parentNode}function Qbe(t,e){return e??{x:t.x,y:t.y}}function Hbe(){return navigator.maxTouchPoints||"ontouchstart"in this}function Vbe(){var t=Fbe,e=$be,n=Qbe,r=Hbe,s={},i=Bv("start","drag","end"),a=0,o,u,h,f,m=0;function g(T){T.on("mousedown.drag",x).filter(r).on("touchstart.drag",b).on("touchmove.drag",k,qbe).on("touchend.drag touchcancel.drag",N).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function x(T,E){if(!(f||!t.call(this,T,E))){var _=C(this,e.call(this,T,E),T,E,"mouse");_&&(Mi(T.view).on("mousemove.drag",y,Um).on("mouseup.drag",w,Um),g$(T.view),q4(T),h=!1,o=T.clientX,u=T.clientY,_("start",T))}}function y(T){if(Hd(T),!h){var E=T.clientX-o,_=T.clientY-u;h=E*E+_*_>m}s.mouse("drag",T)}function w(T){Mi(T.view).on("mousemove.drag mouseup.drag",null),x$(T.view,h),Hd(T),s.mouse("end",T)}function b(T,E){if(t.call(this,T,E)){var _=T.changedTouches,A=e.call(this,T,E),F=_.length,B,P;for(B=0;B=0&&t._call.call(void 0,e),t=t._next;--hh}function m_(){pu=(R1=Wm.now())+qv,hh=Yf=0;try{Wbe()}finally{hh=0,Xbe(),pu=0}}function Gbe(){var t=Wm.now(),e=t-R1;e>v$&&(qv-=e,R1=t)}function Xbe(){for(var t,e=A1,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:A1=n);Zf=t,SS(r)}function SS(t){if(!hh){Yf&&(Yf=clearTimeout(Yf));var e=t-pu;e>24?(t<1/0&&(Yf=setTimeout(m_,t-Wm.now()-qv)),qf&&(qf=clearInterval(qf))):(qf||(R1=Wm.now(),qf=setInterval(Gbe,v$)),hh=1,y$(m_))}}function p_(t,e,n){var r=new D1;return e=e==null?0:+e,r.restart(s=>{r.stop(),t(s+e)},e,n),r}var Ybe=Bv("start","end","cancel","interrupt"),Zbe=[],w$=0,g_=1,kS=2,qx=3,x_=4,OS=5,Fx=6;function Fv(t,e,n,r,s,i){var a=t.__transition;if(!a)t.__transition={};else if(n in a)return;Kbe(t,n,{name:e,index:r,group:s,on:Ybe,tween:Zbe,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:w$})}function sO(t,e){var n=da(t,e);if(n.state>w$)throw new Error("too late; already scheduled");return n}function Wa(t,e){var n=da(t,e);if(n.state>qx)throw new Error("too late; already running");return n}function da(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Kbe(t,e,n){var r=t.__transition,s;r[e]=n,n.timer=b$(i,0,n.time);function i(h){n.state=g_,n.timer.restart(a,n.delay,n.time),n.delay<=h&&a(h-n.delay)}function a(h){var f,m,g,x;if(n.state!==g_)return u();for(f in r)if(x=r[f],x.name===n.name){if(x.state===qx)return p_(a);x.state===x_?(x.state=Fx,x.timer.stop(),x.on.call("interrupt",t,t.__data__,x.index,x.group),delete r[f]):+fkS&&r.state=0&&(e=e.slice(0,n)),!e||e==="start"})}function T2e(t,e,n){var r,s,i=C2e(e)?sO:Wa;return function(){var a=i(this,t),o=a.on;o!==r&&(s=(r=o).copy()).on(e,n),a.on=s}}function E2e(t,e){var n=this._id;return arguments.length<2?da(this.node(),n).on.on(t):this.each(T2e(n,t,e))}function _2e(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function M2e(){return this.on("end.remove",_2e(this._id))}function A2e(t){var e=this._name,n=this._id;typeof t!="function"&&(t=tO(t));for(var r=this._groups,s=r.length,i=new Array(s),a=0;a()=>t;function r4e(t,{sourceEvent:e,target:n,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function Ml(t,e,n){this.k=t,this.x=e,this.y=n}Ml.prototype={constructor:Ml,scale:function(t){return t===1?this:new Ml(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Ml(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Bl=new Ml(1,0,0);Ml.prototype;function F4(t){t.stopImmediatePropagation()}function Ff(t){t.preventDefault(),t.stopImmediatePropagation()}function s4e(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function i4e(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function v_(){return this.__zoom||Bl}function a4e(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function l4e(){return navigator.maxTouchPoints||"ontouchstart"in this}function o4e(t,e,n){var r=t.invertX(e[0][0])-n[0][0],s=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function j$(){var t=s4e,e=i4e,n=o4e,r=a4e,s=l4e,i=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],o=250,u=EG,h=Bv("start","zoom","end"),f,m,g,x=500,y=150,w=0,b=10;function k(z){z.property("__zoom",v_).on("wheel.zoom",F,{passive:!1}).on("mousedown.zoom",B).on("dblclick.zoom",P).filter(s).on("touchstart.zoom",H).on("touchmove.zoom",U).on("touchend.zoom touchcancel.zoom",te).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}k.transform=function(z,W,q,J){var ee=z.selection?z.selection():z;ee.property("__zoom",v_),z!==ee?E(z,W,q,J):ee.interrupt().each(function(){_(this,arguments).event(J).start().zoom(null,typeof W=="function"?W.apply(this,arguments):W).end()})},k.scaleBy=function(z,W,q,J){k.scaleTo(z,function(){var ee=this.__zoom.k,Y=typeof W=="function"?W.apply(this,arguments):W;return ee*Y},q,J)},k.scaleTo=function(z,W,q,J){k.transform(z,function(){var ee=e.apply(this,arguments),Y=this.__zoom,R=q==null?T(ee):typeof q=="function"?q.apply(this,arguments):q,re=Y.invert(R),K=typeof W=="function"?W.apply(this,arguments):W;return n(C(N(Y,K),R,re),ee,a)},q,J)},k.translateBy=function(z,W,q,J){k.transform(z,function(){return n(this.__zoom.translate(typeof W=="function"?W.apply(this,arguments):W,typeof q=="function"?q.apply(this,arguments):q),e.apply(this,arguments),a)},null,J)},k.translateTo=function(z,W,q,J,ee){k.transform(z,function(){var Y=e.apply(this,arguments),R=this.__zoom,re=J==null?T(Y):typeof J=="function"?J.apply(this,arguments):J;return n(Bl.translate(re[0],re[1]).scale(R.k).translate(typeof W=="function"?-W.apply(this,arguments):-W,typeof q=="function"?-q.apply(this,arguments):-q),Y,a)},J,ee)};function N(z,W){return W=Math.max(i[0],Math.min(i[1],W)),W===z.k?z:new Ml(W,z.x,z.y)}function C(z,W,q){var J=W[0]-q[0]*z.k,ee=W[1]-q[1]*z.k;return J===z.x&&ee===z.y?z:new Ml(z.k,J,ee)}function T(z){return[(+z[0][0]+ +z[1][0])/2,(+z[0][1]+ +z[1][1])/2]}function E(z,W,q,J){z.on("start.zoom",function(){_(this,arguments).event(J).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(J).end()}).tween("zoom",function(){var ee=this,Y=arguments,R=_(ee,Y).event(J),re=e.apply(ee,Y),K=q==null?T(re):typeof q=="function"?q.apply(ee,Y):q,I=Math.max(re[1][0]-re[0][0],re[1][1]-re[0][1]),Q=ee.__zoom,$=typeof W=="function"?W.apply(ee,Y):W,Z=u(Q.invert(K).concat(I/Q.k),$.invert(K).concat(I/$.k));return function(ne){if(ne===1)ne=$;else{var ge=Z(ne),se=I/ge[2];ne=new Ml(se,K[0]-ge[0]*se,K[1]-ge[1]*se)}R.zoom(null,ne)}})}function _(z,W,q){return!q&&z.__zooming||new A(z,W)}function A(z,W){this.that=z,this.args=W,this.active=0,this.sourceEvent=null,this.extent=e.apply(z,W),this.taps=0}A.prototype={event:function(z){return z&&(this.sourceEvent=z),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(z,W){return this.mouse&&z!=="mouse"&&(this.mouse[1]=W.invert(this.mouse[0])),this.touch0&&z!=="touch"&&(this.touch0[1]=W.invert(this.touch0[0])),this.touch1&&z!=="touch"&&(this.touch1[1]=W.invert(this.touch1[0])),this.that.__zoom=W,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(z){var W=Mi(this.that).datum();h.call(z,this.that,new r4e(z,{sourceEvent:this.sourceEvent,target:k,transform:this.that.__zoom,dispatch:h}),W)}};function F(z,...W){if(!t.apply(this,arguments))return;var q=_(this,W).event(z),J=this.__zoom,ee=Math.max(i[0],Math.min(i[1],J.k*Math.pow(2,r.apply(this,arguments)))),Y=Ji(z);if(q.wheel)(q.mouse[0][0]!==Y[0]||q.mouse[0][1]!==Y[1])&&(q.mouse[1]=J.invert(q.mouse[0]=Y)),clearTimeout(q.wheel);else{if(J.k===ee)return;q.mouse=[Y,J.invert(Y)],$x(this),q.start()}Ff(z),q.wheel=setTimeout(R,y),q.zoom("mouse",n(C(N(J,ee),q.mouse[0],q.mouse[1]),q.extent,a));function R(){q.wheel=null,q.end()}}function B(z,...W){if(g||!t.apply(this,arguments))return;var q=z.currentTarget,J=_(this,W,!0).event(z),ee=Mi(z.view).on("mousemove.zoom",K,!0).on("mouseup.zoom",I,!0),Y=Ji(z,q),R=z.clientX,re=z.clientY;g$(z.view),F4(z),J.mouse=[Y,this.__zoom.invert(Y)],$x(this),J.start();function K(Q){if(Ff(Q),!J.moved){var $=Q.clientX-R,Z=Q.clientY-re;J.moved=$*$+Z*Z>w}J.event(Q).zoom("mouse",n(C(J.that.__zoom,J.mouse[0]=Ji(Q,q),J.mouse[1]),J.extent,a))}function I(Q){ee.on("mousemove.zoom mouseup.zoom",null),x$(Q.view,J.moved),Ff(Q),J.event(Q).end()}}function P(z,...W){if(t.apply(this,arguments)){var q=this.__zoom,J=Ji(z.changedTouches?z.changedTouches[0]:z,this),ee=q.invert(J),Y=q.k*(z.shiftKey?.5:2),R=n(C(N(q,Y),J,ee),e.apply(this,W),a);Ff(z),o>0?Mi(this).transition().duration(o).call(E,R,J,z):Mi(this).call(k.transform,R,J,z)}}function H(z,...W){if(t.apply(this,arguments)){var q=z.touches,J=q.length,ee=_(this,W,z.changedTouches.length===J).event(z),Y,R,re,K;for(F4(z),R=0;R"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,e)=>`Couldn't create edge for ${t?"target":"source"} handle id: "${t?e.targetHandle:e.sourceHandle}", edge id: ${e.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},N$=Xl.error001();function Wn(t,e){const n=O.useContext($v);if(n===null)throw new Error(N$);return r$(n,t,e)}const Qr=()=>{const t=O.useContext($v);if(t===null)throw new Error(N$);return O.useMemo(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe,destroy:t.destroy}),[t])},u4e=t=>t.userSelectionActive?"none":"all";function Qv({position:t,children:e,className:n,style:r,...s}){const i=Wn(u4e),a=`${t}`.split("-");return fe.createElement("div",{className:ls(["react-flow__panel",n,...a]),style:{...r,pointerEvents:i},...s},e)}function d4e({proOptions:t,position:e="bottom-right"}){return t?.hideAttribution?null:fe.createElement(Qv,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},fe.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const h4e=({x:t,y:e,label:n,labelStyle:r={},labelShowBg:s=!0,labelBgStyle:i={},labelBgPadding:a=[2,4],labelBgBorderRadius:o=2,children:u,className:h,...f})=>{const m=O.useRef(null),[g,x]=O.useState({x:0,y:0,width:0,height:0}),y=ls(["react-flow__edge-textwrapper",h]);return O.useEffect(()=>{if(m.current){const w=m.current.getBBox();x({x:w.x,y:w.y,width:w.width,height:w.height})}},[n]),typeof n>"u"||!n?null:fe.createElement("g",{transform:`translate(${t-g.width/2} ${e-g.height/2})`,className:y,visibility:g.width?"visible":"hidden",...f},s&&fe.createElement("rect",{width:g.width+2*a[0],x:-a[0],y:-a[1],height:g.height+2*a[1],className:"react-flow__edge-textbg",style:i,rx:o,ry:o}),fe.createElement("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:m,style:r},n),u)};var f4e=O.memo(h4e);const aO=t=>({width:t.offsetWidth,height:t.offsetHeight}),fh=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),lO=(t={x:0,y:0},e)=>({x:fh(t.x,e[0][0],e[1][0]),y:fh(t.y,e[0][1],e[1][1])}),y_=(t,e,n)=>tn?-fh(Math.abs(t-n),1,50)/50:0,C$=(t,e)=>{const n=y_(t.x,35,e.width-35)*20,r=y_(t.y,35,e.height-35)*20;return[n,r]},T$=t=>t.getRootNode?.()||window?.document,E$=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),Gm=({x:t,y:e,width:n,height:r})=>({x:t,y:e,x2:t+n,y2:e+r}),_$=({x:t,y:e,x2:n,y2:r})=>({x:t,y:e,width:n-t,height:r-e}),b_=t=>({...t.positionAbsolute||{x:0,y:0},width:t.width||0,height:t.height||0}),m4e=(t,e)=>_$(E$(Gm(t),Gm(e))),jS=(t,e)=>{const n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),r=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*r)},p4e=t=>Pi(t.width)&&Pi(t.height)&&Pi(t.x)&&Pi(t.y),Pi=t=>!isNaN(t)&&isFinite(t),hr=Symbol.for("internals"),M$=["Enter"," ","Escape"],g4e=(t,e)=>{},x4e=t=>"nativeEvent"in t;function NS(t){const n=(x4e(t)?t.nativeEvent:t).composedPath?.()?.[0]||t.target;return["INPUT","SELECT","TEXTAREA"].includes(n?.nodeName)||n?.hasAttribute("contenteditable")||!!n?.closest(".nokey")}const A$=t=>"clientX"in t,Vo=(t,e)=>{const n=A$(t),r=n?t.clientX:t.touches?.[0].clientX,s=n?t.clientY:t.touches?.[0].clientY;return{x:r-(e?.left??0),y:s-(e?.top??0)}},z1=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0,z0=({id:t,path:e,labelX:n,labelY:r,label:s,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:m,markerStart:g,interactionWidth:x=20})=>fe.createElement(fe.Fragment,null,fe.createElement("path",{id:t,style:f,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:m,markerStart:g}),x&&fe.createElement("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:x,className:"react-flow__edge-interaction"}),s&&Pi(n)&&Pi(r)?fe.createElement(f4e,{x:n,y:r,label:s,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:u,labelBgBorderRadius:h}):null);z0.displayName="BaseEdge";function $f(t,e,n){return n===void 0?n:r=>{const s=e().edges.find(i=>i.id===t);s&&n(r,{...s})}}function R$({sourceX:t,sourceY:e,targetX:n,targetY:r}){const s=Math.abs(n-t)/2,i=n{const[b,k,N]=z$({sourceX:t,sourceY:e,sourcePosition:s,targetX:n,targetY:r,targetPosition:i});return fe.createElement(z0,{path:b,labelX:k,labelY:N,label:a,labelStyle:o,labelShowBg:u,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,style:g,markerEnd:x,markerStart:y,interactionWidth:w})});oO.displayName="SimpleBezierEdge";const S_={[at.Left]:{x:-1,y:0},[at.Right]:{x:1,y:0},[at.Top]:{x:0,y:-1},[at.Bottom]:{x:0,y:1}},v4e=({source:t,sourcePosition:e=at.Bottom,target:n})=>e===at.Left||e===at.Right?t.xMath.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function y4e({source:t,sourcePosition:e=at.Bottom,target:n,targetPosition:r=at.Top,center:s,offset:i}){const a=S_[e],o=S_[r],u={x:t.x+a.x*i,y:t.y+a.y*i},h={x:n.x+o.x*i,y:n.y+o.y*i},f=v4e({source:u,sourcePosition:e,target:h}),m=f.x!==0?"x":"y",g=f[m];let x=[],y,w;const b={x:0,y:0},k={x:0,y:0},[N,C,T,E]=R$({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(a[m]*o[m]===-1){y=s.x??N,w=s.y??C;const A=[{x:y,y:u.y},{x:y,y:h.y}],F=[{x:u.x,y:w},{x:h.x,y:w}];a[m]===g?x=m==="x"?A:F:x=m==="x"?F:A}else{const A=[{x:u.x,y:h.y}],F=[{x:h.x,y:u.y}];if(m==="x"?x=a.x===g?F:A:x=a.y===g?A:F,e===r){const te=Math.abs(t[m]-n[m]);if(te<=i){const z=Math.min(i-1,i-te);a[m]===g?b[m]=(u[m]>t[m]?-1:1)*z:k[m]=(h[m]>n[m]?-1:1)*z}}if(e!==r){const te=m==="x"?"y":"x",z=a[m]===o[te],W=u[te]>h[te],q=u[te]=U?(y=(B.x+P.x)/2,w=x[0].y):(y=x[0].x,w=(B.y+P.y)/2)}return[[t,{x:u.x+b.x,y:u.y+b.y},...x,{x:h.x+k.x,y:h.y+k.y},n],y,w,T,E]}function b4e(t,e,n,r){const s=Math.min(k_(t,e)/2,k_(e,n)/2,r),{x:i,y:a}=e;if(t.x===i&&i===n.x||t.y===a&&a===n.y)return`L${i} ${a}`;if(t.y===a){const h=t.x{let C="";return N>0&&N{const[k,N,C]=CS({sourceX:t,sourceY:e,sourcePosition:m,targetX:n,targetY:r,targetPosition:g,borderRadius:w?.borderRadius,offset:w?.offset});return fe.createElement(z0,{path:k,labelX:N,labelY:C,label:s,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:x,markerStart:y,interactionWidth:b})});Hv.displayName="SmoothStepEdge";const cO=O.memo(t=>fe.createElement(Hv,{...t,pathOptions:O.useMemo(()=>({borderRadius:0,offset:t.pathOptions?.offset}),[t.pathOptions?.offset])}));cO.displayName="StepEdge";function w4e({sourceX:t,sourceY:e,targetX:n,targetY:r}){const[s,i,a,o]=R$({sourceX:t,sourceY:e,targetX:n,targetY:r});return[`M ${t},${e}L ${n},${r}`,s,i,a,o]}const uO=O.memo(({sourceX:t,sourceY:e,targetX:n,targetY:r,label:s,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:m,markerStart:g,interactionWidth:x})=>{const[y,w,b]=w4e({sourceX:t,sourceY:e,targetX:n,targetY:r});return fe.createElement(z0,{path:y,labelX:w,labelY:b,label:s,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:m,markerStart:g,interactionWidth:x})});uO.displayName="StraightEdge";function lx(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function O_({pos:t,x1:e,y1:n,x2:r,y2:s,c:i}){switch(t){case at.Left:return[e-lx(e-r,i),n];case at.Right:return[e+lx(r-e,i),n];case at.Top:return[e,n-lx(n-s,i)];case at.Bottom:return[e,n+lx(s-n,i)]}}function P$({sourceX:t,sourceY:e,sourcePosition:n=at.Bottom,targetX:r,targetY:s,targetPosition:i=at.Top,curvature:a=.25}){const[o,u]=O_({pos:n,x1:t,y1:e,x2:r,y2:s,c:a}),[h,f]=O_({pos:i,x1:r,y1:s,x2:t,y2:e,c:a}),[m,g,x,y]=D$({sourceX:t,sourceY:e,targetX:r,targetY:s,sourceControlX:o,sourceControlY:u,targetControlX:h,targetControlY:f});return[`M${t},${e} C${o},${u} ${h},${f} ${r},${s}`,m,g,x,y]}const L1=O.memo(({sourceX:t,sourceY:e,targetX:n,targetY:r,sourcePosition:s=at.Bottom,targetPosition:i=at.Top,label:a,labelStyle:o,labelShowBg:u,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,style:g,markerEnd:x,markerStart:y,pathOptions:w,interactionWidth:b})=>{const[k,N,C]=P$({sourceX:t,sourceY:e,sourcePosition:s,targetX:n,targetY:r,targetPosition:i,curvature:w?.curvature});return fe.createElement(z0,{path:k,labelX:N,labelY:C,label:a,labelStyle:o,labelShowBg:u,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,style:g,markerEnd:x,markerStart:y,interactionWidth:b})});L1.displayName="BezierEdge";const dO=O.createContext(null),S4e=dO.Provider;dO.Consumer;const k4e=()=>O.useContext(dO),O4e=t=>"id"in t&&"source"in t&&"target"in t,j4e=({source:t,sourceHandle:e,target:n,targetHandle:r})=>`reactflow__edge-${t}${e||""}-${n}${r||""}`,TS=(t,e)=>typeof t>"u"?"":typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(r=>`${r}=${t[r]}`).join("&")}`,N4e=(t,e)=>e.some(n=>n.source===t.source&&n.target===t.target&&(n.sourceHandle===t.sourceHandle||!n.sourceHandle&&!t.sourceHandle)&&(n.targetHandle===t.targetHandle||!n.targetHandle&&!t.targetHandle)),C4e=(t,e)=>{if(!t.source||!t.target)return e;let n;return O4e(t)?n={...t}:n={...t,id:j4e(t)},N4e(n,e)?e:e.concat(n)},ES=({x:t,y:e},[n,r,s],i,[a,o])=>{const u={x:(t-n)/s,y:(e-r)/s};return i?{x:a*Math.round(u.x/a),y:o*Math.round(u.y/o)}:u},L$=({x:t,y:e},[n,r,s])=>({x:t*s+n,y:e*s+r}),ru=(t,e=[0,0])=>{if(!t)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(t.width??0)*e[0],r=(t.height??0)*e[1],s={x:t.position.x-n,y:t.position.y-r};return{...s,positionAbsolute:t.positionAbsolute?{x:t.positionAbsolute.x-n,y:t.positionAbsolute.y-r}:s}},Vv=(t,e=[0,0])=>{if(t.length===0)return{x:0,y:0,width:0,height:0};const n=t.reduce((r,s)=>{const{x:i,y:a}=ru(s,e).positionAbsolute;return E$(r,Gm({x:i,y:a,width:s.width||0,height:s.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return _$(n)},B$=(t,e,[n,r,s]=[0,0,1],i=!1,a=!1,o=[0,0])=>{const u={x:(e.x-n)/s,y:(e.y-r)/s,width:e.width/s,height:e.height/s},h=[];return t.forEach(f=>{const{width:m,height:g,selectable:x=!0,hidden:y=!1}=f;if(a&&!x||y)return!1;const{positionAbsolute:w}=ru(f,o),b={x:w.x,y:w.y,width:m||0,height:g||0},k=jS(u,b),N=typeof m>"u"||typeof g>"u"||m===null||g===null,C=i&&k>0,T=(m||0)*(g||0);(N||C||k>=T||f.dragging)&&h.push(f)}),h},I$=(t,e)=>{const n=t.map(r=>r.id);return e.filter(r=>n.includes(r.source)||n.includes(r.target))},q$=(t,e,n,r,s,i=.1)=>{const a=e/(t.width*(1+i)),o=n/(t.height*(1+i)),u=Math.min(a,o),h=fh(u,r,s),f=t.x+t.width/2,m=t.y+t.height/2,g=e/2-f*h,x=n/2-m*h;return{x:g,y:x,zoom:h}},qc=(t,e=0)=>t.transition().duration(e);function j_(t,e,n,r){return(e[n]||[]).reduce((s,i)=>(`${t.id}-${i.id}-${n}`!==r&&s.push({id:i.id||null,type:n,nodeId:t.id,x:(t.positionAbsolute?.x??0)+i.x+i.width/2,y:(t.positionAbsolute?.y??0)+i.y+i.height/2}),s),[])}function T4e(t,e,n,r,s,i){const{x:a,y:o}=Vo(t),h=e.elementsFromPoint(a,o).find(y=>y.classList.contains("react-flow__handle"));if(h){const y=h.getAttribute("data-nodeid");if(y){const w=hO(void 0,h),b=h.getAttribute("data-handleid"),k=i({nodeId:y,id:b,type:w});if(k){const N=s.find(C=>C.nodeId===y&&C.type===w&&C.id===b);return{handle:{id:b,type:w,nodeId:y,x:N?.x||n.x,y:N?.y||n.y},validHandleResult:k}}}}let f=[],m=1/0;if(s.forEach(y=>{const w=Math.sqrt((y.x-n.x)**2+(y.y-n.y)**2);if(w<=r){const b=i(y);w<=m&&(wy.isValid),x=f.some(({handle:y})=>y.type==="target");return f.find(({handle:y,validHandleResult:w})=>x?y.type==="target":g?w.isValid:!0)||f[0]}const E4e={source:null,target:null,sourceHandle:null,targetHandle:null},F$=()=>({handleDomNode:null,isValid:!1,connection:E4e,endHandle:null});function $$(t,e,n,r,s,i,a){const o=s==="target",u=a.querySelector(`.react-flow__handle[data-id="${t?.nodeId}-${t?.id}-${t?.type}"]`),h={...F$(),handleDomNode:u};if(u){const f=hO(void 0,u),m=u.getAttribute("data-nodeid"),g=u.getAttribute("data-handleid"),x=u.classList.contains("connectable"),y=u.classList.contains("connectableend"),w={source:o?m:n,sourceHandle:o?g:r,target:o?n:m,targetHandle:o?r:g};h.connection=w,x&&y&&(e===gu.Strict?o&&f==="source"||!o&&f==="target":m!==n||g!==r)&&(h.endHandle={nodeId:m,handleId:g,type:f},h.isValid=i(w))}return h}function _4e({nodes:t,nodeId:e,handleId:n,handleType:r}){return t.reduce((s,i)=>{if(i[hr]){const{handleBounds:a}=i[hr];let o=[],u=[];a&&(o=j_(i,a,"source",`${e}-${n}-${r}`),u=j_(i,a,"target",`${e}-${n}-${r}`)),s.push(...o,...u)}return s},[])}function hO(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}function $4(t){t?.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function M4e(t,e){let n=null;return e?n="valid":t&&!e&&(n="invalid"),n}function Q$({event:t,handleId:e,nodeId:n,onConnect:r,isTarget:s,getState:i,setState:a,isValidConnection:o,edgeUpdaterType:u,onReconnectEnd:h}){const f=T$(t.target),{connectionMode:m,domNode:g,autoPanOnConnect:x,connectionRadius:y,onConnectStart:w,panBy:b,getNodes:k,cancelConnection:N}=i();let C=0,T;const{x:E,y:_}=Vo(t),A=f?.elementFromPoint(E,_),F=hO(u,A),B=g?.getBoundingClientRect();if(!B||!F)return;let P,H=Vo(t,B),U=!1,te=null,z=!1,W=null;const q=_4e({nodes:k(),nodeId:n,handleId:e,handleType:F}),J=()=>{if(!x)return;const[R,re]=C$(H,B);b({x:R,y:re}),C=requestAnimationFrame(J)};a({connectionPosition:H,connectionStatus:null,connectionNodeId:n,connectionHandleId:e,connectionHandleType:F,connectionStartHandle:{nodeId:n,handleId:e,type:F},connectionEndHandle:null}),w?.(t,{nodeId:n,handleId:e,handleType:F});function ee(R){const{transform:re}=i();H=Vo(R,B);const{handle:K,validHandleResult:I}=T4e(R,f,ES(H,re,!1,[1,1]),y,q,Q=>$$(Q,m,n,e,s?"target":"source",o,f));if(T=K,U||(J(),U=!0),W=I.handleDomNode,te=I.connection,z=I.isValid,a({connectionPosition:T&&z?L$({x:T.x,y:T.y},re):H,connectionStatus:M4e(!!T,z),connectionEndHandle:I.endHandle}),!T&&!z&&!W)return $4(P);te.source!==te.target&&W&&($4(P),P=W,W.classList.add("connecting","react-flow__handle-connecting"),W.classList.toggle("valid",z),W.classList.toggle("react-flow__handle-valid",z))}function Y(R){(T||W)&&te&&z&&r?.(te),i().onConnectEnd?.(R),u&&h?.(R),$4(P),N(),cancelAnimationFrame(C),U=!1,z=!1,te=null,W=null,f.removeEventListener("mousemove",ee),f.removeEventListener("mouseup",Y),f.removeEventListener("touchmove",ee),f.removeEventListener("touchend",Y)}f.addEventListener("mousemove",ee),f.addEventListener("mouseup",Y),f.addEventListener("touchmove",ee),f.addEventListener("touchend",Y)}const N_=()=>!0,A4e=t=>({connectionStartHandle:t.connectionStartHandle,connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName}),R4e=(t,e,n)=>r=>{const{connectionStartHandle:s,connectionEndHandle:i,connectionClickStartHandle:a}=r;return{connecting:s?.nodeId===t&&s?.handleId===e&&s?.type===n||i?.nodeId===t&&i?.handleId===e&&i?.type===n,clickConnecting:a?.nodeId===t&&a?.handleId===e&&a?.type===n}},H$=O.forwardRef(({type:t="source",position:e=at.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:s=!0,isConnectableEnd:i=!0,id:a,onConnect:o,children:u,className:h,onMouseDown:f,onTouchStart:m,...g},x)=>{const y=a||null,w=t==="target",b=Qr(),k=k4e(),{connectOnClick:N,noPanClassName:C}=Wn(A4e,Wr),{connecting:T,clickConnecting:E}=Wn(R4e(k,y,t),Wr);k||b.getState().onError?.("010",Xl.error010());const _=B=>{const{defaultEdgeOptions:P,onConnect:H,hasDefaultEdges:U}=b.getState(),te={...P,...B};if(U){const{edges:z,setEdges:W}=b.getState();W(C4e(te,z))}H?.(te),o?.(te)},A=B=>{if(!k)return;const P=A$(B);s&&(P&&B.button===0||!P)&&Q$({event:B,handleId:y,nodeId:k,onConnect:_,isTarget:w,getState:b.getState,setState:b.setState,isValidConnection:n||b.getState().isValidConnection||N_}),P?f?.(B):m?.(B)},F=B=>{const{onClickConnectStart:P,onClickConnectEnd:H,connectionClickStartHandle:U,connectionMode:te,isValidConnection:z}=b.getState();if(!k||!U&&!s)return;if(!U){P?.(B,{nodeId:k,handleId:y,handleType:t}),b.setState({connectionClickStartHandle:{nodeId:k,type:t,handleId:y}});return}const W=T$(B.target),q=n||z||N_,{connection:J,isValid:ee}=$$({nodeId:k,id:y,type:t},te,U.nodeId,U.handleId||null,U.type,q,W);ee&&_(J),H?.(B),b.setState({connectionClickStartHandle:null})};return fe.createElement("div",{"data-handleid":y,"data-nodeid":k,"data-handlepos":e,"data-id":`${k}-${y}-${t}`,className:ls(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",C,h,{source:!w,target:w,connectable:r,connectablestart:s,connectableend:i,connecting:E,connectionindicator:r&&(s&&!T||i&&T)}]),onMouseDown:A,onTouchStart:A,onClick:N?F:void 0,ref:x,...g},u)});H$.displayName="Handle";var sc=O.memo(H$);const V$=({data:t,isConnectable:e,targetPosition:n=at.Top,sourcePosition:r=at.Bottom})=>fe.createElement(fe.Fragment,null,fe.createElement(sc,{type:"target",position:n,isConnectable:e}),t?.label,fe.createElement(sc,{type:"source",position:r,isConnectable:e}));V$.displayName="DefaultNode";var _S=O.memo(V$);const U$=({data:t,isConnectable:e,sourcePosition:n=at.Bottom})=>fe.createElement(fe.Fragment,null,t?.label,fe.createElement(sc,{type:"source",position:n,isConnectable:e}));U$.displayName="InputNode";var W$=O.memo(U$);const G$=({data:t,isConnectable:e,targetPosition:n=at.Top})=>fe.createElement(fe.Fragment,null,fe.createElement(sc,{type:"target",position:n,isConnectable:e}),t?.label);G$.displayName="OutputNode";var X$=O.memo(G$);const fO=()=>null;fO.displayName="GroupNode";const D4e=t=>({selectedNodes:t.getNodes().filter(e=>e.selected),selectedEdges:t.edges.filter(e=>e.selected).map(e=>({...e}))}),ox=t=>t.id;function z4e(t,e){return Wr(t.selectedNodes.map(ox),e.selectedNodes.map(ox))&&Wr(t.selectedEdges.map(ox),e.selectedEdges.map(ox))}const Y$=O.memo(({onSelectionChange:t})=>{const e=Qr(),{selectedNodes:n,selectedEdges:r}=Wn(D4e,z4e);return O.useEffect(()=>{const s={nodes:n,edges:r};t?.(s),e.getState().onSelectionChange.forEach(i=>i(s))},[n,r,t]),null});Y$.displayName="SelectionListener";const P4e=t=>!!t.onSelectionChange;function L4e({onSelectionChange:t}){const e=Wn(P4e);return t||e?fe.createElement(Y$,{onSelectionChange:t}):null}const B4e=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset});function fd(t,e){O.useEffect(()=>{typeof t<"u"&&e(t)},[t])}function Qt(t,e,n){O.useEffect(()=>{typeof e<"u"&&n({[t]:e})},[e])}const I4e=({nodes:t,edges:e,defaultNodes:n,defaultEdges:r,onConnect:s,onConnectStart:i,onConnectEnd:a,onClickConnectStart:o,onClickConnectEnd:u,nodesDraggable:h,nodesConnectable:f,nodesFocusable:m,edgesFocusable:g,edgesUpdatable:x,elevateNodesOnSelect:y,minZoom:w,maxZoom:b,nodeExtent:k,onNodesChange:N,onEdgesChange:C,elementsSelectable:T,connectionMode:E,snapGrid:_,snapToGrid:A,translateExtent:F,connectOnClick:B,defaultEdgeOptions:P,fitView:H,fitViewOptions:U,onNodesDelete:te,onEdgesDelete:z,onNodeDrag:W,onNodeDragStart:q,onNodeDragStop:J,onSelectionDrag:ee,onSelectionDragStart:Y,onSelectionDragStop:R,noPanClassName:re,nodeOrigin:K,rfId:I,autoPanOnConnect:Q,autoPanOnNodeDrag:$,onError:Z,connectionRadius:ne,isValidConnection:ge,nodeDragThreshold:se})=>{const{setNodes:Te,setEdges:qe,setDefaultNodesAndEdges:ve,setMinZoom:Fe,setMaxZoom:Qe,setTranslateExtent:Ke,setNodeExtent:Tt,reset:st}=Wn(B4e,Wr),He=Qr();return O.useEffect(()=>{const St=r?.map(bt=>({...bt,...P}));return ve(n,St),()=>{st()}},[]),Qt("defaultEdgeOptions",P,He.setState),Qt("connectionMode",E,He.setState),Qt("onConnect",s,He.setState),Qt("onConnectStart",i,He.setState),Qt("onConnectEnd",a,He.setState),Qt("onClickConnectStart",o,He.setState),Qt("onClickConnectEnd",u,He.setState),Qt("nodesDraggable",h,He.setState),Qt("nodesConnectable",f,He.setState),Qt("nodesFocusable",m,He.setState),Qt("edgesFocusable",g,He.setState),Qt("edgesUpdatable",x,He.setState),Qt("elementsSelectable",T,He.setState),Qt("elevateNodesOnSelect",y,He.setState),Qt("snapToGrid",A,He.setState),Qt("snapGrid",_,He.setState),Qt("onNodesChange",N,He.setState),Qt("onEdgesChange",C,He.setState),Qt("connectOnClick",B,He.setState),Qt("fitViewOnInit",H,He.setState),Qt("fitViewOnInitOptions",U,He.setState),Qt("onNodesDelete",te,He.setState),Qt("onEdgesDelete",z,He.setState),Qt("onNodeDrag",W,He.setState),Qt("onNodeDragStart",q,He.setState),Qt("onNodeDragStop",J,He.setState),Qt("onSelectionDrag",ee,He.setState),Qt("onSelectionDragStart",Y,He.setState),Qt("onSelectionDragStop",R,He.setState),Qt("noPanClassName",re,He.setState),Qt("nodeOrigin",K,He.setState),Qt("rfId",I,He.setState),Qt("autoPanOnConnect",Q,He.setState),Qt("autoPanOnNodeDrag",$,He.setState),Qt("onError",Z,He.setState),Qt("connectionRadius",ne,He.setState),Qt("isValidConnection",ge,He.setState),Qt("nodeDragThreshold",se,He.setState),fd(t,Te),fd(e,qe),fd(w,Fe),fd(b,Qe),fd(F,Ke),fd(k,Tt),null},C_={display:"none"},q4e={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Z$="react-flow__node-desc",K$="react-flow__edge-desc",F4e="react-flow__aria-live",$4e=t=>t.ariaLiveMessage;function Q4e({rfId:t}){const e=Wn($4e);return fe.createElement("div",{id:`${F4e}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:q4e},e)}function H4e({rfId:t,disableKeyboardA11y:e}){return fe.createElement(fe.Fragment,null,fe.createElement("div",{id:`${Z$}-${t}`,style:C_},"Press enter or space to select a node.",!e&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),fe.createElement("div",{id:`${K$}-${t}`,style:C_},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!e&&fe.createElement(Q4e,{rfId:t}))}var Ym=(t=null,e={actInsideInputWithModifier:!0})=>{const[n,r]=O.useState(!1),s=O.useRef(!1),i=O.useRef(new Set([])),[a,o]=O.useMemo(()=>{if(t!==null){const h=(Array.isArray(t)?t:[t]).filter(m=>typeof m=="string").map(m=>m.split("+")),f=h.reduce((m,g)=>m.concat(...g),[]);return[h,f]}return[[],[]]},[t]);return O.useEffect(()=>{const u=typeof document<"u"?document:null,h=e?.target||u;if(t!==null){const f=x=>{if(s.current=x.ctrlKey||x.metaKey||x.shiftKey,(!s.current||s.current&&!e.actInsideInputWithModifier)&&NS(x))return!1;const w=E_(x.code,o);i.current.add(x[w]),T_(a,i.current,!1)&&(x.preventDefault(),r(!0))},m=x=>{if((!s.current||s.current&&!e.actInsideInputWithModifier)&&NS(x))return!1;const w=E_(x.code,o);T_(a,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(x[w]),x.key==="Meta"&&i.current.clear(),s.current=!1},g=()=>{i.current.clear(),r(!1)};return h?.addEventListener("keydown",f),h?.addEventListener("keyup",m),window.addEventListener("blur",g),()=>{h?.removeEventListener("keydown",f),h?.removeEventListener("keyup",m),window.removeEventListener("blur",g)}}},[t,r]),n};function T_(t,e,n){return t.filter(r=>n||r.length===e.size).some(r=>r.every(s=>e.has(s)))}function E_(t,e){return e.includes(t)?"code":"key"}function J$(t,e,n,r){const s=t.parentNode||t.parentId;if(!s)return n;const i=e.get(s),a=ru(i,r);return J$(i,e,{x:(n.x??0)+a.x,y:(n.y??0)+a.y,z:(i[hr]?.z??0)>(n.z??0)?i[hr]?.z??0:n.z??0},r)}function eQ(t,e,n){t.forEach(r=>{const s=r.parentNode||r.parentId;if(s&&!t.has(s))throw new Error(`Parent node ${s} not found`);if(s||n?.[r.id]){const{x:i,y:a,z:o}=J$(r,t,{...r.position,z:r[hr]?.z??0},e);r.positionAbsolute={x:i,y:a},r[hr].z=o,n?.[r.id]&&(r[hr].isParent=!0)}})}function Q4(t,e,n,r){const s=new Map,i={},a=r?1e3:0;return t.forEach(o=>{const u=(Pi(o.zIndex)?o.zIndex:0)+(o.selected?a:0),h=e.get(o.id),f={...o,positionAbsolute:{x:o.position.x,y:o.position.y}},m=o.parentNode||o.parentId;m&&(i[m]=!0);const g=h?.type&&h?.type!==o.type;Object.defineProperty(f,hr,{enumerable:!1,value:{handleBounds:g?void 0:h?.[hr]?.handleBounds,z:u}}),s.set(o.id,f)}),eQ(s,n,i),s}function tQ(t,e={}){const{getNodes:n,width:r,height:s,minZoom:i,maxZoom:a,d3Zoom:o,d3Selection:u,fitViewOnInitDone:h,fitViewOnInit:f,nodeOrigin:m}=t(),g=e.initial&&!h&&f;if(o&&u&&(g||!e.initial)){const y=n().filter(b=>{const k=e.includeHiddenNodes?b.width&&b.height:!b.hidden;return e.nodes?.length?k&&e.nodes.some(N=>N.id===b.id):k}),w=y.every(b=>b.width&&b.height);if(y.length>0&&w){const b=Vv(y,m),{x:k,y:N,zoom:C}=q$(b,r,s,e.minZoom??i,e.maxZoom??a,e.padding??.1),T=Bl.translate(k,N).scale(C);return typeof e.duration=="number"&&e.duration>0?o.transform(qc(u,e.duration),T):o.transform(u,T),!0}}return!1}function V4e(t,e){return t.forEach(n=>{const r=e.get(n.id);r&&e.set(r.id,{...r,[hr]:r[hr],selected:n.selected})}),new Map(e)}function U4e(t,e){return e.map(n=>{const r=t.find(s=>s.id===n.id);return r&&(n.selected=r.selected),n})}function cx({changedNodes:t,changedEdges:e,get:n,set:r}){const{nodeInternals:s,edges:i,onNodesChange:a,onEdgesChange:o,hasDefaultNodes:u,hasDefaultEdges:h}=n();t?.length&&(u&&r({nodeInternals:V4e(t,s)}),a?.(t)),e?.length&&(h&&r({edges:U4e(e,i)}),o?.(e))}const md=()=>{},W4e={zoomIn:md,zoomOut:md,zoomTo:md,getZoom:()=>1,setViewport:md,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:md,fitBounds:md,project:t=>t,screenToFlowPosition:t=>t,flowToScreenPosition:t=>t,viewportInitialized:!1},G4e=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection}),X4e=()=>{const t=Qr(),{d3Zoom:e,d3Selection:n}=Wn(G4e,Wr);return O.useMemo(()=>n&&e?{zoomIn:s=>e.scaleBy(qc(n,s?.duration),1.2),zoomOut:s=>e.scaleBy(qc(n,s?.duration),1/1.2),zoomTo:(s,i)=>e.scaleTo(qc(n,i?.duration),s),getZoom:()=>t.getState().transform[2],setViewport:(s,i)=>{const[a,o,u]=t.getState().transform,h=Bl.translate(s.x??a,s.y??o).scale(s.zoom??u);e.transform(qc(n,i?.duration),h)},getViewport:()=>{const[s,i,a]=t.getState().transform;return{x:s,y:i,zoom:a}},fitView:s=>tQ(t.getState,s),setCenter:(s,i,a)=>{const{width:o,height:u,maxZoom:h}=t.getState(),f=typeof a?.zoom<"u"?a.zoom:h,m=o/2-s*f,g=u/2-i*f,x=Bl.translate(m,g).scale(f);e.transform(qc(n,a?.duration),x)},fitBounds:(s,i)=>{const{width:a,height:o,minZoom:u,maxZoom:h}=t.getState(),{x:f,y:m,zoom:g}=q$(s,a,o,u,h,i?.padding??.1),x=Bl.translate(f,m).scale(g);e.transform(qc(n,i?.duration),x)},project:s=>{const{transform:i,snapToGrid:a,snapGrid:o}=t.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),ES(s,i,a,o)},screenToFlowPosition:s=>{const{transform:i,snapToGrid:a,snapGrid:o,domNode:u}=t.getState();if(!u)return s;const{x:h,y:f}=u.getBoundingClientRect(),m={x:s.x-h,y:s.y-f};return ES(m,i,a,o)},flowToScreenPosition:s=>{const{transform:i,domNode:a}=t.getState();if(!a)return s;const{x:o,y:u}=a.getBoundingClientRect(),h=L$(s,i);return{x:h.x+o,y:h.y+u}},viewportInitialized:!0}:W4e,[e,n])};function mO(){const t=X4e(),e=Qr(),n=O.useCallback(()=>e.getState().getNodes().map(w=>({...w})),[]),r=O.useCallback(w=>e.getState().nodeInternals.get(w),[]),s=O.useCallback(()=>{const{edges:w=[]}=e.getState();return w.map(b=>({...b}))},[]),i=O.useCallback(w=>{const{edges:b=[]}=e.getState();return b.find(k=>k.id===w)},[]),a=O.useCallback(w=>{const{getNodes:b,setNodes:k,hasDefaultNodes:N,onNodesChange:C}=e.getState(),T=b(),E=typeof w=="function"?w(T):w;if(N)k(E);else if(C){const _=E.length===0?T.map(A=>({type:"remove",id:A.id})):E.map(A=>({item:A,type:"reset"}));C(_)}},[]),o=O.useCallback(w=>{const{edges:b=[],setEdges:k,hasDefaultEdges:N,onEdgesChange:C}=e.getState(),T=typeof w=="function"?w(b):w;if(N)k(T);else if(C){const E=T.length===0?b.map(_=>({type:"remove",id:_.id})):T.map(_=>({item:_,type:"reset"}));C(E)}},[]),u=O.useCallback(w=>{const b=Array.isArray(w)?w:[w],{getNodes:k,setNodes:N,hasDefaultNodes:C,onNodesChange:T}=e.getState();if(C){const _=[...k(),...b];N(_)}else if(T){const E=b.map(_=>({item:_,type:"add"}));T(E)}},[]),h=O.useCallback(w=>{const b=Array.isArray(w)?w:[w],{edges:k=[],setEdges:N,hasDefaultEdges:C,onEdgesChange:T}=e.getState();if(C)N([...k,...b]);else if(T){const E=b.map(_=>({item:_,type:"add"}));T(E)}},[]),f=O.useCallback(()=>{const{getNodes:w,edges:b=[],transform:k}=e.getState(),[N,C,T]=k;return{nodes:w().map(E=>({...E})),edges:b.map(E=>({...E})),viewport:{x:N,y:C,zoom:T}}},[]),m=O.useCallback(({nodes:w,edges:b})=>{const{nodeInternals:k,getNodes:N,edges:C,hasDefaultNodes:T,hasDefaultEdges:E,onNodesDelete:_,onEdgesDelete:A,onNodesChange:F,onEdgesChange:B}=e.getState(),P=(w||[]).map(W=>W.id),H=(b||[]).map(W=>W.id),U=N().reduce((W,q)=>{const J=q.parentNode||q.parentId,ee=!P.includes(q.id)&&J&&W.find(R=>R.id===J);return(typeof q.deletable=="boolean"?q.deletable:!0)&&(P.includes(q.id)||ee)&&W.push(q),W},[]),te=C.filter(W=>typeof W.deletable=="boolean"?W.deletable:!0),z=te.filter(W=>H.includes(W.id));if(U||z){const W=I$(U,te),q=[...z,...W],J=q.reduce((ee,Y)=>(ee.includes(Y.id)||ee.push(Y.id),ee),[]);if((E||T)&&(E&&e.setState({edges:C.filter(ee=>!J.includes(ee.id))}),T&&(U.forEach(ee=>{k.delete(ee.id)}),e.setState({nodeInternals:new Map(k)}))),J.length>0&&(A?.(q),B&&B(J.map(ee=>({id:ee,type:"remove"})))),U.length>0&&(_?.(U),F)){const ee=U.map(Y=>({id:Y.id,type:"remove"}));F(ee)}}},[]),g=O.useCallback(w=>{const b=p4e(w),k=b?null:e.getState().nodeInternals.get(w.id);return!b&&!k?[null,null,b]:[b?w:b_(k),k,b]},[]),x=O.useCallback((w,b=!0,k)=>{const[N,C,T]=g(w);return N?(k||e.getState().getNodes()).filter(E=>{if(!T&&(E.id===C.id||!E.positionAbsolute))return!1;const _=b_(E),A=jS(_,N);return b&&A>0||A>=N.width*N.height}):[]},[]),y=O.useCallback((w,b,k=!0)=>{const[N]=g(w);if(!N)return!1;const C=jS(N,b);return k&&C>0||C>=N.width*N.height},[]);return O.useMemo(()=>({...t,getNodes:n,getNode:r,getEdges:s,getEdge:i,setNodes:a,setEdges:o,addNodes:u,addEdges:h,toObject:f,deleteElements:m,getIntersectingNodes:x,isNodeIntersecting:y}),[t,n,r,s,i,a,o,u,h,f,m,x,y])}const Y4e={actInsideInputWithModifier:!1};var Z4e=({deleteKeyCode:t,multiSelectionKeyCode:e})=>{const n=Qr(),{deleteElements:r}=mO(),s=Ym(t,Y4e),i=Ym(e);O.useEffect(()=>{if(s){const{edges:a,getNodes:o}=n.getState(),u=o().filter(f=>f.selected),h=a.filter(f=>f.selected);r({nodes:u,edges:h}),n.setState({nodesSelectionActive:!1})}},[s]),O.useEffect(()=>{n.setState({multiSelectionActive:i})},[i])};function K4e(t){const e=Qr();O.useEffect(()=>{let n;const r=()=>{if(!t.current)return;const s=aO(t.current);(s.height===0||s.width===0)&&e.getState().onError?.("004",Xl.error004()),e.setState({width:s.width||500,height:s.height||500})};return r(),window.addEventListener("resize",r),t.current&&(n=new ResizeObserver(()=>r()),n.observe(t.current)),()=>{window.removeEventListener("resize",r),n&&t.current&&n.unobserve(t.current)}},[])}const pO={position:"absolute",width:"100%",height:"100%",top:0,left:0},J4e=(t,e)=>t.x!==e.x||t.y!==e.y||t.zoom!==e.k,ux=t=>({x:t.x,y:t.y,zoom:t.k}),pd=(t,e)=>t.target.closest(`.${e}`),__=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),M_=t=>{const e=t.ctrlKey&&z1()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e},ewe=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection,d3ZoomHandler:t.d3ZoomHandler,userSelectionActive:t.userSelectionActive}),twe=({onMove:t,onMoveStart:e,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:s=!0,zoomOnPinch:i=!0,panOnScroll:a=!1,panOnScrollSpeed:o=.5,panOnScrollMode:u=Gc.Free,zoomOnDoubleClick:h=!0,elementsSelectable:f,panOnDrag:m=!0,defaultViewport:g,translateExtent:x,minZoom:y,maxZoom:w,zoomActivationKeyCode:b,preventScrolling:k=!0,children:N,noWheelClassName:C,noPanClassName:T})=>{const E=O.useRef(),_=Qr(),A=O.useRef(!1),F=O.useRef(!1),B=O.useRef(null),P=O.useRef({x:0,y:0,zoom:0}),{d3Zoom:H,d3Selection:U,d3ZoomHandler:te,userSelectionActive:z}=Wn(ewe,Wr),W=Ym(b),q=O.useRef(0),J=O.useRef(!1),ee=O.useRef();return K4e(B),O.useEffect(()=>{if(B.current){const Y=B.current.getBoundingClientRect(),R=j$().scaleExtent([y,w]).translateExtent(x),re=Mi(B.current).call(R),K=Bl.translate(g.x,g.y).scale(fh(g.zoom,y,w)),I=[[0,0],[Y.width,Y.height]],Q=R.constrain()(K,I,x);R.transform(re,Q),R.wheelDelta(M_),_.setState({d3Zoom:R,d3Selection:re,d3ZoomHandler:re.on("wheel.zoom"),transform:[Q.x,Q.y,Q.k],domNode:B.current.closest(".react-flow")})}},[]),O.useEffect(()=>{U&&H&&(a&&!W&&!z?U.on("wheel.zoom",Y=>{if(pd(Y,C))return!1;Y.preventDefault(),Y.stopImmediatePropagation();const R=U.property("__zoom").k||1;if(Y.ctrlKey&&i){const ge=Ji(Y),se=M_(Y),Te=R*Math.pow(2,se);H.scaleTo(U,Te,ge,Y);return}const re=Y.deltaMode===1?20:1;let K=u===Gc.Vertical?0:Y.deltaX*re,I=u===Gc.Horizontal?0:Y.deltaY*re;!z1()&&Y.shiftKey&&u!==Gc.Vertical&&(K=Y.deltaY*re,I=0),H.translateBy(U,-(K/R)*o,-(I/R)*o,{internal:!0});const Q=ux(U.property("__zoom")),{onViewportChangeStart:$,onViewportChange:Z,onViewportChangeEnd:ne}=_.getState();clearTimeout(ee.current),J.current||(J.current=!0,e?.(Y,Q),$?.(Q)),J.current&&(t?.(Y,Q),Z?.(Q),ee.current=setTimeout(()=>{n?.(Y,Q),ne?.(Q),J.current=!1},150))},{passive:!1}):typeof te<"u"&&U.on("wheel.zoom",function(Y,R){if(!k&&Y.type==="wheel"&&!Y.ctrlKey||pd(Y,C))return null;Y.preventDefault(),te.call(this,Y,R)},{passive:!1}))},[z,a,u,U,H,te,W,i,k,C,e,t,n]),O.useEffect(()=>{H&&H.on("start",Y=>{if(!Y.sourceEvent||Y.sourceEvent.internal)return null;q.current=Y.sourceEvent?.button;const{onViewportChangeStart:R}=_.getState(),re=ux(Y.transform);A.current=!0,P.current=re,Y.sourceEvent?.type==="mousedown"&&_.setState({paneDragging:!0}),R?.(re),e?.(Y.sourceEvent,re)})},[H,e]),O.useEffect(()=>{H&&(z&&!A.current?H.on("zoom",null):z||H.on("zoom",Y=>{const{onViewportChange:R}=_.getState();if(_.setState({transform:[Y.transform.x,Y.transform.y,Y.transform.k]}),F.current=!!(r&&__(m,q.current??0)),(t||R)&&!Y.sourceEvent?.internal){const re=ux(Y.transform);R?.(re),t?.(Y.sourceEvent,re)}}))},[z,H,t,m,r]),O.useEffect(()=>{H&&H.on("end",Y=>{if(!Y.sourceEvent||Y.sourceEvent.internal)return null;const{onViewportChangeEnd:R}=_.getState();if(A.current=!1,_.setState({paneDragging:!1}),r&&__(m,q.current??0)&&!F.current&&r(Y.sourceEvent),F.current=!1,(n||R)&&J4e(P.current,Y.transform)){const re=ux(Y.transform);P.current=re,clearTimeout(E.current),E.current=setTimeout(()=>{R?.(re),n?.(Y.sourceEvent,re)},a?150:0)}})},[H,a,m,n,r]),O.useEffect(()=>{H&&H.filter(Y=>{const R=W||s,re=i&&Y.ctrlKey;if((m===!0||Array.isArray(m)&&m.includes(1))&&Y.button===1&&Y.type==="mousedown"&&(pd(Y,"react-flow__node")||pd(Y,"react-flow__edge")))return!0;if(!m&&!R&&!a&&!h&&!i||z||!h&&Y.type==="dblclick"||pd(Y,C)&&Y.type==="wheel"||pd(Y,T)&&(Y.type!=="wheel"||a&&Y.type==="wheel"&&!W)||!i&&Y.ctrlKey&&Y.type==="wheel"||!R&&!a&&!re&&Y.type==="wheel"||!m&&(Y.type==="mousedown"||Y.type==="touchstart")||Array.isArray(m)&&!m.includes(Y.button)&&Y.type==="mousedown")return!1;const K=Array.isArray(m)&&m.includes(Y.button)||!Y.button||Y.button<=1;return(!Y.ctrlKey||Y.type==="wheel")&&K})},[z,H,s,i,a,h,m,f,W]),fe.createElement("div",{className:"react-flow__renderer",ref:B,style:pO},N)},nwe=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function rwe(){const{userSelectionActive:t,userSelectionRect:e}=Wn(nwe,Wr);return t&&e?fe.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}function A_(t,e){const n=e.parentNode||e.parentId,r=t.find(s=>s.id===n);if(r){const s=e.position.x+e.width-r.width,i=e.position.y+e.height-r.height;if(s>0||i>0||e.position.x<0||e.position.y<0){if(r.style={...r.style},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,s>0&&(r.style.width+=s),i>0&&(r.style.height+=i),e.position.x<0){const a=Math.abs(e.position.x);r.position.x=r.position.x-a,r.style.width+=a,e.position.x=0}if(e.position.y<0){const a=Math.abs(e.position.y);r.position.y=r.position.y-a,r.style.height+=a,e.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function nQ(t,e){if(t.some(r=>r.type==="reset"))return t.filter(r=>r.type==="reset").map(r=>r.item);const n=t.filter(r=>r.type==="add").map(r=>r.item);return e.reduce((r,s)=>{const i=t.filter(o=>o.id===s.id);if(i.length===0)return r.push(s),r;const a={...s};for(const o of i)if(o)switch(o.type){case"select":{a.selected=o.selected;break}case"position":{typeof o.position<"u"&&(a.position=o.position),typeof o.positionAbsolute<"u"&&(a.positionAbsolute=o.positionAbsolute),typeof o.dragging<"u"&&(a.dragging=o.dragging),a.expandParent&&A_(r,a);break}case"dimensions":{typeof o.dimensions<"u"&&(a.width=o.dimensions.width,a.height=o.dimensions.height),typeof o.updateStyle<"u"&&(a.style={...a.style||{},...o.dimensions}),typeof o.resizing=="boolean"&&(a.resizing=o.resizing),a.expandParent&&A_(r,a);break}case"remove":return r}return r.push(a),r},n)}function rQ(t,e){return nQ(t,e)}function swe(t,e){return nQ(t,e)}const Bo=(t,e)=>({id:t,type:"select",selected:e});function Ad(t,e){return t.reduce((n,r)=>{const s=e.includes(r.id);return!r.selected&&s?(r.selected=!0,n.push(Bo(r.id,!0))):r.selected&&!s&&(r.selected=!1,n.push(Bo(r.id,!1))),n},[])}const H4=(t,e)=>n=>{n.target===e.current&&t?.(n)},iwe=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging}),sQ=O.memo(({isSelecting:t,selectionMode:e=Xm.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:s,onPaneClick:i,onPaneContextMenu:a,onPaneScroll:o,onPaneMouseEnter:u,onPaneMouseMove:h,onPaneMouseLeave:f,children:m})=>{const g=O.useRef(null),x=Qr(),y=O.useRef(0),w=O.useRef(0),b=O.useRef(),{userSelectionActive:k,elementsSelectable:N,dragging:C}=Wn(iwe,Wr),T=()=>{x.setState({userSelectionActive:!1,userSelectionRect:null}),y.current=0,w.current=0},E=te=>{i?.(te),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},_=te=>{if(Array.isArray(n)&&n?.includes(2)){te.preventDefault();return}a?.(te)},A=o?te=>o(te):void 0,F=te=>{const{resetSelectedElements:z,domNode:W}=x.getState();if(b.current=W?.getBoundingClientRect(),!N||!t||te.button!==0||te.target!==g.current||!b.current)return;const{x:q,y:J}=Vo(te,b.current);z(),x.setState({userSelectionRect:{width:0,height:0,startX:q,startY:J,x:q,y:J}}),r?.(te)},B=te=>{const{userSelectionRect:z,nodeInternals:W,edges:q,transform:J,onNodesChange:ee,onEdgesChange:Y,nodeOrigin:R,getNodes:re}=x.getState();if(!t||!b.current||!z)return;x.setState({userSelectionActive:!0,nodesSelectionActive:!1});const K=Vo(te,b.current),I=z.startX??0,Q=z.startY??0,$={...z,x:K.xTe.id),se=ne.map(Te=>Te.id);if(y.current!==se.length){y.current=se.length;const Te=Ad(Z,se);Te.length&&ee?.(Te)}if(w.current!==ge.length){w.current=ge.length;const Te=Ad(q,ge);Te.length&&Y?.(Te)}x.setState({userSelectionRect:$})},P=te=>{if(te.button!==0)return;const{userSelectionRect:z}=x.getState();!k&&z&&te.target===g.current&&E?.(te),x.setState({nodesSelectionActive:y.current>0}),T(),s?.(te)},H=te=>{k&&(x.setState({nodesSelectionActive:y.current>0}),s?.(te)),T()},U=N&&(t||k);return fe.createElement("div",{className:ls(["react-flow__pane",{dragging:C,selection:t}]),onClick:U?void 0:H4(E,g),onContextMenu:H4(_,g),onWheel:H4(A,g),onMouseEnter:U?void 0:u,onMouseDown:U?F:void 0,onMouseMove:U?B:h,onMouseUp:U?P:void 0,onMouseLeave:U?H:f,ref:g,style:pO},m,fe.createElement(rwe,null))});sQ.displayName="Pane";function iQ(t,e){const n=t.parentNode||t.parentId;if(!n)return!1;const r=e.get(n);return r?r.selected?!0:iQ(r,e):!1}function R_(t,e,n){let r=t;do{if(r?.matches(e))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function awe(t,e,n,r){return Array.from(t.values()).filter(s=>(s.selected||s.id===r)&&(!s.parentNode||s.parentId||!iQ(s,t))&&(s.draggable||e&&typeof s.draggable>"u")).map(s=>({id:s.id,position:s.position||{x:0,y:0},positionAbsolute:s.positionAbsolute||{x:0,y:0},distance:{x:n.x-(s.positionAbsolute?.x??0),y:n.y-(s.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:s.extent,parentNode:s.parentNode||s.parentId,parentId:s.parentNode||s.parentId,width:s.width,height:s.height,expandParent:s.expandParent}))}function lwe(t,e){return!e||e==="parent"?e:[e[0],[e[1][0]-(t.width||0),e[1][1]-(t.height||0)]]}function aQ(t,e,n,r,s=[0,0],i){const a=lwe(t,t.extent||r);let o=a;const u=t.parentNode||t.parentId;if(t.extent==="parent"&&!t.expandParent)if(u&&t.width&&t.height){const m=n.get(u),{x:g,y:x}=ru(m,s).positionAbsolute;o=m&&Pi(g)&&Pi(x)&&Pi(m.width)&&Pi(m.height)?[[g+t.width*s[0],x+t.height*s[1]],[g+m.width-t.width+t.width*s[0],x+m.height-t.height+t.height*s[1]]]:o}else i?.("005",Xl.error005()),o=a;else if(t.extent&&u&&t.extent!=="parent"){const m=n.get(u),{x:g,y:x}=ru(m,s).positionAbsolute;o=[[t.extent[0][0]+g,t.extent[0][1]+x],[t.extent[1][0]+g,t.extent[1][1]+x]]}let h={x:0,y:0};if(u){const m=n.get(u);h=ru(m,s).positionAbsolute}const f=o&&o!=="parent"?lO(e,o):e;return{position:{x:f.x-h.x,y:f.y-h.y},positionAbsolute:f}}function V4({nodeId:t,dragItems:e,nodeInternals:n}){const r=e.map(s=>({...n.get(s.id),position:s.position,positionAbsolute:s.positionAbsolute}));return[t?r.find(s=>s.id===t):r[0],r]}const D_=(t,e,n,r)=>{const s=e.querySelectorAll(t);if(!s||!s.length)return null;const i=Array.from(s),a=e.getBoundingClientRect(),o={x:a.width*r[0],y:a.height*r[1]};return i.map(u=>{const h=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),position:u.getAttribute("data-handlepos"),x:(h.left-a.left-o.x)/n,y:(h.top-a.top-o.y)/n,...aO(u)}})};function Qf(t,e,n){return n===void 0?n:r=>{const s=e().nodeInternals.get(t);s&&n(r,{...s})}}function MS({id:t,store:e,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:s,unselectNodesAndEdges:i,multiSelectionActive:a,nodeInternals:o,onError:u}=e.getState(),h=o.get(t);if(!h){u?.("012",Xl.error012(t));return}e.setState({nodesSelectionActive:!1}),h.selected?(n||h.selected&&a)&&(i({nodes:[h],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):s([t])}function owe(){const t=Qr();return O.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:s,snapToGrid:i}=t.getState(),a=n.touches?n.touches[0].clientX:n.clientX,o=n.touches?n.touches[0].clientY:n.clientY,u={x:(a-r[0])/r[2],y:(o-r[1])/r[2]};return{xSnapped:i?s[0]*Math.round(u.x/s[0]):u.x,ySnapped:i?s[1]*Math.round(u.y/s[1]):u.y,...u}},[])}function U4(t){return(e,n,r)=>t?.(e,r)}function lQ({nodeRef:t,disabled:e=!1,noDragClassName:n,handleSelector:r,nodeId:s,isSelectable:i,selectNodesOnDrag:a}){const o=Qr(),[u,h]=O.useState(!1),f=O.useRef([]),m=O.useRef({x:null,y:null}),g=O.useRef(0),x=O.useRef(null),y=O.useRef({x:0,y:0}),w=O.useRef(null),b=O.useRef(!1),k=O.useRef(!1),N=O.useRef(!1),C=owe();return O.useEffect(()=>{if(t?.current){const T=Mi(t.current),E=({x:F,y:B})=>{const{nodeInternals:P,onNodeDrag:H,onSelectionDrag:U,updateNodePositions:te,nodeExtent:z,snapGrid:W,snapToGrid:q,nodeOrigin:J,onError:ee}=o.getState();m.current={x:F,y:B};let Y=!1,R={x:0,y:0,x2:0,y2:0};if(f.current.length>1&&z){const K=Vv(f.current,J);R=Gm(K)}if(f.current=f.current.map(K=>{const I={x:F-K.distance.x,y:B-K.distance.y};q&&(I.x=W[0]*Math.round(I.x/W[0]),I.y=W[1]*Math.round(I.y/W[1]));const Q=[[z[0][0],z[0][1]],[z[1][0],z[1][1]]];f.current.length>1&&z&&!K.extent&&(Q[0][0]=K.positionAbsolute.x-R.x+z[0][0],Q[1][0]=K.positionAbsolute.x+(K.width??0)-R.x2+z[1][0],Q[0][1]=K.positionAbsolute.y-R.y+z[0][1],Q[1][1]=K.positionAbsolute.y+(K.height??0)-R.y2+z[1][1]);const $=aQ(K,I,P,Q,J,ee);return Y=Y||K.position.x!==$.position.x||K.position.y!==$.position.y,K.position=$.position,K.positionAbsolute=$.positionAbsolute,K}),!Y)return;te(f.current,!0,!0),h(!0);const re=s?H:U4(U);if(re&&w.current){const[K,I]=V4({nodeId:s,dragItems:f.current,nodeInternals:P});re(w.current,K,I)}},_=()=>{if(!x.current)return;const[F,B]=C$(y.current,x.current);if(F!==0||B!==0){const{transform:P,panBy:H}=o.getState();m.current.x=(m.current.x??0)-F/P[2],m.current.y=(m.current.y??0)-B/P[2],H({x:F,y:B})&&E(m.current)}g.current=requestAnimationFrame(_)},A=F=>{const{nodeInternals:B,multiSelectionActive:P,nodesDraggable:H,unselectNodesAndEdges:U,onNodeDragStart:te,onSelectionDragStart:z}=o.getState();k.current=!0;const W=s?te:U4(z);(!a||!i)&&!P&&s&&(B.get(s)?.selected||U()),s&&i&&a&&MS({id:s,store:o,nodeRef:t});const q=C(F);if(m.current=q,f.current=awe(B,H,q,s),W&&f.current){const[J,ee]=V4({nodeId:s,dragItems:f.current,nodeInternals:B});W(F.sourceEvent,J,ee)}};if(e)T.on(".drag",null);else{const F=Vbe().on("start",B=>{const{domNode:P,nodeDragThreshold:H}=o.getState();H===0&&A(B),N.current=!1;const U=C(B);m.current=U,x.current=P?.getBoundingClientRect()||null,y.current=Vo(B.sourceEvent,x.current)}).on("drag",B=>{const P=C(B),{autoPanOnNodeDrag:H,nodeDragThreshold:U}=o.getState();if(B.sourceEvent.type==="touchmove"&&B.sourceEvent.touches.length>1&&(N.current=!0),!N.current){if(!b.current&&k.current&&H&&(b.current=!0,_()),!k.current){const te=P.xSnapped-(m?.current?.x??0),z=P.ySnapped-(m?.current?.y??0);Math.sqrt(te*te+z*z)>U&&A(B)}(m.current.x!==P.xSnapped||m.current.y!==P.ySnapped)&&f.current&&k.current&&(w.current=B.sourceEvent,y.current=Vo(B.sourceEvent,x.current),E(P))}}).on("end",B=>{if(!(!k.current||N.current)&&(h(!1),b.current=!1,k.current=!1,cancelAnimationFrame(g.current),f.current)){const{updateNodePositions:P,nodeInternals:H,onNodeDragStop:U,onSelectionDragStop:te}=o.getState(),z=s?U:U4(te);if(P(f.current,!1,!1),z){const[W,q]=V4({nodeId:s,dragItems:f.current,nodeInternals:H});z(B.sourceEvent,W,q)}}}).filter(B=>{const P=B.target;return!B.button&&(!n||!R_(P,`.${n}`,t))&&(!r||R_(P,r,t))});return T.call(F),()=>{T.on(".drag",null)}}}},[t,e,n,r,i,o,s,a,C]),u}function oQ(){const t=Qr();return O.useCallback(n=>{const{nodeInternals:r,nodeExtent:s,updateNodePositions:i,getNodes:a,snapToGrid:o,snapGrid:u,onError:h,nodesDraggable:f}=t.getState(),m=a().filter(N=>N.selected&&(N.draggable||f&&typeof N.draggable>"u")),g=o?u[0]:5,x=o?u[1]:5,y=n.isShiftPressed?4:1,w=n.x*g*y,b=n.y*x*y,k=m.map(N=>{if(N.positionAbsolute){const C={x:N.positionAbsolute.x+w,y:N.positionAbsolute.y+b};o&&(C.x=u[0]*Math.round(C.x/u[0]),C.y=u[1]*Math.round(C.y/u[1]));const{positionAbsolute:T,position:E}=aQ(N,C,r,s,void 0,h);N.position=E,N.positionAbsolute=T}return N});i(k,!0,!1)},[])}const Vd={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Hf=t=>{const e=({id:n,type:r,data:s,xPos:i,yPos:a,xPosOrigin:o,yPosOrigin:u,selected:h,onClick:f,onMouseEnter:m,onMouseMove:g,onMouseLeave:x,onContextMenu:y,onDoubleClick:w,style:b,className:k,isDraggable:N,isSelectable:C,isConnectable:T,isFocusable:E,selectNodesOnDrag:_,sourcePosition:A,targetPosition:F,hidden:B,resizeObserver:P,dragHandle:H,zIndex:U,isParent:te,noDragClassName:z,noPanClassName:W,initialized:q,disableKeyboardA11y:J,ariaLabel:ee,rfId:Y,hasHandleBounds:R})=>{const re=Qr(),K=O.useRef(null),I=O.useRef(null),Q=O.useRef(A),$=O.useRef(F),Z=O.useRef(r),ne=C||N||f||m||g||x,ge=oQ(),se=Qf(n,re.getState,m),Te=Qf(n,re.getState,g),qe=Qf(n,re.getState,x),ve=Qf(n,re.getState,y),Fe=Qf(n,re.getState,w),Qe=st=>{const{nodeDragThreshold:He}=re.getState();if(C&&(!_||!N||He>0)&&MS({id:n,store:re,nodeRef:K}),f){const St=re.getState().nodeInternals.get(n);St&&f(st,{...St})}},Ke=st=>{if(!NS(st)&&!J)if(M$.includes(st.key)&&C){const He=st.key==="Escape";MS({id:n,store:re,unselect:He,nodeRef:K})}else N&&h&&Object.prototype.hasOwnProperty.call(Vd,st.key)&&(re.setState({ariaLiveMessage:`Moved selected node ${st.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~i}, y: ${~~a}`}),ge({x:Vd[st.key].x,y:Vd[st.key].y,isShiftPressed:st.shiftKey}))};O.useEffect(()=>()=>{I.current&&(P?.unobserve(I.current),I.current=null)},[]),O.useEffect(()=>{if(K.current&&!B){const st=K.current;(!q||!R||I.current!==st)&&(I.current&&P?.unobserve(I.current),P?.observe(st),I.current=st)}},[B,q,R]),O.useEffect(()=>{const st=Z.current!==r,He=Q.current!==A,St=$.current!==F;K.current&&(st||He||St)&&(st&&(Z.current=r),He&&(Q.current=A),St&&($.current=F),re.getState().updateNodeDimensions([{id:n,nodeElement:K.current,forceUpdate:!0}]))},[n,r,A,F]);const Tt=lQ({nodeRef:K,disabled:B||!N,noDragClassName:z,handleSelector:H,nodeId:n,isSelectable:C,selectNodesOnDrag:_});return B?null:fe.createElement("div",{className:ls(["react-flow__node",`react-flow__node-${r}`,{[W]:N},k,{selected:h,selectable:C,parent:te,dragging:Tt}]),ref:K,style:{zIndex:U,transform:`translate(${o}px,${u}px)`,pointerEvents:ne?"all":"none",visibility:q?"visible":"hidden",...b},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:se,onMouseMove:Te,onMouseLeave:qe,onContextMenu:ve,onClick:Qe,onDoubleClick:Fe,onKeyDown:E?Ke:void 0,tabIndex:E?0:void 0,role:E?"button":void 0,"aria-describedby":J?void 0:`${Z$}-${Y}`,"aria-label":ee},fe.createElement(S4e,{value:n},fe.createElement(t,{id:n,data:s,type:r,xPos:i,yPos:a,selected:h,isConnectable:T,sourcePosition:A,targetPosition:F,dragging:Tt,dragHandle:H,zIndex:U})))};return e.displayName="NodeWrapper",O.memo(e)};const cwe=t=>{const e=t.getNodes().filter(n=>n.selected);return{...Vv(e,t.nodeOrigin),transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`,userSelectionActive:t.userSelectionActive}};function uwe({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:n}){const r=Qr(),{width:s,height:i,x:a,y:o,transformString:u,userSelectionActive:h}=Wn(cwe,Wr),f=oQ(),m=O.useRef(null);if(O.useEffect(()=>{n||m.current?.focus({preventScroll:!0})},[n]),lQ({nodeRef:m}),h||!s||!i)return null;const g=t?y=>{const w=r.getState().getNodes().filter(b=>b.selected);t(y,w)}:void 0,x=y=>{Object.prototype.hasOwnProperty.call(Vd,y.key)&&f({x:Vd[y.key].x,y:Vd[y.key].y,isShiftPressed:y.shiftKey})};return fe.createElement("div",{className:ls(["react-flow__nodesselection","react-flow__container",e]),style:{transform:u}},fe.createElement("div",{ref:m,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:n?void 0:-1,onKeyDown:n?void 0:x,style:{width:s,height:i,top:o,left:a}}))}var dwe=O.memo(uwe);const hwe=t=>t.nodesSelectionActive,cQ=({children:t,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:s,onPaneContextMenu:i,onPaneScroll:a,deleteKeyCode:o,onMove:u,onMoveStart:h,onMoveEnd:f,selectionKeyCode:m,selectionOnDrag:g,selectionMode:x,onSelectionStart:y,onSelectionEnd:w,multiSelectionKeyCode:b,panActivationKeyCode:k,zoomActivationKeyCode:N,elementsSelectable:C,zoomOnScroll:T,zoomOnPinch:E,panOnScroll:_,panOnScrollSpeed:A,panOnScrollMode:F,zoomOnDoubleClick:B,panOnDrag:P,defaultViewport:H,translateExtent:U,minZoom:te,maxZoom:z,preventScrolling:W,onSelectionContextMenu:q,noWheelClassName:J,noPanClassName:ee,disableKeyboardA11y:Y})=>{const R=Wn(hwe),re=Ym(m),K=Ym(k),I=K||P,Q=K||_,$=re||g&&I!==!0;return Z4e({deleteKeyCode:o,multiSelectionKeyCode:b}),fe.createElement(twe,{onMove:u,onMoveStart:h,onMoveEnd:f,onPaneContextMenu:i,elementsSelectable:C,zoomOnScroll:T,zoomOnPinch:E,panOnScroll:Q,panOnScrollSpeed:A,panOnScrollMode:F,zoomOnDoubleClick:B,panOnDrag:!re&&I,defaultViewport:H,translateExtent:U,minZoom:te,maxZoom:z,zoomActivationKeyCode:N,preventScrolling:W,noWheelClassName:J,noPanClassName:ee},fe.createElement(sQ,{onSelectionStart:y,onSelectionEnd:w,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:s,onPaneContextMenu:i,onPaneScroll:a,panOnDrag:I,isSelecting:!!$,selectionMode:x},t,R&&fe.createElement(dwe,{onSelectionContextMenu:q,noPanClassName:ee,disableKeyboardA11y:Y})))};cQ.displayName="FlowRenderer";var fwe=O.memo(cQ);function mwe(t){return Wn(O.useCallback(n=>t?B$(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[t]))}function pwe(t){const e={input:Hf(t.input||W$),default:Hf(t.default||_S),output:Hf(t.output||X$),group:Hf(t.group||fO)},n={},r=Object.keys(t).filter(s=>!["input","default","output","group"].includes(s)).reduce((s,i)=>(s[i]=Hf(t[i]||_S),s),n);return{...e,...r}}const gwe=({x:t,y:e,width:n,height:r,origin:s})=>!n||!r?{x:t,y:e}:s[0]<0||s[1]<0||s[0]>1||s[1]>1?{x:t,y:e}:{x:t-n*s[0],y:e-r*s[1]},xwe=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,updateNodeDimensions:t.updateNodeDimensions,onError:t.onError}),uQ=t=>{const{nodesDraggable:e,nodesConnectable:n,nodesFocusable:r,elementsSelectable:s,updateNodeDimensions:i,onError:a}=Wn(xwe,Wr),o=mwe(t.onlyRenderVisibleElements),u=O.useRef(),h=O.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const f=new ResizeObserver(m=>{const g=m.map(x=>({id:x.target.getAttribute("data-id"),nodeElement:x.target,forceUpdate:!0}));i(g)});return u.current=f,f},[]);return O.useEffect(()=>()=>{u?.current?.disconnect()},[]),fe.createElement("div",{className:"react-flow__nodes",style:pO},o.map(f=>{let m=f.type||"default";t.nodeTypes[m]||(a?.("003",Xl.error003(m)),m="default");const g=t.nodeTypes[m]||t.nodeTypes.default,x=!!(f.draggable||e&&typeof f.draggable>"u"),y=!!(f.selectable||s&&typeof f.selectable>"u"),w=!!(f.connectable||n&&typeof f.connectable>"u"),b=!!(f.focusable||r&&typeof f.focusable>"u"),k=t.nodeExtent?lO(f.positionAbsolute,t.nodeExtent):f.positionAbsolute,N=k?.x??0,C=k?.y??0,T=gwe({x:N,y:C,width:f.width??0,height:f.height??0,origin:t.nodeOrigin});return fe.createElement(g,{key:f.id,id:f.id,className:f.className,style:f.style,type:m,data:f.data,sourcePosition:f.sourcePosition||at.Bottom,targetPosition:f.targetPosition||at.Top,hidden:f.hidden,xPos:N,yPos:C,xPosOrigin:T.x,yPosOrigin:T.y,selectNodesOnDrag:t.selectNodesOnDrag,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,selected:!!f.selected,isDraggable:x,isSelectable:y,isConnectable:w,isFocusable:b,resizeObserver:h,dragHandle:f.dragHandle,zIndex:f[hr]?.z??0,isParent:!!f[hr]?.isParent,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,initialized:!!f.width&&!!f.height,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,ariaLabel:f.ariaLabel,hasHandleBounds:!!f[hr]?.handleBounds})}))};uQ.displayName="NodeRenderer";var vwe=O.memo(uQ);const ywe=(t,e,n)=>n===at.Left?t-e:n===at.Right?t+e:t,bwe=(t,e,n)=>n===at.Top?t-e:n===at.Bottom?t+e:t,z_="react-flow__edgeupdater",P_=({position:t,centerX:e,centerY:n,radius:r=10,onMouseDown:s,onMouseEnter:i,onMouseOut:a,type:o})=>fe.createElement("circle",{onMouseDown:s,onMouseEnter:i,onMouseOut:a,className:ls([z_,`${z_}-${o}`]),cx:ywe(e,r,t),cy:bwe(n,r,t),r,stroke:"transparent",fill:"transparent"}),wwe=()=>!0;var gd=t=>{const e=({id:n,className:r,type:s,data:i,onClick:a,onEdgeDoubleClick:o,selected:u,animated:h,label:f,labelStyle:m,labelShowBg:g,labelBgStyle:x,labelBgPadding:y,labelBgBorderRadius:w,style:b,source:k,target:N,sourceX:C,sourceY:T,targetX:E,targetY:_,sourcePosition:A,targetPosition:F,elementsSelectable:B,hidden:P,sourceHandleId:H,targetHandleId:U,onContextMenu:te,onMouseEnter:z,onMouseMove:W,onMouseLeave:q,reconnectRadius:J,onReconnect:ee,onReconnectStart:Y,onReconnectEnd:R,markerEnd:re,markerStart:K,rfId:I,ariaLabel:Q,isFocusable:$,isReconnectable:Z,pathOptions:ne,interactionWidth:ge,disableKeyboardA11y:se})=>{const Te=O.useRef(null),[qe,ve]=O.useState(!1),[Fe,Qe]=O.useState(!1),Ke=Qr(),Tt=O.useMemo(()=>`url('#${TS(K,I)}')`,[K,I]),st=O.useMemo(()=>`url('#${TS(re,I)}')`,[re,I]);if(P)return null;const He=Vt=>{const{edges:Ln,addSelectedEdges:ue,unselectNodesAndEdges:Ce,multiSelectionActive:lt}=Ke.getState(),ut=Ln.find(or=>or.id===n);ut&&(B&&(Ke.setState({nodesSelectionActive:!1}),ut.selected&<?(Ce({nodes:[],edges:[ut]}),Te.current?.blur()):ue([n])),a&&a(Vt,ut))},St=$f(n,Ke.getState,o),bt=$f(n,Ke.getState,te),nr=$f(n,Ke.getState,z),mn=$f(n,Ke.getState,W),Hn=$f(n,Ke.getState,q),$t=(Vt,Ln)=>{if(Vt.button!==0)return;const{edges:ue,isValidConnection:Ce}=Ke.getState(),lt=Ln?N:k,ut=(Ln?U:H)||null,or=Ln?"target":"source",ft=Ce||wwe,On=Ln,mt=ue.find(kt=>kt.id===n);Qe(!0),Y?.(Vt,mt,or);const Jt=kt=>{Qe(!1),R?.(kt,mt,or)};Q$({event:Vt,handleId:ut,nodeId:lt,onConnect:kt=>ee?.(mt,kt),isTarget:On,getState:Ke.getState,setState:Ke.setState,isValidConnection:ft,edgeUpdaterType:or,onReconnectEnd:Jt})},ht=Vt=>$t(Vt,!0),le=Vt=>$t(Vt,!1),Oe=()=>ve(!0),Le=()=>ve(!1),nt=!B&&!a,Ot=Vt=>{if(!se&&M$.includes(Vt.key)&&B){const{unselectNodesAndEdges:Ln,addSelectedEdges:ue,edges:Ce}=Ke.getState();Vt.key==="Escape"?(Te.current?.blur(),Ln({edges:[Ce.find(ut=>ut.id===n)]})):ue([n])}};return fe.createElement("g",{className:ls(["react-flow__edge",`react-flow__edge-${s}`,r,{selected:u,animated:h,inactive:nt,updating:qe}]),onClick:He,onDoubleClick:St,onContextMenu:bt,onMouseEnter:nr,onMouseMove:mn,onMouseLeave:Hn,onKeyDown:$?Ot:void 0,tabIndex:$?0:void 0,role:$?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":Q===null?void 0:Q||`Edge from ${k} to ${N}`,"aria-describedby":$?`${K$}-${I}`:void 0,ref:Te},!Fe&&fe.createElement(t,{id:n,source:k,target:N,selected:u,animated:h,label:f,labelStyle:m,labelShowBg:g,labelBgStyle:x,labelBgPadding:y,labelBgBorderRadius:w,data:i,style:b,sourceX:C,sourceY:T,targetX:E,targetY:_,sourcePosition:A,targetPosition:F,sourceHandleId:H,targetHandleId:U,markerStart:Tt,markerEnd:st,pathOptions:ne,interactionWidth:ge}),Z&&fe.createElement(fe.Fragment,null,(Z==="source"||Z===!0)&&fe.createElement(P_,{position:A,centerX:C,centerY:T,radius:J,onMouseDown:ht,onMouseEnter:Oe,onMouseOut:Le,type:"source"}),(Z==="target"||Z===!0)&&fe.createElement(P_,{position:F,centerX:E,centerY:_,radius:J,onMouseDown:le,onMouseEnter:Oe,onMouseOut:Le,type:"target"})))};return e.displayName="EdgeWrapper",O.memo(e)};function Swe(t){const e={default:gd(t.default||L1),straight:gd(t.bezier||uO),step:gd(t.step||cO),smoothstep:gd(t.step||Hv),simplebezier:gd(t.simplebezier||oO)},n={},r=Object.keys(t).filter(s=>!["default","bezier"].includes(s)).reduce((s,i)=>(s[i]=gd(t[i]||L1),s),n);return{...e,...r}}function L_(t,e,n=null){const r=(n?.x||0)+e.x,s=(n?.y||0)+e.y,i=n?.width||e.width,a=n?.height||e.height;switch(t){case at.Top:return{x:r+i/2,y:s};case at.Right:return{x:r+i,y:s+a/2};case at.Bottom:return{x:r+i/2,y:s+a};case at.Left:return{x:r,y:s+a/2}}}function B_(t,e){return t?t.length===1||!e?t[0]:e&&t.find(n=>n.id===e)||null:null}const kwe=(t,e,n,r,s,i)=>{const a=L_(n,t,e),o=L_(i,r,s);return{sourceX:a.x,sourceY:a.y,targetX:o.x,targetY:o.y}};function Owe({sourcePos:t,targetPos:e,sourceWidth:n,sourceHeight:r,targetWidth:s,targetHeight:i,width:a,height:o,transform:u}){const h={x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x+n,e.x+s),y2:Math.max(t.y+r,e.y+i)};h.x===h.x2&&(h.x2+=1),h.y===h.y2&&(h.y2+=1);const f=Gm({x:(0-u[0])/u[2],y:(0-u[1])/u[2],width:a/u[2],height:o/u[2]}),m=Math.max(0,Math.min(f.x2,h.x2)-Math.max(f.x,h.x)),g=Math.max(0,Math.min(f.y2,h.y2)-Math.max(f.y,h.y));return Math.ceil(m*g)>0}function I_(t){const e=t?.[hr]?.handleBounds||null,n=e&&t?.width&&t?.height&&typeof t?.positionAbsolute?.x<"u"&&typeof t?.positionAbsolute?.y<"u";return[{x:t?.positionAbsolute?.x||0,y:t?.positionAbsolute?.y||0,width:t?.width||0,height:t?.height||0},e,!!n]}const jwe=[{level:0,isMaxLevel:!0,edges:[]}];function Nwe(t,e,n=!1){let r=-1;const s=t.reduce((a,o)=>{const u=Pi(o.zIndex);let h=u?o.zIndex:0;if(n){const f=e.get(o.target),m=e.get(o.source),g=o.selected||f?.selected||m?.selected,x=Math.max(m?.[hr]?.z||0,f?.[hr]?.z||0,1e3);h=(u?o.zIndex:0)+(g?x:0)}return a[h]?a[h].push(o):a[h]=[o],r=h>r?h:r,a},{}),i=Object.entries(s).map(([a,o])=>{const u=+a;return{edges:o,level:u,isMaxLevel:u===r}});return i.length===0?jwe:i}function Cwe(t,e,n){const r=Wn(O.useCallback(s=>t?s.edges.filter(i=>{const a=e.get(i.source),o=e.get(i.target);return a?.width&&a?.height&&o?.width&&o?.height&&Owe({sourcePos:a.positionAbsolute||{x:0,y:0},targetPos:o.positionAbsolute||{x:0,y:0},sourceWidth:a.width,sourceHeight:a.height,targetWidth:o.width,targetHeight:o.height,width:s.width,height:s.height,transform:s.transform})}):s.edges,[t,e]));return Nwe(r,e,n)}const Twe=({color:t="none",strokeWidth:e=1})=>fe.createElement("polyline",{style:{stroke:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),Ewe=({color:t="none",strokeWidth:e=1})=>fe.createElement("polyline",{style:{stroke:t,fill:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),q_={[P1.Arrow]:Twe,[P1.ArrowClosed]:Ewe};function _we(t){const e=Qr();return O.useMemo(()=>Object.prototype.hasOwnProperty.call(q_,t)?q_[t]:(e.getState().onError?.("009",Xl.error009(t)),null),[t])}const Mwe=({id:t,type:e,color:n,width:r=12.5,height:s=12.5,markerUnits:i="strokeWidth",strokeWidth:a,orient:o="auto-start-reverse"})=>{const u=_we(e);return u?fe.createElement("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${r}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:o,refX:"0",refY:"0"},fe.createElement(u,{color:n,strokeWidth:a})):null},Awe=({defaultColor:t,rfId:e})=>n=>{const r=[];return n.edges.reduce((s,i)=>([i.markerStart,i.markerEnd].forEach(a=>{if(a&&typeof a=="object"){const o=TS(a,e);r.includes(o)||(s.push({id:o,color:a.color||t,...a}),r.push(o))}}),s),[]).sort((s,i)=>s.id.localeCompare(i.id))},dQ=({defaultColor:t,rfId:e})=>{const n=Wn(O.useCallback(Awe({defaultColor:t,rfId:e}),[t,e]),(r,s)=>!(r.length!==s.length||r.some((i,a)=>i.id!==s[a].id)));return fe.createElement("defs",null,n.map(r=>fe.createElement(Mwe,{id:r.id,key:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient})))};dQ.displayName="MarkerDefinitions";var Rwe=O.memo(dQ);const Dwe=t=>({nodesConnectable:t.nodesConnectable,edgesFocusable:t.edgesFocusable,edgesUpdatable:t.edgesUpdatable,elementsSelectable:t.elementsSelectable,width:t.width,height:t.height,connectionMode:t.connectionMode,nodeInternals:t.nodeInternals,onError:t.onError}),hQ=({defaultMarkerColor:t,onlyRenderVisibleElements:e,elevateEdgesOnSelect:n,rfId:r,edgeTypes:s,noPanClassName:i,onEdgeContextMenu:a,onEdgeMouseEnter:o,onEdgeMouseMove:u,onEdgeMouseLeave:h,onEdgeClick:f,onEdgeDoubleClick:m,onReconnect:g,onReconnectStart:x,onReconnectEnd:y,reconnectRadius:w,children:b,disableKeyboardA11y:k})=>{const{edgesFocusable:N,edgesUpdatable:C,elementsSelectable:T,width:E,height:_,connectionMode:A,nodeInternals:F,onError:B}=Wn(Dwe,Wr),P=Cwe(e,F,n);return E?fe.createElement(fe.Fragment,null,P.map(({level:H,edges:U,isMaxLevel:te})=>fe.createElement("svg",{key:H,style:{zIndex:H},width:E,height:_,className:"react-flow__edges react-flow__container"},te&&fe.createElement(Rwe,{defaultColor:t,rfId:r}),fe.createElement("g",null,U.map(z=>{const[W,q,J]=I_(F.get(z.source)),[ee,Y,R]=I_(F.get(z.target));if(!J||!R)return null;let re=z.type||"default";s[re]||(B?.("011",Xl.error011(re)),re="default");const K=s[re]||s.default,I=A===gu.Strict?Y.target:(Y.target??[]).concat(Y.source??[]),Q=B_(q.source,z.sourceHandle),$=B_(I,z.targetHandle),Z=Q?.position||at.Bottom,ne=$?.position||at.Top,ge=!!(z.focusable||N&&typeof z.focusable>"u"),se=z.reconnectable||z.updatable,Te=typeof g<"u"&&(se||C&&typeof se>"u");if(!Q||!$)return B?.("008",Xl.error008(Q,z)),null;const{sourceX:qe,sourceY:ve,targetX:Fe,targetY:Qe}=kwe(W,Q,Z,ee,$,ne);return fe.createElement(K,{key:z.id,id:z.id,className:ls([z.className,i]),type:re,data:z.data,selected:!!z.selected,animated:!!z.animated,hidden:!!z.hidden,label:z.label,labelStyle:z.labelStyle,labelShowBg:z.labelShowBg,labelBgStyle:z.labelBgStyle,labelBgPadding:z.labelBgPadding,labelBgBorderRadius:z.labelBgBorderRadius,style:z.style,source:z.source,target:z.target,sourceHandleId:z.sourceHandle,targetHandleId:z.targetHandle,markerEnd:z.markerEnd,markerStart:z.markerStart,sourceX:qe,sourceY:ve,targetX:Fe,targetY:Qe,sourcePosition:Z,targetPosition:ne,elementsSelectable:T,onContextMenu:a,onMouseEnter:o,onMouseMove:u,onMouseLeave:h,onClick:f,onEdgeDoubleClick:m,onReconnect:g,onReconnectStart:x,onReconnectEnd:y,reconnectRadius:w,rfId:r,ariaLabel:z.ariaLabel,isFocusable:ge,isReconnectable:Te,pathOptions:"pathOptions"in z?z.pathOptions:void 0,interactionWidth:z.interactionWidth,disableKeyboardA11y:k})})))),b):null};hQ.displayName="EdgeRenderer";var zwe=O.memo(hQ);const Pwe=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function Lwe({children:t}){const e=Wn(Pwe);return fe.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:e}},t)}function Bwe(t){const e=mO(),n=O.useRef(!1);O.useEffect(()=>{!n.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),n.current=!0)},[t,e.viewportInitialized])}const Iwe={[at.Left]:at.Right,[at.Right]:at.Left,[at.Top]:at.Bottom,[at.Bottom]:at.Top},fQ=({nodeId:t,handleType:e,style:n,type:r=qo.Bezier,CustomComponent:s,connectionStatus:i})=>{const{fromNode:a,handleId:o,toX:u,toY:h,connectionMode:f}=Wn(O.useCallback(_=>({fromNode:_.nodeInternals.get(t),handleId:_.connectionHandleId,toX:(_.connectionPosition.x-_.transform[0])/_.transform[2],toY:(_.connectionPosition.y-_.transform[1])/_.transform[2],connectionMode:_.connectionMode}),[t]),Wr),m=a?.[hr]?.handleBounds;let g=m?.[e];if(f===gu.Loose&&(g=g||m?.[e==="source"?"target":"source"]),!a||!g)return null;const x=o?g.find(_=>_.id===o):g[0],y=x?x.x+x.width/2:(a.width??0)/2,w=x?x.y+x.height/2:a.height??0,b=(a.positionAbsolute?.x??0)+y,k=(a.positionAbsolute?.y??0)+w,N=x?.position,C=N?Iwe[N]:null;if(!N||!C)return null;if(s)return fe.createElement(s,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:x,fromX:b,fromY:k,toX:u,toY:h,fromPosition:N,toPosition:C,connectionStatus:i});let T="";const E={sourceX:b,sourceY:k,sourcePosition:N,targetX:u,targetY:h,targetPosition:C};return r===qo.Bezier?[T]=P$(E):r===qo.Step?[T]=CS({...E,borderRadius:0}):r===qo.SmoothStep?[T]=CS(E):r===qo.SimpleBezier?[T]=z$(E):T=`M${b},${k} ${u},${h}`,fe.createElement("path",{d:T,fill:"none",className:"react-flow__connection-path",style:n})};fQ.displayName="ConnectionLine";const qwe=t=>({nodeId:t.connectionNodeId,handleType:t.connectionHandleType,nodesConnectable:t.nodesConnectable,connectionStatus:t.connectionStatus,width:t.width,height:t.height});function Fwe({containerStyle:t,style:e,type:n,component:r}){const{nodeId:s,handleType:i,nodesConnectable:a,width:o,height:u,connectionStatus:h}=Wn(qwe,Wr);return!(s&&i&&o&&a)?null:fe.createElement("svg",{style:t,width:o,height:u,className:"react-flow__edges react-flow__connectionline react-flow__container"},fe.createElement("g",{className:ls(["react-flow__connection",h])},fe.createElement(fQ,{nodeId:s,handleType:i,style:e,type:n,CustomComponent:r,connectionStatus:h})))}function F_(t,e){return O.useRef(null),Qr(),O.useMemo(()=>e(t),[t])}const mQ=({nodeTypes:t,edgeTypes:e,onMove:n,onMoveStart:r,onMoveEnd:s,onInit:i,onNodeClick:a,onEdgeClick:o,onNodeDoubleClick:u,onEdgeDoubleClick:h,onNodeMouseEnter:f,onNodeMouseMove:m,onNodeMouseLeave:g,onNodeContextMenu:x,onSelectionContextMenu:y,onSelectionStart:w,onSelectionEnd:b,connectionLineType:k,connectionLineStyle:N,connectionLineComponent:C,connectionLineContainerStyle:T,selectionKeyCode:E,selectionOnDrag:_,selectionMode:A,multiSelectionKeyCode:F,panActivationKeyCode:B,zoomActivationKeyCode:P,deleteKeyCode:H,onlyRenderVisibleElements:U,elementsSelectable:te,selectNodesOnDrag:z,defaultViewport:W,translateExtent:q,minZoom:J,maxZoom:ee,preventScrolling:Y,defaultMarkerColor:R,zoomOnScroll:re,zoomOnPinch:K,panOnScroll:I,panOnScrollSpeed:Q,panOnScrollMode:$,zoomOnDoubleClick:Z,panOnDrag:ne,onPaneClick:ge,onPaneMouseEnter:se,onPaneMouseMove:Te,onPaneMouseLeave:qe,onPaneScroll:ve,onPaneContextMenu:Fe,onEdgeContextMenu:Qe,onEdgeMouseEnter:Ke,onEdgeMouseMove:Tt,onEdgeMouseLeave:st,onReconnect:He,onReconnectStart:St,onReconnectEnd:bt,reconnectRadius:nr,noDragClassName:mn,noWheelClassName:Hn,noPanClassName:$t,elevateEdgesOnSelect:ht,disableKeyboardA11y:le,nodeOrigin:Oe,nodeExtent:Le,rfId:nt})=>{const Ot=F_(t,pwe),Vt=F_(e,Swe);return Bwe(i),fe.createElement(fwe,{onPaneClick:ge,onPaneMouseEnter:se,onPaneMouseMove:Te,onPaneMouseLeave:qe,onPaneContextMenu:Fe,onPaneScroll:ve,deleteKeyCode:H,selectionKeyCode:E,selectionOnDrag:_,selectionMode:A,onSelectionStart:w,onSelectionEnd:b,multiSelectionKeyCode:F,panActivationKeyCode:B,zoomActivationKeyCode:P,elementsSelectable:te,onMove:n,onMoveStart:r,onMoveEnd:s,zoomOnScroll:re,zoomOnPinch:K,zoomOnDoubleClick:Z,panOnScroll:I,panOnScrollSpeed:Q,panOnScrollMode:$,panOnDrag:ne,defaultViewport:W,translateExtent:q,minZoom:J,maxZoom:ee,onSelectionContextMenu:y,preventScrolling:Y,noDragClassName:mn,noWheelClassName:Hn,noPanClassName:$t,disableKeyboardA11y:le},fe.createElement(Lwe,null,fe.createElement(zwe,{edgeTypes:Vt,onEdgeClick:o,onEdgeDoubleClick:h,onlyRenderVisibleElements:U,onEdgeContextMenu:Qe,onEdgeMouseEnter:Ke,onEdgeMouseMove:Tt,onEdgeMouseLeave:st,onReconnect:He,onReconnectStart:St,onReconnectEnd:bt,reconnectRadius:nr,defaultMarkerColor:R,noPanClassName:$t,elevateEdgesOnSelect:!!ht,disableKeyboardA11y:le,rfId:nt},fe.createElement(Fwe,{style:N,type:k,component:C,containerStyle:T})),fe.createElement("div",{className:"react-flow__edgelabel-renderer"}),fe.createElement(vwe,{nodeTypes:Ot,onNodeClick:a,onNodeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:m,onNodeMouseLeave:g,onNodeContextMenu:x,selectNodesOnDrag:z,onlyRenderVisibleElements:U,noPanClassName:$t,noDragClassName:mn,disableKeyboardA11y:le,nodeOrigin:Oe,nodeExtent:Le,rfId:nt})))};mQ.displayName="GraphView";var $we=O.memo(mQ);const AS=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Ro={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:AS,nodeExtent:AS,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:gu.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:g4e,isValidConnection:void 0},Qwe=()=>rye((t,e)=>({...Ro,setNodes:n=>{const{nodeInternals:r,nodeOrigin:s,elevateNodesOnSelect:i}=e();t({nodeInternals:Q4(n,r,s,i)})},getNodes:()=>Array.from(e().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=e();t({edges:n.map(s=>({...r,...s}))})},setDefaultNodesAndEdges:(n,r)=>{const s=typeof n<"u",i=typeof r<"u",a=s?Q4(n,new Map,e().nodeOrigin,e().elevateNodesOnSelect):new Map;t({nodeInternals:a,edges:i?r:[],hasDefaultNodes:s,hasDefaultEdges:i})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:s,fitViewOnInit:i,fitViewOnInitDone:a,fitViewOnInitOptions:o,domNode:u,nodeOrigin:h}=e(),f=u?.querySelector(".react-flow__viewport");if(!f)return;const m=window.getComputedStyle(f),{m22:g}=new window.DOMMatrixReadOnly(m.transform),x=n.reduce((w,b)=>{const k=s.get(b.id);if(k?.hidden)s.set(k.id,{...k,[hr]:{...k[hr],handleBounds:void 0}});else if(k){const N=aO(b.nodeElement);!!(N.width&&N.height&&(k.width!==N.width||k.height!==N.height||b.forceUpdate))&&(s.set(k.id,{...k,[hr]:{...k[hr],handleBounds:{source:D_(".source",b.nodeElement,g,h),target:D_(".target",b.nodeElement,g,h)}},...N}),w.push({id:k.id,type:"dimensions",dimensions:N}))}return w},[]);eQ(s,h);const y=a||i&&!a&&tQ(e,{initial:!0,...o});t({nodeInternals:new Map(s),fitViewOnInitDone:y}),x?.length>0&&r?.(x)},updateNodePositions:(n,r=!0,s=!1)=>{const{triggerNodeChanges:i}=e(),a=n.map(o=>{const u={id:o.id,type:"position",dragging:s};return r&&(u.positionAbsolute=o.positionAbsolute,u.position=o.position),u});i(a)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:s,hasDefaultNodes:i,nodeOrigin:a,getNodes:o,elevateNodesOnSelect:u}=e();if(n?.length){if(i){const h=rQ(n,o()),f=Q4(h,s,a,u);t({nodeInternals:f})}r?.(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:s,getNodes:i}=e();let a,o=null;r?a=n.map(u=>Bo(u,!0)):(a=Ad(i(),n),o=Ad(s,[])),cx({changedNodes:a,changedEdges:o,get:e,set:t})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:s,getNodes:i}=e();let a,o=null;r?a=n.map(u=>Bo(u,!0)):(a=Ad(s,n),o=Ad(i(),[])),cx({changedNodes:o,changedEdges:a,get:e,set:t})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:s,getNodes:i}=e(),a=n||i(),o=r||s,u=a.map(f=>(f.selected=!1,Bo(f.id,!1))),h=o.map(f=>Bo(f.id,!1));cx({changedNodes:u,changedEdges:h,get:e,set:t})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:s}=e();r?.scaleExtent([n,s]),t({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:s}=e();r?.scaleExtent([s,n]),t({maxZoom:n})},setTranslateExtent:n=>{e().d3Zoom?.translateExtent(n),t({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=e(),i=r().filter(o=>o.selected).map(o=>Bo(o.id,!1)),a=n.filter(o=>o.selected).map(o=>Bo(o.id,!1));cx({changedNodes:i,changedEdges:a,get:e,set:t})},setNodeExtent:n=>{const{nodeInternals:r}=e();r.forEach(s=>{s.positionAbsolute=lO(s.position,n)}),t({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:s,height:i,d3Zoom:a,d3Selection:o,translateExtent:u}=e();if(!a||!o||!n.x&&!n.y)return!1;const h=Bl.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),f=[[0,0],[s,i]],m=a?.constrain()(h,f,u);return a.transform(o,m),r[0]!==m.x||r[1]!==m.y||r[2]!==m.k},cancelConnection:()=>t({connectionNodeId:Ro.connectionNodeId,connectionHandleId:Ro.connectionHandleId,connectionHandleType:Ro.connectionHandleType,connectionStatus:Ro.connectionStatus,connectionStartHandle:Ro.connectionStartHandle,connectionEndHandle:Ro.connectionEndHandle}),reset:()=>t({...Ro})}),Object.is),pQ=({children:t})=>{const e=O.useRef(null);return e.current||(e.current=Qwe()),fe.createElement(c4e,{value:e.current},t)};pQ.displayName="ReactFlowProvider";const gQ=({children:t})=>O.useContext($v)?fe.createElement(fe.Fragment,null,t):fe.createElement(pQ,null,t);gQ.displayName="ReactFlowWrapper";const Hwe={input:W$,default:_S,output:X$,group:fO},Vwe={default:L1,straight:uO,step:cO,smoothstep:Hv,simplebezier:oO},Uwe=[0,0],Wwe=[15,15],Gwe={x:0,y:0,zoom:1},Xwe={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},xQ=O.forwardRef(({nodes:t,edges:e,defaultNodes:n,defaultEdges:r,className:s,nodeTypes:i=Hwe,edgeTypes:a=Vwe,onNodeClick:o,onEdgeClick:u,onInit:h,onMove:f,onMoveStart:m,onMoveEnd:g,onConnect:x,onConnectStart:y,onConnectEnd:w,onClickConnectStart:b,onClickConnectEnd:k,onNodeMouseEnter:N,onNodeMouseMove:C,onNodeMouseLeave:T,onNodeContextMenu:E,onNodeDoubleClick:_,onNodeDragStart:A,onNodeDrag:F,onNodeDragStop:B,onNodesDelete:P,onEdgesDelete:H,onSelectionChange:U,onSelectionDragStart:te,onSelectionDrag:z,onSelectionDragStop:W,onSelectionContextMenu:q,onSelectionStart:J,onSelectionEnd:ee,connectionMode:Y=gu.Strict,connectionLineType:R=qo.Bezier,connectionLineStyle:re,connectionLineComponent:K,connectionLineContainerStyle:I,deleteKeyCode:Q="Backspace",selectionKeyCode:$="Shift",selectionOnDrag:Z=!1,selectionMode:ne=Xm.Full,panActivationKeyCode:ge="Space",multiSelectionKeyCode:se=z1()?"Meta":"Control",zoomActivationKeyCode:Te=z1()?"Meta":"Control",snapToGrid:qe=!1,snapGrid:ve=Wwe,onlyRenderVisibleElements:Fe=!1,selectNodesOnDrag:Qe=!0,nodesDraggable:Ke,nodesConnectable:Tt,nodesFocusable:st,nodeOrigin:He=Uwe,edgesFocusable:St,edgesUpdatable:bt,elementsSelectable:nr,defaultViewport:mn=Gwe,minZoom:Hn=.5,maxZoom:$t=2,translateExtent:ht=AS,preventScrolling:le=!0,nodeExtent:Oe,defaultMarkerColor:Le="#b1b1b7",zoomOnScroll:nt=!0,zoomOnPinch:Ot=!0,panOnScroll:Vt=!1,panOnScrollSpeed:Ln=.5,panOnScrollMode:ue=Gc.Free,zoomOnDoubleClick:Ce=!0,panOnDrag:lt=!0,onPaneClick:ut,onPaneMouseEnter:or,onPaneMouseMove:ft,onPaneMouseLeave:On,onPaneScroll:mt,onPaneContextMenu:Jt,children:fr,onEdgeContextMenu:kt,onEdgeDoubleClick:eo,onEdgeMouseEnter:Xa,onEdgeMouseMove:Mh,onEdgeMouseLeave:to,onEdgeUpdate:Ya,onEdgeUpdateStart:pc,onEdgeUpdateEnd:Zv,onReconnect:U0,onReconnectStart:W0,onReconnectEnd:G0,reconnectRadius:Ah=10,edgeUpdaterRadius:Rh=10,onNodesChange:X0,onEdgesChange:Y0,noDragClassName:ha="nodrag",noWheelClassName:Dr="nowheel",noPanClassName:Yr="nopan",fitView:no=!1,fitViewOptions:Dh,connectOnClick:Kv=!0,attributionPosition:Jv,proOptions:Z0,defaultEdgeOptions:gc,elevateNodesOnSelect:zh=!0,elevateEdgesOnSelect:ro=!1,disableKeyboardA11y:Za=!1,autoPanOnConnect:xc=!0,autoPanOnNodeDrag:so=!0,connectionRadius:Sr=20,isValidConnection:K0,onError:J0,style:Ka,id:Ja,nodeDragThreshold:ey,...ep},tp)=>{const Ph=Ja||"1";return fe.createElement("div",{...ep,style:{...Ka,...Xwe},ref:tp,className:ls(["react-flow",s]),"data-testid":"rf__wrapper",id:Ja},fe.createElement(gQ,null,fe.createElement($we,{onInit:h,onMove:f,onMoveStart:m,onMoveEnd:g,onNodeClick:o,onEdgeClick:u,onNodeMouseEnter:N,onNodeMouseMove:C,onNodeMouseLeave:T,onNodeContextMenu:E,onNodeDoubleClick:_,nodeTypes:i,edgeTypes:a,connectionLineType:R,connectionLineStyle:re,connectionLineComponent:K,connectionLineContainerStyle:I,selectionKeyCode:$,selectionOnDrag:Z,selectionMode:ne,deleteKeyCode:Q,multiSelectionKeyCode:se,panActivationKeyCode:ge,zoomActivationKeyCode:Te,onlyRenderVisibleElements:Fe,selectNodesOnDrag:Qe,defaultViewport:mn,translateExtent:ht,minZoom:Hn,maxZoom:$t,preventScrolling:le,zoomOnScroll:nt,zoomOnPinch:Ot,zoomOnDoubleClick:Ce,panOnScroll:Vt,panOnScrollSpeed:Ln,panOnScrollMode:ue,panOnDrag:lt,onPaneClick:ut,onPaneMouseEnter:or,onPaneMouseMove:ft,onPaneMouseLeave:On,onPaneScroll:mt,onPaneContextMenu:Jt,onSelectionContextMenu:q,onSelectionStart:J,onSelectionEnd:ee,onEdgeContextMenu:kt,onEdgeDoubleClick:eo,onEdgeMouseEnter:Xa,onEdgeMouseMove:Mh,onEdgeMouseLeave:to,onReconnect:U0??Ya,onReconnectStart:W0??pc,onReconnectEnd:G0??Zv,reconnectRadius:Ah??Rh,defaultMarkerColor:Le,noDragClassName:ha,noWheelClassName:Dr,noPanClassName:Yr,elevateEdgesOnSelect:ro,rfId:Ph,disableKeyboardA11y:Za,nodeOrigin:He,nodeExtent:Oe}),fe.createElement(I4e,{nodes:t,edges:e,defaultNodes:n,defaultEdges:r,onConnect:x,onConnectStart:y,onConnectEnd:w,onClickConnectStart:b,onClickConnectEnd:k,nodesDraggable:Ke,nodesConnectable:Tt,nodesFocusable:st,edgesFocusable:St,edgesUpdatable:bt,elementsSelectable:nr,elevateNodesOnSelect:zh,minZoom:Hn,maxZoom:$t,nodeExtent:Oe,onNodesChange:X0,onEdgesChange:Y0,snapToGrid:qe,snapGrid:ve,connectionMode:Y,translateExtent:ht,connectOnClick:Kv,defaultEdgeOptions:gc,fitView:no,fitViewOptions:Dh,onNodesDelete:P,onEdgesDelete:H,onNodeDragStart:A,onNodeDrag:F,onNodeDragStop:B,onSelectionDrag:z,onSelectionDragStart:te,onSelectionDragStop:W,noPanClassName:Yr,nodeOrigin:He,rfId:Ph,autoPanOnConnect:xc,autoPanOnNodeDrag:so,onError:J0,connectionRadius:Sr,isValidConnection:K0,nodeDragThreshold:ey}),fe.createElement(L4e,{onSelectionChange:U}),fr,fe.createElement(d4e,{proOptions:Z0,position:Jv}),fe.createElement(H4e,{rfId:Ph,disableKeyboardA11y:Za})))});xQ.displayName="ReactFlow";function vQ(t){return e=>{const[n,r]=O.useState(e),s=O.useCallback(i=>r(a=>t(i,a)),[]);return[n,r,s]}}const Ywe=vQ(rQ),Zwe=vQ(swe),yQ=({id:t,x:e,y:n,width:r,height:s,style:i,color:a,strokeColor:o,strokeWidth:u,className:h,borderRadius:f,shapeRendering:m,onClick:g,selected:x})=>{const{background:y,backgroundColor:w}=i||{},b=a||y||w;return fe.createElement("rect",{className:ls(["react-flow__minimap-node",{selected:x},h]),x:e,y:n,rx:f,ry:f,width:r,height:s,fill:b,stroke:o,strokeWidth:u,shapeRendering:m,onClick:g?k=>g(k,t):void 0})};yQ.displayName="MiniMapNode";var Kwe=O.memo(yQ);const Jwe=t=>t.nodeOrigin,e5e=t=>t.getNodes().filter(e=>!e.hidden&&e.width&&e.height),W4=t=>t instanceof Function?t:()=>t;function t5e({nodeStrokeColor:t="transparent",nodeColor:e="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:s=2,nodeComponent:i=Kwe,onClick:a}){const o=Wn(e5e,Wr),u=Wn(Jwe),h=W4(e),f=W4(t),m=W4(n),g=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return fe.createElement(fe.Fragment,null,o.map(x=>{const{x:y,y:w}=ru(x,u).positionAbsolute;return fe.createElement(i,{key:x.id,x:y,y:w,width:x.width,height:x.height,style:x.style,selected:x.selected,className:m(x),color:h(x),borderRadius:r,strokeColor:f(x),strokeWidth:s,shapeRendering:g,onClick:a,id:x.id})}))}var n5e=O.memo(t5e);const r5e=200,s5e=150,i5e=t=>{const e=t.getNodes(),n={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:n,boundingRect:e.length>0?m4e(Vv(e,t.nodeOrigin),n):n,rfId:t.rfId}},a5e="react-flow__minimap-desc";function bQ({style:t,className:e,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:s="",nodeBorderRadius:i=5,nodeStrokeWidth:a=2,nodeComponent:o,maskColor:u="rgb(240, 240, 240, 0.6)",maskStrokeColor:h="none",maskStrokeWidth:f=1,position:m="bottom-right",onClick:g,onNodeClick:x,pannable:y=!1,zoomable:w=!1,ariaLabel:b="React Flow mini map",inversePan:k=!1,zoomStep:N=10,offsetScale:C=5}){const T=Qr(),E=O.useRef(null),{boundingRect:_,viewBB:A,rfId:F}=Wn(i5e,Wr),B=t?.width??r5e,P=t?.height??s5e,H=_.width/B,U=_.height/P,te=Math.max(H,U),z=te*B,W=te*P,q=C*te,J=_.x-(z-_.width)/2-q,ee=_.y-(W-_.height)/2-q,Y=z+q*2,R=W+q*2,re=`${a5e}-${F}`,K=O.useRef(0);K.current=te,O.useEffect(()=>{if(E.current){const $=Mi(E.current),Z=se=>{const{transform:Te,d3Selection:qe,d3Zoom:ve}=T.getState();if(se.sourceEvent.type!=="wheel"||!qe||!ve)return;const Fe=-se.sourceEvent.deltaY*(se.sourceEvent.deltaMode===1?.05:se.sourceEvent.deltaMode?1:.002)*N,Qe=Te[2]*Math.pow(2,Fe);ve.scaleTo(qe,Qe)},ne=se=>{const{transform:Te,d3Selection:qe,d3Zoom:ve,translateExtent:Fe,width:Qe,height:Ke}=T.getState();if(se.sourceEvent.type!=="mousemove"||!qe||!ve)return;const Tt=K.current*Math.max(1,Te[2])*(k?-1:1),st={x:Te[0]-se.sourceEvent.movementX*Tt,y:Te[1]-se.sourceEvent.movementY*Tt},He=[[0,0],[Qe,Ke]],St=Bl.translate(st.x,st.y).scale(Te[2]),bt=ve.constrain()(St,He,Fe);ve.transform(qe,bt)},ge=j$().on("zoom",y?ne:null).on("zoom.wheel",w?Z:null);return $.call(ge),()=>{$.on("zoom",null)}}},[y,w,k,N]);const I=g?$=>{const Z=Ji($);g($,{x:Z[0],y:Z[1]})}:void 0,Q=x?($,Z)=>{const ne=T.getState().nodeInternals.get(Z);x($,ne)}:void 0;return fe.createElement(Qv,{position:m,style:t,className:ls(["react-flow__minimap",e]),"data-testid":"rf__minimap"},fe.createElement("svg",{width:B,height:P,viewBox:`${J} ${ee} ${Y} ${R}`,role:"img","aria-labelledby":re,ref:E,onClick:I},b&&fe.createElement("title",{id:re},b),fe.createElement(n5e,{onClick:Q,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:s,nodeStrokeWidth:a,nodeComponent:o}),fe.createElement("path",{className:"react-flow__minimap-mask",d:`M${J-q},${ee-q}h${Y+q*2}v${R+q*2}h${-Y-q*2}z + M${A.x},${A.y}h${A.width}v${A.height}h${-A.width}z`,fill:u,fillRule:"evenodd",stroke:h,strokeWidth:f,pointerEvents:"none"})))}bQ.displayName="MiniMap";var l5e=O.memo(bQ);function o5e(){return fe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},fe.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function c5e(){return fe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},fe.createElement("path",{d:"M0 0h32v4.2H0z"}))}function u5e(){return fe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},fe.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function d5e(){return fe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},fe.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function h5e(){return fe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},fe.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const Kf=({children:t,className:e,...n})=>fe.createElement("button",{type:"button",className:ls(["react-flow__controls-button",e]),...n},t);Kf.displayName="ControlButton";const f5e=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom}),wQ=({style:t,showZoom:e=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:s,onZoomIn:i,onZoomOut:a,onFitView:o,onInteractiveChange:u,className:h,children:f,position:m="bottom-left"})=>{const g=Qr(),[x,y]=O.useState(!1),{isInteractive:w,minZoomReached:b,maxZoomReached:k}=Wn(f5e,Wr),{zoomIn:N,zoomOut:C,fitView:T}=mO();if(O.useEffect(()=>{y(!0)},[]),!x)return null;const E=()=>{N(),i?.()},_=()=>{C(),a?.()},A=()=>{T(s),o?.()},F=()=>{g.setState({nodesDraggable:!w,nodesConnectable:!w,elementsSelectable:!w}),u?.(!w)};return fe.createElement(Qv,{className:ls(["react-flow__controls",h]),position:m,style:t,"data-testid":"rf__controls"},e&&fe.createElement(fe.Fragment,null,fe.createElement(Kf,{onClick:E,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:k},fe.createElement(o5e,null)),fe.createElement(Kf,{onClick:_,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:b},fe.createElement(c5e,null))),n&&fe.createElement(Kf,{className:"react-flow__controls-fitview",onClick:A,title:"fit view","aria-label":"fit view"},fe.createElement(u5e,null)),r&&fe.createElement(Kf,{className:"react-flow__controls-interactive",onClick:F,title:"toggle interactivity","aria-label":"toggle interactivity"},w?fe.createElement(h5e,null):fe.createElement(d5e,null)),f)};wQ.displayName="Controls";var m5e=O.memo(wQ),Ii;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Ii||(Ii={}));function p5e({color:t,dimensions:e,lineWidth:n}){return fe.createElement("path",{stroke:t,strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})}function g5e({color:t,radius:e}){return fe.createElement("circle",{cx:e,cy:e,r:e,fill:t})}const x5e={[Ii.Dots]:"#91919a",[Ii.Lines]:"#eee",[Ii.Cross]:"#e2e2e2"},v5e={[Ii.Dots]:1,[Ii.Lines]:1,[Ii.Cross]:6},y5e=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function SQ({id:t,variant:e=Ii.Dots,gap:n=20,size:r,lineWidth:s=1,offset:i=2,color:a,style:o,className:u}){const h=O.useRef(null),{transform:f,patternId:m}=Wn(y5e,Wr),g=a||x5e[e],x=r||v5e[e],y=e===Ii.Dots,w=e===Ii.Cross,b=Array.isArray(n)?n:[n,n],k=[b[0]*f[2]||1,b[1]*f[2]||1],N=x*f[2],C=w?[N,N]:k,T=y?[N/i,N/i]:[C[0]/i,C[1]/i];return fe.createElement("svg",{className:ls(["react-flow__background",u]),style:{...o,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:h,"data-testid":"rf__background"},fe.createElement("pattern",{id:m+t,x:f[0]%k[0],y:f[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`},y?fe.createElement(g5e,{color:g,radius:N/i}):fe.createElement(p5e,{dimensions:C,color:g,lineWidth:s})),fe.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+t})`}))}SQ.displayName="Background";var b5e=O.memo(SQ);function gO(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var G4,$_;function w5e(){if($_)return G4;$_=1;var t=XA(),e=4;function n(r){return t(r,e)}return G4=n,G4}var X4,Q_;function kQ(){if(Q_)return X4;Q_=1;var t=_G();function e(n){return typeof n=="function"?n:t}return X4=e,X4}var Y4,H_;function OQ(){if(H_)return Y4;H_=1;var t=YA(),e=FS(),n=kQ(),r=xu();function s(i,a){var o=r(i)?t:e;return o(i,n(a))}return Y4=s,Y4}var Z4,V_;function jQ(){return V_||(V_=1,Z4=OQ()),Z4}var K4,U_;function S5e(){if(U_)return K4;U_=1;var t=FS();function e(n,r){var s=[];return t(n,function(i,a,o){r(i,a,o)&&s.push(i)}),s}return K4=e,K4}var J4,W_;function NQ(){if(W_)return J4;W_=1;var t=MG(),e=S5e(),n=$S(),r=xu();function s(i,a){var o=r(i)?t:e;return o(i,n(a,3))}return J4=s,J4}var ew,G_;function k5e(){if(G_)return ew;G_=1;var t=Object.prototype,e=t.hasOwnProperty;function n(r,s){return r!=null&&e.call(r,s)}return ew=n,ew}var tw,X_;function CQ(){if(X_)return tw;X_=1;var t=k5e(),e=AG();function n(r,s){return r!=null&&e(r,s,t)}return tw=n,tw}var nw,Y_;function O5e(){if(Y_)return nw;Y_=1;var t=ZA(),e=KA(),n=JA(),r=xu(),s=QS(),i=HS(),a=RG(),o=VS(),u="[object Map]",h="[object Set]",f=Object.prototype,m=f.hasOwnProperty;function g(x){if(x==null)return!0;if(s(x)&&(r(x)||typeof x=="string"||typeof x.splice=="function"||i(x)||o(x)||n(x)))return!x.length;var y=e(x);if(y==u||y==h)return!x.size;if(a(x))return!t(x).length;for(var w in x)if(m.call(x,w))return!1;return!0}return nw=g,nw}var rw,Z_;function TQ(){if(Z_)return rw;Z_=1;function t(e){return e===void 0}return rw=t,rw}var sw,K_;function j5e(){if(K_)return sw;K_=1;function t(e,n,r,s){var i=-1,a=e==null?0:e.length;for(s&&a&&(r=e[++i]);++i1?x.setNode(y,m):x.setNode(y)}),this},s.prototype.setNode=function(f,m){return t.has(this._nodes,f)?(arguments.length>1&&(this._nodes[f]=m),this):(this._nodes[f]=arguments.length>1?m:this._defaultNodeLabelFn(f),this._isCompound&&(this._parent[f]=n,this._children[f]={},this._children[n][f]=!0),this._in[f]={},this._preds[f]={},this._out[f]={},this._sucs[f]={},++this._nodeCount,this)},s.prototype.node=function(f){return this._nodes[f]},s.prototype.hasNode=function(f){return t.has(this._nodes,f)},s.prototype.removeNode=function(f){var m=this;if(t.has(this._nodes,f)){var g=function(x){m.removeEdge(m._edgeObjs[x])};delete this._nodes[f],this._isCompound&&(this._removeFromParentsChildList(f),delete this._parent[f],t.each(this.children(f),function(x){m.setParent(x)}),delete this._children[f]),t.each(t.keys(this._in[f]),g),delete this._in[f],delete this._preds[f],t.each(t.keys(this._out[f]),g),delete this._out[f],delete this._sucs[f],--this._nodeCount}return this},s.prototype.setParent=function(f,m){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(t.isUndefined(m))m=n;else{m+="";for(var g=m;!t.isUndefined(g);g=this.parent(g))if(g===f)throw new Error("Setting "+m+" as parent of "+f+" would create a cycle");this.setNode(m)}return this.setNode(f),this._removeFromParentsChildList(f),this._parent[f]=m,this._children[m][f]=!0,this},s.prototype._removeFromParentsChildList=function(f){delete this._children[this._parent[f]][f]},s.prototype.parent=function(f){if(this._isCompound){var m=this._parent[f];if(m!==n)return m}},s.prototype.children=function(f){if(t.isUndefined(f)&&(f=n),this._isCompound){var m=this._children[f];if(m)return t.keys(m)}else{if(f===n)return this.nodes();if(this.hasNode(f))return[]}},s.prototype.predecessors=function(f){var m=this._preds[f];if(m)return t.keys(m)},s.prototype.successors=function(f){var m=this._sucs[f];if(m)return t.keys(m)},s.prototype.neighbors=function(f){var m=this.predecessors(f);if(m)return t.union(m,this.successors(f))},s.prototype.isLeaf=function(f){var m;return this.isDirected()?m=this.successors(f):m=this.neighbors(f),m.length===0},s.prototype.filterNodes=function(f){var m=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});m.setGraph(this.graph());var g=this;t.each(this._nodes,function(w,b){f(b)&&m.setNode(b,w)}),t.each(this._edgeObjs,function(w){m.hasNode(w.v)&&m.hasNode(w.w)&&m.setEdge(w,g.edge(w))});var x={};function y(w){var b=g.parent(w);return b===void 0||m.hasNode(b)?(x[w]=b,b):b in x?x[b]:y(b)}return this._isCompound&&t.each(m.nodes(),function(w){m.setParent(w,y(w))}),m},s.prototype.setDefaultEdgeLabel=function(f){return t.isFunction(f)||(f=t.constant(f)),this._defaultEdgeLabelFn=f,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return t.values(this._edgeObjs)},s.prototype.setPath=function(f,m){var g=this,x=arguments;return t.reduce(f,function(y,w){return x.length>1?g.setEdge(y,w,m):g.setEdge(y,w),w}),this},s.prototype.setEdge=function(){var f,m,g,x,y=!1,w=arguments[0];typeof w=="object"&&w!==null&&"v"in w?(f=w.v,m=w.w,g=w.name,arguments.length===2&&(x=arguments[1],y=!0)):(f=w,m=arguments[1],g=arguments[3],arguments.length>2&&(x=arguments[2],y=!0)),f=""+f,m=""+m,t.isUndefined(g)||(g=""+g);var b=o(this._isDirected,f,m,g);if(t.has(this._edgeLabels,b))return y&&(this._edgeLabels[b]=x),this;if(!t.isUndefined(g)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(f),this.setNode(m),this._edgeLabels[b]=y?x:this._defaultEdgeLabelFn(f,m,g);var k=u(this._isDirected,f,m,g);return f=k.v,m=k.w,Object.freeze(k),this._edgeObjs[b]=k,i(this._preds[m],f),i(this._sucs[f],m),this._in[m][b]=k,this._out[f][b]=k,this._edgeCount++,this},s.prototype.edge=function(f,m,g){var x=arguments.length===1?h(this._isDirected,arguments[0]):o(this._isDirected,f,m,g);return this._edgeLabels[x]},s.prototype.hasEdge=function(f,m,g){var x=arguments.length===1?h(this._isDirected,arguments[0]):o(this._isDirected,f,m,g);return t.has(this._edgeLabels,x)},s.prototype.removeEdge=function(f,m,g){var x=arguments.length===1?h(this._isDirected,arguments[0]):o(this._isDirected,f,m,g),y=this._edgeObjs[x];return y&&(f=y.v,m=y.w,delete this._edgeLabels[x],delete this._edgeObjs[x],a(this._preds[m],f),a(this._sucs[f],m),delete this._in[m][x],delete this._out[f][x],this._edgeCount--),this},s.prototype.inEdges=function(f,m){var g=this._in[f];if(g){var x=t.values(g);return m?t.filter(x,function(y){return y.v===m}):x}},s.prototype.outEdges=function(f,m){var g=this._out[f];if(g){var x=t.values(g);return m?t.filter(x,function(y){return y.w===m}):x}},s.prototype.nodeEdges=function(f,m){var g=this.inEdges(f,m);if(g)return g.concat(this.outEdges(f,m))};function i(f,m){f[m]?f[m]++:f[m]=1}function a(f,m){--f[m]||delete f[m]}function o(f,m,g,x){var y=""+m,w=""+g;if(!f&&y>w){var b=y;y=w,w=b}return y+r+w+r+(t.isUndefined(x)?e:x)}function u(f,m,g,x){var y=""+m,w=""+g;if(!f&&y>w){var b=y;y=w,w=b}var k={v:y,w};return x&&(k.name=x),k}function h(f,m){return o(f,m.v,m.w,m.name)}return xw}var vw,hM;function D5e(){return hM||(hM=1,vw="2.1.8"),vw}var yw,fM;function z5e(){return fM||(fM=1,yw={Graph:xO(),version:D5e()}),yw}var bw,mM;function P5e(){if(mM)return bw;mM=1;var t=Ui(),e=xO();bw={write:n,read:i};function n(a){var o={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:r(a),edges:s(a)};return t.isUndefined(a.graph())||(o.value=t.clone(a.graph())),o}function r(a){return t.map(a.nodes(),function(o){var u=a.node(o),h=a.parent(o),f={v:o};return t.isUndefined(u)||(f.value=u),t.isUndefined(h)||(f.parent=h),f})}function s(a){return t.map(a.edges(),function(o){var u=a.edge(o),h={v:o.v,w:o.w};return t.isUndefined(o.name)||(h.name=o.name),t.isUndefined(u)||(h.value=u),h})}function i(a){var o=new e(a.options).setGraph(a.value);return t.each(a.nodes,function(u){o.setNode(u.v,u.value),u.parent&&o.setParent(u.v,u.parent)}),t.each(a.edges,function(u){o.setEdge({v:u.v,w:u.w,name:u.name},u.value)}),o}return bw}var ww,pM;function L5e(){if(pM)return ww;pM=1;var t=Ui();ww=e;function e(n){var r={},s=[],i;function a(o){t.has(r,o)||(r[o]=!0,i.push(o),t.each(n.successors(o),a),t.each(n.predecessors(o),a))}return t.each(n.nodes(),function(o){i=[],a(o),i.length&&s.push(i)}),s}return ww}var Sw,gM;function AQ(){if(gM)return Sw;gM=1;var t=Ui();Sw=e;function e(){this._arr=[],this._keyIndices={}}return e.prototype.size=function(){return this._arr.length},e.prototype.keys=function(){return this._arr.map(function(n){return n.key})},e.prototype.has=function(n){return t.has(this._keyIndices,n)},e.prototype.priority=function(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority},e.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},e.prototype.add=function(n,r){var s=this._keyIndices;if(n=String(n),!t.has(s,n)){var i=this._arr,a=i.length;return s[n]=a,i.push({key:n,priority:r}),this._decrease(a),!0}return!1},e.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key},e.prototype.decrease=function(n,r){var s=this._keyIndices[n];if(r>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+r);this._arr[s].priority=r,this._decrease(s)},e.prototype._heapify=function(n){var r=this._arr,s=2*n,i=s+1,a=n;s>1,!(r[i].priority0&&(m=f.removeMin(),g=h[m],g.distance!==Number.POSITIVE_INFINITY);)u(m).forEach(x);return h}return kw}var Ow,vM;function B5e(){if(vM)return Ow;vM=1;var t=RQ(),e=Ui();Ow=n;function n(r,s,i){return e.transform(r.nodes(),function(a,o){a[o]=t(r,o,s,i)},{})}return Ow}var jw,yM;function DQ(){if(yM)return jw;yM=1;var t=Ui();jw=e;function e(n){var r=0,s=[],i={},a=[];function o(u){var h=i[u]={onStack:!0,lowlink:r,index:r++};if(s.push(u),n.successors(u).forEach(function(g){t.has(i,g)?i[g].onStack&&(h.lowlink=Math.min(h.lowlink,i[g].index)):(o(g),h.lowlink=Math.min(h.lowlink,i[g].lowlink))}),h.lowlink===h.index){var f=[],m;do m=s.pop(),i[m].onStack=!1,f.push(m);while(u!==m);a.push(f)}}return n.nodes().forEach(function(u){t.has(i,u)||o(u)}),a}return jw}var Nw,bM;function I5e(){if(bM)return Nw;bM=1;var t=Ui(),e=DQ();Nw=n;function n(r){return t.filter(e(r),function(s){return s.length>1||s.length===1&&r.hasEdge(s[0],s[0])})}return Nw}var Cw,wM;function q5e(){if(wM)return Cw;wM=1;var t=Ui();Cw=n;var e=t.constant(1);function n(s,i,a){return r(s,i||e,a||function(o){return s.outEdges(o)})}function r(s,i,a){var o={},u=s.nodes();return u.forEach(function(h){o[h]={},o[h][h]={distance:0},u.forEach(function(f){h!==f&&(o[h][f]={distance:Number.POSITIVE_INFINITY})}),a(h).forEach(function(f){var m=f.v===h?f.w:f.v,g=i(f);o[h][m]={distance:g,predecessor:h}})}),u.forEach(function(h){var f=o[h];u.forEach(function(m){var g=o[m];u.forEach(function(x){var y=g[h],w=f[x],b=g[x],k=y.distance+w.distance;k0;){if(h=u.removeMin(),t.has(o,h))a.setEdge(h,o[h]);else{if(m)throw new Error("Input graph is not connected: "+s);m=!0}s.nodeEdges(h).forEach(f)}return a}return Rw}var Dw,TM;function V5e(){return TM||(TM=1,Dw={components:L5e(),dijkstra:RQ(),dijkstraAll:B5e(),findCycles:I5e(),floydWarshall:q5e(),isAcyclic:F5e(),postorder:$5e(),preorder:Q5e(),prim:H5e(),tarjan:DQ(),topsort:zQ()}),Dw}var zw,EM;function U5e(){if(EM)return zw;EM=1;var t=z5e();return zw={Graph:t.Graph,json:P5e(),alg:V5e(),version:t.version},zw}var Pw,_M;function ia(){if(_M)return Pw;_M=1;var t;if(typeof gO=="function")try{t=U5e()}catch{}return t||(t=window.graphlib),Pw=t,Pw}var Lw,MM;function W5e(){if(MM)return Lw;MM=1;var t=XA(),e=1,n=4;function r(s){return t(s,e|n)}return Lw=r,Lw}var Bw,AM;function G5e(){if(AM)return Bw;AM=1;var t=WS(),e=sR(),n=rR(),r=$1(),s=Object.prototype,i=s.hasOwnProperty,a=t(function(o,u){o=Object(o);var h=-1,f=u.length,m=f>2?u[2]:void 0;for(m&&n(u[0],u[1],m)&&(f=1);++h1?i[o-1]:void 0,h=o>2?i[2]:void 0;for(u=r.length>3&&typeof u=="function"?(o--,u):void 0,h&&e(i[0],i[1],h)&&(u=o<3?void 0:u,o=1),s=Object(s);++a0;--b)if(w=f[b].dequeue(),w){g=g.concat(a(h,f,m,w,!0));break}}}return g}function a(h,f,m,g,x){var y=x?[]:void 0;return t.forEach(h.inEdges(g.v),function(w){var b=h.edge(w),k=h.node(w.v);x&&y.push({v:w.v,w:w.w}),k.out-=b,u(f,m,k)}),t.forEach(h.outEdges(g.v),function(w){var b=h.edge(w),k=w.w,N=h.node(k);N.in-=b,u(f,m,N)}),h.removeNode(g.v),y}function o(h,f){var m=new e,g=0,x=0;t.forEach(h.nodes(),function(b){m.setNode(b,{v:b,in:0,out:0})}),t.forEach(h.edges(),function(b){var k=m.edge(b.v,b.w)||0,N=f(b),C=k+N;m.setEdge(b.v,b.w,C),x=Math.max(x,m.node(b.v).out+=N),g=Math.max(g,m.node(b.w).in+=N)});var y=t.range(x+g+3).map(function(){return new n}),w=g+1;return t.forEach(m.nodes(),function(b){u(y,w,m.node(b))}),{graph:m,buckets:y,zeroIdx:w}}function u(h,f,m){m.out?m.in?h[m.out-m.in+f].enqueue(m):h[h.length-1].enqueue(m):h[0].enqueue(m)}return n5}var r5,ZM;function u3e(){if(ZM)return r5;ZM=1;var t=tr(),e=c3e();r5={run:n,undo:s};function n(i){var a=i.graph().acyclicer==="greedy"?e(i,o(i)):r(i);t.forEach(a,function(u){var h=i.edge(u);i.removeEdge(u),h.forwardName=u.name,h.reversed=!0,i.setEdge(u.w,u.v,h,t.uniqueId("rev"))});function o(u){return function(h){return u.edge(h).weight}}}function r(i){var a=[],o={},u={};function h(f){t.has(u,f)||(u[f]=!0,o[f]=!0,t.forEach(i.outEdges(f),function(m){t.has(o,m.w)?a.push(m):h(m.w)}),delete o[f])}return t.forEach(i.nodes(),h),a}function s(i){t.forEach(i.edges(),function(a){var o=i.edge(a);if(o.reversed){i.removeEdge(a);var u=o.forwardName;delete o.reversed,delete o.forwardName,i.setEdge(a.w,a.v,o,u)}})}return r5}var s5,KM;function Us(){if(KM)return s5;KM=1;var t=tr(),e=ia().Graph;s5={addDummyNode:n,simplify:r,asNonCompoundGraph:s,successorWeights:i,predecessorWeights:a,intersectRect:o,buildLayerMatrix:u,normalizeRanks:h,removeEmptyRanks:f,addBorderNode:m,maxRank:g,partition:x,time:y,notime:w};function n(b,k,N,C){var T;do T=t.uniqueId(C);while(b.hasNode(T));return N.dummy=k,b.setNode(T,N),T}function r(b){var k=new e().setGraph(b.graph());return t.forEach(b.nodes(),function(N){k.setNode(N,b.node(N))}),t.forEach(b.edges(),function(N){var C=k.edge(N.v,N.w)||{weight:0,minlen:1},T=b.edge(N);k.setEdge(N.v,N.w,{weight:C.weight+T.weight,minlen:Math.max(C.minlen,T.minlen)})}),k}function s(b){var k=new e({multigraph:b.isMultigraph()}).setGraph(b.graph());return t.forEach(b.nodes(),function(N){b.children(N).length||k.setNode(N,b.node(N))}),t.forEach(b.edges(),function(N){k.setEdge(N,b.edge(N))}),k}function i(b){var k=t.map(b.nodes(),function(N){var C={};return t.forEach(b.outEdges(N),function(T){C[T.w]=(C[T.w]||0)+b.edge(T).weight}),C});return t.zipObject(b.nodes(),k)}function a(b){var k=t.map(b.nodes(),function(N){var C={};return t.forEach(b.inEdges(N),function(T){C[T.v]=(C[T.v]||0)+b.edge(T).weight}),C});return t.zipObject(b.nodes(),k)}function o(b,k){var N=b.x,C=b.y,T=k.x-N,E=k.y-C,_=b.width/2,A=b.height/2;if(!T&&!E)throw new Error("Not possible to find intersection inside of the rectangle");var F,B;return Math.abs(E)*_>Math.abs(T)*A?(E<0&&(A=-A),F=A*T/E,B=A):(T<0&&(_=-_),F=_,B=_*E/T),{x:N+F,y:C+B}}function u(b){var k=t.map(t.range(g(b)+1),function(){return[]});return t.forEach(b.nodes(),function(N){var C=b.node(N),T=C.rank;t.isUndefined(T)||(k[T][C.order]=N)}),k}function h(b){var k=t.min(t.map(b.nodes(),function(N){return b.node(N).rank}));t.forEach(b.nodes(),function(N){var C=b.node(N);t.has(C,"rank")&&(C.rank-=k)})}function f(b){var k=t.min(t.map(b.nodes(),function(E){return b.node(E).rank})),N=[];t.forEach(b.nodes(),function(E){var _=b.node(E).rank-k;N[_]||(N[_]=[]),N[_].push(E)});var C=0,T=b.graph().nodeRankFactor;t.forEach(N,function(E,_){t.isUndefined(E)&&_%T!==0?--C:C&&t.forEach(E,function(A){b.node(A).rank+=C})})}function m(b,k,N,C){var T={width:0,height:0};return arguments.length>=4&&(T.rank=N,T.order=C),n(b,"border",T,k)}function g(b){return t.max(t.map(b.nodes(),function(k){var N=b.node(k).rank;if(!t.isUndefined(N))return N}))}function x(b,k){var N={lhs:[],rhs:[]};return t.forEach(b,function(C){k(C)?N.lhs.push(C):N.rhs.push(C)}),N}function y(b,k){var N=t.now();try{return k()}finally{console.log(b+" time: "+(t.now()-N)+"ms")}}function w(b,k){return k()}return s5}var i5,JM;function d3e(){if(JM)return i5;JM=1;var t=tr(),e=Us();i5={run:n,undo:s};function n(i){i.graph().dummyChains=[],t.forEach(i.edges(),function(a){r(i,a)})}function r(i,a){var o=a.v,u=i.node(o).rank,h=a.w,f=i.node(h).rank,m=a.name,g=i.edge(a),x=g.labelRank;if(f!==u+1){i.removeEdge(a);var y,w,b;for(b=0,++u;uB.lim&&(P=B,H=!0);var U=t.filter(T.edges(),function(te){return H===N(C,C.node(te.v),P)&&H!==N(C,C.node(te.w),P)});return t.minBy(U,function(te){return n(T,te)})}function w(C,T,E,_){var A=E.v,F=E.w;C.removeEdge(A,F),C.setEdge(_.v,_.w,{}),m(C),u(C,T),b(C,T)}function b(C,T){var E=t.find(C.nodes(),function(A){return!T.node(A).parent}),_=s(C,E);_=_.slice(1),t.forEach(_,function(A){var F=C.node(A).parent,B=T.edge(A,F),P=!1;B||(B=T.edge(F,A),P=!0),T.node(A).rank=T.node(F).rank+(P?B.minlen:-B.minlen)})}function k(C,T,E){return C.hasEdge(T,E)}function N(C,T,E){return E.low<=T.lim&&T.lim<=E.lim}return o5}var c5,rA;function f3e(){if(rA)return c5;rA=1;var t=B1(),e=t.longestPath,n=IQ(),r=h3e();c5=s;function s(u){switch(u.graph().ranker){case"network-simplex":o(u);break;case"tight-tree":a(u);break;case"longest-path":i(u);break;default:o(u)}}var i=e;function a(u){e(u),n(u)}function o(u){r(u)}return c5}var u5,sA;function m3e(){if(sA)return u5;sA=1;var t=tr();u5=e;function e(s){var i=r(s);t.forEach(s.graph().dummyChains,function(a){for(var o=s.node(a),u=o.edgeObj,h=n(s,i,u.v,u.w),f=h.path,m=h.lca,g=0,x=f[g],y=!0;a!==u.w;){if(o=s.node(a),y){for(;(x=f[g])!==m&&s.node(x).maxRankf||m>i[g].lim));for(x=g,g=o;(g=s.parent(g))!==x;)h.push(g);return{path:u.concat(h.reverse()),lca:x}}function r(s){var i={},a=0;function o(u){var h=a;t.forEach(s.children(u),o),i[u]={low:h,lim:a++}}return t.forEach(s.children(),o),i}return u5}var d5,iA;function p3e(){if(iA)return d5;iA=1;var t=tr(),e=Us();d5={run:n,cleanup:a};function n(o){var u=e.addDummyNode(o,"root",{},"_root"),h=s(o),f=t.max(t.values(h))-1,m=2*f+1;o.graph().nestingRoot=u,t.forEach(o.edges(),function(x){o.edge(x).minlen*=m});var g=i(o)+1;t.forEach(o.children(),function(x){r(o,u,m,g,f,h,x)}),o.graph().nodeRankFactor=m}function r(o,u,h,f,m,g,x){var y=o.children(x);if(!y.length){x!==u&&o.setEdge(u,x,{weight:0,minlen:h});return}var w=e.addBorderNode(o,"_bt"),b=e.addBorderNode(o,"_bb"),k=o.node(x);o.setParent(w,x),k.borderTop=w,o.setParent(b,x),k.borderBottom=b,t.forEach(y,function(N){r(o,u,h,f,m,g,N);var C=o.node(N),T=C.borderTop?C.borderTop:N,E=C.borderBottom?C.borderBottom:N,_=C.borderTop?f:2*f,A=T!==E?1:m-g[x]+1;o.setEdge(w,T,{weight:_,minlen:A,nestingEdge:!0}),o.setEdge(E,b,{weight:_,minlen:A,nestingEdge:!0})}),o.parent(x)||o.setEdge(u,w,{weight:0,minlen:m+g[x]})}function s(o){var u={};function h(f,m){var g=o.children(f);g&&g.length&&t.forEach(g,function(x){h(x,m+1)}),u[f]=m}return t.forEach(o.children(),function(f){h(f,1)}),u}function i(o){return t.reduce(o.edges(),function(u,h){return u+o.edge(h).weight},0)}function a(o){var u=o.graph();o.removeNode(u.nestingRoot),delete u.nestingRoot,t.forEach(o.edges(),function(h){var f=o.edge(h);f.nestingEdge&&o.removeEdge(h)})}return d5}var h5,aA;function g3e(){if(aA)return h5;aA=1;var t=tr(),e=Us();h5=n;function n(s){function i(a){var o=s.children(a),u=s.node(a);if(o.length&&t.forEach(o,i),t.has(u,"minRank")){u.borderLeft=[],u.borderRight=[];for(var h=u.minRank,f=u.maxRank+1;h0;)x%2&&(y+=f[x+1]),x=x-1>>1,f[x]+=g.weight;m+=g.weight*y})),m}return p5}var g5,uA;function b3e(){if(uA)return g5;uA=1;var t=tr();g5=e;function e(n,r){return t.map(r,function(s){var i=n.inEdges(s);if(i.length){var a=t.reduce(i,function(o,u){var h=n.edge(u),f=n.node(u.v);return{sum:o.sum+h.weight*f.order,weight:o.weight+h.weight}},{sum:0,weight:0});return{v:s,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:s}})}return g5}var x5,dA;function w3e(){if(dA)return x5;dA=1;var t=tr();x5=e;function e(s,i){var a={};t.forEach(s,function(u,h){var f=a[u.v]={indegree:0,in:[],out:[],vs:[u.v],i:h};t.isUndefined(u.barycenter)||(f.barycenter=u.barycenter,f.weight=u.weight)}),t.forEach(i.edges(),function(u){var h=a[u.v],f=a[u.w];!t.isUndefined(h)&&!t.isUndefined(f)&&(f.indegree++,h.out.push(a[u.w]))});var o=t.filter(a,function(u){return!u.indegree});return n(o)}function n(s){var i=[];function a(h){return function(f){f.merged||(t.isUndefined(f.barycenter)||t.isUndefined(h.barycenter)||f.barycenter>=h.barycenter)&&r(h,f)}}function o(h){return function(f){f.in.push(h),--f.indegree===0&&s.push(f)}}for(;s.length;){var u=s.pop();i.push(u),t.forEach(u.in.reverse(),a(u)),t.forEach(u.out,o(u))}return t.map(t.filter(i,function(h){return!h.merged}),function(h){return t.pick(h,["vs","i","barycenter","weight"])})}function r(s,i){var a=0,o=0;s.weight&&(a+=s.barycenter*s.weight,o+=s.weight),i.weight&&(a+=i.barycenter*i.weight,o+=i.weight),s.vs=i.vs.concat(s.vs),s.barycenter=a/o,s.weight=o,s.i=Math.min(i.i,s.i),i.merged=!0}return x5}var v5,hA;function S3e(){if(hA)return v5;hA=1;var t=tr(),e=Us();v5=n;function n(i,a){var o=e.partition(i,function(w){return t.has(w,"barycenter")}),u=o.lhs,h=t.sortBy(o.rhs,function(w){return-w.i}),f=[],m=0,g=0,x=0;u.sort(s(!!a)),x=r(f,h,x),t.forEach(u,function(w){x+=w.vs.length,f.push(w.vs),m+=w.barycenter*w.weight,g+=w.weight,x=r(f,h,x)});var y={vs:t.flatten(f,!0)};return g&&(y.barycenter=m/g,y.weight=g),y}function r(i,a,o){for(var u;a.length&&(u=t.last(a)).i<=o;)a.pop(),i.push(u.vs),o++;return o}function s(i){return function(a,o){return a.barycentero.barycenter?1:i?o.i-a.i:a.i-o.i}}return v5}var y5,fA;function k3e(){if(fA)return y5;fA=1;var t=tr(),e=b3e(),n=w3e(),r=S3e();y5=s;function s(o,u,h,f){var m=o.children(u),g=o.node(u),x=g?g.borderLeft:void 0,y=g?g.borderRight:void 0,w={};x&&(m=t.filter(m,function(E){return E!==x&&E!==y}));var b=e(o,m);t.forEach(b,function(E){if(o.children(E.v).length){var _=s(o,E.v,h,f);w[E.v]=_,t.has(_,"barycenter")&&a(E,_)}});var k=n(b,h);i(k,w);var N=r(k,f);if(x&&(N.vs=t.flatten([x,N.vs,y],!0),o.predecessors(x).length)){var C=o.node(o.predecessors(x)[0]),T=o.node(o.predecessors(y)[0]);t.has(N,"barycenter")||(N.barycenter=0,N.weight=0),N.barycenter=(N.barycenter*N.weight+C.order+T.order)/(N.weight+2),N.weight+=2}return N}function i(o,u){t.forEach(o,function(h){h.vs=t.flatten(h.vs.map(function(f){return u[f]?u[f].vs:f}),!0)})}function a(o,u){t.isUndefined(o.barycenter)?(o.barycenter=u.barycenter,o.weight=u.weight):(o.barycenter=(o.barycenter*o.weight+u.barycenter*u.weight)/(o.weight+u.weight),o.weight+=u.weight)}return y5}var b5,mA;function O3e(){if(mA)return b5;mA=1;var t=tr(),e=ia().Graph;b5=n;function n(s,i,a){var o=r(s),u=new e({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(h){return s.node(h)});return t.forEach(s.nodes(),function(h){var f=s.node(h),m=s.parent(h);(f.rank===i||f.minRank<=i&&i<=f.maxRank)&&(u.setNode(h),u.setParent(h,m||o),t.forEach(s[a](h),function(g){var x=g.v===h?g.w:g.v,y=u.edge(x,h),w=t.isUndefined(y)?0:y.weight;u.setEdge(x,h,{weight:s.edge(g).weight+w})}),t.has(f,"minRank")&&u.setNode(h,{borderLeft:f.borderLeft[i],borderRight:f.borderRight[i]}))}),u}function r(s){for(var i;s.hasNode(i=t.uniqueId("_root")););return i}return b5}var w5,pA;function j3e(){if(pA)return w5;pA=1;var t=tr();w5=e;function e(n,r,s){var i={},a;t.forEach(s,function(o){for(var u=n.parent(o),h,f;u;){if(h=n.parent(u),h?(f=i[h],i[h]=u):(f=a,a=u),f&&f!==u){r.setEdge(f,u);return}u=h}})}return w5}var S5,gA;function N3e(){if(gA)return S5;gA=1;var t=tr(),e=v3e(),n=y3e(),r=k3e(),s=O3e(),i=j3e(),a=ia().Graph,o=Us();S5=u;function u(g){var x=o.maxRank(g),y=h(g,t.range(1,x+1),"inEdges"),w=h(g,t.range(x-1,-1,-1),"outEdges"),b=e(g);m(g,b);for(var k=Number.POSITIVE_INFINITY,N,C=0,T=0;T<4;++C,++T){f(C%2?y:w,C%4>=2),b=o.buildLayerMatrix(g);var E=n(g,b);EP)&&a(C,te,H)})})}function E(_,A){var F=-1,B,P=0;return t.forEach(A,function(H,U){if(k.node(H).dummy==="border"){var te=k.predecessors(H);te.length&&(B=k.node(te[0]).order,T(A,P,U,F,B),P=U,F=B)}T(A,P,A.length,B,_.length)}),A}return t.reduce(N,E),C}function i(k,N){if(k.node(N).dummy)return t.find(k.predecessors(N),function(C){return k.node(C).dummy})}function a(k,N,C){if(N>C){var T=N;N=C,C=T}var E=k[N];E||(k[N]=E={}),E[C]=!0}function o(k,N,C){if(N>C){var T=N;N=C,C=T}return t.has(k[N],C)}function u(k,N,C,T){var E={},_={},A={};return t.forEach(N,function(F){t.forEach(F,function(B,P){E[B]=B,_[B]=B,A[B]=P})}),t.forEach(N,function(F){var B=-1;t.forEach(F,function(P){var H=T(P);if(H.length){H=t.sortBy(H,function(q){return A[q]});for(var U=(H.length-1)/2,te=Math.floor(U),z=Math.ceil(U);te<=z;++te){var W=H[te];_[P]===P&&Bl.jsxs("div",{className:"px-4 py-2 shadow-md rounded-lg bg-gradient-to-br from-blue-500 to-blue-600 border-2 border-blue-700 min-w-[120px]",children:[l.jsx(sc,{type:"target",position:at.Top}),l.jsx("div",{className:"font-semibold text-white text-sm truncate max-w-[200px]",title:t.content,children:t.label}),l.jsx(sc,{type:"source",position:at.Bottom})]}));qQ.displayName="EntityNode";const FQ=O.memo(({data:t})=>l.jsxs("div",{className:"px-3 py-2 shadow-md rounded-md bg-gradient-to-br from-green-500 to-green-600 border-2 border-green-700 min-w-[100px]",children:[l.jsx(sc,{type:"target",position:at.Top}),l.jsx("div",{className:"font-medium text-white text-xs truncate max-w-[150px]",title:t.content,children:t.label}),l.jsx(sc,{type:"source",position:at.Bottom})]}));FQ.displayName="ParagraphNode";const L3e={entity:qQ,paragraph:FQ};function B3e(t,e){const n=new kA.graphlib.Graph;n.setDefaultEdgeLabel(()=>({})),n.setGraph({rankdir:"TB",ranksep:100,nodesep:80});const r=[],s=[];return t.forEach(i=>{n.setNode(i.id,{width:150,height:50})}),e.forEach(i=>{n.setEdge(i.source,i.target)}),kA.layout(n),t.forEach(i=>{const a=n.node(i.id);r.push({id:i.id,type:i.type,position:{x:a.x-75,y:a.y-25},data:{label:i.content.slice(0,20)+(i.content.length>20?"...":""),content:i.content}})}),e.forEach((i,a)=>{const o={id:`edge-${a}`,source:i.source,target:i.target,animated:t.length<=200&&i.weight>5,style:{strokeWidth:Math.min(i.weight/2,5),opacity:.6}};i.weight>10&&t.length<100&&(o.label=`${i.weight.toFixed(0)}`),s.push(o)}),{nodes:r,edges:s}}function I3e(){const t=aa(),[e,n]=O.useState(!1),[r,s]=O.useState(null),[i,a]=O.useState(""),[o,u]=O.useState("all"),[h,f]=O.useState(50),[m,g]=O.useState("50"),[x,y]=O.useState(!1),[w,b]=O.useState(!0),[k,N]=O.useState(!1),[C,T]=O.useState(!1),[E,_,A]=Ywe([]),[F,B,P]=Zwe([]),[H,U]=O.useState(0),[te,z]=O.useState(null),[W,q]=O.useState(null),{toast:J}=$r(),ee=O.useCallback(Z=>Z.type==="entity"?"#6366f1":Z.type==="paragraph"?"#10b981":"#6b7280",[]),Y=O.useCallback(async(Z=!1)=>{try{if(!Z&&h>200){T(!0);return}n(!0);const[ne,ge]=await Promise.all([D3e(h,o),z3e()]);if(s(ge),ne.nodes.length===0){J({title:"提示",description:"知识库为空,请先导入知识数据"}),_([]),B([]);return}const{nodes:se,edges:Te}=B3e(ne.nodes,ne.edges);_(se),B(Te),U(se.length),ge&&ge.total_nodes>h&&J({title:"提示",description:`知识图谱包含 ${ge.total_nodes} 个节点,当前显示 ${se.length} 个`}),J({title:"加载成功",description:`已加载 ${se.length} 个节点,${Te.length} 条边`})}catch(ne){console.error("加载知识图谱失败:",ne),J({title:"加载失败",description:ne instanceof Error?ne.message:"未知错误",variant:"destructive"})}finally{n(!1)}},[h,o,J]),R=O.useCallback(async()=>{if(!i.trim()){J({title:"提示",description:"请输入搜索关键词"});return}try{const Z=await P3e(i);if(Z.length===0){J({title:"未找到",description:"没有找到匹配的节点"});return}const ne=new Set(Z.map(ge=>ge.id));_(ge=>ge.map(se=>({...se,style:{...se.style,opacity:ne.has(se.id)?1:.3,filter:ne.has(se.id)?"brightness(1.2)":"brightness(0.8)"}}))),J({title:"搜索完成",description:`找到 ${Z.length} 个匹配节点`})}catch(Z){console.error("搜索失败:",Z),J({title:"搜索失败",description:Z instanceof Error?Z.message:"未知错误",variant:"destructive"})}},[i,J]),re=O.useCallback(()=>{_(Z=>Z.map(ne=>({...ne,style:{...ne.style,opacity:1,filter:"brightness(1)"}})))},[]),K=O.useCallback(()=>{b(!1),N(!0),Y()},[Y]),I=O.useCallback(()=>{T(!1),setTimeout(()=>{Y(!0)},0)},[Y]),Q=O.useCallback((Z,ne)=>{E.find(se=>se.id===ne.id)&&z({id:ne.id,type:ne.type,content:ne.data.content})},[E]);O.useEffect(()=>{w||k&&Y()},[h,o,w,k]);const $=O.useCallback((Z,ne)=>{const ge=E.find(qe=>qe.id===ne.source),se=E.find(qe=>qe.id===ne.target),Te=F.find(qe=>qe.id===ne.id);ge&&se&&Te&&q({source:{id:ge.id,type:ge.type,content:ge.data.content},target:{id:se.id,type:se.type,content:se.data.content},edge:{source:ne.source,target:ne.target,weight:parseFloat(ne.label||"0")}})},[E,F]);return l.jsxs("div",{className:"h-full flex flex-col",children:[l.jsxs("div",{className:"flex-shrink-0 p-4 border-b bg-background",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"麦麦知识库图谱"}),l.jsx("p",{className:"text-muted-foreground mt-1",children:"可视化知识实体与关系网络"})]}),r&&l.jsxs("div",{className:"flex gap-2 flex-wrap",children:[l.jsxs(kn,{variant:"outline",className:"gap-1",children:[l.jsx(R5,{className:"h-3 w-3"}),"节点: ",r.total_nodes]}),l.jsxs(kn,{variant:"outline",className:"gap-1",children:[l.jsx(MR,{className:"h-3 w-3"}),"边: ",r.total_edges]}),l.jsxs(kn,{variant:"outline",className:"gap-1",children:[l.jsx(Il,{className:"h-3 w-3"}),"实体: ",r.entity_nodes]}),l.jsxs(kn,{variant:"outline",className:"gap-1",children:[l.jsx(Dl,{className:"h-3 w-3"}),"段落: ",r.paragraph_nodes]})]})]}),l.jsxs("div",{className:"flex flex-col sm:flex-row gap-2 mt-4",children:[l.jsxs("div",{className:"flex-1 flex gap-2",children:[l.jsx(Re,{placeholder:"搜索节点内容...",value:i,onChange:Z=>a(Z.target.value),onKeyDown:Z=>Z.key==="Enter"&&R(),className:"flex-1"}),l.jsx(de,{onClick:R,size:"sm",children:l.jsx(js,{className:"h-4 w-4"})}),l.jsx(de,{onClick:re,variant:"outline",size:"sm",children:"重置"})]}),l.jsxs("div",{className:"flex gap-2",children:[l.jsxs(It,{value:o,onValueChange:Z=>u(Z),children:[l.jsx(Pt,{className:"w-[120px]",children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"all",children:"全部节点"}),l.jsx(ze,{value:"entity",children:"仅实体"}),l.jsx(ze,{value:"paragraph",children:"仅段落"})]})]}),l.jsxs(It,{value:h===1e4?"all":x?"custom":h.toString(),onValueChange:Z=>{Z==="custom"?(y(!0),g(h.toString())):Z==="all"?(y(!1),f(1e4)):(y(!1),f(Number(Z)))},children:[l.jsx(Pt,{className:"w-[120px]",children:l.jsx(qt,{})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"50",children:"50 节点"}),l.jsx(ze,{value:"100",children:"100 节点"}),l.jsx(ze,{value:"200",children:"200 节点"}),l.jsx(ze,{value:"500",children:"500 节点"}),l.jsx(ze,{value:"1000",children:"1000 节点"}),l.jsx(ze,{value:"all",children:"全部 (最多10000)"}),l.jsx(ze,{value:"custom",children:"自定义..."})]})]}),x&&l.jsx(Re,{type:"number",min:"50",value:m,onChange:Z=>g(Z.target.value),onBlur:()=>{const Z=parseInt(m);!isNaN(Z)&&Z>=50?f(Z):(g("50"),f(50))},onKeyDown:Z=>{if(Z.key==="Enter"){const ne=parseInt(m);!isNaN(ne)&&ne>=50?f(ne):(g("50"),f(50))}},placeholder:"最少50个",className:"w-[120px]"}),l.jsx(de,{onClick:()=>Y(),variant:"outline",size:"sm",disabled:e,children:l.jsx(hi,{className:Se("h-4 w-4",e&&"animate-spin")})})]})]})]}),l.jsx("div",{className:"flex-1 relative",children:e?l.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:l.jsxs("div",{className:"text-center",children:[l.jsx(hi,{className:"h-8 w-8 animate-spin mx-auto mb-2 text-muted-foreground"}),l.jsx("p",{className:"text-muted-foreground",children:"加载知识图谱中..."})]})}):E.length===0?l.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:l.jsxs("div",{className:"text-center",children:[l.jsx(R5,{className:"h-12 w-12 mx-auto mb-4 text-muted-foreground"}),l.jsx("h3",{className:"text-lg font-semibold mb-2",children:"知识库为空"}),l.jsx("p",{className:"text-muted-foreground",children:"请先导入知识数据"})]})}):l.jsxs(xQ,{nodes:E,edges:F,onNodesChange:A,onEdgesChange:P,onNodeClick:Q,onEdgeClick:$,nodeTypes:L3e,fitView:!0,minZoom:.05,maxZoom:1.5,defaultViewport:{x:0,y:0,zoom:.5},elevateNodesOnSelect:H<=500,nodesDraggable:H<=1e3,attributionPosition:"bottom-left",children:[l.jsx(b5e,{variant:Ii.Dots,gap:12,size:1}),l.jsx(m5e,{}),H<=500&&l.jsx(l5e,{nodeColor:ee,nodeBorderRadius:8,pannable:!0,zoomable:!0}),l.jsxs(Qv,{position:"top-right",className:"bg-background/95 backdrop-blur-sm rounded-lg border p-3 shadow-lg",children:[l.jsx("div",{className:"text-sm font-semibold mb-2",children:"图例"}),l.jsxs("div",{className:"space-y-2 text-xs",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"w-4 h-4 rounded bg-gradient-to-br from-blue-500 to-blue-600 border-2 border-blue-700"}),l.jsx("span",{children:"实体节点"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"w-4 h-4 rounded bg-gradient-to-br from-green-500 to-green-600 border-2 border-green-700"}),l.jsx("span",{children:"段落节点"})]}),H>200&&l.jsxs("div",{className:"mt-2 pt-2 border-t text-yellow-600 dark:text-yellow-500",children:[l.jsx("div",{className:"font-semibold",children:"性能模式"}),l.jsx("div",{children:"已禁用动画"}),H>500&&l.jsx("div",{children:"已禁用缩略图"})]})]})]})]})}),l.jsx(Mr,{open:!!te,onOpenChange:Z=>!Z&&z(null),children:l.jsxs(vr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[l.jsx(yr,{children:l.jsx(br,{children:"节点详情"})}),te&&l.jsxs("div",{className:"space-y-4",children:[l.jsx("div",{className:"grid grid-cols-2 gap-4",children:l.jsxs("div",{children:[l.jsx("label",{className:"text-sm font-medium text-muted-foreground",children:"类型"}),l.jsx("div",{className:"mt-1",children:l.jsx(kn,{variant:te.type==="entity"?"default":"secondary",children:te.type==="entity"?"🏷️ 实体":"📄 段落"})})]})}),l.jsxs("div",{children:[l.jsx("label",{className:"text-sm font-medium text-muted-foreground",children:"ID"}),l.jsx("code",{className:"mt-1 block p-2 bg-muted rounded text-xs break-all",children:te.id})]}),l.jsxs("div",{children:[l.jsx("label",{className:"text-sm font-medium text-muted-foreground",children:"内容"}),l.jsx(yn,{className:"mt-1 h-40 p-3 bg-muted rounded",children:l.jsx("p",{className:"text-sm whitespace-pre-wrap",children:te.content})})]})]})]})}),l.jsx(Mr,{open:!!W,onOpenChange:Z=>!Z&&q(null),children:l.jsxs(vr,{className:"max-w-2xl max-h-[80vh] overflow-hidden flex flex-col",children:[l.jsx(yr,{children:l.jsx(br,{children:"边详情"})}),W&&l.jsx(yn,{className:"flex-1 pr-4",children:l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsxs("div",{className:"flex-1 min-w-0 p-3 bg-blue-50 dark:bg-blue-950 rounded border-2 border-blue-200 dark:border-blue-800",children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"源节点"}),l.jsx("div",{className:"font-medium text-sm mb-2 truncate",children:W.source.content}),l.jsxs("code",{className:"text-xs text-muted-foreground truncate block",children:[W.source.id.slice(0,40),"..."]})]}),l.jsx("div",{className:"text-2xl text-muted-foreground flex-shrink-0",children:"→"}),l.jsxs("div",{className:"flex-1 min-w-0 p-3 bg-green-50 dark:bg-green-950 rounded border-2 border-green-200 dark:border-green-800",children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"目标节点"}),l.jsx("div",{className:"font-medium text-sm mb-2 truncate",children:W.target.content}),l.jsxs("code",{className:"text-xs text-muted-foreground truncate block",children:[W.target.id.slice(0,40),"..."]})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"text-sm font-medium text-muted-foreground",children:"权重"}),l.jsx("div",{className:"mt-1",children:l.jsx(kn,{variant:"outline",className:"text-base font-mono",children:W.edge.weight.toFixed(4)})})]})]})})]})}),l.jsx(wn,{open:w,onOpenChange:b,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"加载知识图谱"}),l.jsxs(cn,{children:["知识图谱的动态展示会消耗较多系统资源。",l.jsx("br",{}),"确定要加载知识图谱吗?"]})]}),l.jsxs(ln,{children:[l.jsx(dn,{onClick:()=>t({to:"/"}),children:"取消 (返回首页)"}),l.jsx(un,{onClick:K,children:"确认加载"})]})]})}),l.jsx(wn,{open:C,onOpenChange:T,children:l.jsxs(sn,{children:[l.jsxs(an,{children:[l.jsx(on,{children:"⚠️ 节点数量较多"}),l.jsx(cn,{asChild:!0,children:l.jsxs("div",{children:[l.jsxs("p",{children:["您正在尝试加载 ",l.jsx("strong",{className:"text-orange-600",children:h>=1e4?"全部 (最多10000个)":h})," 个节点。"]}),l.jsx("p",{className:"mt-4",children:"节点数量过多可能导致:"}),l.jsxs("ul",{className:"list-disc list-inside mt-2 space-y-1",children:[l.jsx("li",{children:"页面加载时间较长"}),l.jsx("li",{children:"浏览器卡顿或崩溃"}),l.jsx("li",{children:"系统资源占用过高"})]}),l.jsx("p",{className:"mt-4",children:"建议先选择较少的节点数量 (50-200 个)。"})]})})]}),l.jsxs(ln,{children:[l.jsx(dn,{onClick:()=>{T(!1),h>200&&(f(50),y(!1))},children:"取消"}),l.jsx(un,{onClick:I,className:"bg-orange-600 hover:bg-orange-700",children:"我了解风险,继续加载"})]})]})})]})}function xd(t,e,n){let r=n.initialDeps??[],s;function i(){var a,o,u,h;let f;n.key&&((a=n.debug)!=null&&a.call(n))&&(f=Date.now());const m=t();if(!(m.length!==r.length||m.some((y,w)=>r[w]!==y)))return s;r=m;let x;if(n.key&&((o=n.debug)!=null&&o.call(n))&&(x=Date.now()),s=e(...m),n.key&&((u=n.debug)!=null&&u.call(n))){const y=Math.round((Date.now()-f)*100)/100,w=Math.round((Date.now()-x)*100)/100,b=w/16,k=(N,C)=>{for(N=String(N);N.length{r=a},i}function OA(t,e){if(t===void 0)throw new Error("Unexpected undefined");return t}const q3e=(t,e)=>Math.abs(t-e)<1.01,F3e=(t,e,n)=>{let r;return function(...s){t.clearTimeout(r),r=t.setTimeout(()=>e.apply(this,s),n)}},jA=t=>{const{offsetWidth:e,offsetHeight:n}=t;return{width:e,height:n}},$3e=t=>t,Q3e=t=>{const e=Math.max(t.startIndex-t.overscan,0),n=Math.min(t.endIndex+t.overscan,t.count-1),r=[];for(let s=e;s<=n;s++)r.push(s);return r},H3e=(t,e)=>{const n=t.scrollElement;if(!n)return;const r=t.targetWindow;if(!r)return;const s=a=>{const{width:o,height:u}=a;e({width:Math.round(o),height:Math.round(u)})};if(s(jA(n)),!r.ResizeObserver)return()=>{};const i=new r.ResizeObserver(a=>{const o=()=>{const u=a[0];if(u?.borderBoxSize){const h=u.borderBoxSize[0];if(h){s({width:h.inlineSize,height:h.blockSize});return}}s(jA(n))};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()});return i.observe(n,{box:"border-box"}),()=>{i.unobserve(n)}},NA={passive:!0},CA=typeof window>"u"?!0:"onscrollend"in window,V3e=(t,e)=>{const n=t.scrollElement;if(!n)return;const r=t.targetWindow;if(!r)return;let s=0;const i=t.options.useScrollendEvent&&CA?()=>{}:F3e(r,()=>{e(s,!1)},t.options.isScrollingResetDelay),a=f=>()=>{const{horizontal:m,isRtl:g}=t.options;s=m?n.scrollLeft*(g&&-1||1):n.scrollTop,i(),e(s,f)},o=a(!0),u=a(!1);u(),n.addEventListener("scroll",o,NA);const h=t.options.useScrollendEvent&&CA;return h&&n.addEventListener("scrollend",u,NA),()=>{n.removeEventListener("scroll",o),h&&n.removeEventListener("scrollend",u)}},U3e=(t,e,n)=>{if(e?.borderBoxSize){const r=e.borderBoxSize[0];if(r)return Math.round(r[n.options.horizontal?"inlineSize":"blockSize"])}return t[n.options.horizontal?"offsetWidth":"offsetHeight"]},W3e=(t,{adjustments:e=0,behavior:n},r)=>{var s,i;const a=t+e;(i=(s=r.scrollElement)==null?void 0:s.scrollTo)==null||i.call(s,{[r.options.horizontal?"left":"top"]:a,behavior:n})};class G3e{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let n=null;const r=()=>n||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:n=new this.targetWindow.ResizeObserver(s=>{s.forEach(i=>{const a=()=>{this._measureElement(i.target,i)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()})}));return{disconnect:()=>{var s;(s=r())==null||s.disconnect(),n=null},observe:s=>{var i;return(i=r())==null?void 0:i.observe(s,{box:"border-box"})},unobserve:s=>{var i;return(i=r())==null?void 0:i.unobserve(s)}}})(),this.range=null,this.setOptions=n=>{Object.entries(n).forEach(([r,s])=>{typeof s>"u"&&delete n[r]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:$3e,rangeExtractor:Q3e,onChange:()=>{},measureElement:U3e,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...n}},this.notify=n=>{var r,s;(s=(r=this.options).onChange)==null||s.call(r,this,n)},this.maybeNotify=xd(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),n=>{this.notify(n)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(n=>n()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var n;const r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((n=this.scrollElement)==null?void 0:n.window)??null,this.elementsCache.forEach(s=>{this.observer.observe(s)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,s=>{this.scrollRect=s,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(s,i)=>{this.scrollAdjustments=0,this.scrollDirection=i?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(n,r)=>{const s=new Map,i=new Map;for(let a=r-1;a>=0;a--){const o=n[a];if(s.has(o.lane))continue;const u=i.get(o.lane);if(u==null||o.end>u.end?i.set(o.lane,o):o.enda.end===o.end?a.index-o.index:a.end-o.end)[0]:void 0},this.getMeasurementOptions=xd(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(n,r,s,i,a)=>(this.pendingMeasuredCacheIndexes=[],{count:n,paddingStart:r,scrollMargin:s,getItemKey:i,enabled:a}),{key:!1}),this.getMeasurements=xd(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:n,paddingStart:r,scrollMargin:s,getItemKey:i,enabled:a},o)=>{if(!a)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(f=>{this.itemSizeCache.set(f.key,f.size)}));const u=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];const h=this.measurementsCache.slice(0,u);for(let f=u;fthis.options.debug}),this.calculateRange=xd(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(n,r,s,i)=>this.range=n.length>0&&r>0?X3e({measurements:n,outerSize:r,scrollOffset:s,lanes:i}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=xd(()=>{let n=null,r=null;const s=this.calculateRange();return s&&(n=s.startIndex,r=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,n,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,n,r]},(n,r,s,i,a)=>i===null||a===null?[]:n({startIndex:i,endIndex:a,overscan:r,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=n=>{const r=this.options.indexAttribute,s=n.getAttribute(r);return s?parseInt(s,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this._measureElement=(n,r)=>{const s=this.indexFromElement(n),i=this.measurementsCache[s];if(!i)return;const a=i.key,o=this.elementsCache.get(a);o!==n&&(o&&this.observer.unobserve(o),this.observer.observe(n),this.elementsCache.set(a,n)),n.isConnected&&this.resizeItem(s,this.options.measureElement(n,r,this))},this.resizeItem=(n,r)=>{const s=this.measurementsCache[n];if(!s)return;const i=this.itemSizeCache.get(s.key)??s.size,a=r-i;a!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(s,a,this):s.start{if(!n){this.elementsCache.forEach((r,s)=>{r.isConnected||(this.observer.unobserve(r),this.elementsCache.delete(s))});return}this._measureElement(n,void 0)},this.getVirtualItems=xd(()=>[this.getVirtualIndexes(),this.getMeasurements()],(n,r)=>{const s=[];for(let i=0,a=n.length;ithis.options.debug}),this.getVirtualItemForOffset=n=>{const r=this.getMeasurements();if(r.length!==0)return OA(r[$Q(0,r.length-1,s=>OA(r[s]).start,n)])},this.getOffsetForAlignment=(n,r,s=0)=>{const i=this.getSize(),a=this.getScrollOffset();r==="auto"&&(r=n>=a+i?"end":"start"),r==="center"?n+=(s-i)/2:r==="end"&&(n-=i);const o=this.getTotalSize()+this.options.scrollMargin-i;return Math.max(Math.min(o,n),0)},this.getOffsetForIndex=(n,r="auto")=>{n=Math.max(0,Math.min(n,this.options.count-1));const s=this.measurementsCache[n];if(!s)return;const i=this.getSize(),a=this.getScrollOffset();if(r==="auto")if(s.end>=a+i-this.options.scrollPaddingEnd)r="end";else if(s.start<=a+this.options.scrollPaddingStart)r="start";else return[a,r];const o=r==="end"?s.end+this.options.scrollPaddingEnd:s.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(o,r,s.size),r]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(n,{align:r="start",behavior:s}={})=>{s==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(n,r),{adjustments:void 0,behavior:s})},this.scrollToIndex=(n,{align:r="auto",behavior:s}={})=>{s==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),n=Math.max(0,Math.min(n,this.options.count-1));let i=0;const a=10,o=h=>{if(!this.targetWindow)return;const f=this.getOffsetForIndex(n,h);if(!f){console.warn("Failed to get offset for index:",n);return}const[m,g]=f;this._scrollToOffset(m,{adjustments:void 0,behavior:s}),this.targetWindow.requestAnimationFrame(()=>{const x=this.getScrollOffset(),y=this.getOffsetForIndex(n,g);if(!y){console.warn("Failed to get offset for index:",n);return}q3e(y[0],x)||u(g)})},u=h=>{this.targetWindow&&(i++,io(h)):console.warn(`Failed to scroll to index ${n} after ${a} attempts.`))};o(r)},this.scrollBy=(n,{behavior:r}={})=>{r==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+n,{adjustments:void 0,behavior:r})},this.getTotalSize=()=>{var n;const r=this.getMeasurements();let s;if(r.length===0)s=this.options.paddingStart;else if(this.options.lanes===1)s=((n=r[r.length-1])==null?void 0:n.end)??0;else{const i=Array(this.options.lanes).fill(null);let a=r.length-1;for(;a>=0&&i.some(o=>o===null);){const o=r[a];i[o.lane]===null&&(i[o.lane]=o.end),a--}s=Math.max(...i.filter(o=>o!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(n,{adjustments:r,behavior:s})=>{this.options.scrollToFn(n,{behavior:s,adjustments:r},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(e)}}const $Q=(t,e,n,r)=>{for(;t<=e;){const s=(t+e)/2|0,i=n(s);if(ir)e=s-1;else return s}return t>0?t-1:0};function X3e({measurements:t,outerSize:e,scrollOffset:n,lanes:r}){const s=t.length-1,i=u=>t[u].start;if(t.length<=r)return{startIndex:0,endIndex:s};let a=$Q(0,s,i,n),o=a;if(r===1)for(;o1){const u=Array(r).fill(0);for(;of=0&&h.some(f=>f>=n);){const f=t[a];h[f.lane]=f.start,a--}a=Math.max(0,a-a%r),o=Math.min(s,o+(r-1-o%r))}return{startIndex:a,endIndex:o}}const TA=typeof document<"u"?O.useLayoutEffect:O.useEffect;function Y3e(t){const e=O.useReducer(()=>({}),{})[1],n={...t,onChange:(s,i)=>{var a;i?UA.flushSync(e):e(),(a=t.onChange)==null||a.call(t,s,i)}},[r]=O.useState(()=>new G3e(n));return r.setOptions(n),TA(()=>r._didMount(),[]),TA(()=>r._willUpdate()),r}function Z3e(t){return Y3e({observeElementRect:H3e,observeElementOffset:V3e,scrollToFn:W3e,...t})}function K3e(t,e,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:t,timeZoneName:n}).format(e).split(/\s/g).slice(2).join(" ")}const J3e={},Jf={};function Xc(t,e){try{const r=(J3e[t]||=new Intl.DateTimeFormat("en-US",{timeZone:t,timeZoneName:"longOffset"}).format)(e).split("GMT")[1];return r in Jf?Jf[r]:EA(r,r.split(":"))}catch{if(t in Jf)return Jf[t];const n=t?.match(eSe);return n?EA(t,n.slice(1)):NaN}}const eSe=/([+-]\d\d):?(\d\d)?/;function EA(t,e){const n=+(e[0]||0),r=+(e[1]||0),s=+(e[2]||0)/60;return Jf[t]=n*60+r>0?n*60+r+s:n*60-r-s}class za extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]=="string"&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(Xc(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]=="number"&&(e.length===1||e.length===2&&typeof e[1]!="number")?this.setTime(e[0]):typeof e[0]=="string"?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),QQ(this),RS(this)):this.setTime(Date.now())}static tz(e,...n){return n.length?new za(...n,e):new za(Date.now(),e)}withTimeZone(e){return new za(+this,e)}getTimezoneOffset(){const e=-Xc(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),RS(this),+this}[Symbol.for("constructDateFrom")](e){return new za(+new Date(e),this.timeZone)}}const _A=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(t=>{if(!_A.test(t))return;const e=t.replace(_A,"$1UTC");za.prototype[e]&&(t.startsWith("get")?za.prototype[t]=function(){return this.internal[e]()}:(za.prototype[t]=function(){return Date.prototype[e].apply(this.internal,arguments),tSe(this),+this},za.prototype[e]=function(){return Date.prototype[e].apply(this,arguments),RS(this),+this}))});function RS(t){t.internal.setTime(+t),t.internal.setUTCSeconds(t.internal.getUTCSeconds()-Math.round(-Xc(t.timeZone,t)*60))}function tSe(t){Date.prototype.setFullYear.call(t,t.internal.getUTCFullYear(),t.internal.getUTCMonth(),t.internal.getUTCDate()),Date.prototype.setHours.call(t,t.internal.getUTCHours(),t.internal.getUTCMinutes(),t.internal.getUTCSeconds(),t.internal.getUTCMilliseconds()),QQ(t)}function QQ(t){const e=Xc(t.timeZone,t),n=e>0?Math.floor(e):Math.ceil(e),r=new Date(+t);r.setUTCHours(r.getUTCHours()-1);const s=-new Date(+t).getTimezoneOffset(),i=-new Date(+r).getTimezoneOffset(),a=s-i,o=Date.prototype.getHours.apply(t)!==t.internal.getUTCHours();a&&o&&t.internal.setUTCMinutes(t.internal.getUTCMinutes()+a);const u=s-n;u&&Date.prototype.setUTCMinutes.call(t,Date.prototype.getUTCMinutes.call(t)+u);const h=new Date(+t);h.setUTCSeconds(0);const f=s>0?h.getSeconds():(h.getSeconds()-60)%60,m=Math.round(-(Xc(t.timeZone,t)*60))%60;(m||f)&&(t.internal.setUTCSeconds(t.internal.getUTCSeconds()+m),Date.prototype.setUTCSeconds.call(t,Date.prototype.getUTCSeconds.call(t)+m+f));const g=Xc(t.timeZone,t),x=g>0?Math.floor(g):Math.ceil(g),w=-new Date(+t).getTimezoneOffset()-x,b=x!==n,k=w-u;if(b&&k){Date.prototype.setUTCMinutes.call(t,Date.prototype.getUTCMinutes.call(t)+k);const N=Xc(t.timeZone,t),C=N>0?Math.floor(N):Math.ceil(N),T=x-C;T&&(t.internal.setUTCMinutes(t.internal.getUTCMinutes()+T),Date.prototype.setUTCMinutes.call(t,Date.prototype.getUTCMinutes.call(t)+T))}}class os extends za{static tz(e,...n){return n.length?new os(...n,e):new os(Date.now(),e)}toISOString(){const[e,n,r]=this.tzComponents(),s=`${e}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+s}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[e,n,r,s]=this.internal.toUTCString().split(" ");return`${e?.slice(0,-1)} ${r} ${n} ${s}`}toTimeString(){const e=this.internal.toUTCString().split(" ")[4],[n,r,s]=this.tzComponents();return`${e} GMT${n}${r}${s} (${K3e(this.timeZone,this)})`}toLocaleString(e,n){return Date.prototype.toLocaleString.call(this,e,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(e,n){return Date.prototype.toLocaleDateString.call(this,e,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(e,n){return Date.prototype.toLocaleTimeString.call(this,e,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const e=this.getTimezoneOffset(),n=e>0?"-":"+",r=String(Math.floor(Math.abs(e)/60)).padStart(2,"0"),s=String(Math.abs(e)%60).padStart(2,"0");return[n,r,s]}withTimeZone(e){return new os(+this,e)}[Symbol.for("constructDateFrom")](e){return new os(+new Date(e),this.timeZone)}}const HQ=6048e5,nSe=864e5,MA=Symbol.for("constructDateFrom");function Ar(t,e){return typeof t=="function"?t(e):t&&typeof t=="object"&&MA in t?t[MA](e):t instanceof Date?new t.constructor(e):new Date(e)}function zn(t,e){return Ar(e||t,t)}function VQ(t,e,n){const r=zn(t,n?.in);return isNaN(e)?Ar(t,NaN):(e&&r.setDate(r.getDate()+e),r)}function UQ(t,e,n){const r=zn(t,n?.in);if(isNaN(e))return Ar(t,NaN);if(!e)return r;const s=r.getDate(),i=Ar(t,r.getTime());i.setMonth(r.getMonth()+e+1,0);const a=i.getDate();return s>=a?i:(r.setFullYear(i.getFullYear(),i.getMonth(),s),r)}let rSe={};function P0(){return rSe}function ic(t,e){const n=P0(),r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,s=zn(t,e?.in),i=s.getDay(),a=(i=i.getTime()?r+1:n.getTime()>=o.getTime()?r:r-1}function AA(t){const e=zn(t),n=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return n.setUTCFullYear(e.getFullYear()),+t-+n}function Cu(t,...e){const n=Ar.bind(null,t||e.find(r=>typeof r=="object"));return e.map(n)}function Km(t,e){const n=zn(t,e?.in);return n.setHours(0,0,0,0),n}function GQ(t,e,n){const[r,s]=Cu(n?.in,t,e),i=Km(r),a=Km(s),o=+i-AA(i),u=+a-AA(a);return Math.round((o-u)/nSe)}function sSe(t,e){const n=WQ(t,e),r=Ar(t,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Zm(r)}function iSe(t,e,n){return VQ(t,e*7,n)}function aSe(t,e,n){return UQ(t,e*12,n)}function lSe(t,e){let n,r=e?.in;return t.forEach(s=>{!r&&typeof s=="object"&&(r=Ar.bind(null,s));const i=zn(s,r);(!n||n{!r&&typeof s=="object"&&(r=Ar.bind(null,s));const i=zn(s,r);(!n||n>i||isNaN(+i))&&(n=i)}),Ar(r,n||NaN)}function cSe(t,e,n){const[r,s]=Cu(n?.in,t,e);return+Km(r)==+Km(s)}function XQ(t){return t instanceof Date||typeof t=="object"&&Object.prototype.toString.call(t)==="[object Date]"}function uSe(t){return!(!XQ(t)&&typeof t!="number"||isNaN(+zn(t)))}function dSe(t,e,n){const[r,s]=Cu(n?.in,t,e),i=r.getFullYear()-s.getFullYear(),a=r.getMonth()-s.getMonth();return i*12+a}function hSe(t,e){const n=zn(t,e?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function YQ(t,e){const[n,r]=Cu(t,e.start,e.end);return{start:n,end:r}}function fSe(t,e){const{start:n,end:r}=YQ(e?.in,t);let s=+n>+r;const i=s?+n:+r,a=s?r:n;a.setHours(0,0,0,0),a.setDate(1);let o=1;const u=[];for(;+a<=i;)u.push(Ar(n,a)),a.setMonth(a.getMonth()+o);return s?u.reverse():u}function mSe(t,e){const n=zn(t,e?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function pSe(t,e){const n=zn(t,e?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function ZQ(t,e){const n=zn(t,e?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function gSe(t,e){const{start:n,end:r}=YQ(e?.in,t);let s=+n>+r;const i=s?+n:+r,a=s?r:n;a.setHours(0,0,0,0),a.setMonth(0,1);let o=1;const u=[];for(;+a<=i;)u.push(Ar(n,a)),a.setFullYear(a.getFullYear()+o);return s?u.reverse():u}function KQ(t,e){const n=P0(),r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,s=zn(t,e?.in),i=s.getDay(),a=(i{let r;const s=vSe[t];return typeof s=="string"?r=s:e===1?r=s.one:r=s.other.replace("{{count}}",e.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function Ud(t){return(e={})=>{const n=e.width?String(e.width):t.defaultWidth;return t.formats[n]||t.formats[t.defaultWidth]}}const bSe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},wSe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},SSe={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},kSe={date:Ud({formats:bSe,defaultWidth:"full"}),time:Ud({formats:wSe,defaultWidth:"full"}),dateTime:Ud({formats:SSe,defaultWidth:"full"})},OSe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},jSe=(t,e,n,r)=>OSe[t];function Ca(t){return(e,n)=>{const r=n?.context?String(n.context):"standalone";let s;if(r==="formatting"&&t.formattingValues){const a=t.defaultFormattingWidth||t.defaultWidth,o=n?.width?String(n.width):a;s=t.formattingValues[o]||t.formattingValues[a]}else{const a=t.defaultWidth,o=n?.width?String(n.width):t.defaultWidth;s=t.values[o]||t.values[a]}const i=t.argumentCallback?t.argumentCallback(e):e;return s[i]}}const NSe={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},CSe={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"]},ESe={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"]},_Se={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"}},MSe={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"}},ASe=(t,e)=>{const n=Number(t),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"},RSe={ordinalNumber:ASe,era:Ca({values:NSe,defaultWidth:"wide"}),quarter:Ca({values:CSe,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Ca({values:TSe,defaultWidth:"wide"}),day:Ca({values:ESe,defaultWidth:"wide"}),dayPeriod:Ca({values:_Se,defaultWidth:"wide",formattingValues:MSe,defaultFormattingWidth:"wide"})};function Ta(t){return(e,n={})=>{const r=n.width,s=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],i=e.match(s);if(!i)return null;const a=i[0],o=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],u=Array.isArray(o)?zSe(o,m=>m.test(a)):DSe(o,m=>m.test(a));let h;h=t.valueCallback?t.valueCallback(u):u,h=n.valueCallback?n.valueCallback(h):h;const f=e.slice(a.length);return{value:h,rest:f}}}function DSe(t,e){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n]))return n}function zSe(t,e){for(let n=0;n{const r=e.match(t.matchPattern);if(!r)return null;const s=r[0],i=e.match(t.parsePattern);if(!i)return null;let a=t.valueCallback?t.valueCallback(i[0]):i[0];a=n.valueCallback?n.valueCallback(a):a;const o=e.slice(s.length);return{value:a,rest:o}}}const PSe=/^(\d+)(th|st|nd|rd)?/i,LSe=/\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},ISe={any:[/^b/i,/^(a|c)/i]},qSe={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},FSe={any:[/1/i,/2/i,/3/i,/4/i]},$Se={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},QSe={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]},HSe={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},VSe={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]},USe={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},WSe={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}},GSe={ordinalNumber:JQ({matchPattern:PSe,parsePattern:LSe,valueCallback:t=>parseInt(t,10)}),era:Ta({matchPatterns:BSe,defaultMatchWidth:"wide",parsePatterns:ISe,defaultParseWidth:"any"}),quarter:Ta({matchPatterns:qSe,defaultMatchWidth:"wide",parsePatterns:FSe,defaultParseWidth:"any",valueCallback:t=>t+1}),month:Ta({matchPatterns:$Se,defaultMatchWidth:"wide",parsePatterns:QSe,defaultParseWidth:"any"}),day:Ta({matchPatterns:HSe,defaultMatchWidth:"wide",parsePatterns:VSe,defaultParseWidth:"any"}),dayPeriod:Ta({matchPatterns:USe,defaultMatchWidth:"any",parsePatterns:WSe,defaultParseWidth:"any"})},yO={code:"en-US",formatDistance:ySe,formatLong:kSe,formatRelative:jSe,localize:RSe,match:GSe,options:{weekStartsOn:0,firstWeekContainsDate:1}};function XSe(t,e){const n=zn(t,e?.in);return GQ(n,ZQ(n))+1}function eH(t,e){const n=zn(t,e?.in),r=+Zm(n)-+sSe(n);return Math.round(r/HQ)+1}function tH(t,e){const n=zn(t,e?.in),r=n.getFullYear(),s=P0(),i=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,a=Ar(e?.in||t,0);a.setFullYear(r+1,0,i),a.setHours(0,0,0,0);const o=ic(a,e),u=Ar(e?.in||t,0);u.setFullYear(r,0,i),u.setHours(0,0,0,0);const h=ic(u,e);return+n>=+o?r+1:+n>=+h?r:r-1}function YSe(t,e){const n=P0(),r=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,s=tH(t,e),i=Ar(e?.in||t,0);return i.setFullYear(s,0,r),i.setHours(0,0,0,0),ic(i,e)}function nH(t,e){const n=zn(t,e?.in),r=+ic(n,e)-+YSe(n,e);return Math.round(r/HQ)+1}function Cn(t,e){const n=t<0?"-":"",r=Math.abs(t).toString().padStart(e,"0");return n+r}const Do={y(t,e){const n=t.getFullYear(),r=n>0?n:1-n;return Cn(e==="yy"?r%100:r,e.length)},M(t,e){const n=t.getMonth();return e==="M"?String(n+1):Cn(n+1,2)},d(t,e){return Cn(t.getDate(),e.length)},a(t,e){const n=t.getHours()/12>=1?"pm":"am";switch(e){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(t,e){return Cn(t.getHours()%12||12,e.length)},H(t,e){return Cn(t.getHours(),e.length)},m(t,e){return Cn(t.getMinutes(),e.length)},s(t,e){return Cn(t.getSeconds(),e.length)},S(t,e){const n=e.length,r=t.getMilliseconds(),s=Math.trunc(r*Math.pow(10,n-3));return Cn(s,e.length)}},vd={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},RA={G:function(t,e,n){const r=t.getFullYear()>0?1:0;switch(e){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(t,e,n){if(e==="yo"){const r=t.getFullYear(),s=r>0?r:1-r;return n.ordinalNumber(s,{unit:"year"})}return Do.y(t,e)},Y:function(t,e,n,r){const s=tH(t,r),i=s>0?s:1-s;if(e==="YY"){const a=i%100;return Cn(a,2)}return e==="Yo"?n.ordinalNumber(i,{unit:"year"}):Cn(i,e.length)},R:function(t,e){const n=WQ(t);return Cn(n,e.length)},u:function(t,e){const n=t.getFullYear();return Cn(n,e.length)},Q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return Cn(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(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return Cn(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(t,e,n){const r=t.getMonth();switch(e){case"M":case"MM":return Do.M(t,e);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(t,e,n){const r=t.getMonth();switch(e){case"L":return String(r+1);case"LL":return Cn(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(t,e,n,r){const s=nH(t,r);return e==="wo"?n.ordinalNumber(s,{unit:"week"}):Cn(s,e.length)},I:function(t,e,n){const r=eH(t);return e==="Io"?n.ordinalNumber(r,{unit:"week"}):Cn(r,e.length)},d:function(t,e,n){return e==="do"?n.ordinalNumber(t.getDate(),{unit:"date"}):Do.d(t,e)},D:function(t,e,n){const r=XSe(t);return e==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):Cn(r,e.length)},E:function(t,e,n){const r=t.getDay();switch(e){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(t,e,n,r){const s=t.getDay(),i=(s-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(i);case"ee":return Cn(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(s,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(s,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(s,{width:"short",context:"formatting"});case"eeee":default:return n.day(s,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){const s=t.getDay(),i=(s-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(i);case"cc":return Cn(i,e.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(s,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(s,{width:"narrow",context:"standalone"});case"cccccc":return n.day(s,{width:"short",context:"standalone"});case"cccc":default:return n.day(s,{width:"wide",context:"standalone"})}},i:function(t,e,n){const r=t.getDay(),s=r===0?7:r;switch(e){case"i":return String(s);case"ii":return Cn(s,e.length);case"io":return n.ordinalNumber(s,{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(t,e,n){const s=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},b:function(t,e,n){const r=t.getHours();let s;switch(r===12?s=vd.noon:r===0?s=vd.midnight:s=r/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},B:function(t,e,n){const r=t.getHours();let s;switch(r>=17?s=vd.evening:r>=12?s=vd.afternoon:r>=4?s=vd.morning:s=vd.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(s,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},h:function(t,e,n){if(e==="ho"){let r=t.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Do.h(t,e)},H:function(t,e,n){return e==="Ho"?n.ordinalNumber(t.getHours(),{unit:"hour"}):Do.H(t,e)},K:function(t,e,n){const r=t.getHours()%12;return e==="Ko"?n.ordinalNumber(r,{unit:"hour"}):Cn(r,e.length)},k:function(t,e,n){let r=t.getHours();return r===0&&(r=24),e==="ko"?n.ordinalNumber(r,{unit:"hour"}):Cn(r,e.length)},m:function(t,e,n){return e==="mo"?n.ordinalNumber(t.getMinutes(),{unit:"minute"}):Do.m(t,e)},s:function(t,e,n){return e==="so"?n.ordinalNumber(t.getSeconds(),{unit:"second"}):Do.s(t,e)},S:function(t,e){return Do.S(t,e)},X:function(t,e,n){const r=t.getTimezoneOffset();if(r===0)return"Z";switch(e){case"X":return zA(r);case"XXXX":case"XX":return Fc(r);case"XXXXX":case"XXX":default:return Fc(r,":")}},x:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"x":return zA(r);case"xxxx":case"xx":return Fc(r);case"xxxxx":case"xxx":default:return Fc(r,":")}},O:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+DA(r,":");case"OOOO":default:return"GMT"+Fc(r,":")}},z:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+DA(r,":");case"zzzz":default:return"GMT"+Fc(r,":")}},t:function(t,e,n){const r=Math.trunc(+t/1e3);return Cn(r,e.length)},T:function(t,e,n){return Cn(+t,e.length)}};function DA(t,e=""){const n=t>0?"-":"+",r=Math.abs(t),s=Math.trunc(r/60),i=r%60;return i===0?n+String(s):n+String(s)+e+Cn(i,2)}function zA(t,e){return t%60===0?(t>0?"-":"+")+Cn(Math.abs(t)/60,2):Fc(t,e)}function Fc(t,e=""){const n=t>0?"-":"+",r=Math.abs(t),s=Cn(Math.trunc(r/60),2),i=Cn(r%60,2);return n+s+e+i}const PA=(t,e)=>{switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},rH=(t,e)=>{switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},ZSe=(t,e)=>{const n=t.match(/(P+)(p+)?/)||[],r=n[1],s=n[2];if(!s)return PA(t,e);let i;switch(r){case"P":i=e.dateTime({width:"short"});break;case"PP":i=e.dateTime({width:"medium"});break;case"PPP":i=e.dateTime({width:"long"});break;case"PPPP":default:i=e.dateTime({width:"full"});break}return i.replace("{{date}}",PA(r,e)).replace("{{time}}",rH(s,e))},KSe={p:rH,P:ZSe},JSe=/^D+$/,eke=/^Y+$/,tke=["D","DD","YY","YYYY"];function nke(t){return JSe.test(t)}function rke(t){return eke.test(t)}function ske(t,e,n){const r=ike(t,e,n);if(console.warn(r),tke.includes(t))throw new RangeError(r)}function ike(t,e,n){const r=t[0]==="Y"?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const ake=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,lke=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,oke=/^'([^]*?)'?$/,cke=/''/g,uke=/[a-zA-Z]/;function Qx(t,e,n){const r=P0(),s=n?.locale??r.locale??yO,i=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,o=zn(t,n?.in);if(!uSe(o))throw new RangeError("Invalid time value");let u=e.match(lke).map(f=>{const m=f[0];if(m==="p"||m==="P"){const g=KSe[m];return g(f,s.formatLong)}return f}).join("").match(ake).map(f=>{if(f==="''")return{isToken:!1,value:"'"};const m=f[0];if(m==="'")return{isToken:!1,value:dke(f)};if(RA[m])return{isToken:!0,value:f};if(m.match(uke))throw new RangeError("Format string contains an unescaped latin alphabet character `"+m+"`");return{isToken:!1,value:f}});s.localize.preprocessor&&(u=s.localize.preprocessor(o,u));const h={firstWeekContainsDate:i,weekStartsOn:a,locale:s};return u.map(f=>{if(!f.isToken)return f.value;const m=f.value;(!n?.useAdditionalWeekYearTokens&&rke(m)||!n?.useAdditionalDayOfYearTokens&&nke(m))&&ske(m,e,String(t));const g=RA[m[0]];return g(o,m,s.localize,h)}).join("")}function dke(t){const e=t.match(oke);return e?e[1].replace(cke,"'"):t}function hke(t,e){const n=zn(t,e?.in),r=n.getFullYear(),s=n.getMonth(),i=Ar(n,0);return i.setFullYear(r,s+1,0),i.setHours(0,0,0,0),i.getDate()}function fke(t,e){return zn(t,e?.in).getMonth()}function mke(t,e){return zn(t,e?.in).getFullYear()}function pke(t,e){return+zn(t)>+zn(e)}function gke(t,e){return+zn(t)<+zn(e)}function xke(t,e,n){const[r,s]=Cu(n?.in,t,e);return+ic(r,n)==+ic(s,n)}function vke(t,e,n){const[r,s]=Cu(n?.in,t,e);return r.getFullYear()===s.getFullYear()&&r.getMonth()===s.getMonth()}function yke(t,e,n){const[r,s]=Cu(n?.in,t,e);return r.getFullYear()===s.getFullYear()}function bke(t,e,n){const r=zn(t,n?.in),s=r.getFullYear(),i=r.getDate(),a=Ar(t,0);a.setFullYear(s,e,15),a.setHours(0,0,0,0);const o=hke(a);return r.setMonth(e,Math.min(i,o)),r}function wke(t,e,n){const r=zn(t,n?.in);return isNaN(+r)?Ar(t,NaN):(r.setFullYear(e),r)}const LA=5,Ske=4;function kke(t,e){const n=e.startOfMonth(t),r=n.getDay()>0?n.getDay():7,s=e.addDays(t,-r+1),i=e.addDays(s,LA*7-1);return e.getMonth(t)===e.getMonth(i)?LA:Ske}function sH(t,e){const n=e.startOfMonth(t),r=n.getDay();return r===1?n:r===0?e.addDays(n,-6):e.addDays(n,-1*(r-1))}function Oke(t,e){const n=sH(t,e),r=kke(t,e);return e.addDays(n,r*7-1)}class gi{constructor(e,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?os.tz(this.options.timeZone):new this.Date,this.newDate=(r,s,i)=>this.overrides?.newDate?this.overrides.newDate(r,s,i):this.options.timeZone?new os(r,s,i,this.options.timeZone):new Date(r,s,i),this.addDays=(r,s)=>this.overrides?.addDays?this.overrides.addDays(r,s):VQ(r,s),this.addMonths=(r,s)=>this.overrides?.addMonths?this.overrides.addMonths(r,s):UQ(r,s),this.addWeeks=(r,s)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,s):iSe(r,s),this.addYears=(r,s)=>this.overrides?.addYears?this.overrides.addYears(r,s):aSe(r,s),this.differenceInCalendarDays=(r,s)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,s):GQ(r,s),this.differenceInCalendarMonths=(r,s)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,s):dSe(r,s),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):fSe(r),this.eachYearOfInterval=r=>{const s=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):gSe(r),i=new Set(s.map(o=>this.getYear(o)));if(i.size===s.length)return s;const a=[];return i.forEach(o=>{a.push(new Date(o,0,1))}),a},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):Oke(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):xSe(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):hSe(r),this.endOfWeek=(r,s)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,s):KQ(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):pSe(r),this.format=(r,s,i)=>{const a=this.overrides?.format?this.overrides.format(r,s,this.options):Qx(r,s,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(a):a},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):eH(r),this.getMonth=(r,s)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):fke(r,this.options),this.getYear=(r,s)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):mke(r,this.options),this.getWeek=(r,s)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):nH(r,this.options),this.isAfter=(r,s)=>this.overrides?.isAfter?this.overrides.isAfter(r,s):pke(r,s),this.isBefore=(r,s)=>this.overrides?.isBefore?this.overrides.isBefore(r,s):gke(r,s),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):XQ(r),this.isSameDay=(r,s)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,s):cSe(r,s),this.isSameMonth=(r,s)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,s):vke(r,s),this.isSameYear=(r,s)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,s):yke(r,s),this.max=r=>this.overrides?.max?this.overrides.max(r):lSe(r),this.min=r=>this.overrides?.min?this.overrides.min(r):oSe(r),this.setMonth=(r,s)=>this.overrides?.setMonth?this.overrides.setMonth(r,s):bke(r,s),this.setYear=(r,s)=>this.overrides?.setYear?this.overrides.setYear(r,s):wke(r,s),this.startOfBroadcastWeek=(r,s)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):sH(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):Km(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):Zm(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):mSe(r),this.startOfWeek=(r,s)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):ic(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):ZQ(r),this.options={locale:yO,...e},this.overrides=n}getDigitMap(){const{numerals:e="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:e}),r={};for(let s=0;s<10;s++)r[s.toString()]=n.format(s);return r}replaceDigits(e){const n=this.getDigitMap();return e.replace(/\d/g,r=>n[r]||r)}formatNumber(e){return this.replaceDigits(e.toString())}getMonthYearOrder(){const e=this.options.locale?.code;return e&&gi.yearFirstLocales.has(e)?"year-first":"month-first"}formatMonthYear(e){const{locale:n,timeZone:r,numerals:s}=this.options,i=n?.code;if(i&&gi.yearFirstLocales.has(i))try{return new Intl.DateTimeFormat(i,{month:"long",year:"numeric",timeZone:r,numberingSystem:s}).format(e)}catch{}const a=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(e,a)}}gi.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 Ga=new gi;class iH{constructor(e,n,r=Ga){this.date=e,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(e,n)),this.dateLib=r}isEqualTo(e){return this.dateLib.isSameDay(e.date,this.date)&&this.dateLib.isSameMonth(e.displayMonth,this.displayMonth)}}class jke{constructor(e,n){this.date=e,this.weeks=n}}class Nke{constructor(e,n){this.days=n,this.weekNumber=e}}function Cke(t){return fe.createElement("button",{...t})}function Tke(t){return fe.createElement("span",{...t})}function Eke(t){const{size:e=24,orientation:n="left",className:r}=t;return fe.createElement("svg",{className:r,width:e,height:e,viewBox:"0 0 24 24"},n==="up"&&fe.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&fe.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&fe.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&fe.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function _ke(t){const{day:e,modifiers:n,...r}=t;return fe.createElement("td",{...r})}function Mke(t){const{day:e,modifiers:n,...r}=t,s=fe.useRef(null);return fe.useEffect(()=>{n.focused&&s.current?.focus()},[n.focused]),fe.createElement("button",{ref:s,...r})}var ct;(function(t){t.Root="root",t.Chevron="chevron",t.Day="day",t.DayButton="day_button",t.CaptionLabel="caption_label",t.Dropdowns="dropdowns",t.Dropdown="dropdown",t.DropdownRoot="dropdown_root",t.Footer="footer",t.MonthGrid="month_grid",t.MonthCaption="month_caption",t.MonthsDropdown="months_dropdown",t.Month="month",t.Months="months",t.Nav="nav",t.NextMonthButton="button_next",t.PreviousMonthButton="button_previous",t.Week="week",t.Weeks="weeks",t.Weekday="weekday",t.Weekdays="weekdays",t.WeekNumber="week_number",t.WeekNumberHeader="week_number_header",t.YearsDropdown="years_dropdown"})(ct||(ct={}));var ir;(function(t){t.disabled="disabled",t.hidden="hidden",t.outside="outside",t.focused="focused",t.today="today"})(ir||(ir={}));var ea;(function(t){t.range_end="range_end",t.range_middle="range_middle",t.range_start="range_start",t.selected="selected"})(ea||(ea={}));var ci;(function(t){t.weeks_before_enter="weeks_before_enter",t.weeks_before_exit="weeks_before_exit",t.weeks_after_enter="weeks_after_enter",t.weeks_after_exit="weeks_after_exit",t.caption_after_enter="caption_after_enter",t.caption_after_exit="caption_after_exit",t.caption_before_enter="caption_before_enter",t.caption_before_exit="caption_before_exit"})(ci||(ci={}));function Ake(t){const{options:e,className:n,components:r,classNames:s,...i}=t,a=[s[ct.Dropdown],n].join(" "),o=e?.find(({value:u})=>u===i.value);return fe.createElement("span",{"data-disabled":i.disabled,className:s[ct.DropdownRoot]},fe.createElement(r.Select,{className:a,...i},e?.map(({value:u,label:h,disabled:f})=>fe.createElement(r.Option,{key:u,value:u,disabled:f},h))),fe.createElement("span",{className:s[ct.CaptionLabel],"aria-hidden":!0},o?.label,fe.createElement(r.Chevron,{orientation:"down",size:18,className:s[ct.Chevron]})))}function Rke(t){return fe.createElement("div",{...t})}function Dke(t){return fe.createElement("div",{...t})}function zke(t){const{calendarMonth:e,displayIndex:n,...r}=t;return fe.createElement("div",{...r},t.children)}function Pke(t){const{calendarMonth:e,displayIndex:n,...r}=t;return fe.createElement("div",{...r})}function Lke(t){return fe.createElement("table",{...t})}function Bke(t){return fe.createElement("div",{...t})}const aH=O.createContext(void 0);function L0(){const t=O.useContext(aH);if(t===void 0)throw new Error("useDayPicker() must be used within a custom component.");return t}function Ike(t){const{components:e}=L0();return fe.createElement(e.Dropdown,{...t})}function qke(t){const{onPreviousClick:e,onNextClick:n,previousMonth:r,nextMonth:s,...i}=t,{components:a,classNames:o,labels:{labelPrevious:u,labelNext:h}}=L0(),f=O.useCallback(g=>{s&&n?.(g)},[s,n]),m=O.useCallback(g=>{r&&e?.(g)},[r,e]);return fe.createElement("nav",{...i},fe.createElement(a.PreviousMonthButton,{type:"button",className:o[ct.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":u(r),onClick:m},fe.createElement(a.Chevron,{disabled:r?void 0:!0,className:o[ct.Chevron],orientation:"left"})),fe.createElement(a.NextMonthButton,{type:"button",className:o[ct.NextMonthButton],tabIndex:s?void 0:-1,"aria-disabled":s?void 0:!0,"aria-label":h(s),onClick:f},fe.createElement(a.Chevron,{disabled:s?void 0:!0,orientation:"right",className:o[ct.Chevron]})))}function Fke(t){const{components:e}=L0();return fe.createElement(e.Button,{...t})}function $ke(t){return fe.createElement("option",{...t})}function Qke(t){const{components:e}=L0();return fe.createElement(e.Button,{...t})}function Hke(t){const{rootRef:e,...n}=t;return fe.createElement("div",{...n,ref:e})}function Vke(t){return fe.createElement("select",{...t})}function Uke(t){const{week:e,...n}=t;return fe.createElement("tr",{...n})}function Wke(t){return fe.createElement("th",{...t})}function Gke(t){return fe.createElement("thead",{"aria-hidden":!0},fe.createElement("tr",{...t}))}function Xke(t){const{week:e,...n}=t;return fe.createElement("th",{...n})}function Yke(t){return fe.createElement("th",{...t})}function Zke(t){return fe.createElement("tbody",{...t})}function Kke(t){const{components:e}=L0();return fe.createElement(e.Dropdown,{...t})}const Jke=Object.freeze(Object.defineProperty({__proto__:null,Button:Cke,CaptionLabel:Tke,Chevron:Eke,Day:_ke,DayButton:Mke,Dropdown:Ake,DropdownNav:Rke,Footer:Dke,Month:zke,MonthCaption:Pke,MonthGrid:Lke,Months:Bke,MonthsDropdown:Ike,Nav:qke,NextMonthButton:Fke,Option:$ke,PreviousMonthButton:Qke,Root:Hke,Select:Vke,Week:Uke,WeekNumber:Xke,WeekNumberHeader:Yke,Weekday:Wke,Weekdays:Gke,Weeks:Zke,YearsDropdown:Kke},Symbol.toStringTag,{value:"Module"}));function Al(t,e,n=!1,r=Ga){let{from:s,to:i}=t;const{differenceInCalendarDays:a,isSameDay:o}=r;return s&&i?(a(i,s)<0&&([s,i]=[i,s]),a(e,s)>=(n?1:0)&&a(i,e)>=(n?1:0)):!n&&i?o(i,e):!n&&s?o(s,e):!1}function lH(t){return!!(t&&typeof t=="object"&&"before"in t&&"after"in t)}function bO(t){return!!(t&&typeof t=="object"&&"from"in t)}function oH(t){return!!(t&&typeof t=="object"&&"after"in t)}function cH(t){return!!(t&&typeof t=="object"&&"before"in t)}function uH(t){return!!(t&&typeof t=="object"&&"dayOfWeek"in t)}function dH(t,e){return Array.isArray(t)&&t.every(e.isDate)}function Rl(t,e,n=Ga){const r=Array.isArray(e)?e:[e],{isSameDay:s,differenceInCalendarDays:i,isAfter:a}=n;return r.some(o=>{if(typeof o=="boolean")return o;if(n.isDate(o))return s(t,o);if(dH(o,n))return o.includes(t);if(bO(o))return Al(o,t,!1,n);if(uH(o))return Array.isArray(o.dayOfWeek)?o.dayOfWeek.includes(t.getDay()):o.dayOfWeek===t.getDay();if(lH(o)){const u=i(o.before,t),h=i(o.after,t),f=u>0,m=h<0;return a(o.before,o.after)?m&&f:f||m}return oH(o)?i(t,o.after)>0:cH(o)?i(o.before,t)>0:typeof o=="function"?o(t):!1})}function e6e(t,e,n,r,s){const{disabled:i,hidden:a,modifiers:o,showOutsideDays:u,broadcastCalendar:h,today:f}=e,{isSameDay:m,isSameMonth:g,startOfMonth:x,isBefore:y,endOfMonth:w,isAfter:b}=s,k=n&&x(n),N=r&&w(r),C={[ir.focused]:[],[ir.outside]:[],[ir.disabled]:[],[ir.hidden]:[],[ir.today]:[]},T={};for(const E of t){const{date:_,displayMonth:A}=E,F=!!(A&&!g(_,A)),B=!!(k&&y(_,k)),P=!!(N&&b(_,N)),H=!!(i&&Rl(_,i,s)),U=!!(a&&Rl(_,a,s))||B||P||!h&&!u&&F||h&&u===!1&&F,te=m(_,f??s.today());F&&C.outside.push(E),H&&C.disabled.push(E),U&&C.hidden.push(E),te&&C.today.push(E),o&&Object.keys(o).forEach(z=>{const W=o?.[z];W&&Rl(_,W,s)&&(T[z]?T[z].push(E):T[z]=[E])})}return E=>{const _={[ir.focused]:!1,[ir.disabled]:!1,[ir.hidden]:!1,[ir.outside]:!1,[ir.today]:!1},A={};for(const F in C){const B=C[F];_[F]=B.some(P=>P===E)}for(const F in T)A[F]=T[F].some(B=>B===E);return{..._,...A}}}function t6e(t,e,n={}){return Object.entries(t).filter(([,s])=>s===!0).reduce((s,[i])=>(n[i]?s.push(n[i]):e[ir[i]]?s.push(e[ir[i]]):e[ea[i]]&&s.push(e[ea[i]]),s),[e[ct.Day]])}function n6e(t){return{...Jke,...t}}function r6e(t){const e={"data-mode":t.mode??void 0,"data-required":"required"in t?t.required:void 0,"data-multiple-months":t.numberOfMonths&&t.numberOfMonths>1||void 0,"data-week-numbers":t.showWeekNumber||void 0,"data-broadcast-calendar":t.broadcastCalendar||void 0,"data-nav-layout":t.navLayout||void 0};return Object.entries(t).forEach(([n,r])=>{n.startsWith("data-")&&(e[n]=r)}),e}function wO(){const t={};for(const e in ct)t[ct[e]]=`rdp-${ct[e]}`;for(const e in ir)t[ir[e]]=`rdp-${ir[e]}`;for(const e in ea)t[ea[e]]=`rdp-${ea[e]}`;for(const e in ci)t[ci[e]]=`rdp-${ci[e]}`;return t}function hH(t,e,n){return(n??new gi(e)).formatMonthYear(t)}const s6e=hH;function i6e(t,e,n){return(n??new gi(e)).format(t,"d")}function a6e(t,e=Ga){return e.format(t,"LLLL")}function l6e(t,e,n){return(n??new gi(e)).format(t,"cccccc")}function o6e(t,e=Ga){return t<10?e.formatNumber(`0${t.toLocaleString()}`):e.formatNumber(`${t.toLocaleString()}`)}function c6e(){return""}function fH(t,e=Ga){return e.format(t,"yyyy")}const u6e=fH,d6e=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:hH,formatDay:i6e,formatMonthCaption:s6e,formatMonthDropdown:a6e,formatWeekNumber:o6e,formatWeekNumberHeader:c6e,formatWeekdayName:l6e,formatYearCaption:u6e,formatYearDropdown:fH},Symbol.toStringTag,{value:"Module"}));function h6e(t){return t?.formatMonthCaption&&!t.formatCaption&&(t.formatCaption=t.formatMonthCaption),t?.formatYearCaption&&!t.formatYearDropdown&&(t.formatYearDropdown=t.formatYearCaption),{...d6e,...t}}function f6e(t,e,n,r,s){const{startOfMonth:i,startOfYear:a,endOfYear:o,eachMonthOfInterval:u,getMonth:h}=s;return u({start:a(t),end:o(t)}).map(g=>{const x=r.formatMonthDropdown(g,s),y=h(g),w=e&&gi(n)||!1;return{value:y,label:x,disabled:w}})}function m6e(t,e={},n={}){let r={...e?.[ct.Day]};return Object.entries(t).filter(([,s])=>s===!0).forEach(([s])=>{r={...r,...n?.[s]}}),r}function p6e(t,e,n){const r=t.today(),s=e?t.startOfISOWeek(r):t.startOfWeek(r),i=[];for(let a=0;a<7;a++){const o=t.addDays(s,a);i.push(o)}return i}function g6e(t,e,n,r,s=!1){if(!t||!e)return;const{startOfYear:i,endOfYear:a,eachYearOfInterval:o,getYear:u}=r,h=i(t),f=a(e),m=o({start:h,end:f});return s&&m.reverse(),m.map(g=>{const x=n.formatYearDropdown(g,r);return{value:u(g),label:x,disabled:!1}})}function mH(t,e,n,r){let s=(r??new gi(n)).format(t,"PPPP");return e.today&&(s=`Today, ${s}`),e.selected&&(s=`${s}, selected`),s}const x6e=mH;function pH(t,e,n){return(n??new gi(e)).formatMonthYear(t)}const v6e=pH;function y6e(t,e,n,r){let s=(r??new gi(n)).format(t,"PPPP");return e?.today&&(s=`Today, ${s}`),s}function b6e(t){return"Choose the Month"}function w6e(){return""}function S6e(t){return"Go to the Next Month"}function k6e(t){return"Go to the Previous Month"}function O6e(t,e,n){return(n??new gi(e)).format(t,"cccc")}function j6e(t,e){return`Week ${t}`}function N6e(t){return"Week Number"}function C6e(t){return"Choose the Year"}const T6e=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:v6e,labelDay:x6e,labelDayButton:mH,labelGrid:pH,labelGridcell:y6e,labelMonthDropdown:b6e,labelNav:w6e,labelNext:S6e,labelPrevious:k6e,labelWeekNumber:j6e,labelWeekNumberHeader:N6e,labelWeekday:O6e,labelYearDropdown:C6e},Symbol.toStringTag,{value:"Module"})),B0=t=>t instanceof HTMLElement?t:null,E5=t=>[...t.querySelectorAll("[data-animated-month]")??[]],E6e=t=>B0(t.querySelector("[data-animated-month]")),_5=t=>B0(t.querySelector("[data-animated-caption]")),M5=t=>B0(t.querySelector("[data-animated-weeks]")),_6e=t=>B0(t.querySelector("[data-animated-nav]")),M6e=t=>B0(t.querySelector("[data-animated-weekdays]"));function A6e(t,e,{classNames:n,months:r,focused:s,dateLib:i}){const a=O.useRef(null),o=O.useRef(r),u=O.useRef(!1);O.useLayoutEffect(()=>{const h=o.current;if(o.current=r,!e||!t.current||!(t.current instanceof HTMLElement)||r.length===0||h.length===0||r.length!==h.length)return;const f=i.isSameMonth(r[0].date,h[0].date),m=i.isAfter(r[0].date,h[0].date),g=m?n[ci.caption_after_enter]:n[ci.caption_before_enter],x=m?n[ci.weeks_after_enter]:n[ci.weeks_before_enter],y=a.current,w=t.current.cloneNode(!0);if(w instanceof HTMLElement?(E5(w).forEach(C=>{if(!(C instanceof HTMLElement))return;const T=E6e(C);T&&C.contains(T)&&C.removeChild(T);const E=_5(C);E&&E.classList.remove(g);const _=M5(C);_&&_.classList.remove(x)}),a.current=w):a.current=null,u.current||f||s)return;const b=y instanceof HTMLElement?E5(y):[],k=E5(t.current);if(k?.every(N=>N instanceof HTMLElement)&&b&&b.every(N=>N instanceof HTMLElement)){u.current=!0,t.current.style.isolation="isolate";const N=_6e(t.current);N&&(N.style.zIndex="1"),k.forEach((C,T)=>{const E=b[T];if(!E)return;C.style.position="relative",C.style.overflow="hidden";const _=_5(C);_&&_.classList.add(g);const A=M5(C);A&&A.classList.add(x);const F=()=>{u.current=!1,t.current&&(t.current.style.isolation=""),N&&(N.style.zIndex=""),_&&_.classList.remove(g),A&&A.classList.remove(x),C.style.position="",C.style.overflow="",C.contains(E)&&C.removeChild(E)};E.style.pointerEvents="none",E.style.position="absolute",E.style.overflow="hidden",E.setAttribute("aria-hidden","true");const B=M6e(E);B&&(B.style.opacity="0");const P=_5(E);P&&(P.classList.add(m?n[ci.caption_before_exit]:n[ci.caption_after_exit]),P.addEventListener("animationend",F));const H=M5(E);H&&H.classList.add(m?n[ci.weeks_before_exit]:n[ci.weeks_after_exit]),C.insertBefore(E,C.firstChild)})}})}function R6e(t,e,n,r){const s=t[0],i=t[t.length-1],{ISOWeek:a,fixedWeeks:o,broadcastCalendar:u}=n??{},{addDays:h,differenceInCalendarDays:f,differenceInCalendarMonths:m,endOfBroadcastWeek:g,endOfISOWeek:x,endOfMonth:y,endOfWeek:w,isAfter:b,startOfBroadcastWeek:k,startOfISOWeek:N,startOfWeek:C}=r,T=u?k(s,r):a?N(s):C(s),E=u?g(i):a?x(y(i)):w(y(i)),_=f(E,T),A=m(i,s)+1,F=[];for(let H=0;H<=_;H++){const U=h(T,H);if(e&&b(U,e))break;F.push(U)}const P=(u?35:42)*A;if(o&&F.length{const s=r.weeks.reduce((i,a)=>i.concat(a.days.slice()),e.slice());return n.concat(s.slice())},e.slice())}function z6e(t,e,n,r){const{numberOfMonths:s=1}=n,i=[];for(let a=0;ae)break;i.push(o)}return i}function BA(t,e,n,r){const{month:s,defaultMonth:i,today:a=r.today(),numberOfMonths:o=1}=t;let u=s||i||a;const{differenceInCalendarMonths:h,addMonths:f,startOfMonth:m}=r;if(n&&h(n,u){const k=n.broadcastCalendar?m(b,r):n.ISOWeek?g(b):x(b),N=n.broadcastCalendar?i(b):n.ISOWeek?a(o(b)):u(o(b)),C=e.filter(A=>A>=k&&A<=N),T=n.broadcastCalendar?35:42;if(n.fixedWeeks&&C.length{const B=T-C.length;return F>N&&F<=s(N,B)});C.push(...A)}const E=C.reduce((A,F)=>{const B=n.ISOWeek?h(F):f(F),P=A.find(U=>U.weekNumber===B),H=new iH(F,b,r);return P?P.days.push(H):A.push(new Nke(B,[H])),A},[]),_=new jke(b,E);return w.push(_),w},[]);return n.reverseMonths?y.reverse():y}function L6e(t,e){let{startMonth:n,endMonth:r}=t;const{startOfYear:s,startOfDay:i,startOfMonth:a,endOfMonth:o,addYears:u,endOfYear:h,newDate:f,today:m}=e,{fromYear:g,toYear:x,fromMonth:y,toMonth:w}=t;!n&&y&&(n=y),!n&&g&&(n=e.newDate(g,0,1)),!r&&w&&(r=w),!r&&x&&(r=f(x,11,31));const b=t.captionLayout==="dropdown"||t.captionLayout==="dropdown-years";return n?n=a(n):g?n=f(g,0,1):!n&&b&&(n=s(u(t.today??m(),-100))),r?r=o(r):x?r=f(x,11,31):!r&&b&&(r=h(t.today??m())),[n&&i(n),r&&i(r)]}function B6e(t,e,n,r){if(n.disableNavigation)return;const{pagedNavigation:s,numberOfMonths:i=1}=n,{startOfMonth:a,addMonths:o,differenceInCalendarMonths:u}=r,h=s?i:1,f=a(t);if(!e)return o(f,h);if(!(u(e,t)n.concat(r.weeks.slice()),e.slice())}function Uv(t,e){const[n,r]=O.useState(t);return[e===void 0?n:e,r]}function F6e(t,e){const[n,r]=L6e(t,e),{startOfMonth:s,endOfMonth:i}=e,a=BA(t,n,r,e),[o,u]=Uv(a,t.month?a:void 0);O.useEffect(()=>{const _=BA(t,n,r,e);u(_)},[t.timeZone]);const h=z6e(o,r,t,e),f=R6e(h,t.endMonth?i(t.endMonth):void 0,t,e),m=P6e(h,f,t,e),g=q6e(m),x=D6e(m),y=I6e(o,n,t,e),w=B6e(o,r,t,e),{disableNavigation:b,onMonthChange:k}=t,N=_=>g.some(A=>A.days.some(F=>F.isEqualTo(_))),C=_=>{if(b)return;let A=s(_);n&&As(r)&&(A=s(r)),u(A),k?.(A)};return{months:m,weeks:g,days:x,navStart:n,navEnd:r,previousMonth:y,nextMonth:w,goToMonth:C,goToDay:_=>{N(_)||C(_.date)}}}var ka;(function(t){t[t.Today=0]="Today",t[t.Selected=1]="Selected",t[t.LastFocused=2]="LastFocused",t[t.FocusedModifier=3]="FocusedModifier"})(ka||(ka={}));function IA(t){return!t[ir.disabled]&&!t[ir.hidden]&&!t[ir.outside]}function $6e(t,e,n,r){let s,i=-1;for(const a of t){const o=e(a);IA(o)&&(o[ir.focused]&&iIA(e(a)))),s}function Q6e(t,e,n,r,s,i,a){const{ISOWeek:o,broadcastCalendar:u}=i,{addDays:h,addMonths:f,addWeeks:m,addYears:g,endOfBroadcastWeek:x,endOfISOWeek:y,endOfWeek:w,max:b,min:k,startOfBroadcastWeek:N,startOfISOWeek:C,startOfWeek:T}=a;let _={day:h,week:m,month:f,year:g,startOfWeek:A=>u?N(A,a):o?C(A):T(A),endOfWeek:A=>u?x(A):o?y(A):w(A)}[t](n,e==="after"?1:-1);return e==="before"&&r?_=b([r,_]):e==="after"&&s&&(_=k([s,_])),_}function gH(t,e,n,r,s,i,a,o=0){if(o>365)return;const u=Q6e(t,e,n.date,r,s,i,a),h=!!(i.disabled&&Rl(u,i.disabled,a)),f=!!(i.hidden&&Rl(u,i.hidden,a)),m=u,g=new iH(u,m,a);return!h&&!f?g:gH(t,e,g,r,s,i,a,o+1)}function H6e(t,e,n,r,s){const{autoFocus:i}=t,[a,o]=O.useState(),u=$6e(e.days,n,r||(()=>!1),a),[h,f]=O.useState(i?u:void 0);return{isFocusTarget:w=>!!u?.isEqualTo(w),setFocused:f,focused:h,blur:()=>{o(h),f(void 0)},moveFocus:(w,b)=>{if(!h)return;const k=gH(w,b,h,e.navStart,e.navEnd,t,s);k&&(t.disableNavigation&&!e.days.some(C=>C.isEqualTo(k))||(e.goToDay(k),f(k)))}}}function V6e(t,e){const{selected:n,required:r,onSelect:s}=t,[i,a]=Uv(n,s?n:void 0),o=s?n:i,{isSameDay:u}=e,h=x=>o?.some(y=>u(y,x))??!1,{min:f,max:m}=t;return{selected:o,select:(x,y,w)=>{let b=[...o??[]];if(h(x)){if(o?.length===f||r&&o?.length===1)return;b=o?.filter(k=>!u(k,x))}else o?.length===m?b=[x]:b=[...b,x];return s||a(b),s?.(b,x,y,w),b},isSelected:h}}function U6e(t,e,n=0,r=0,s=!1,i=Ga){const{from:a,to:o}=e||{},{isSameDay:u,isAfter:h,isBefore:f}=i;let m;if(!a&&!o)m={from:t,to:n>0?void 0:t};else if(a&&!o)u(a,t)?n===0?m={from:a,to:t}:s?m={from:a,to:void 0}:m=void 0:f(t,a)?m={from:t,to:a}:m={from:a,to:t};else if(a&&o)if(u(a,t)&&u(o,t))s?m={from:a,to:o}:m=void 0;else if(u(a,t))m={from:a,to:n>0?void 0:t};else if(u(o,t))m={from:t,to:n>0?void 0:t};else if(f(t,a))m={from:t,to:o};else if(h(t,a))m={from:a,to:t};else if(h(t,o))m={from:a,to:t};else throw new Error("Invalid range");if(m?.from&&m?.to){const g=i.differenceInCalendarDays(m.to,m.from);r>0&&g>r?m={from:t,to:void 0}:n>1&&gtypeof o!="function").some(o=>typeof o=="boolean"?o:n.isDate(o)?Al(t,o,!1,n):dH(o,n)?o.some(u=>Al(t,u,!1,n)):bO(o)?o.from&&o.to?qA(t,{from:o.from,to:o.to},n):!1:uH(o)?W6e(t,o.dayOfWeek,n):lH(o)?n.isAfter(o.before,o.after)?qA(t,{from:n.addDays(o.after,1),to:n.addDays(o.before,-1)},n):Rl(t.from,o,n)||Rl(t.to,o,n):oH(o)||cH(o)?Rl(t.from,o,n)||Rl(t.to,o,n):!1))return!0;const a=r.filter(o=>typeof o=="function");if(a.length){let o=t.from;const u=n.differenceInCalendarDays(t.to,t.from);for(let h=0;h<=u;h++){if(a.some(f=>f(o)))return!0;o=n.addDays(o,1)}}return!1}function X6e(t,e){const{disabled:n,excludeDisabled:r,selected:s,required:i,onSelect:a}=t,[o,u]=Uv(s,a?s:void 0),h=a?s:o;return{selected:h,select:(g,x,y)=>{const{min:w,max:b}=t,k=g?U6e(g,h,w,b,i,e):void 0;return r&&n&&k?.from&&k.to&&G6e({from:k.from,to:k.to},n,e)&&(k.from=g,k.to=void 0),a||u(k),a?.(k,g,x,y),k},isSelected:g=>h&&Al(h,g,!1,e)}}function Y6e(t,e){const{selected:n,required:r,onSelect:s}=t,[i,a]=Uv(n,s?n:void 0),o=s?n:i,{isSameDay:u}=e;return{selected:o,select:(m,g,x)=>{let y=m;return!r&&o&&o&&u(m,o)&&(y=void 0),s||a(y),s?.(y,m,g,x),y},isSelected:m=>o?u(o,m):!1}}function Z6e(t,e){const n=Y6e(t,e),r=V6e(t,e),s=X6e(t,e);switch(t.mode){case"single":return n;case"multiple":return r;case"range":return s;default:return}}function K6e(t){let e=t;e.timeZone&&(e={...t},e.today&&(e.today=new os(e.today,e.timeZone)),e.month&&(e.month=new os(e.month,e.timeZone)),e.defaultMonth&&(e.defaultMonth=new os(e.defaultMonth,e.timeZone)),e.startMonth&&(e.startMonth=new os(e.startMonth,e.timeZone)),e.endMonth&&(e.endMonth=new os(e.endMonth,e.timeZone)),e.mode==="single"&&e.selected?e.selected=new os(e.selected,e.timeZone):e.mode==="multiple"&&e.selected?e.selected=e.selected?.map(ft=>new os(ft,e.timeZone)):e.mode==="range"&&e.selected&&(e.selected={from:e.selected.from?new os(e.selected.from,e.timeZone):void 0,to:e.selected.to?new os(e.selected.to,e.timeZone):void 0}));const{components:n,formatters:r,labels:s,dateLib:i,locale:a,classNames:o}=O.useMemo(()=>{const ft={...yO,...e.locale};return{dateLib:new gi({locale:ft,weekStartsOn:e.broadcastCalendar?1:e.weekStartsOn,firstWeekContainsDate:e.firstWeekContainsDate,useAdditionalWeekYearTokens:e.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:e.useAdditionalDayOfYearTokens,timeZone:e.timeZone,numerals:e.numerals},e.dateLib),components:n6e(e.components),formatters:h6e(e.formatters),labels:{...T6e,...e.labels},locale:ft,classNames:{...wO(),...e.classNames}}},[e.locale,e.broadcastCalendar,e.weekStartsOn,e.firstWeekContainsDate,e.useAdditionalWeekYearTokens,e.useAdditionalDayOfYearTokens,e.timeZone,e.numerals,e.dateLib,e.components,e.formatters,e.labels,e.classNames]),{captionLayout:u,mode:h,navLayout:f,numberOfMonths:m=1,onDayBlur:g,onDayClick:x,onDayFocus:y,onDayKeyDown:w,onDayMouseEnter:b,onDayMouseLeave:k,onNextClick:N,onPrevClick:C,showWeekNumber:T,styles:E}=e,{formatCaption:_,formatDay:A,formatMonthDropdown:F,formatWeekNumber:B,formatWeekNumberHeader:P,formatWeekdayName:H,formatYearDropdown:U}=r,te=F6e(e,i),{days:z,months:W,navStart:q,navEnd:J,previousMonth:ee,nextMonth:Y,goToMonth:R}=te,re=e6e(z,e,q,J,i),{isSelected:K,select:I,selected:Q}=Z6e(e,i)??{},{blur:$,focused:Z,isFocusTarget:ne,moveFocus:ge,setFocused:se}=H6e(e,te,re,K??(()=>!1),i),{labelDayButton:Te,labelGridcell:qe,labelGrid:ve,labelMonthDropdown:Fe,labelNav:Qe,labelPrevious:Ke,labelNext:Tt,labelWeekday:st,labelWeekNumber:He,labelWeekNumberHeader:St,labelYearDropdown:bt}=s,nr=O.useMemo(()=>p6e(i,e.ISOWeek),[i,e.ISOWeek]),mn=h!==void 0||x!==void 0,Hn=O.useCallback(()=>{ee&&(R(ee),C?.(ee))},[ee,R,C]),$t=O.useCallback(()=>{Y&&(R(Y),N?.(Y))},[R,Y,N]),ht=O.useCallback((ft,On)=>mt=>{mt.preventDefault(),mt.stopPropagation(),se(ft),I?.(ft.date,On,mt),x?.(ft.date,On,mt)},[I,x,se]),le=O.useCallback((ft,On)=>mt=>{se(ft),y?.(ft.date,On,mt)},[y,se]),Oe=O.useCallback((ft,On)=>mt=>{$(),g?.(ft.date,On,mt)},[$,g]),Le=O.useCallback((ft,On)=>mt=>{const Jt={ArrowLeft:[mt.shiftKey?"month":"day",e.dir==="rtl"?"after":"before"],ArrowRight:[mt.shiftKey?"month":"day",e.dir==="rtl"?"before":"after"],ArrowDown:[mt.shiftKey?"year":"week","after"],ArrowUp:[mt.shiftKey?"year":"week","before"],PageUp:[mt.shiftKey?"year":"month","before"],PageDown:[mt.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(Jt[mt.key]){mt.preventDefault(),mt.stopPropagation();const[fr,kt]=Jt[mt.key];ge(fr,kt)}w?.(ft.date,On,mt)},[ge,w,e.dir]),nt=O.useCallback((ft,On)=>mt=>{b?.(ft.date,On,mt)},[b]),Ot=O.useCallback((ft,On)=>mt=>{k?.(ft.date,On,mt)},[k]),Vt=O.useCallback(ft=>On=>{const mt=Number(On.target.value),Jt=i.setMonth(i.startOfMonth(ft),mt);R(Jt)},[i,R]),Ln=O.useCallback(ft=>On=>{const mt=Number(On.target.value),Jt=i.setYear(i.startOfMonth(ft),mt);R(Jt)},[i,R]),{className:ue,style:Ce}=O.useMemo(()=>({className:[o[ct.Root],e.className].filter(Boolean).join(" "),style:{...E?.[ct.Root],...e.style}}),[o,e.className,e.style,E]),lt=r6e(e),ut=O.useRef(null);A6e(ut,!!e.animate,{classNames:o,months:W,focused:Z,dateLib:i});const or={dayPickerProps:e,selected:Q,select:I,isSelected:K,months:W,nextMonth:Y,previousMonth:ee,goToMonth:R,getModifiers:re,components:n,classNames:o,styles:E,labels:s,formatters:r};return fe.createElement(aH.Provider,{value:or},fe.createElement(n.Root,{rootRef:e.animate?ut:void 0,className:ue,style:Ce,dir:e.dir,id:e.id,lang:e.lang,nonce:e.nonce,title:e.title,role:e.role,"aria-label":e["aria-label"],"aria-labelledby":e["aria-labelledby"],...lt},fe.createElement(n.Months,{className:o[ct.Months],style:E?.[ct.Months]},!e.hideNavigation&&!f&&fe.createElement(n.Nav,{"data-animated-nav":e.animate?"true":void 0,className:o[ct.Nav],style:E?.[ct.Nav],"aria-label":Qe(),onPreviousClick:Hn,onNextClick:$t,previousMonth:ee,nextMonth:Y}),W.map((ft,On)=>fe.createElement(n.Month,{"data-animated-month":e.animate?"true":void 0,className:o[ct.Month],style:E?.[ct.Month],key:On,displayIndex:On,calendarMonth:ft},f==="around"&&!e.hideNavigation&&On===0&&fe.createElement(n.PreviousMonthButton,{type:"button",className:o[ct.PreviousMonthButton],tabIndex:ee?void 0:-1,"aria-disabled":ee?void 0:!0,"aria-label":Ke(ee),onClick:Hn,"data-animated-button":e.animate?"true":void 0},fe.createElement(n.Chevron,{disabled:ee?void 0:!0,className:o[ct.Chevron],orientation:e.dir==="rtl"?"right":"left"})),fe.createElement(n.MonthCaption,{"data-animated-caption":e.animate?"true":void 0,className:o[ct.MonthCaption],style:E?.[ct.MonthCaption],calendarMonth:ft,displayIndex:On},u?.startsWith("dropdown")?fe.createElement(n.DropdownNav,{className:o[ct.Dropdowns],style:E?.[ct.Dropdowns]},(()=>{const mt=u==="dropdown"||u==="dropdown-months"?fe.createElement(n.MonthsDropdown,{key:"month",className:o[ct.MonthsDropdown],"aria-label":Fe(),classNames:o,components:n,disabled:!!e.disableNavigation,onChange:Vt(ft.date),options:f6e(ft.date,q,J,r,i),style:E?.[ct.Dropdown],value:i.getMonth(ft.date)}):fe.createElement("span",{key:"month"},F(ft.date,i)),Jt=u==="dropdown"||u==="dropdown-years"?fe.createElement(n.YearsDropdown,{key:"year",className:o[ct.YearsDropdown],"aria-label":bt(i.options),classNames:o,components:n,disabled:!!e.disableNavigation,onChange:Ln(ft.date),options:g6e(q,J,r,i,!!e.reverseYears),style:E?.[ct.Dropdown],value:i.getYear(ft.date)}):fe.createElement("span",{key:"year"},U(ft.date,i));return i.getMonthYearOrder()==="year-first"?[Jt,mt]:[mt,Jt]})(),fe.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"}},_(ft.date,i.options,i))):fe.createElement(n.CaptionLabel,{className:o[ct.CaptionLabel],role:"status","aria-live":"polite"},_(ft.date,i.options,i))),f==="around"&&!e.hideNavigation&&On===m-1&&fe.createElement(n.NextMonthButton,{type:"button",className:o[ct.NextMonthButton],tabIndex:Y?void 0:-1,"aria-disabled":Y?void 0:!0,"aria-label":Tt(Y),onClick:$t,"data-animated-button":e.animate?"true":void 0},fe.createElement(n.Chevron,{disabled:Y?void 0:!0,className:o[ct.Chevron],orientation:e.dir==="rtl"?"left":"right"})),On===m-1&&f==="after"&&!e.hideNavigation&&fe.createElement(n.Nav,{"data-animated-nav":e.animate?"true":void 0,className:o[ct.Nav],style:E?.[ct.Nav],"aria-label":Qe(),onPreviousClick:Hn,onNextClick:$t,previousMonth:ee,nextMonth:Y}),fe.createElement(n.MonthGrid,{role:"grid","aria-multiselectable":h==="multiple"||h==="range","aria-label":ve(ft.date,i.options,i)||void 0,className:o[ct.MonthGrid],style:E?.[ct.MonthGrid]},!e.hideWeekdays&&fe.createElement(n.Weekdays,{"data-animated-weekdays":e.animate?"true":void 0,className:o[ct.Weekdays],style:E?.[ct.Weekdays]},T&&fe.createElement(n.WeekNumberHeader,{"aria-label":St(i.options),className:o[ct.WeekNumberHeader],style:E?.[ct.WeekNumberHeader],scope:"col"},P()),nr.map(mt=>fe.createElement(n.Weekday,{"aria-label":st(mt,i.options,i),className:o[ct.Weekday],key:String(mt),style:E?.[ct.Weekday],scope:"col"},H(mt,i.options,i)))),fe.createElement(n.Weeks,{"data-animated-weeks":e.animate?"true":void 0,className:o[ct.Weeks],style:E?.[ct.Weeks]},ft.weeks.map(mt=>fe.createElement(n.Week,{className:o[ct.Week],key:mt.weekNumber,style:E?.[ct.Week],week:mt},T&&fe.createElement(n.WeekNumber,{week:mt,style:E?.[ct.WeekNumber],"aria-label":He(mt.weekNumber,{locale:a}),className:o[ct.WeekNumber],scope:"row",role:"rowheader"},B(mt.weekNumber,i)),mt.days.map(Jt=>{const{date:fr}=Jt,kt=re(Jt);if(kt[ir.focused]=!kt.hidden&&!!Z?.isEqualTo(Jt),kt[ea.selected]=K?.(fr)||kt.selected,bO(Q)){const{from:to,to:Ya}=Q;kt[ea.range_start]=!!(to&&Ya&&i.isSameDay(fr,to)),kt[ea.range_end]=!!(to&&Ya&&i.isSameDay(fr,Ya)),kt[ea.range_middle]=Al(Q,fr,!0,i)}const eo=m6e(kt,E,e.modifiersStyles),Xa=t6e(kt,o,e.modifiersClassNames),Mh=!mn&&!kt.hidden?qe(fr,kt,i.options,i):void 0;return fe.createElement(n.Day,{key:`${i.format(fr,"yyyy-MM-dd")}_${i.format(Jt.displayMonth,"yyyy-MM")}`,day:Jt,modifiers:kt,className:Xa.join(" "),style:eo,role:"gridcell","aria-selected":kt.selected||void 0,"aria-label":Mh,"data-day":i.format(fr,"yyyy-MM-dd"),"data-month":Jt.outside?i.format(fr,"yyyy-MM"):void 0,"data-selected":kt.selected||void 0,"data-disabled":kt.disabled||void 0,"data-hidden":kt.hidden||void 0,"data-outside":Jt.outside||void 0,"data-focused":kt.focused||void 0,"data-today":kt.today||void 0},!kt.hidden&&mn?fe.createElement(n.DayButton,{className:o[ct.DayButton],style:E?.[ct.DayButton],type:"button",day:Jt,modifiers:kt,disabled:kt.disabled||void 0,tabIndex:ne(Jt)?0:-1,"aria-label":Te(fr,kt,i.options,i),onClick:ht(Jt,kt),onBlur:Oe(Jt,kt),onFocus:le(Jt,kt),onKeyDown:Le(Jt,kt),onMouseEnter:nt(Jt,kt),onMouseLeave:Ot(Jt,kt)},A(fr,i.options,i)):!kt.hidden&&A(Jt.date,i.options,i))})))))))),e.footer&&fe.createElement(n.Footer,{className:o[ct.Footer],style:E?.[ct.Footer],role:"status","aria-live":"polite"},e.footer)))}function FA({className:t,classNames:e,showOutsideDays:n=!0,captionLayout:r="label",buttonVariant:s="ghost",formatters:i,components:a,...o}){const u=wO();return l.jsx(K6e,{showOutsideDays:n,className:Se("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`,t),captionLayout:r,formatters:{formatMonthDropdown:h=>h.toLocaleString("default",{month:"short"}),...i},classNames:{root:Se("w-fit",u.root),months:Se("relative flex flex-col gap-4 md:flex-row",u.months),month:Se("flex w-full flex-col gap-4",u.month),nav:Se("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",u.nav),button_previous:Se(vm({variant:s}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",u.button_previous),button_next:Se(vm({variant:s}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",u.button_next),month_caption:Se("flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",u.month_caption),dropdowns:Se("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",u.dropdowns),dropdown_root:Se("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",u.dropdown_root),dropdown:Se("bg-popover absolute inset-0 opacity-0",u.dropdown),caption_label:Se("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",u.caption_label),table:"w-full border-collapse",weekdays:Se("flex",u.weekdays),weekday:Se("text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",u.weekday),week:Se("mt-2 flex w-full",u.week),week_number_header:Se("w-[--cell-size] select-none",u.week_number_header),week_number:Se("text-muted-foreground select-none text-[0.8rem]",u.week_number),day:Se("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",u.day),range_start:Se("bg-accent rounded-l-md",u.range_start),range_middle:Se("rounded-none",u.range_middle),range_end:Se("bg-accent rounded-r-md",u.range_end),today:Se("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",u.today),outside:Se("text-muted-foreground aria-selected:text-muted-foreground",u.outside),disabled:Se("text-muted-foreground opacity-50",u.disabled),hidden:Se("invisible",u.hidden),...e},components:{Root:({className:h,rootRef:f,...m})=>l.jsx("div",{"data-slot":"calendar",ref:f,className:Se(h),...m}),Chevron:({className:h,orientation:f,...m})=>f==="left"?l.jsx(vu,{className:Se("size-4",h),...m}):f==="right"?l.jsx(yu,{className:Se("size-4",h),...m}):l.jsx(gm,{className:Se("size-4",h),...m}),DayButton:J6e,WeekNumber:({children:h,...f})=>l.jsx("td",{...f,children:l.jsx("div",{className:"flex size-[--cell-size] items-center justify-center text-center",children:h})}),...a},...o})}function J6e({className:t,day:e,modifiers:n,...r}){const s=wO(),i=O.useRef(null);return O.useEffect(()=>{n.focused&&i.current?.focus()},[n.focused]),l.jsx(de,{ref:i,variant:"ghost",size:"icon","data-day":e.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:Se("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",s.day,t),...r})}class eOe{ws=null;reconnectTimeout=null;reconnectAttempts=0;maxReconnectAttempts=10;heartbeatInterval=null;logCallbacks=new Set;connectionCallbacks=new Set;isConnected=!1;logCache=[];maxCacheSize=1e3;getWebSocketUrl(){{const e=window.location.protocol==="https:"?"wss:":"ws:",n=window.location.host;return`${e}//${n}/ws/logs`}}connect(){if(this.ws?.readyState===WebSocket.OPEN||this.ws?.readyState===WebSocket.CONNECTING)return;const e=this.getWebSocketUrl();try{this.ws=new WebSocket(e),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 e=Math.min(1e3*this.reconnectAttempts,1e4);this.reconnectTimeout=window.setTimeout(()=>{this.connect()},e)}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(e){return this.logCallbacks.add(e),()=>this.logCallbacks.delete(e)}onConnectionChange(e){return this.connectionCallbacks.add(e),e(this.isConnected),()=>this.connectionCallbacks.delete(e)}notifyLog(e){this.logCache.some(r=>r.id===e.id)||(this.logCache.push(e),this.logCache.length>this.maxCacheSize&&(this.logCache=this.logCache.slice(-this.maxCacheSize)),this.logCallbacks.forEach(r=>{try{r(e)}catch(s){console.error("日志回调执行失败:",s)}}))}notifyConnection(e){this.connectionCallbacks.forEach(n=>{try{n(e)}catch(r){console.error("连接状态回调执行失败:",r)}})}getAllLogs(){return[...this.logCache]}clearLogs(){this.logCache=[]}getConnectionStatus(){return this.isConnected}}const Cd=new eOe;typeof window<"u"&&Cd.connect();const tOe={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}} 年"}},nOe=(t,e,n)=>{let r;const s=tOe[t];return typeof s=="string"?r=s:e===1?r=s.one:r=s.other.replace("{{count}}",String(e)),n?.addSuffix?n.comparison&&n.comparison>0?r+"内":r+"前":r},rOe={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},sOe={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},iOe={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},aOe={date:Ud({formats:rOe,defaultWidth:"full"}),time:Ud({formats:sOe,defaultWidth:"full"}),dateTime:Ud({formats:iOe,defaultWidth:"full"})};function $A(t,e,n){const r="eeee p";return xke(t,e,n)?r:t.getTime()>e.getTime()?"'下个'"+r:"'上个'"+r}const lOe={lastWeek:$A,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:$A,other:"PP p"},oOe=(t,e,n,r)=>{const s=lOe[t];return typeof s=="function"?s(e,n,r):s},cOe={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},uOe={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},dOe={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},hOe={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},fOe={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:"夜间"}},mOe={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:"夜间"}},pOe=(t,e)=>{const n=Number(t);switch(e?.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()}},gOe={ordinalNumber:pOe,era:Ca({values:cOe,defaultWidth:"wide"}),quarter:Ca({values:uOe,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Ca({values:dOe,defaultWidth:"wide"}),day:Ca({values:hOe,defaultWidth:"wide"}),dayPeriod:Ca({values:fOe,defaultWidth:"wide",formattingValues:mOe,defaultFormattingWidth:"wide"})},xOe=/^(第\s*)?\d+(日|时|分|秒)?/i,vOe=/\d+/i,yOe={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},bOe={any:[/^(前)/i,/^(公元)/i]},wOe={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},SOe={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},kOe={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},OOe={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]},jOe={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},NOe={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},COe={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},TOe={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},EOe={ordinalNumber:JQ({matchPattern:xOe,parsePattern:vOe,valueCallback:t=>parseInt(t,10)}),era:Ta({matchPatterns:yOe,defaultMatchWidth:"wide",parsePatterns:bOe,defaultParseWidth:"any"}),quarter:Ta({matchPatterns:wOe,defaultMatchWidth:"wide",parsePatterns:SOe,defaultParseWidth:"any",valueCallback:t=>t+1}),month:Ta({matchPatterns:kOe,defaultMatchWidth:"wide",parsePatterns:OOe,defaultParseWidth:"any"}),day:Ta({matchPatterns:jOe,defaultMatchWidth:"wide",parsePatterns:NOe,defaultParseWidth:"any"}),dayPeriod:Ta({matchPatterns:COe,defaultMatchWidth:"any",parsePatterns:TOe,defaultParseWidth:"any"})},dx={code:"zh-CN",formatDistance:nOe,formatLong:aOe,formatRelative:oOe,localize:gOe,match:EOe,options:{weekStartsOn:1,firstWeekContainsDate:4}};function _Oe(){const[t,e]=O.useState([]),[n,r]=O.useState(""),[s,i]=O.useState("all"),[a,o]=O.useState("all"),[u,h]=O.useState(void 0),[f,m]=O.useState(void 0),[g,x]=O.useState(!0),[y,w]=O.useState(!1),b=O.useRef(null);O.useEffect(()=>{const H=Cd.getAllLogs();e(H);const U=Cd.onLog(()=>{e(Cd.getAllLogs())}),te=Cd.onConnectionChange(z=>{w(z)});return()=>{U(),te()}},[]);const k=O.useMemo(()=>{const H=new Set(t.map(U=>U.module));return Array.from(H).sort()},[t]),N=H=>{switch(H){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"}},C=H=>{switch(H){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"}},T=()=>{window.location.reload()},E=()=>{Cd.clearLogs(),e([])},_=()=>{const H=B.map(W=>`${W.timestamp} [${W.level.padEnd(8)}] [${W.module}] ${W.message}`).join(` +`),U=new Blob([H],{type:"text/plain;charset=utf-8"}),te=URL.createObjectURL(U),z=document.createElement("a");z.href=te,z.download=`logs-${Qx(new Date,"yyyy-MM-dd-HHmmss")}.txt`,z.click(),URL.revokeObjectURL(te)},A=()=>{x(!g)},F=()=>{h(void 0),m(void 0)},B=O.useMemo(()=>t.filter(H=>{const U=n===""||H.message.toLowerCase().includes(n.toLowerCase())||H.module.toLowerCase().includes(n.toLowerCase()),te=s==="all"||H.level===s,z=a==="all"||H.module===a;let W=!0;if(u||f){const q=new Date(H.timestamp);if(u){const J=new Date(u);J.setHours(0,0,0,0),W=W&&q>=J}if(f){const J=new Date(f);J.setHours(23,59,59,999),W=W&&q<=J}}return U&&te&&z&&W}),[t,n,s,a,u,f]),P=Z3e({count:B.length,getScrollElement:()=>b.current,estimateSize:()=>80,overscan:10});return O.useEffect(()=>{g&&B.length>0&&P.scrollToIndex(B.length-1,{align:"end",behavior:"auto"})},[B.length,g,P]),l.jsx(yn,{className:"h-full",children:l.jsxs("div",{className:"space-y-4 p-3 sm:p-4 lg:p-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-xl sm:text-2xl lg:text-3xl font-bold",children:"日志查看器"}),l.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:"实时查看和分析麦麦运行日志"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:Se("h-2.5 w-2.5 sm:h-3 sm:w-3 rounded-full",y?"bg-green-500 animate-pulse":"bg-red-500")}),l.jsx("span",{className:"text-xs sm:text-sm text-muted-foreground",children:y?"已连接":"未连接"})]})]}),l.jsx(Ct,{className:"p-3 sm:p-4",children:l.jsxs("div",{className:"flex flex-col gap-3 sm:gap-4",children:[l.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:gap-4",children:[l.jsxs("div",{className:"flex-1 relative",children:[l.jsx(js,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),l.jsx(Re,{placeholder:"搜索日志...",value:n,onChange:H=>r(H.target.value),className:"pl-9 h-9 text-sm"})]}),l.jsxs(It,{value:s,onValueChange:i,children:[l.jsxs(Pt,{className:"w-full sm:w-[140px] lg:w-[180px] h-9 text-sm",children:[l.jsx(q5,{className:"h-4 w-4 mr-2"}),l.jsx(qt,{placeholder:"级别"})]}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"all",children:"全部级别"}),l.jsx(ze,{value:"DEBUG",children:"DEBUG"}),l.jsx(ze,{value:"INFO",children:"INFO"}),l.jsx(ze,{value:"WARNING",children:"WARNING"}),l.jsx(ze,{value:"ERROR",children:"ERROR"}),l.jsx(ze,{value:"CRITICAL",children:"CRITICAL"})]})]}),l.jsxs(It,{value:a,onValueChange:o,children:[l.jsxs(Pt,{className:"w-full sm:w-[160px] lg:w-[200px] h-9 text-sm",children:[l.jsx(q5,{className:"h-4 w-4 mr-2"}),l.jsx(qt,{placeholder:"模块"})]}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"all",children:"全部模块"}),k.map(H=>l.jsx(ze,{value:H,children:H},H))]})]})]}),l.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:gap-4",children:[l.jsxs(Wo,{children:[l.jsx(Go,{asChild:!0,children:l.jsxs(de,{variant:"outline",size:"sm",className:Se("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!u&&"text-muted-foreground"),children:[l.jsx(C8,{className:"mr-2 h-4 w-4"}),l.jsx("span",{className:"text-xs sm:text-sm",children:u?Qx(u,"PPP",{locale:dx}):"开始日期"})]})}),l.jsx(Fl,{className:"w-auto p-0",align:"start",children:l.jsx(FA,{mode:"single",selected:u,onSelect:h,initialFocus:!0,locale:dx})})]}),l.jsxs(Wo,{children:[l.jsx(Go,{asChild:!0,children:l.jsxs(de,{variant:"outline",size:"sm",className:Se("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!f&&"text-muted-foreground"),children:[l.jsx(C8,{className:"mr-2 h-4 w-4"}),l.jsx("span",{className:"text-xs sm:text-sm",children:f?Qx(f,"PPP",{locale:dx}):"结束日期"})]})}),l.jsx(Fl,{className:"w-auto p-0",align:"start",children:l.jsx(FA,{mode:"single",selected:f,onSelect:m,initialFocus:!0,locale:dx})})]}),(u||f)&&l.jsxs(de,{variant:"outline",size:"sm",onClick:F,className:"w-full sm:w-auto h-9",children:[l.jsx(s0,{className:"h-4 w-4 sm:mr-2"}),l.jsx("span",{className:"hidden sm:inline text-sm",children:"清除时间筛选"}),l.jsx("span",{className:"sm:hidden text-sm",children:"清除"})]})]}),l.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[l.jsxs("div",{className:"flex gap-2 flex-wrap",children:[l.jsxs(de,{variant:g?"default":"outline",size:"sm",onClick:A,className:"flex-1 sm:flex-none h-9",children:[g?l.jsx(HX,{className:"h-4 w-4"}):l.jsx(VX,{className:"h-4 w-4"}),l.jsx("span",{className:"ml-2 text-sm",children:g?"自动滚动":"已暂停"})]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:T,className:"flex-1 sm:flex-none h-9",children:[l.jsx(hi,{className:"h-4 w-4"}),l.jsx("span",{className:"ml-2 text-sm",children:"刷新"})]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:E,className:"flex-1 sm:flex-none h-9",children:[l.jsx(Kt,{className:"h-4 w-4"}),l.jsx("span",{className:"ml-2 text-sm",children:"清空"})]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:_,className:"flex-1 sm:flex-none h-9",children:[l.jsx(Jc,{className:"h-4 w-4"}),l.jsx("span",{className:"ml-2 text-sm",children:"导出"})]})]}),l.jsx("div",{className:"flex-1 hidden sm:block"}),l.jsxs("div",{className:"text-xs sm:text-sm text-muted-foreground flex items-center justify-center sm:justify-end",children:[l.jsxs("span",{className:"font-mono",children:[B.length," / ",t.length]}),l.jsx("span",{className:"ml-1",children:"条日志"})]})]})]})}),l.jsx(Ct,{className:"bg-black dark:bg-gray-950 border-gray-800 dark:border-gray-900",children:l.jsx(yn,{viewportRef:b,className:"h-[calc(100vh-280px)] sm:h-[calc(100vh-320px)] lg:h-[calc(100vh-400px)]",children:l.jsx("div",{className:"p-2 sm:p-3 lg:p-4 font-mono text-xs sm:text-sm relative",style:{height:`${P.getTotalSize()}px`},children:B.length===0?l.jsx("div",{className:"text-gray-500 dark:text-gray-600 text-center py-8 text-sm",children:"暂无日志数据"}):P.getVirtualItems().map(H=>{const U=B[H.index];return l.jsxs("div",{"data-index":H.index,ref:P.measureElement,className:Se("absolute top-0 left-0 w-full py-2 px-2 sm:px-3 rounded hover:bg-white/5 transition-colors group",C(U.level)),style:{transform:`translateY(${H.start}px)`},children:[l.jsxs("div",{className:"flex flex-col gap-1 sm:hidden",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"text-gray-500 dark:text-gray-600 text-xs",children:U.timestamp}),l.jsxs("span",{className:Se("text-xs font-semibold",N(U.level)),children:["[",U.level,"]"]})]}),l.jsx("div",{className:"text-cyan-400 dark:text-cyan-500 text-xs truncate",children:U.module}),l.jsx("div",{className:"text-gray-300 dark:text-gray-400 text-xs whitespace-pre-wrap break-words",children:U.message})]}),l.jsxs("div",{className:"hidden sm:flex gap-3 items-start",children:[l.jsx("span",{className:"text-gray-500 dark:text-gray-600 flex-shrink-0 w-[140px] lg:w-[180px] text-xs lg:text-sm",children:U.timestamp}),l.jsxs("span",{className:Se("flex-shrink-0 w-[70px] lg:w-[80px] font-semibold text-xs lg:text-sm",N(U.level)),children:["[",U.level,"]"]}),l.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:U.module}),l.jsx("span",{className:"text-gray-300 dark:text-gray-400 flex-1 whitespace-pre-wrap break-words text-xs lg:text-sm",children:U.message})]})]},H.key)})})})})]})})}const MOe="Mai-with-u",AOe="plugin-repo",ROe="main",DOe="plugin_details.json";async function zOe(){try{const t=await yt("/api/webui/plugins/fetch-raw",{method:"POST",headers:Et(),body:JSON.stringify({owner:MOe,repo:AOe,branch:ROe,file_path:DOe})});if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);const e=await t.json();if(!e.success||!e.data)throw new Error(e.error||"获取插件列表失败");return JSON.parse(e.data).filter(s=>!s?.id||!s?.manifest?(console.warn("跳过无效插件数据:",s),!1):!s.manifest.name||!s.manifest.version?(console.warn("跳过缺少必需字段的插件:",s.id),!1):!0).map(s=>({id:s.id,manifest:{manifest_version:s.manifest.manifest_version||1,name:s.manifest.name,version:s.manifest.version,description:s.manifest.description||"",author:s.manifest.author||{name:"Unknown"},license:s.manifest.license||"Unknown",host_application:s.manifest.host_application||{min_version:"0.0.0"},homepage_url:s.manifest.homepage_url,repository_url:s.manifest.repository_url,keywords:s.manifest.keywords||[],categories:s.manifest.categories||[],default_locale:s.manifest.default_locale||"zh-CN",locales_path:s.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!1,published_at:new Date().toISOString(),updated_at:new Date().toISOString()}))}catch(t){throw console.error("Failed to fetch plugin list:",t),t}}async function POe(){try{const t=await yt("/api/webui/plugins/git-status");if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return await t.json()}catch(t){return console.error("Failed to check Git status:",t),{installed:!1,error:"无法检测 Git 安装状态"}}}async function LOe(){try{const t=await yt("/api/webui/plugins/version");if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return await t.json()}catch(t){return console.error("Failed to get Maimai version:",t),{version:"0.0.0",version_major:0,version_minor:0,version_patch:0}}}function BOe(t,e,n){const r=t.split(".").map(o=>parseInt(o)||0),s=r[0]||0,i=r[1]||0,a=r[2]||0;if(n.version_majorparseInt(m)||0),u=o[0]||0,h=o[1]||0,f=o[2]||0;if(n.version_major>u||n.version_major===u&&n.version_minor>h||n.version_major===u&&n.version_minor===h&&n.version_patch>f)return!1}return!0}function IOe(t,e){const n=window.location.protocol==="https:"?"wss:":"ws:",r=window.location.host,s=new WebSocket(`${n}//${r}/api/webui/ws/plugin-progress`);return s.onopen=()=>{console.log("Plugin progress WebSocket connected");const i=setInterval(()=>{s.readyState===WebSocket.OPEN?s.send("ping"):clearInterval(i)},3e4)},s.onmessage=i=>{try{if(i.data==="pong")return;const a=JSON.parse(i.data);t(a)}catch(a){console.error("Failed to parse progress data:",a)}},s.onerror=i=>{console.error("Plugin progress WebSocket error:",i),e?.(i)},s.onclose=()=>{console.log("Plugin progress WebSocket disconnected")},s}async function hx(){try{const t=await yt("/api/webui/plugins/installed",{headers:Et()});if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);const e=await t.json();if(!e.success)throw new Error(e.message||"获取已安装插件列表失败");return e.plugins||[]}catch(t){return console.error("Failed to get installed plugins:",t),[]}}function fx(t,e){return e.some(n=>n.id===t)}function mx(t,e){const n=e.find(r=>r.id===t);if(n)return n.manifest?.version||n.version}async function qOe(t,e,n="main"){const r=await yt("/api/webui/plugins/install",{method:"POST",headers:Et(),body:JSON.stringify({plugin_id:t,repository_url:e,branch:n})});if(!r.ok){const s=await r.json();throw new Error(s.detail||"安装失败")}return await r.json()}async function FOe(t){const e=await yt("/api/webui/plugins/uninstall",{method:"POST",headers:Et(),body:JSON.stringify({plugin_id:t})});if(!e.ok){const n=await e.json();throw new Error(n.detail||"卸载失败")}return await e.json()}async function $Oe(t,e,n="main"){const r=await yt("/api/webui/plugins/update",{method:"POST",headers:Et(),body:JSON.stringify({plugin_id:t,repository_url:e,branch:n})});if(!r.ok){const s=await r.json();throw new Error(s.detail||"更新失败")}return await r.json()}const I0="https://maibot-plugin-stats.maibot-webui.workers.dev";async function xH(t){try{const e=await fetch(`${I0}/stats/${t}`);return e.ok?await e.json():(console.error("Failed to fetch plugin stats:",e.statusText),null)}catch(e){return console.error("Error fetching plugin stats:",e),null}}async function QOe(t,e){try{const n=e||SO(),r=await fetch(`${I0}/stats/like`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plugin_id:t,user_id:n})}),s=await r.json();return r.status===429?{success:!1,error:"操作过于频繁,请稍后再试"}:r.ok?{success:!0,...s}:{success:!1,error:s.error||"点赞失败"}}catch(n){return console.error("Error liking plugin:",n),{success:!1,error:"网络错误"}}}async function HOe(t,e){try{const n=e||SO(),r=await fetch(`${I0}/stats/dislike`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plugin_id:t,user_id:n})}),s=await r.json();return r.status===429?{success:!1,error:"操作过于频繁,请稍后再试"}:r.ok?{success:!0,...s}:{success:!1,error:s.error||"点踩失败"}}catch(n){return console.error("Error disliking plugin:",n),{success:!1,error:"网络错误"}}}async function VOe(t,e,n,r){if(e<1||e>5)return{success:!1,error:"评分必须在 1-5 之间"};try{const s=r||SO(),i=await fetch(`${I0}/stats/rate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plugin_id:t,rating:e,comment:n,user_id:s})}),a=await i.json();return i.status===429?{success:!1,error:"每天最多评分 3 次"}:i.ok?{success:!0,...a}:{success:!1,error:a.error||"评分失败"}}catch(s){return console.error("Error rating plugin:",s),{success:!1,error:"网络错误"}}}async function UOe(t){try{const e=await fetch(`${I0}/stats/download`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plugin_id:t})}),n=await e.json();return e.status===429?(console.warn("Download recording rate limited"),{success:!0}):e.ok?{success:!0,...n}:(console.error("Failed to record download:",n.error),{success:!1,error:n.error})}catch(e){return console.error("Error recording download:",e),{success:!1,error:"网络错误"}}}function WOe(){const t=navigator,e=[navigator.userAgent,navigator.language,navigator.languages?.join(",")||"",navigator.platform,navigator.hardwareConcurrency||0,screen.width,screen.height,screen.colorDepth,screen.pixelDepth,new Date().getTimezoneOffset(),Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.maxTouchPoints||0,t.deviceMemory||0].join("|");let n=0;for(let r=0;r{i(!0);const k=await xH(t);k&&r(k),i(!1)};O.useEffect(()=>{x()},[t]);const y=async()=>{const k=await QOe(t);k.success?(g({title:"已点赞",description:"感谢你的支持!"}),x()):g({title:"点赞失败",description:k.error||"未知错误",variant:"destructive"})},w=async()=>{const k=await HOe(t);k.success?(g({title:"已反馈",description:"感谢你的反馈!"}),x()):g({title:"操作失败",description:k.error||"未知错误",variant:"destructive"})},b=async()=>{if(a===0){g({title:"请选择评分",description:"至少选择 1 颗星",variant:"destructive"});return}const k=await VOe(t,a,u||void 0);k.success?(g({title:"评分成功",description:"感谢你的评价!"}),m(!1),o(0),h(""),x()):g({title:"评分失败",description:k.error||"未知错误",variant:"destructive"})};return s?l.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx(Jc,{className:"h-4 w-4"}),l.jsx("span",{children:"-"})]}),l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx(zo,{className:"h-4 w-4"}),l.jsx("span",{children:"-"})]})]}):n?e?l.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[l.jsxs("div",{className:"flex items-center gap-1",title:`下载量: ${n.downloads.toLocaleString()}`,children:[l.jsx(Jc,{className:"h-4 w-4"}),l.jsx("span",{children:n.downloads.toLocaleString()})]}),l.jsxs("div",{className:"flex items-center gap-1",title:`评分: ${n.rating.toFixed(1)} (${n.rating_count} 条评价)`,children:[l.jsx(zo,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),l.jsx("span",{children:n.rating.toFixed(1)})]}),l.jsxs("div",{className:"flex items-center gap-1",title:`点赞数: ${n.likes}`,children:[l.jsx(c2,{className:"h-4 w-4"}),l.jsx("span",{children:n.likes})]})]}):l.jsxs("div",{className:"space-y-4",children:[l.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:[l.jsxs("div",{className:"flex flex-col items-center p-3 rounded-lg border bg-card",children:[l.jsx(Jc,{className:"h-5 w-5 text-muted-foreground mb-1"}),l.jsx("span",{className:"text-2xl font-bold",children:n.downloads.toLocaleString()}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"下载量"})]}),l.jsxs("div",{className:"flex flex-col items-center p-3 rounded-lg border bg-card",children:[l.jsx(zo,{className:"h-5 w-5 text-yellow-400 mb-1 fill-yellow-400"}),l.jsx("span",{className:"text-2xl font-bold",children:n.rating.toFixed(1)}),l.jsxs("span",{className:"text-xs text-muted-foreground",children:[n.rating_count," 条评价"]})]}),l.jsxs("div",{className:"flex flex-col items-center p-3 rounded-lg border bg-card",children:[l.jsx(c2,{className:"h-5 w-5 text-green-500 mb-1"}),l.jsx("span",{className:"text-2xl font-bold",children:n.likes}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"点赞"})]}),l.jsxs("div",{className:"flex flex-col items-center p-3 rounded-lg border bg-card",children:[l.jsx(T8,{className:"h-5 w-5 text-red-500 mb-1"}),l.jsx("span",{className:"text-2xl font-bold",children:n.dislikes}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"点踩"})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs(de,{variant:"outline",size:"sm",onClick:y,children:[l.jsx(c2,{className:"h-4 w-4 mr-1"}),"点赞"]}),l.jsxs(de,{variant:"outline",size:"sm",onClick:w,children:[l.jsx(T8,{className:"h-4 w-4 mr-1"}),"点踩"]}),l.jsxs(Mr,{open:f,onOpenChange:m,children:[l.jsx(wk,{asChild:!0,children:l.jsxs(de,{variant:"default",size:"sm",children:[l.jsx(zo,{className:"h-4 w-4 mr-1"}),"评分"]})}),l.jsxs(vr,{children:[l.jsxs(yr,{children:[l.jsx(br,{children:"为插件评分"}),l.jsx(as,{children:"分享你的使用体验,帮助其他用户"})]}),l.jsxs("div",{className:"space-y-4 py-4",children:[l.jsxs("div",{className:"flex flex-col items-center gap-2",children:[l.jsx("div",{className:"flex gap-2",children:[1,2,3,4,5].map(k=>l.jsx("button",{onClick:()=>o(k),className:"focus:outline-none",children:l.jsx(zo,{className:`h-8 w-8 transition-colors ${k<=a?"fill-yellow-400 text-yellow-400":"text-muted-foreground hover:text-yellow-300"}`})},k))}),l.jsxs("span",{className:"text-sm text-muted-foreground",children:[a===0&&"点击星星进行评分",a===1&&"很差",a===2&&"一般",a===3&&"还行",a===4&&"不错",a===5&&"非常好"]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"text-sm font-medium mb-2 block",children:"评论(可选)"}),l.jsx(Rn,{value:u,onChange:k=>h(k.target.value),placeholder:"分享你的使用体验...",rows:4,maxLength:500}),l.jsxs("div",{className:"text-xs text-muted-foreground mt-1 text-right",children:[u.length," / 500"]})]})]}),l.jsxs(Ns,{children:[l.jsx(de,{variant:"outline",onClick:()=>m(!1),children:"取消"}),l.jsx(de,{onClick:b,disabled:a===0,children:"提交评分"})]})]})]})]}),n.recent_ratings&&n.recent_ratings.length>0&&l.jsxs("div",{className:"space-y-2",children:[l.jsx("h4",{className:"text-sm font-semibold",children:"最近评价"}),l.jsx("div",{className:"space-y-3",children:n.recent_ratings.map((k,N)=>l.jsxs("div",{className:"p-3 rounded-lg border bg-muted/50",children:[l.jsxs("div",{className:"flex items-center justify-between mb-2",children:[l.jsx("div",{className:"flex gap-1",children:[1,2,3,4,5].map(C=>l.jsx(zo,{className:`h-3 w-3 ${C<=k.rating?"fill-yellow-400 text-yellow-400":"text-muted-foreground"}`},C))}),l.jsx("span",{className:"text-xs text-muted-foreground",children:new Date(k.created_at).toLocaleDateString()})]}),k.comment&&l.jsx("p",{className:"text-sm text-muted-foreground",children:k.comment})]},N))})]})]}):null}const QA={"Group Management":"群组管理","Entertainment & Interaction":"娱乐互动","Utility Tools":"实用工具","Content Generation":"内容生成",Multimedia:"多媒体","External Integration":"外部集成","Data Analysis & Insights":"数据分析与洞察",Other:"其他"};function XOe(){const t=aa(),[e,n]=O.useState(null),[r,s]=O.useState(""),[i,a]=O.useState("all"),[o,u]=O.useState("all"),[h,f]=O.useState(!0),[m,g]=O.useState([]),[x,y]=O.useState(!0),[w,b]=O.useState(null),[k,N]=O.useState(null),[C,T]=O.useState(null),[E,_]=O.useState(null),[,A]=O.useState([]),[F,B]=O.useState({}),{toast:P}=$r(),H=async R=>{const re=R.map(async Q=>{try{const $=await xH(Q.id);return{id:Q.id,stats:$}}catch($){return console.warn(`Failed to load stats for ${Q.id}:`,$),{id:Q.id,stats:null}}}),K=await Promise.all(re),I={};K.forEach(({id:Q,stats:$})=>{$&&(I[Q]=$)}),B(I)};O.useEffect(()=>{let R=null,re=!1;return(async()=>{if(R=IOe(I=>{re||(T(I),I.stage==="success"?setTimeout(()=>{re||T(null)},2e3):I.stage==="error"&&(y(!1),b(I.error||"加载失败")))},I=>{console.error("WebSocket error:",I),re||P({title:"WebSocket 连接失败",description:"无法实时显示加载进度",variant:"destructive"})}),await new Promise(I=>{if(!R){I();return}const Q=()=>{R&&R.readyState===WebSocket.OPEN?(console.log("WebSocket connected, starting to load plugins"),I()):R&&R.readyState===WebSocket.CLOSED?(console.warn("WebSocket closed before loading plugins"),I()):setTimeout(Q,100)};Q()}),!re){const I=await POe();N(I),I.installed||P({title:"Git 未安装",description:I.error||"请先安装 Git 才能使用插件安装功能",variant:"destructive"})}if(!re){const I=await LOe();_(I)}if(!re)try{y(!0),b(null);const I=await zOe();if(!re){const Q=await hx();A(Q);const $=I.map(Z=>{const ne=fx(Z.id,Q),ge=mx(Z.id,Q);return{...Z,installed:ne,installed_version:ge}});for(const Z of Q)!$.some(ge=>ge.id===Z.id)&&Z.manifest&&$.push({id:Z.id,manifest:{manifest_version:Z.manifest.manifest_version||1,name:Z.manifest.name,version:Z.manifest.version,description:Z.manifest.description||"",author:Z.manifest.author,license:Z.manifest.license||"Unknown",host_application:Z.manifest.host_application,homepage_url:Z.manifest.homepage_url,repository_url:Z.manifest.repository_url,keywords:Z.manifest.keywords||[],categories:Z.manifest.categories||[],default_locale:Z.manifest.default_locale||"zh-CN",locales_path:Z.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!0,installed_version:Z.manifest.version,published_at:new Date().toISOString(),updated_at:new Date().toISOString()});g($),H($)}}catch(I){if(!re){const Q=I instanceof Error?I.message:"加载插件列表失败";b(Q),P({title:"加载失败",description:Q,variant:"destructive"})}}finally{re||y(!1)}})(),()=>{re=!0,R&&R.close()}},[P]);const U=R=>{if(!R.installed&&E&&!te(R))return l.jsxs(kn,{variant:"destructive",className:"gap-1",children:[l.jsx(su,{className:"h-3 w-3"}),"不兼容"]});if(R.installed){const re=R.installed_version?.trim(),K=R.manifest.version?.trim();if(re!==K){const I=re?.split(".").map(Number)||[0,0,0],Q=K?.split(".").map(Number)||[0,0,0];for(let $=0;$<3;$++){if((Q[$]||0)>(I[$]||0))return l.jsxs(kn,{variant:"outline",className:"gap-1 text-orange-600 border-orange-600",children:[l.jsx(su,{className:"h-3 w-3"}),"可更新"]});if((Q[$]||0)<(I[$]||0))break}}return l.jsxs(kn,{variant:"default",className:"gap-1",children:[l.jsx(Ea,{className:"h-3 w-3"}),"已安装"]})}return null},te=R=>!E||!R.manifest?.host_application?!0:BOe(R.manifest.host_application.min_version,R.manifest.host_application.max_version,E),z=R=>{if(!R.installed||!R.installed_version||!R.manifest?.version)return!1;const re=R.installed_version.trim(),K=R.manifest.version.trim();if(re===K)return!1;const I=re.split(".").map(Number),Q=K.split(".").map(Number);for(let $=0;$<3;$++){if((Q[$]||0)>(I[$]||0))return!0;if((Q[$]||0)<(I[$]||0))return!1}return!1},W=m.filter(R=>{if(!R.manifest)return console.warn("[过滤] 跳过无 manifest 的插件:",R.id),!1;const re=r===""||R.manifest.name?.toLowerCase().includes(r.toLowerCase())||R.manifest.description?.toLowerCase().includes(r.toLowerCase())||R.manifest.keywords&&R.manifest.keywords.some($=>$.toLowerCase().includes(r.toLowerCase())),K=i==="all"||R.manifest.categories&&R.manifest.categories.includes(i);let I=!0;o==="installed"?I=R.installed===!0:o==="updates"&&(I=R.installed===!0&&z(R));const Q=!h||!E||te(R);return re&&K&&I&&Q}),q=()=>{n(null)},J=async R=>{if(!k?.installed){P({title:"无法安装",description:"Git 未安装",variant:"destructive"});return}if(E&&!te(R)){P({title:"无法安装",description:"插件与当前麦麦版本不兼容",variant:"destructive"});return}try{await qOe(R.id,R.manifest.repository_url||"","main"),UOe(R.id).catch(K=>{console.warn("Failed to record download:",K)}),P({title:"安装成功",description:`${R.manifest.name} 已成功安装`});const re=await hx();A(re),g(K=>K.map(I=>{if(I.id===R.id){const Q=fx(I.id,re),$=mx(I.id,re);return{...I,installed:Q,installed_version:$}}return I}))}catch(re){P({title:"安装失败",description:re instanceof Error?re.message:"未知错误",variant:"destructive"})}},ee=async R=>{try{await FOe(R.id),P({title:"卸载成功",description:`${R.manifest.name} 已成功卸载`});const re=await hx();A(re),g(K=>K.map(I=>{if(I.id===R.id){const Q=fx(I.id,re),$=mx(I.id,re);return{...I,installed:Q,installed_version:$}}return I}))}catch(re){P({title:"卸载失败",description:re instanceof Error?re.message:"未知错误",variant:"destructive"})}},Y=async R=>{if(!k?.installed){P({title:"无法更新",description:"Git 未安装",variant:"destructive"});return}try{const re=await $Oe(R.id,R.manifest.repository_url||"","main");P({title:"更新成功",description:`${R.manifest.name} 已从 ${re.old_version} 更新到 ${re.new_version}`});const K=await hx();A(K),g(I=>I.map(Q=>{if(Q.id===R.id){const $=fx(Q.id,K),Z=mx(Q.id,K);return{...Q,installed:$,installed_version:Z}}return Q}))}catch(re){P({title:"更新失败",description:re instanceof Error?re.message:"未知错误",variant:"destructive"})}};return l.jsx(yn,{className:"h-full",children:l.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件市场"}),l.jsx("p",{className:"text-muted-foreground mt-2",children:"浏览和管理麦麦的插件"})]}),l.jsxs(de,{onClick:()=>t({to:"/plugin-mirrors"}),children:[l.jsx(UX,{className:"h-4 w-4 mr-2"}),"配置镜像源"]})]}),k&&!k.installed&&l.jsxs(Ct,{className:"border-orange-600 bg-orange-50 dark:bg-orange-950/20",children:[l.jsx(xn,{children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(Rd,{className:"h-5 w-5 text-orange-600"}),l.jsxs("div",{children:[l.jsx(vn,{className:"text-lg text-orange-900 dark:text-orange-100",children:"Git 未安装"}),l.jsx(Lr,{className:"text-orange-800 dark:text-orange-200",children:k.error||"请先安装 Git 才能使用插件安装功能"})]})]})}),l.jsx(Tn,{children:l.jsxs("p",{className:"text-sm text-orange-800 dark:text-orange-200",children:["您可以从 ",l.jsx("a",{href:"https://git-scm.com/downloads",target:"_blank",rel:"noopener noreferrer",className:"underline font-medium",children:"git-scm.com"})," 下载并安装 Git。 安装完成后,请重启麦麦应用。"]})})]}),l.jsx(Ct,{className:"p-4",children:l.jsxs("div",{className:"flex flex-col gap-4",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[l.jsxs("div",{className:"flex-1 relative",children:[l.jsx(js,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),l.jsx(Re,{placeholder:"搜索插件...",value:r,onChange:R=>s(R.target.value),className:"pl-9"})]}),l.jsxs(It,{value:i,onValueChange:a,children:[l.jsx(Pt,{className:"w-full sm:w-[200px]",children:l.jsx(qt,{placeholder:"选择分类"})}),l.jsxs(Lt,{children:[l.jsx(ze,{value:"all",children:"全部分类"}),l.jsx(ze,{value:"Group Management",children:"群组管理"}),l.jsx(ze,{value:"Entertainment & Interaction",children:"娱乐互动"}),l.jsx(ze,{value:"Utility Tools",children:"实用工具"}),l.jsx(ze,{value:"Content Generation",children:"内容生成"}),l.jsx(ze,{value:"Multimedia",children:"多媒体"}),l.jsx(ze,{value:"External Integration",children:"外部集成"}),l.jsx(ze,{value:"Data Analysis & Insights",children:"数据分析与洞察"}),l.jsx(ze,{value:"Other",children:"其他"})]})]})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(ms,{id:"compatible-only",checked:h,onCheckedChange:R=>f(R===!0)}),l.jsx("label",{htmlFor:"compatible-only",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer",children:"只显示兼容当前版本的插件"})]})]})}),l.jsx(ql,{value:o,onValueChange:u,className:"w-full",children:l.jsxs(La,{className:"grid w-full grid-cols-3",children:[l.jsxs(Zt,{value:"all",children:["全部插件 (",m.filter(R=>{if(!R.manifest)return!1;const re=r===""||R.manifest.name?.toLowerCase().includes(r.toLowerCase())||R.manifest.description?.toLowerCase().includes(r.toLowerCase())||R.manifest.keywords&&R.manifest.keywords.some(Q=>Q.toLowerCase().includes(r.toLowerCase())),K=i==="all"||R.manifest.categories&&R.manifest.categories.includes(i),I=!h||!E||te(R);return re&&K&&I}).length,")"]}),l.jsxs(Zt,{value:"installed",children:["已安装 (",m.filter(R=>{if(!R.manifest)return!1;const re=r===""||R.manifest.name?.toLowerCase().includes(r.toLowerCase())||R.manifest.description?.toLowerCase().includes(r.toLowerCase())||R.manifest.keywords&&R.manifest.keywords.some(Q=>Q.toLowerCase().includes(r.toLowerCase())),K=i==="all"||R.manifest.categories&&R.manifest.categories.includes(i),I=!h||!E||te(R);return R.installed&&re&&K&&I}).length,")"]}),l.jsxs(Zt,{value:"updates",children:["可更新 (",m.filter(R=>{if(!R.manifest)return!1;const re=r===""||R.manifest.name?.toLowerCase().includes(r.toLowerCase())||R.manifest.description?.toLowerCase().includes(r.toLowerCase())||R.manifest.keywords&&R.manifest.keywords.some(Q=>Q.toLowerCase().includes(r.toLowerCase())),K=i==="all"||R.manifest.categories&&R.manifest.categories.includes(i),I=!h||!E||te(R);return R.installed&&z(R)&&re&&K&&I}).length,")"]})]})}),C&&C.stage==="loading"&&l.jsx(Ct,{className:"p-4",children:l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(xm,{className:"h-4 w-4 animate-spin"}),l.jsxs("span",{className:"text-sm font-medium",children:[C.operation==="fetch"&&"加载插件列表",C.operation==="install"&&`安装插件${C.plugin_id?`: ${C.plugin_id}`:""}`,C.operation==="uninstall"&&`卸载插件${C.plugin_id?`: ${C.plugin_id}`:""}`,C.operation==="update"&&`更新插件${C.plugin_id?`: ${C.plugin_id}`:""}`]})]}),l.jsxs("span",{className:"text-sm font-medium",children:[C.progress,"%"]})]}),l.jsx(h0,{value:C.progress,className:"h-2"}),l.jsx("div",{className:"text-xs text-muted-foreground",children:C.message}),C.operation==="fetch"&&C.total_plugins>0&&l.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["已加载 ",C.loaded_plugins," / ",C.total_plugins," 个插件"]})]})}),C&&C.stage==="error"&&C.error&&l.jsx(Ct,{className:"border-destructive bg-destructive/10",children:l.jsx(xn,{children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(Rd,{className:"h-5 w-5 text-destructive"}),l.jsxs("div",{children:[l.jsx(vn,{className:"text-lg text-destructive",children:"加载失败"}),l.jsx(Lr,{className:"text-destructive/80",children:C.error})]})]})})}),x?l.jsxs("div",{className:"flex items-center justify-center py-12",children:[l.jsx(xm,{className:"h-8 w-8 animate-spin text-muted-foreground"}),l.jsx("span",{className:"ml-3 text-muted-foreground",children:"加载插件列表中..."})]}):w?l.jsx(Ct,{className:"p-6",children:l.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[l.jsx(Rd,{className:"h-12 w-12 text-destructive mb-4"}),l.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),l.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:w}),l.jsx(de,{onClick:()=>window.location.reload(),children:"重新加载"})]})}):W.length===0?l.jsx(Ct,{className:"p-6",children:l.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[l.jsx(js,{className:"h-12 w-12 text-muted-foreground mb-4"}),l.jsx("h3",{className:"text-lg font-semibold mb-2",children:"未找到插件"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:r||i!=="all"?"尝试调整搜索条件或筛选器":"暂无可用插件"})]})}):l.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:W.map(R=>l.jsxs(Ct,{className:"flex flex-col hover:shadow-lg transition-shadow h-full",children:[l.jsxs(xn,{children:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsx(vn,{className:"text-xl",children:R.manifest?.name||R.id}),l.jsxs("div",{className:"flex flex-col gap-1",children:[R.manifest?.categories&&R.manifest.categories[0]&&l.jsx(kn,{variant:"secondary",className:"text-xs whitespace-nowrap",children:QA[R.manifest.categories[0]]||R.manifest.categories[0]}),U(R)]})]}),l.jsx(Lr,{className:"line-clamp-2",children:R.manifest?.description||"无描述"})]}),l.jsx(Tn,{className:"flex-1",children:l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx(Jc,{className:"h-4 w-4"}),l.jsx("span",{children:(F[R.id]?.downloads??R.downloads??0).toLocaleString()})]}),l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx(zo,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),l.jsx("span",{children:(F[R.id]?.rating??R.rating??0).toFixed(1)})]})]}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[R.manifest?.keywords&&R.manifest.keywords.slice(0,3).map(re=>l.jsx(kn,{variant:"outline",className:"text-xs",children:re},re)),R.manifest?.keywords&&R.manifest.keywords.length>3&&l.jsxs(kn,{variant:"outline",className:"text-xs",children:["+",R.manifest.keywords.length-3]})]}),l.jsxs("div",{className:"text-xs text-muted-foreground pt-2 border-t space-y-1",children:[l.jsxs("div",{children:["v",R.manifest?.version||"unknown"," · ",R.manifest?.author?.name||"Unknown"]}),R.manifest?.host_application&&l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("span",{children:"支持:"}),l.jsxs("span",{className:"font-medium",children:[R.manifest.host_application.min_version,R.manifest.host_application.max_version?` - ${R.manifest.host_application.max_version}`:" - 最新版本"]})]})]})]})}),l.jsx(xD,{className:"pt-4",children:l.jsxs("div",{className:"flex items-center justify-end gap-2 w-full",children:[l.jsx(de,{variant:"outline",size:"sm",onClick:()=>n(R),children:"查看详情"}),R.installed?z(R)?l.jsxs(de,{size:"sm",disabled:!k?.installed,title:k?.installed?void 0:"Git 未安装",onClick:()=>Y(R),children:[l.jsx(hi,{className:"h-4 w-4 mr-1"}),"更新"]}):l.jsxs(de,{variant:"destructive",size:"sm",disabled:!k?.installed,title:k?.installed?void 0:"Git 未安装",onClick:()=>ee(R),children:[l.jsx(Kt,{className:"h-4 w-4 mr-1"}),"卸载"]}):l.jsxs(de,{size:"sm",disabled:!k?.installed||C?.operation==="install"||E!==null&&!te(R),title:k?.installed?E!==null&&!te(R)?`不兼容当前版本 (需要 ${R.manifest?.host_application?.min_version||"未知"}${R.manifest?.host_application?.max_version?` - ${R.manifest.host_application.max_version}`:"+"},当前 ${E?.version})`:void 0:"Git 未安装",onClick:()=>J(R),children:[l.jsx(Jc,{className:"h-4 w-4 mr-1"}),C?.operation==="install"&&C?.plugin_id===R.id?"安装中...":"安装"]})]})})]},R.id))}),l.jsx(Mr,{open:e!==null,onOpenChange:q,children:e&&e.manifest&&l.jsxs(vr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[l.jsx(yr,{children:l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsxs("div",{className:"space-y-2 flex-1",children:[l.jsx(br,{className:"text-2xl",children:e.manifest.name}),l.jsxs(as,{children:["作者: ",e.manifest.author?.name||"Unknown",e.manifest.author?.url&&l.jsx("a",{href:e.manifest.author.url,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-primary hover:underline",children:l.jsx(nm,{className:"h-3 w-3 inline"})})]})]}),l.jsxs("div",{className:"flex flex-col gap-2",children:[e.manifest.categories&&e.manifest.categories[0]&&l.jsx(kn,{variant:"secondary",children:QA[e.manifest.categories[0]]||e.manifest.categories[0]}),U(e)]})]})}),l.jsxs("div",{className:"space-y-6",children:[l.jsx(GOe,{pluginId:e.id}),l.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium",children:"版本"}),l.jsxs("p",{className:"text-sm text-muted-foreground",children:["v",e.manifest?.version||"unknown"]}),e.installed&&e.installed_version&&l.jsxs("p",{className:"text-xs text-muted-foreground",children:["已安装: v",e.installed_version]})]}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium",children:"下载量"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:(F[e.id]?.downloads??e.downloads??0).toLocaleString()})]}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium",children:"评分"}),l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx(zo,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),l.jsxs("span",{className:"text-sm text-muted-foreground",children:[(F[e.id]?.rating??e.rating??0).toFixed(1)," (",F[e.id]?.rating_count??e.review_count??0,")"]})]})]}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium",children:"许可证"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:e.manifest.license||"Unknown"})]}),l.jsxs("div",{className:"col-span-2",children:[l.jsx("p",{className:"text-sm font-medium",children:"支持版本"}),l.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.manifest.host_application?.min_version||"未知",e.manifest.host_application?.max_version?` - ${e.manifest.host_application.max_version}`:" - 最新版本"]})]})]}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium mb-2",children:"关键词"}),l.jsx("div",{className:"flex flex-wrap gap-2",children:e.manifest.keywords&&e.manifest.keywords.map(R=>l.jsx(kn,{variant:"outline",children:R},R))})]}),e.detailed_description&&l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium mb-2",children:"详细说明"}),l.jsx("p",{className:"text-sm text-muted-foreground whitespace-pre-line",children:e.detailed_description})]}),!e.detailed_description&&l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium mb-2",children:"说明"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:e.manifest.description||"无描述"})]}),l.jsxs("div",{className:"space-y-2",children:[e.manifest.homepage_url&&l.jsxs("div",{className:"text-sm",children:[l.jsx("span",{className:"font-medium",children:"主页: "}),l.jsx("a",{href:e.manifest.homepage_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:e.manifest.homepage_url})]}),e.manifest.repository_url&&l.jsxs("div",{className:"text-sm",children:[l.jsx("span",{className:"font-medium",children:"仓库: "}),l.jsx("a",{href:e.manifest.repository_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:e.manifest.repository_url})]})]})]}),l.jsxs(Ns,{children:[e.manifest.homepage_url&&l.jsxs(de,{onClick:()=>window.open(e.manifest.homepage_url,"_blank"),children:[l.jsx(nm,{className:"h-4 w-4 mr-2"}),"访问主页"]}),e.manifest.repository_url&&l.jsxs(de,{variant:"outline",onClick:()=>window.open(e.manifest.repository_url,"_blank"),children:[l.jsx(nm,{className:"h-4 w-4 mr-2"}),"查看仓库"]})]})]})})]})})}function YOe(){return l.jsx(yn,{className:"h-full",children:l.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件配置"}),l.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理和配置已安装的插件"})]}),l.jsxs("div",{className:"flex gap-2",children:[l.jsxs(de,{variant:"outline",size:"sm",children:[l.jsx(hi,{className:"h-4 w-4 mr-2"}),"刷新"]}),l.jsxs(de,{size:"sm",children:[l.jsx(Zc,{className:"h-4 w-4 mr-2"}),"全局设置"]})]})]}),l.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"已安装插件"}),l.jsx(Wx,{className:"h-4 w-4 text-muted-foreground"})]}),l.jsxs(Tn,{children:[l.jsx("div",{className:"text-2xl font-bold",children:"0"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"正在加载..."})]})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"已启用"}),l.jsx(Ea,{className:"h-4 w-4 text-green-600"})]}),l.jsxs(Tn,{children:[l.jsx("div",{className:"text-2xl font-bold",children:"0"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"运行中的插件"})]})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"已禁用"}),l.jsx(su,{className:"h-4 w-4 text-orange-600"})]}),l.jsxs(Tn,{children:[l.jsx("div",{className:"text-2xl font-bold",children:"0"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"未激活的插件"})]})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[l.jsx(vn,{className:"text-sm font-medium",children:"可更新"}),l.jsx(hi,{className:"h-4 w-4 text-blue-600"})]}),l.jsxs(Tn,{children:[l.jsx("div",{className:"text-2xl font-bold",children:"0"}),l.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"有新版本可用"})]})]})]}),l.jsxs(Ct,{children:[l.jsxs(xn,{children:[l.jsx(vn,{children:"已安装的插件"}),l.jsx(Lr,{children:"查看和管理已安装插件的配置"})]}),l.jsx(Tn,{children:l.jsxs("div",{className:"flex flex-col items-center justify-center py-12 space-y-4",children:[l.jsx(Wx,{className:"h-16 w-16 text-muted-foreground/50"}),l.jsxs("div",{className:"text-center space-y-2",children:[l.jsx("p",{className:"text-lg font-medium text-muted-foreground",children:"插件配置功能开发中"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"即将支持插件的启用/禁用、参数配置等功能"})]}),l.jsx("div",{className:"flex gap-2",children:l.jsx(de,{variant:"outline",asChild:!0,children:l.jsxs("a",{href:"/plugins",children:[l.jsx(nm,{className:"h-4 w-4 mr-2"}),"前往插件市场"]})})})]})})]}),l.jsx(Ct,{className:"border-blue-200 bg-blue-50 dark:bg-blue-950/20 dark:border-blue-900",children:l.jsx(Tn,{className:"pt-6",children:l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx(su,{className:"h-5 w-5 text-blue-600 mt-0.5 flex-shrink-0"}),l.jsxs("div",{className:"space-y-1",children:[l.jsx("p",{className:"text-sm font-medium text-blue-900 dark:text-blue-100",children:"开发进行中"}),l.jsxs("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:["插件配置功能正在积极开发中。目前您可以通过",l.jsx("strong",{children:"插件市场"}),"安装和卸载插件,完整的配置管理功能即将推出。"]})]})]})})})]})})}function ZOe(){const t=aa(),{toast:e}=$r(),[n,r]=O.useState([]),[s,i]=O.useState(!0),[a,o]=O.useState(null),[u,h]=O.useState(null),[f,m]=O.useState(!1),[g,x]=O.useState(!1),[y,w]=O.useState({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),b=O.useCallback(async()=>{try{i(!0),o(null);const A=localStorage.getItem("access-token"),F=await fetch("/api/webui/plugins/mirrors",{headers:{Authorization:`Bearer ${A}`}});if(!F.ok)throw new Error("获取镜像源列表失败");const B=await F.json();r(B.mirrors||[])}catch(A){const F=A instanceof Error?A.message:"加载镜像源失败";o(F),e({title:"加载失败",description:F,variant:"destructive"})}finally{i(!1)}},[e]);O.useEffect(()=>{b()},[b]);const k=async()=>{try{const A=localStorage.getItem("access-token"),F=await fetch("/api/webui/plugins/mirrors",{method:"POST",headers:{Authorization:`Bearer ${A}`,"Content-Type":"application/json"},body:JSON.stringify(y)});if(!F.ok){const B=await F.json();throw new Error(B.detail||"添加镜像源失败")}e({title:"添加成功",description:"镜像源已添加"}),m(!1),w({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),b()}catch(A){e({title:"添加失败",description:A instanceof Error?A.message:"未知错误",variant:"destructive"})}},N=async()=>{if(u)try{const A=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${u.id}`,{method:"PUT",headers:{Authorization:`Bearer ${A}`,"Content-Type":"application/json"},body:JSON.stringify({name:y.name,raw_prefix:y.raw_prefix,clone_prefix:y.clone_prefix,enabled:y.enabled,priority:y.priority})})).ok)throw new Error("更新镜像源失败");e({title:"更新成功",description:"镜像源已更新"}),x(!1),h(null),b()}catch(A){e({title:"更新失败",description:A instanceof Error?A.message:"未知错误",variant:"destructive"})}},C=async A=>{if(confirm("确定要删除这个镜像源吗?"))try{const F=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${A}`,{method:"DELETE",headers:{Authorization:`Bearer ${F}`}})).ok)throw new Error("删除镜像源失败");e({title:"删除成功",description:"镜像源已删除"}),b()}catch(F){e({title:"删除失败",description:F instanceof Error?F.message:"未知错误",variant:"destructive"})}},T=async A=>{try{const F=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${A.id}`,{method:"PUT",headers:{Authorization:`Bearer ${F}`,"Content-Type":"application/json"},body:JSON.stringify({enabled:!A.enabled})})).ok)throw new Error("更新状态失败");b()}catch(F){e({title:"更新失败",description:F instanceof Error?F.message:"未知错误",variant:"destructive"})}},E=A=>{h(A),w({id:A.id,name:A.name,raw_prefix:A.raw_prefix,clone_prefix:A.clone_prefix,enabled:A.enabled,priority:A.priority}),x(!0)},_=async(A,F)=>{const B=F==="up"?A.priority-1:A.priority+1;if(!(B<1))try{const P=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${A.id}`,{method:"PUT",headers:{Authorization:`Bearer ${P}`,"Content-Type":"application/json"},body:JSON.stringify({priority:B})})).ok)throw new Error("更新优先级失败");b()}catch(P){e({title:"更新失败",description:P instanceof Error?P.message:"未知错误",variant:"destructive"})}};return l.jsx(yn,{className:"h-full",children:l.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[l.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsx(de,{variant:"ghost",size:"icon",onClick:()=>t({to:"/plugins"}),children:l.jsx(_R,{className:"h-5 w-5"})}),l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"镜像源配置"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理 Git 克隆和文件下载的镜像源"})]})]}),l.jsxs(de,{onClick:()=>m(!0),children:[l.jsx(is,{className:"h-4 w-4 mr-2"}),"添加镜像源"]})]}),s?l.jsx(Ct,{className:"p-6",children:l.jsx("div",{className:"flex items-center justify-center py-8",children:l.jsx(xm,{className:"h-8 w-8 animate-spin text-primary"})})}):a?l.jsx(Ct,{className:"p-6",children:l.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[l.jsx(Rd,{className:"h-12 w-12 text-destructive mb-4"}),l.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),l.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:a}),l.jsx(de,{onClick:b,children:"重新加载"})]})}):l.jsxs(Ct,{children:[l.jsx("div",{className:"hidden md:block",children:l.jsxs(bu,{children:[l.jsx(wu,{children:l.jsxs(_r,{children:[l.jsx(jt,{children:"状态"}),l.jsx(jt,{children:"名称"}),l.jsx(jt,{children:"ID"}),l.jsx(jt,{children:"优先级"}),l.jsx(jt,{className:"text-right",children:"操作"})]})}),l.jsx(Su,{children:n.map(A=>l.jsxs(_r,{children:[l.jsx(gt,{children:l.jsx(Dt,{checked:A.enabled,onCheckedChange:()=>T(A)})}),l.jsx(gt,{children:l.jsxs("div",{children:[l.jsx("div",{className:"font-medium",children:A.name}),l.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Raw: ",A.raw_prefix]})]})}),l.jsx(gt,{children:l.jsx(kn,{variant:"outline",children:A.id})}),l.jsx(gt,{children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"font-mono",children:A.priority}),l.jsxs("div",{className:"flex flex-col gap-1",children:[l.jsx(de,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>_(A,"up"),disabled:A.priority===1,children:l.jsx(I5,{className:"h-3 w-3"})}),l.jsx(de,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>_(A,"down"),children:l.jsx(gm,{className:"h-3 w-3"})})]})]})}),l.jsx(gt,{className:"text-right",children:l.jsxs("div",{className:"flex items-center justify-end gap-2",children:[l.jsx(de,{variant:"ghost",size:"icon",onClick:()=>E(A),children:l.jsx(Wd,{className:"h-4 w-4"})}),l.jsx(de,{variant:"ghost",size:"icon",onClick:()=>C(A.id),children:l.jsx(Kt,{className:"h-4 w-4 text-destructive"})})]})})]},A.id))})]})}),l.jsx("div",{className:"md:hidden p-4 space-y-4",children:n.map(A=>l.jsx(Ct,{className:"p-4",children:l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"flex items-start justify-between",children:[l.jsxs("div",{className:"flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("h3",{className:"font-semibold",children:A.name}),A.enabled&&l.jsx(kn,{variant:"default",className:"text-xs",children:"启用"})]}),l.jsx(kn,{variant:"outline",className:"mt-1 text-xs",children:A.id})]}),l.jsx(Dt,{checked:A.enabled,onCheckedChange:()=>T(A)})]}),l.jsxs("div",{className:"text-sm space-y-1",children:[l.jsxs("div",{className:"text-muted-foreground",children:[l.jsx("span",{className:"font-medium",children:"Raw: "}),l.jsx("span",{className:"break-all",children:A.raw_prefix})]}),l.jsxs("div",{className:"text-muted-foreground",children:[l.jsx("span",{className:"font-medium",children:"优先级: "}),l.jsx("span",{className:"font-mono",children:A.priority})]})]}),l.jsxs("div",{className:"flex items-center gap-2 pt-2 border-t",children:[l.jsxs(de,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>E(A),children:[l.jsx(Wd,{className:"h-4 w-4 mr-1"}),"编辑"]}),l.jsx(de,{variant:"outline",size:"sm",onClick:()=>_(A,"up"),disabled:A.priority===1,children:l.jsx(I5,{className:"h-4 w-4"})}),l.jsx(de,{variant:"outline",size:"sm",onClick:()=>_(A,"down"),children:l.jsx(gm,{className:"h-4 w-4"})}),l.jsx(de,{variant:"destructive",size:"sm",onClick:()=>C(A.id),children:l.jsx(Kt,{className:"h-4 w-4"})})]})]})},A.id))})]}),l.jsx(Mr,{open:f,onOpenChange:m,children:l.jsxs(vr,{className:"max-w-lg",children:[l.jsxs(yr,{children:[l.jsx(br,{children:"添加镜像源"}),l.jsx(as,{children:"添加新的 Git 镜像源配置"})]}),l.jsxs("div",{className:"space-y-4 py-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"add-id",children:"镜像源 ID *"}),l.jsx(Re,{id:"add-id",placeholder:"例如: my-mirror",value:y.id,onChange:A=>w({...y,id:A.target.value})})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"add-name",children:"名称 *"}),l.jsx(Re,{id:"add-name",placeholder:"例如: 我的镜像源",value:y.name,onChange:A=>w({...y,name:A.target.value})})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"add-raw",children:"Raw 文件前缀 *"}),l.jsx(Re,{id:"add-raw",placeholder:"https://example.com/raw",value:y.raw_prefix,onChange:A=>w({...y,raw_prefix:A.target.value})})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"add-clone",children:"克隆前缀 *"}),l.jsx(Re,{id:"add-clone",placeholder:"https://example.com/clone",value:y.clone_prefix,onChange:A=>w({...y,clone_prefix:A.target.value})})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"add-priority",children:"优先级"}),l.jsx(Re,{id:"add-priority",type:"number",min:"1",value:y.priority,onChange:A=>w({...y,priority:parseInt(A.target.value)||1})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"add-enabled",checked:y.enabled,onCheckedChange:A=>w({...y,enabled:A})}),l.jsx(ce,{htmlFor:"add-enabled",children:"启用此镜像源"})]})]}),l.jsxs(Ns,{children:[l.jsx(de,{variant:"outline",onClick:()=>m(!1),children:"取消"}),l.jsx(de,{onClick:k,children:"添加"})]})]})}),l.jsx(Mr,{open:g,onOpenChange:x,children:l.jsxs(vr,{className:"max-w-lg",children:[l.jsxs(yr,{children:[l.jsx(br,{children:"编辑镜像源"}),l.jsx(as,{children:"修改镜像源配置"})]}),l.jsxs("div",{className:"space-y-4 py-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{children:"镜像源 ID"}),l.jsx(Re,{value:y.id,disabled:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"edit-name",children:"名称 *"}),l.jsx(Re,{id:"edit-name",value:y.name,onChange:A=>w({...y,name:A.target.value})})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"edit-raw",children:"Raw 文件前缀 *"}),l.jsx(Re,{id:"edit-raw",value:y.raw_prefix,onChange:A=>w({...y,raw_prefix:A.target.value})})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"edit-clone",children:"克隆前缀 *"}),l.jsx(Re,{id:"edit-clone",value:y.clone_prefix,onChange:A=>w({...y,clone_prefix:A.target.value})})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(ce,{htmlFor:"edit-priority",children:"优先级"}),l.jsx(Re,{id:"edit-priority",type:"number",min:"1",value:y.priority,onChange:A=>w({...y,priority:parseInt(A.target.value)||1})}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(Dt,{id:"edit-enabled",checked:y.enabled,onCheckedChange:A=>w({...y,enabled:A})}),l.jsx(ce,{htmlFor:"edit-enabled",children:"启用此镜像源"})]})]}),l.jsxs(Ns,{children:[l.jsx(de,{variant:"outline",onClick:()=>x(!1),children:"取消"}),l.jsx(de,{onClick:N,children:"保存"})]})]})})]})})}const KOe=bh("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"}}),vH=O.forwardRef(({className:t,size:e,abbrTitle:n,children:r,...s},i)=>l.jsx("kbd",{className:Se(KOe({size:e,className:t})),ref:i,...s,children:n?l.jsx("abbr",{title:n,children:r}):r}));vH.displayName="Kbd";const JOe=[{icon:Hx,title:"首页",description:"查看仪表板概览",path:"/",category:"概览"},{icon:Dl,title:"麦麦主程序配置",description:"配置麦麦的核心设置",path:"/config/bot",category:"配置"},{icon:AR,title:"麦麦模型提供商配置",description:"配置模型提供商",path:"/config/modelProvider",category:"配置"},{icon:RR,title:"麦麦模型配置",description:"配置模型参数",path:"/config/model",category:"配置"},{icon:sk,title:"表情包管理",description:"管理麦麦的表情包",path:"/resource/emoji",category:"资源"},{icon:r0,title:"表达方式管理",description:"管理麦麦的表达方式",path:"/resource/expression",category:"资源"},{icon:DR,title:"人物信息管理",description:"管理人物信息",path:"/resource/person",category:"资源"},{icon:WX,title:"统计信息",description:"查看使用统计",path:"/statistics",category:"监控"},{icon:Wx,title:"插件市场",description:"浏览和安装插件",path:"/plugins",category:"扩展"},{icon:Vx,title:"日志查看器",description:"查看系统日志",path:"/logs",category:"监控"},{icon:Zc,title:"系统设置",description:"配置系统参数",path:"/settings",category:"系统"}];function eje({open:t,onOpenChange:e}){const[n,r]=O.useState(""),[s,i]=O.useState(0),a=aa(),o=JOe.filter(f=>f.title.toLowerCase().includes(n.toLowerCase())||f.description.toLowerCase().includes(n.toLowerCase())||f.category.toLowerCase().includes(n.toLowerCase()));O.useEffect(()=>{t&&(r(""),i(0))},[t]);const u=O.useCallback(f=>{a({to:f}),e(!1)},[a,e]),h=O.useCallback(f=>{f.key==="ArrowDown"?(f.preventDefault(),i(m=>(m+1)%o.length)):f.key==="ArrowUp"?(f.preventDefault(),i(m=>(m-1+o.length)%o.length)):f.key==="Enter"&&o[s]&&(f.preventDefault(),u(o[s].path))},[o,s,u]);return l.jsx(Mr,{open:t,onOpenChange:e,children:l.jsxs(vr,{className:"max-w-2xl p-0 gap-0",children:[l.jsxs(yr,{className:"px-4 pt-4 pb-0",children:[l.jsx(br,{className:"sr-only",children:"搜索"}),l.jsxs("div",{className:"relative",children:[l.jsx(js,{className:"absolute left-3 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground"}),l.jsx(Re,{value:n,onChange:f=>{r(f.target.value),i(0)},onKeyDown:h,placeholder:"搜索页面...",className:"h-12 pl-11 text-base border-0 focus-visible:ring-0 shadow-none",autoFocus:!0})]})]}),l.jsx("div",{className:"border-t",children:l.jsx(yn,{className:"h-[400px]",children:o.length>0?l.jsx("div",{className:"p-2",children:o.map((f,m)=>{const g=f.icon;return l.jsxs("button",{onClick:()=>u(f.path),onMouseEnter:()=>i(m),className:Se("w-full flex items-center gap-3 px-3 py-2.5 rounded-md text-left transition-colors",m===s?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:[l.jsx(g,{className:"h-5 w-5 flex-shrink-0"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium text-sm",children:f.title}),l.jsx("div",{className:"text-xs text-muted-foreground truncate",children:f.description})]}),l.jsx("div",{className:"text-xs text-muted-foreground px-2 py-1 bg-muted rounded",children:f.category})]},f.path)})}):l.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[l.jsx(js,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:n?"未找到匹配的页面":"输入关键词开始搜索"})]})})}),l.jsx("div",{className:"border-t px-4 py-3 flex items-center justify-between text-xs text-muted-foreground",children:l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↑"}),l.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↓"}),"导航"]}),l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Enter"}),"选择"]}),l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Esc"}),"关闭"]})]})})]})})}function tje(t){const e=nje(t),n=O.forwardRef((r,s)=>{const{children:i,...a}=r,o=O.Children.toArray(i),u=o.find(sje);if(u){const h=u.props.children,f=o.map(m=>m===u?O.Children.count(h)>1?O.Children.only(null):O.isValidElement(h)?h.props.children:null:m);return l.jsx(e,{...a,ref:s,children:O.isValidElement(h)?O.cloneElement(h,void 0,f):null})}return l.jsx(e,{...a,ref:s,children:i})});return n.displayName=`${t}.Slot`,n}function nje(t){const e=O.forwardRef((n,r)=>{const{children:s,...i}=n;if(O.isValidElement(s)){const a=aje(s),o=ije(i,s.props);return s.type!==O.Fragment&&(o.ref=r?Uo(r,a):a),O.cloneElement(s,o)}return O.Children.count(s)>1?O.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var rje=Symbol("radix.slottable");function sje(t){return O.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===rje}function ije(t,e){const n={...e};for(const r in e){const s=t[r],i=e[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...o)=>{const u=i(...o);return s(...o),u}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...t,...n}}function aje(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var DS=["Enter"," "],lje=["ArrowDown","PageUp","Home"],yH=["ArrowUp","PageDown","End"],oje=[...lje,...yH],cje={ltr:[...DS,"ArrowRight"],rtl:[...DS,"ArrowLeft"]},uje={ltr:["ArrowLeft"],rtl:["ArrowRight"]},q0="Menu",[Jm,dje,hje]=Q1(q0),[Tu,bH]=la(q0,[hje,ph,tv]),F0=ph(),wH=tv(),[SH,mc]=Tu(q0),[fje,$0]=Tu(q0),kH=t=>{const{__scopeMenu:e,open:n=!1,children:r,dir:s,onOpenChange:i,modal:a=!0}=t,o=F0(e),[u,h]=O.useState(null),f=O.useRef(!1),m=us(i),g=n0(s);return O.useEffect(()=>{const x=()=>{f.current=!0,document.addEventListener("pointerdown",y,{capture:!0,once:!0}),document.addEventListener("pointermove",y,{capture:!0,once:!0})},y=()=>f.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",y,{capture:!0}),document.removeEventListener("pointermove",y,{capture:!0})}},[]),l.jsx(W1,{...o,children:l.jsx(SH,{scope:e,open:n,onOpenChange:m,content:u,onContentChange:h,children:l.jsx(fje,{scope:e,onClose:O.useCallback(()=>m(!1),[m]),isUsingKeyboardRef:f,dir:g,modal:a,children:r})})})};kH.displayName=q0;var mje="MenuAnchor",kO=O.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t,s=F0(n);return l.jsx(G1,{...s,...r,ref:e})});kO.displayName=mje;var OO="MenuPortal",[pje,OH]=Tu(OO,{forceMount:void 0}),jH=t=>{const{__scopeMenu:e,forceMount:n,children:r,container:s}=t,i=mc(OO,e);return l.jsx(pje,{scope:e,forceMount:n,children:l.jsx(Ws,{present:n||i.open,children:l.jsx(U1,{asChild:!0,container:s,children:r})})})};jH.displayName=OO;var qi="MenuContent",[gje,jO]=Tu(qi),NH=O.forwardRef((t,e)=>{const n=OH(qi,t.__scopeMenu),{forceMount:r=n.forceMount,...s}=t,i=mc(qi,t.__scopeMenu),a=$0(qi,t.__scopeMenu);return l.jsx(Jm.Provider,{scope:t.__scopeMenu,children:l.jsx(Ws,{present:r||i.open,children:l.jsx(Jm.Slot,{scope:t.__scopeMenu,children:a.modal?l.jsx(xje,{...s,ref:e}):l.jsx(vje,{...s,ref:e})})})})}),xje=O.forwardRef((t,e)=>{const n=mc(qi,t.__scopeMenu),r=O.useRef(null),s=Pn(e,r);return O.useEffect(()=>{const i=r.current;if(i)return wR(i)},[]),l.jsx(NO,{...t,ref:s,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Xe(t.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),vje=O.forwardRef((t,e)=>{const n=mc(qi,t.__scopeMenu);return l.jsx(NO,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),yje=tje("MenuContent.ScrollLock"),NO=O.forwardRef((t,e)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:s,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEntryFocus:u,onEscapeKeyDown:h,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:g,onDismiss:x,disableOutsideScroll:y,...w}=t,b=mc(qi,n),k=$0(qi,n),N=F0(n),C=wH(n),T=dje(n),[E,_]=O.useState(null),A=O.useRef(null),F=Pn(e,A,b.onContentChange),B=O.useRef(0),P=O.useRef(""),H=O.useRef(0),U=O.useRef(null),te=O.useRef("right"),z=O.useRef(0),W=y?SR:O.Fragment,q=y?{as:yje,allowPinchZoom:!0}:void 0,J=Y=>{const R=P.current+Y,re=T().filter(ne=>!ne.disabled),K=document.activeElement,I=re.find(ne=>ne.ref.current===K)?.textValue,Q=re.map(ne=>ne.textValue),$=Mje(Q,R,I),Z=re.find(ne=>ne.textValue===$)?.ref.current;(function ne(ge){P.current=ge,window.clearTimeout(B.current),ge!==""&&(B.current=window.setTimeout(()=>ne(""),1e3))})(R),Z&&setTimeout(()=>Z.focus())};O.useEffect(()=>()=>window.clearTimeout(B.current),[]),kR();const ee=O.useCallback(Y=>te.current===U.current?.side&&Rje(Y,U.current?.area),[]);return l.jsx(gje,{scope:n,searchRef:P,onItemEnter:O.useCallback(Y=>{ee(Y)&&Y.preventDefault()},[ee]),onItemLeave:O.useCallback(Y=>{ee(Y)||(A.current?.focus(),_(null))},[ee]),onTriggerLeave:O.useCallback(Y=>{ee(Y)&&Y.preventDefault()},[ee]),pointerGraceTimerRef:H,onPointerGraceIntentChange:O.useCallback(Y=>{U.current=Y},[]),children:l.jsx(W,{...q,children:l.jsx(OR,{asChild:!0,trapped:s,onMountAutoFocus:Xe(i,Y=>{Y.preventDefault(),A.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:l.jsx(tk,{asChild:!0,disableOutsidePointerEvents:o,onEscapeKeyDown:h,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:g,onDismiss:x,children:l.jsx(kD,{asChild:!0,...C,dir:k.dir,orientation:"vertical",loop:r,currentTabStopId:E,onCurrentTabStopIdChange:_,onEntryFocus:Xe(u,Y=>{k.isUsingKeyboardRef.current||Y.preventDefault()}),preventScrollOnEntryFocus:!0,children:l.jsx(nk,{role:"menu","aria-orientation":"vertical","data-state":QH(b.open),"data-radix-menu-content":"",dir:k.dir,...N,...w,ref:F,style:{outline:"none",...w.style},onKeyDown:Xe(w.onKeyDown,Y=>{const re=Y.target.closest("[data-radix-menu-content]")===Y.currentTarget,K=Y.ctrlKey||Y.altKey||Y.metaKey,I=Y.key.length===1;re&&(Y.key==="Tab"&&Y.preventDefault(),!K&&I&&J(Y.key));const Q=A.current;if(Y.target!==Q||!oje.includes(Y.key))return;Y.preventDefault();const Z=T().filter(ne=>!ne.disabled).map(ne=>ne.ref.current);yH.includes(Y.key)&&Z.reverse(),Eje(Z)}),onBlur:Xe(t.onBlur,Y=>{Y.currentTarget.contains(Y.target)||(window.clearTimeout(B.current),P.current="")}),onPointerMove:Xe(t.onPointerMove,e0(Y=>{const R=Y.target,re=z.current!==Y.clientX;if(Y.currentTarget.contains(R)&&re){const K=Y.clientX>z.current?"right":"left";te.current=K,z.current=Y.clientX}}))})})})})})})});NH.displayName=qi;var bje="MenuGroup",CO=O.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t;return l.jsx(fn.div,{role:"group",...r,ref:e})});CO.displayName=bje;var wje="MenuLabel",CH=O.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t;return l.jsx(fn.div,{...r,ref:e})});CH.displayName=wje;var I1="MenuItem",HA="menu.itemSelect",Wv=O.forwardRef((t,e)=>{const{disabled:n=!1,onSelect:r,...s}=t,i=O.useRef(null),a=$0(I1,t.__scopeMenu),o=jO(I1,t.__scopeMenu),u=Pn(e,i),h=O.useRef(!1),f=()=>{const m=i.current;if(!n&&m){const g=new CustomEvent(HA,{bubbles:!0,cancelable:!0});m.addEventListener(HA,x=>r?.(x),{once:!0}),NR(m,g),g.defaultPrevented?h.current=!1:a.onClose()}};return l.jsx(TH,{...s,ref:u,disabled:n,onClick:Xe(t.onClick,f),onPointerDown:m=>{t.onPointerDown?.(m),h.current=!0},onPointerUp:Xe(t.onPointerUp,m=>{h.current||m.currentTarget?.click()}),onKeyDown:Xe(t.onKeyDown,m=>{const g=o.searchRef.current!=="";n||g&&m.key===" "||DS.includes(m.key)&&(m.currentTarget.click(),m.preventDefault())})})});Wv.displayName=I1;var TH=O.forwardRef((t,e)=>{const{__scopeMenu:n,disabled:r=!1,textValue:s,...i}=t,a=jO(I1,n),o=wH(n),u=O.useRef(null),h=Pn(e,u),[f,m]=O.useState(!1),[g,x]=O.useState("");return O.useEffect(()=>{const y=u.current;y&&x((y.textContent??"").trim())},[i.children]),l.jsx(Jm.ItemSlot,{scope:n,disabled:r,textValue:s??g,children:l.jsx(OD,{asChild:!0,...o,focusable:!r,children:l.jsx(fn.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...i,ref:h,onPointerMove:Xe(t.onPointerMove,e0(y=>{r?a.onItemLeave(y):(a.onItemEnter(y),y.defaultPrevented||y.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Xe(t.onPointerLeave,e0(y=>a.onItemLeave(y))),onFocus:Xe(t.onFocus,()=>m(!0)),onBlur:Xe(t.onBlur,()=>m(!1))})})})}),Sje="MenuCheckboxItem",EH=O.forwardRef((t,e)=>{const{checked:n=!1,onCheckedChange:r,...s}=t;return l.jsx(DH,{scope:t.__scopeMenu,checked:n,children:l.jsx(Wv,{role:"menuitemcheckbox","aria-checked":q1(n)?"mixed":n,...s,ref:e,"data-state":_O(n),onSelect:Xe(s.onSelect,()=>r?.(q1(n)?!0:!n),{checkForDefaultPrevented:!1})})})});EH.displayName=Sje;var _H="MenuRadioGroup",[kje,Oje]=Tu(_H,{value:void 0,onValueChange:()=>{}}),MH=O.forwardRef((t,e)=>{const{value:n,onValueChange:r,...s}=t,i=us(r);return l.jsx(kje,{scope:t.__scopeMenu,value:n,onValueChange:i,children:l.jsx(CO,{...s,ref:e})})});MH.displayName=_H;var AH="MenuRadioItem",RH=O.forwardRef((t,e)=>{const{value:n,...r}=t,s=Oje(AH,t.__scopeMenu),i=n===s.value;return l.jsx(DH,{scope:t.__scopeMenu,checked:i,children:l.jsx(Wv,{role:"menuitemradio","aria-checked":i,...r,ref:e,"data-state":_O(i),onSelect:Xe(r.onSelect,()=>s.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});RH.displayName=AH;var TO="MenuItemIndicator",[DH,jje]=Tu(TO,{checked:!1}),zH=O.forwardRef((t,e)=>{const{__scopeMenu:n,forceMount:r,...s}=t,i=jje(TO,n);return l.jsx(Ws,{present:r||q1(i.checked)||i.checked===!0,children:l.jsx(fn.span,{...s,ref:e,"data-state":_O(i.checked)})})});zH.displayName=TO;var Nje="MenuSeparator",PH=O.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t;return l.jsx(fn.div,{role:"separator","aria-orientation":"horizontal",...r,ref:e})});PH.displayName=Nje;var Cje="MenuArrow",LH=O.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t,s=F0(n);return l.jsx(rk,{...s,...r,ref:e})});LH.displayName=Cje;var EO="MenuSub",[Tje,BH]=Tu(EO),IH=t=>{const{__scopeMenu:e,children:n,open:r=!1,onOpenChange:s}=t,i=mc(EO,e),a=F0(e),[o,u]=O.useState(null),[h,f]=O.useState(null),m=us(s);return O.useEffect(()=>(i.open===!1&&m(!1),()=>m(!1)),[i.open,m]),l.jsx(W1,{...a,children:l.jsx(SH,{scope:e,open:r,onOpenChange:m,content:h,onContentChange:f,children:l.jsx(Tje,{scope:e,contentId:Li(),triggerId:Li(),trigger:o,onTriggerChange:u,children:n})})})};IH.displayName=EO;var em="MenuSubTrigger",qH=O.forwardRef((t,e)=>{const n=mc(em,t.__scopeMenu),r=$0(em,t.__scopeMenu),s=BH(em,t.__scopeMenu),i=jO(em,t.__scopeMenu),a=O.useRef(null),{pointerGraceTimerRef:o,onPointerGraceIntentChange:u}=i,h={__scopeMenu:t.__scopeMenu},f=O.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return O.useEffect(()=>f,[f]),O.useEffect(()=>{const m=o.current;return()=>{window.clearTimeout(m),u(null)}},[o,u]),l.jsx(kO,{asChild:!0,...h,children:l.jsx(TH,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":s.contentId,"data-state":QH(n.open),...t,ref:Uo(e,s.onTriggerChange),onClick:m=>{t.onClick?.(m),!(t.disabled||m.defaultPrevented)&&(m.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Xe(t.onPointerMove,e0(m=>{i.onItemEnter(m),!m.defaultPrevented&&!t.disabled&&!n.open&&!a.current&&(i.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:Xe(t.onPointerLeave,e0(m=>{f();const g=n.content?.getBoundingClientRect();if(g){const x=n.content?.dataset.side,y=x==="right",w=y?-5:5,b=g[y?"left":"right"],k=g[y?"right":"left"];i.onPointerGraceIntentChange({area:[{x:m.clientX+w,y:m.clientY},{x:b,y:g.top},{x:k,y:g.top},{x:k,y:g.bottom},{x:b,y:g.bottom}],side:x}),window.clearTimeout(o.current),o.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(m),m.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:Xe(t.onKeyDown,m=>{const g=i.searchRef.current!=="";t.disabled||g&&m.key===" "||cje[r.dir].includes(m.key)&&(n.onOpenChange(!0),n.content?.focus(),m.preventDefault())})})})});qH.displayName=em;var FH="MenuSubContent",$H=O.forwardRef((t,e)=>{const n=OH(qi,t.__scopeMenu),{forceMount:r=n.forceMount,...s}=t,i=mc(qi,t.__scopeMenu),a=$0(qi,t.__scopeMenu),o=BH(FH,t.__scopeMenu),u=O.useRef(null),h=Pn(e,u);return l.jsx(Jm.Provider,{scope:t.__scopeMenu,children:l.jsx(Ws,{present:r||i.open,children:l.jsx(Jm.Slot,{scope:t.__scopeMenu,children:l.jsx(NO,{id:o.contentId,"aria-labelledby":o.triggerId,...s,ref:h,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:f=>{a.isUsingKeyboardRef.current&&u.current?.focus(),f.preventDefault()},onCloseAutoFocus:f=>f.preventDefault(),onFocusOutside:Xe(t.onFocusOutside,f=>{f.target!==o.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:Xe(t.onEscapeKeyDown,f=>{a.onClose(),f.preventDefault()}),onKeyDown:Xe(t.onKeyDown,f=>{const m=f.currentTarget.contains(f.target),g=uje[a.dir].includes(f.key);m&&g&&(i.onOpenChange(!1),o.trigger?.focus(),f.preventDefault())})})})})})});$H.displayName=FH;function QH(t){return t?"open":"closed"}function q1(t){return t==="indeterminate"}function _O(t){return q1(t)?"indeterminate":t?"checked":"unchecked"}function Eje(t){const e=document.activeElement;for(const n of t)if(n===e||(n.focus(),document.activeElement!==e))return}function _je(t,e){return t.map((n,r)=>t[(e+r)%t.length])}function Mje(t,e,n){const s=e.length>1&&Array.from(e).every(h=>h===e[0])?e[0]:e,i=n?t.indexOf(n):-1;let a=_je(t,Math.max(i,0));s.length===1&&(a=a.filter(h=>h!==n));const u=a.find(h=>h.toLowerCase().startsWith(s.toLowerCase()));return u!==n?u:void 0}function Aje(t,e){const{x:n,y:r}=t;let s=!1;for(let i=0,a=e.length-1;ir!=g>r&&n<(m-h)*(r-f)/(g-f)+h&&(s=!s)}return s}function Rje(t,e){if(!e)return!1;const n={x:t.clientX,y:t.clientY};return Aje(n,e)}function e0(t){return e=>e.pointerType==="mouse"?t(e):void 0}var Dje=kH,zje=kO,Pje=jH,Lje=NH,Bje=CO,Ije=CH,qje=Wv,Fje=EH,$je=MH,Qje=RH,Hje=zH,Vje=PH,Uje=LH,Wje=IH,Gje=qH,Xje=$H,MO="ContextMenu",[Yje]=la(MO,[bH]),xs=bH(),[Zje,HH]=Yje(MO),VH=t=>{const{__scopeContextMenu:e,children:n,onOpenChange:r,dir:s,modal:i=!0}=t,[a,o]=O.useState(!1),u=xs(e),h=us(r),f=O.useCallback(m=>{o(m),h(m)},[h]);return l.jsx(Zje,{scope:e,open:a,onOpenChange:f,modal:i,children:l.jsx(Dje,{...u,dir:s,open:a,onOpenChange:f,modal:i,children:n})})};VH.displayName=MO;var UH="ContextMenuTrigger",WH=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,disabled:r=!1,...s}=t,i=HH(UH,n),a=xs(n),o=O.useRef({x:0,y:0}),u=O.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...o.current})}),h=O.useRef(0),f=O.useCallback(()=>window.clearTimeout(h.current),[]),m=g=>{o.current={x:g.clientX,y:g.clientY},i.onOpenChange(!0)};return O.useEffect(()=>f,[f]),O.useEffect(()=>void(r&&f()),[r,f]),l.jsxs(l.Fragment,{children:[l.jsx(zje,{...a,virtualRef:u}),l.jsx(fn.span,{"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,...s,ref:e,style:{WebkitTouchCallout:"none",...t.style},onContextMenu:r?t.onContextMenu:Xe(t.onContextMenu,g=>{f(),m(g),g.preventDefault()}),onPointerDown:r?t.onPointerDown:Xe(t.onPointerDown,px(g=>{f(),h.current=window.setTimeout(()=>m(g),700)})),onPointerMove:r?t.onPointerMove:Xe(t.onPointerMove,px(f)),onPointerCancel:r?t.onPointerCancel:Xe(t.onPointerCancel,px(f)),onPointerUp:r?t.onPointerUp:Xe(t.onPointerUp,px(f))})]})});WH.displayName=UH;var Kje="ContextMenuPortal",GH=t=>{const{__scopeContextMenu:e,...n}=t,r=xs(e);return l.jsx(Pje,{...r,...n})};GH.displayName=Kje;var XH="ContextMenuContent",YH=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=HH(XH,n),i=xs(n),a=O.useRef(!1);return l.jsx(Lje,{...i,...r,ref:e,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:o=>{t.onCloseAutoFocus?.(o),!o.defaultPrevented&&a.current&&o.preventDefault(),a.current=!1},onInteractOutside:o=>{t.onInteractOutside?.(o),!o.defaultPrevented&&!s.modal&&(a.current=!0)},style:{...t.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)"}})});YH.displayName=XH;var Jje="ContextMenuGroup",e7e=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx(Bje,{...s,...r,ref:e})});e7e.displayName=Jje;var t7e="ContextMenuLabel",ZH=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx(Ije,{...s,...r,ref:e})});ZH.displayName=t7e;var n7e="ContextMenuItem",KH=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx(qje,{...s,...r,ref:e})});KH.displayName=n7e;var r7e="ContextMenuCheckboxItem",JH=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx(Fje,{...s,...r,ref:e})});JH.displayName=r7e;var s7e="ContextMenuRadioGroup",i7e=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx($je,{...s,...r,ref:e})});i7e.displayName=s7e;var a7e="ContextMenuRadioItem",eV=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx(Qje,{...s,...r,ref:e})});eV.displayName=a7e;var l7e="ContextMenuItemIndicator",tV=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx(Hje,{...s,...r,ref:e})});tV.displayName=l7e;var o7e="ContextMenuSeparator",nV=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx(Vje,{...s,...r,ref:e})});nV.displayName=o7e;var c7e="ContextMenuArrow",u7e=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx(Uje,{...s,...r,ref:e})});u7e.displayName=c7e;var rV="ContextMenuSub",sV=t=>{const{__scopeContextMenu:e,children:n,onOpenChange:r,open:s,defaultOpen:i}=t,a=xs(e),[o,u]=ac({prop:s,defaultProp:i??!1,onChange:r,caller:rV});return l.jsx(Wje,{...a,open:o,onOpenChange:u,children:n})};sV.displayName=rV;var d7e="ContextMenuSubTrigger",iV=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx(Gje,{...s,...r,ref:e})});iV.displayName=d7e;var h7e="ContextMenuSubContent",aV=O.forwardRef((t,e)=>{const{__scopeContextMenu:n,...r}=t,s=xs(n);return l.jsx(Xje,{...s,...r,ref:e,style:{...t.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)"}})});aV.displayName=h7e;function px(t){return e=>e.pointerType!=="mouse"?t(e):void 0}var f7e=VH,m7e=WH,p7e=GH,lV=YH,oV=ZH,cV=KH,uV=JH,dV=eV,hV=tV,fV=nV,g7e=sV,mV=iV,pV=aV;const x7e=f7e,v7e=m7e,y7e=g7e,gV=O.forwardRef(({className:t,inset:e,children:n,...r},s)=>l.jsxs(mV,{ref:s,className:Se("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",e&&"pl-8",t),...r,children:[n,l.jsx(yu,{className:"ml-auto h-4 w-4"})]}));gV.displayName=mV.displayName;const xV=O.forwardRef(({className:t,...e},n)=>l.jsx(pV,{ref:n,className:Se("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]",t),...e}));xV.displayName=pV.displayName;const vV=O.forwardRef(({className:t,...e},n)=>l.jsx(p7e,{children:l.jsx(lV,{ref:n,className:Se("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]",t),...e})}));vV.displayName=lV.displayName;const Zi=O.forwardRef(({className:t,inset:e,...n},r)=>l.jsx(cV,{ref:r,className:Se("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",e&&"pl-8",t),...n}));Zi.displayName=cV.displayName;const b7e=O.forwardRef(({className:t,children:e,checked:n,...r},s)=>l.jsxs(uV,{ref:s,className:Se("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",t),checked:n,...r,children:[l.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:l.jsx(hV,{children:l.jsx(Kc,{className:"h-4 w-4"})})}),e]}));b7e.displayName=uV.displayName;const w7e=O.forwardRef(({className:t,children:e,...n},r)=>l.jsxs(dV,{ref:r,className:Se("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",t),...n,children:[l.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:l.jsx(hV,{children:l.jsx(GX,{className:"h-2 w-2 fill-current"})})}),e]}));w7e.displayName=dV.displayName;const S7e=O.forwardRef(({className:t,inset:e,...n},r)=>l.jsx(oV,{ref:r,className:Se("px-2 py-1.5 text-sm font-semibold text-foreground",e&&"pl-8",t),...n}));S7e.displayName=oV.displayName;const tm=O.forwardRef(({className:t,...e},n)=>l.jsx(fV,{ref:n,className:Se("-mx-1 my-1 h-px bg-border",t),...e}));tm.displayName=fV.displayName;const Td=({className:t,...e})=>l.jsx("span",{className:Se("ml-auto text-xs tracking-widest text-muted-foreground",t),...e});Td.displayName="ContextMenuShortcut";var k7e=Symbol("radix.slottable");function O7e(t){const e=({children:n})=>l.jsx(l.Fragment,{children:n});return e.displayName=`${t}.Slottable`,e.__radixId=k7e,e}var[Gv]=la("Tooltip",[ph]),Xv=ph(),yV="TooltipProvider",j7e=700,zS="tooltip.open",[N7e,AO]=Gv(yV),bV=t=>{const{__scopeTooltip:e,delayDuration:n=j7e,skipDelayDuration:r=300,disableHoverableContent:s=!1,children:i}=t,a=O.useRef(!0),o=O.useRef(!1),u=O.useRef(0);return O.useEffect(()=>{const h=u.current;return()=>window.clearTimeout(h)},[]),l.jsx(N7e,{scope:e,isOpenDelayedRef:a,delayDuration:n,onOpen:O.useCallback(()=>{window.clearTimeout(u.current),a.current=!1},[]),onClose:O.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:o,onPointerInTransitChange:O.useCallback(h=>{o.current=h},[]),disableHoverableContent:s,children:i})};bV.displayName=yV;var t0="Tooltip",[C7e,Q0]=Gv(t0),wV=t=>{const{__scopeTooltip:e,children:n,open:r,defaultOpen:s,onOpenChange:i,disableHoverableContent:a,delayDuration:o}=t,u=AO(t0,t.__scopeTooltip),h=Xv(e),[f,m]=O.useState(null),g=Li(),x=O.useRef(0),y=a??u.disableHoverableContent,w=o??u.delayDuration,b=O.useRef(!1),[k,N]=ac({prop:r,defaultProp:s??!1,onChange:A=>{A?(u.onOpen(),document.dispatchEvent(new CustomEvent(zS))):u.onClose(),i?.(A)},caller:t0}),C=O.useMemo(()=>k?b.current?"delayed-open":"instant-open":"closed",[k]),T=O.useCallback(()=>{window.clearTimeout(x.current),x.current=0,b.current=!1,N(!0)},[N]),E=O.useCallback(()=>{window.clearTimeout(x.current),x.current=0,N(!1)},[N]),_=O.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{b.current=!0,N(!0),x.current=0},w)},[w,N]);return O.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),l.jsx(W1,{...h,children:l.jsx(C7e,{scope:e,contentId:g,open:k,stateAttribute:C,trigger:f,onTriggerChange:m,onTriggerEnter:O.useCallback(()=>{u.isOpenDelayedRef.current?_():T()},[u.isOpenDelayedRef,_,T]),onTriggerLeave:O.useCallback(()=>{y?E():(window.clearTimeout(x.current),x.current=0)},[E,y]),onOpen:T,onClose:E,disableHoverableContent:y,children:n})})};wV.displayName=t0;var PS="TooltipTrigger",SV=O.forwardRef((t,e)=>{const{__scopeTooltip:n,...r}=t,s=Q0(PS,n),i=AO(PS,n),a=Xv(n),o=O.useRef(null),u=Pn(e,o,s.onTriggerChange),h=O.useRef(!1),f=O.useRef(!1),m=O.useCallback(()=>h.current=!1,[]);return O.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),l.jsx(G1,{asChild:!0,...a,children:l.jsx(fn.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...r,ref:u,onPointerMove:Xe(t.onPointerMove,g=>{g.pointerType!=="touch"&&!f.current&&!i.isPointerInTransitRef.current&&(s.onTriggerEnter(),f.current=!0)}),onPointerLeave:Xe(t.onPointerLeave,()=>{s.onTriggerLeave(),f.current=!1}),onPointerDown:Xe(t.onPointerDown,()=>{s.open&&s.onClose(),h.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:Xe(t.onFocus,()=>{h.current||s.onOpen()}),onBlur:Xe(t.onBlur,s.onClose),onClick:Xe(t.onClick,s.onClose)})})});SV.displayName=PS;var RO="TooltipPortal",[T7e,E7e]=Gv(RO,{forceMount:void 0}),kV=t=>{const{__scopeTooltip:e,forceMount:n,children:r,container:s}=t,i=Q0(RO,e);return l.jsx(T7e,{scope:e,forceMount:n,children:l.jsx(Ws,{present:n||i.open,children:l.jsx(U1,{asChild:!0,container:s,children:r})})})};kV.displayName=RO;var mh="TooltipContent",OV=O.forwardRef((t,e)=>{const n=E7e(mh,t.__scopeTooltip),{forceMount:r=n.forceMount,side:s="top",...i}=t,a=Q0(mh,t.__scopeTooltip);return l.jsx(Ws,{present:r||a.open,children:a.disableHoverableContent?l.jsx(jV,{side:s,...i,ref:e}):l.jsx(_7e,{side:s,...i,ref:e})})}),_7e=O.forwardRef((t,e)=>{const n=Q0(mh,t.__scopeTooltip),r=AO(mh,t.__scopeTooltip),s=O.useRef(null),i=Pn(e,s),[a,o]=O.useState(null),{trigger:u,onClose:h}=n,f=s.current,{onPointerInTransitChange:m}=r,g=O.useCallback(()=>{o(null),m(!1)},[m]),x=O.useCallback((y,w)=>{const b=y.currentTarget,k={x:y.clientX,y:y.clientY},N=z7e(k,b.getBoundingClientRect()),C=P7e(k,N),T=L7e(w.getBoundingClientRect()),E=I7e([...C,...T]);o(E),m(!0)},[m]);return O.useEffect(()=>()=>g(),[g]),O.useEffect(()=>{if(u&&f){const y=b=>x(b,f),w=b=>x(b,u);return u.addEventListener("pointerleave",y),f.addEventListener("pointerleave",w),()=>{u.removeEventListener("pointerleave",y),f.removeEventListener("pointerleave",w)}}},[u,f,x,g]),O.useEffect(()=>{if(a){const y=w=>{const b=w.target,k={x:w.clientX,y:w.clientY},N=u?.contains(b)||f?.contains(b),C=!B7e(k,a);N?g():C&&(g(),h())};return document.addEventListener("pointermove",y),()=>document.removeEventListener("pointermove",y)}},[u,f,a,h,g]),l.jsx(jV,{...t,ref:i})}),[M7e,A7e]=Gv(t0,{isInside:!1}),R7e=O7e("TooltipContent"),jV=O.forwardRef((t,e)=>{const{__scopeTooltip:n,children:r,"aria-label":s,onEscapeKeyDown:i,onPointerDownOutside:a,...o}=t,u=Q0(mh,n),h=Xv(n),{onClose:f}=u;return O.useEffect(()=>(document.addEventListener(zS,f),()=>document.removeEventListener(zS,f)),[f]),O.useEffect(()=>{if(u.trigger){const m=g=>{g.target?.contains(u.trigger)&&f()};return window.addEventListener("scroll",m,{capture:!0}),()=>window.removeEventListener("scroll",m,{capture:!0})}},[u.trigger,f]),l.jsx(tk,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:m=>m.preventDefault(),onDismiss:f,children:l.jsxs(nk,{"data-state":u.stateAttribute,...h,...o,ref:e,style:{...o.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:[l.jsx(R7e,{children:r}),l.jsx(M7e,{scope:n,isInside:!0,children:l.jsx(OX,{id:u.contentId,role:"tooltip",children:s||r})})]})})});OV.displayName=mh;var NV="TooltipArrow",D7e=O.forwardRef((t,e)=>{const{__scopeTooltip:n,...r}=t,s=Xv(n);return A7e(NV,n).isInside?null:l.jsx(rk,{...s,...r,ref:e})});D7e.displayName=NV;function z7e(t,e){const n=Math.abs(e.top-t.y),r=Math.abs(e.bottom-t.y),s=Math.abs(e.right-t.x),i=Math.abs(e.left-t.x);switch(Math.min(n,r,s,i)){case i:return"left";case s:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function P7e(t,e,n=5){const r=[];switch(e){case"top":r.push({x:t.x-n,y:t.y+n},{x:t.x+n,y:t.y+n});break;case"bottom":r.push({x:t.x-n,y:t.y-n},{x:t.x+n,y:t.y-n});break;case"left":r.push({x:t.x+n,y:t.y-n},{x:t.x+n,y:t.y+n});break;case"right":r.push({x:t.x-n,y:t.y-n},{x:t.x-n,y:t.y+n});break}return r}function L7e(t){const{top:e,right:n,bottom:r,left:s}=t;return[{x:s,y:e},{x:n,y:e},{x:n,y:r},{x:s,y:r}]}function B7e(t,e){const{x:n,y:r}=t;let s=!1;for(let i=0,a=e.length-1;ir!=g>r&&n<(m-h)*(r-f)/(g-f)+h&&(s=!s)}return s}function I7e(t){const e=t.slice();return e.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),q7e(e)}function q7e(t){if(t.length<=1)return t.slice();const e=[];for(let r=0;r=2;){const i=e[e.length-1],a=e[e.length-2];if((i.x-a.x)*(s.y-a.y)>=(i.y-a.y)*(s.x-a.x))e.pop();else break}e.push(s)}e.pop();const n=[];for(let r=t.length-1;r>=0;r--){const s=t[r];for(;n.length>=2;){const i=n[n.length-1],a=n[n.length-2];if((i.x-a.x)*(s.y-a.y)>=(i.y-a.y)*(s.x-a.x))n.pop();else break}n.push(s)}return n.pop(),e.length===1&&n.length===1&&e[0].x===n[0].x&&e[0].y===n[0].y?e:e.concat(n)}var F7e=bV,$7e=wV,Q7e=SV,H7e=kV,CV=OV;const V7e=F7e,U7e=$7e,W7e=Q7e,TV=O.forwardRef(({className:t,sideOffset:e=4,...n},r)=>l.jsx(H7e,{children:l.jsx(CV,{ref:r,sideOffset:e,className:Se("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]",t),...n})}));TV.displayName=CV.displayName;function G7e({children:t}){UJ();const[e,n]=O.useState(!0),[r,s]=O.useState(!1),[i,a]=O.useState(!1),{theme:o,setTheme:u}=vk(),h=lG(),f=aa();O.useEffect(()=>{const w=b=>{(b.metaKey||b.ctrlKey)&&b.key==="k"&&(b.preventDefault(),a(!0))};return window.addEventListener("keydown",w),()=>window.removeEventListener("keydown",w)},[]);const m=[{title:"概览",items:[{icon:Hx,label:"首页",path:"/"}]},{title:"麦麦配置编辑",items:[{icon:Dl,label:"麦麦主程序配置",path:"/config/bot"},{icon:AR,label:"麦麦模型提供商配置",path:"/config/modelProvider"},{icon:RR,label:"麦麦模型配置",path:"/config/model"},{icon:E8,label:"麦麦适配器配置",path:"/config/adapter"}]},{title:"麦麦资源管理",items:[{icon:sk,label:"表情包管理",path:"/resource/emoji"},{icon:r0,label:"表达方式管理",path:"/resource/expression"},{icon:DR,label:"人物信息管理",path:"/resource/person"},{icon:MR,label:"知识库图谱可视化",path:"/resource/knowledge-graph"}]},{title:"扩展与监控",items:[{icon:Wx,label:"插件市场",path:"/plugins"},{icon:E8,label:"插件配置",path:"/plugin-config"},{icon:Vx,label:"日志查看器",path:"/logs"}]},{title:"系统",items:[{icon:Zc,label:"系统设置",path:"/settings"}]}],x=o==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":o,y=()=>{localStorage.removeItem("access-token"),f({to:"/auth"})};return l.jsx(V7e,{delayDuration:300,children:l.jsxs("div",{className:"flex h-screen overflow-hidden",children:[l.jsxs("aside",{className:Se("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",e?"lg:w-64":"lg:w-16",r?"translate-x-0":"-translate-x-full lg:translate-x-0"),children:[l.jsx("div",{className:"flex h-16 items-center border-b px-4",children:l.jsxs("div",{className:Se("relative flex items-center justify-center flex-1 transition-all overflow-hidden","lg:flex-1",!e&&"lg:flex-none lg:w-8"),children:[l.jsxs("div",{className:Se("flex items-baseline gap-2",!e&&"lg:hidden"),children:[l.jsx("span",{className:"font-bold text-xl text-primary-gradient whitespace-nowrap",children:"MaiBot WebUI"}),l.jsx("span",{className:"text-xs text-primary/60 whitespace-nowrap",children:SJ()})]}),!e&&l.jsx("span",{className:"hidden lg:block font-bold text-primary-gradient text-2xl",children:"M"})]})}),l.jsx(yn,{className:Se("flex-1 overflow-x-hidden",!e&&"lg:w-16"),children:l.jsx("nav",{className:Se("p-4",!e&&"lg:p-2 lg:w-16"),children:l.jsx("ul",{className:Se("space-y-6",!e&&"lg:space-y-3 lg:w-full"),children:m.map((w,b)=>l.jsxs("li",{children:[l.jsx("div",{className:Se("px-3 h-[1.25rem]","mb-2",!e&&"lg:mb-1 lg:invisible"),children:l.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground/60 whitespace-nowrap",children:w.title})}),!e&&b>0&&l.jsx("div",{className:"hidden lg:block mb-2 border-t border-border"}),l.jsx("ul",{className:"space-y-1",children:w.items.map(k=>{const N=h({to:k.path}),C=k.icon,T=l.jsxs(l.Fragment,{children:[N&&l.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"}),l.jsxs("div",{className:Se("flex items-center transition-all duration-300",e?"gap-3":"gap-3 lg:gap-0"),children:[l.jsx(C,{className:Se("h-5 w-5 flex-shrink-0",N&&"text-primary"),strokeWidth:2,fill:"none"}),l.jsx("span",{className:Se("text-sm font-medium whitespace-nowrap transition-all duration-300",N&&"font-semibold",e?"opacity-100 max-w-[200px]":"opacity-100 max-w-[200px] lg:opacity-0 lg:max-w-0 lg:overflow-hidden"),children:k.label})]})]});return l.jsx("li",{className:"relative",children:l.jsxs(U7e,{children:[l.jsx(W7e,{asChild:!0,children:l.jsx(oG,{to:k.path,className:Se("relative flex items-center rounded-lg py-2 transition-all duration-300","hover:bg-accent hover:text-accent-foreground",N?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground",e?"px-3":"px-3 lg:px-0 lg:justify-center lg:w-12 lg:mx-auto"),onClick:()=>s(!1),children:T})}),!e&&l.jsx(TV,{side:"right",className:"hidden lg:block",children:l.jsx("p",{children:k.label})})]})},k.path)})})]},w.title))})})})]}),r&&l.jsx("div",{className:"fixed inset-0 z-40 bg-black/50 lg:hidden",onClick:()=>s(!1)}),l.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[l.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:[l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsx("button",{onClick:()=>s(!r),className:"rounded-lg p-2 hover:bg-accent lg:hidden",children:l.jsx(XX,{className:"h-5 w-5"})}),l.jsx("button",{onClick:()=>n(!e),className:"hidden rounded-lg p-2 hover:bg-accent lg:block",title:e?"收起侧边栏":"展开侧边栏",children:l.jsx(vu,{className:Se("h-5 w-5 transition-transform",!e&&"rotate-180")})})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("button",{onClick:()=>a(!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:[l.jsx(js,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),l.jsx("span",{className:"text-sm text-muted-foreground",children:"搜索..."}),l.jsxs(vH,{size:"sm",className:"absolute right-2 top-1/2 -translate-y-1/2",children:[l.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),l.jsx(eje,{open:i,onOpenChange:a}),l.jsxs(de,{variant:"ghost",size:"sm",onClick:()=>window.open("https://docs.mai-mai.org","_blank"),className:"gap-2",title:"查看麦麦文档",children:[l.jsx(YX,{className:"h-4 w-4"}),l.jsx("span",{className:"hidden sm:inline",children:"麦麦文档"})]}),l.jsx("button",{onClick:w=>{lJ(x==="dark"?"light":"dark",u,w)},className:"rounded-lg p-2 hover:bg-accent",title:x==="dark"?"切换到浅色模式":"切换到深色模式",children:x==="dark"?l.jsx(L5,{className:"h-5 w-5"}):l.jsx(B5,{className:"h-5 w-5"})}),l.jsx("div",{className:"h-6 w-px bg-border"}),l.jsxs(de,{variant:"ghost",size:"sm",onClick:y,className:"gap-2",title:"登出系统",children:[l.jsx(_8,{className:"h-4 w-4"}),l.jsx("span",{className:"hidden sm:inline",children:"登出"})]})]})]}),l.jsxs(x7e,{children:[l.jsx(v7e,{asChild:!0,children:l.jsx("main",{className:"flex-1 overflow-hidden bg-background",children:t})}),l.jsxs(vV,{className:"w-64",children:[l.jsxs(Zi,{onClick:()=>f({to:"/"}),children:[l.jsx(Hx,{className:"mr-2 h-4 w-4"}),"首页"]}),l.jsxs(Zi,{onClick:()=>f({to:"/settings"}),children:[l.jsx(Zc,{className:"mr-2 h-4 w-4"}),"系统设置"]}),l.jsxs(Zi,{onClick:()=>f({to:"/logs"}),children:[l.jsx(Vx,{className:"mr-2 h-4 w-4"}),"日志查看器"]}),l.jsx(tm,{}),l.jsxs(y7e,{children:[l.jsxs(gV,{children:[l.jsx(TR,{className:"mr-2 h-4 w-4"}),"切换主题"]}),l.jsxs(xV,{className:"w-48",children:[l.jsxs(Zi,{onClick:()=>u("light"),disabled:o==="light",children:[l.jsx(L5,{className:"mr-2 h-4 w-4"}),"浅色",o==="light"&&l.jsx(Td,{children:"✓"})]}),l.jsxs(Zi,{onClick:()=>u("dark"),disabled:o==="dark",children:[l.jsx(B5,{className:"mr-2 h-4 w-4"}),"深色",o==="dark"&&l.jsx(Td,{children:"✓"})]}),l.jsxs(Zi,{onClick:()=>u("system"),disabled:o==="system",children:[l.jsx(Zc,{className:"mr-2 h-4 w-4"}),"跟随系统",o==="system"&&l.jsx(Td,{children:"✓"})]})]})]}),l.jsx(tm,{}),l.jsxs(Zi,{onClick:()=>window.location.reload(),children:[l.jsx(ZX,{className:"mr-2 h-4 w-4"}),"刷新页面",l.jsx(Td,{children:"⌘R"})]}),l.jsxs(Zi,{onClick:()=>a(!0),children:[l.jsx(js,{className:"mr-2 h-4 w-4"}),"搜索",l.jsx(Td,{children:"⌘K"})]}),l.jsx(tm,{}),l.jsxs(Zi,{onClick:()=>window.open("https://docs.mai-mai.org","_blank"),children:[l.jsx(nm,{className:"mr-2 h-4 w-4"}),"麦麦文档"]}),l.jsx(tm,{}),l.jsxs(Zi,{onClick:y,className:"text-destructive focus:text-destructive",children:[l.jsx(_8,{className:"mr-2 h-4 w-4"}),"登出系统"]})]})]})]})]})})}const H0=cG({component:()=>l.jsxs(l.Fragment,{children:[l.jsx(WA,{}),!1]}),beforeLoad:()=>{if(window.location.pathname==="/"&&!Pz())throw dG({to:"/auth"})}}),X7e=Gr({getParentRoute:()=>H0,path:"/auth",component:WJ}),Y7e=Gr({getParentRoute:()=>H0,path:"/setup",component:hee}),Es=Gr({getParentRoute:()=>H0,id:"protected",component:()=>l.jsx(G7e,{children:l.jsx(WA,{})})}),Z7e=Gr({getParentRoute:()=>Es,path:"/",component:iJ}),K7e=Gr({getParentRoute:()=>Es,path:"/config/bot",component:uue}),J7e=Gr({getParentRoute:()=>Es,path:"/config/modelProvider",component:Nue}),eNe=Gr({getParentRoute:()=>Es,path:"/config/model",component:ede}),tNe=Gr({getParentRoute:()=>Es,path:"/config/adapter",component:sde}),nNe=Gr({getParentRoute:()=>Es,path:"/resource/emoji",component:Tve}),rNe=Gr({getParentRoute:()=>Es,path:"/resource/expression",component:Bve}),sNe=Gr({getParentRoute:()=>Es,path:"/resource/person",component:Xve}),iNe=Gr({getParentRoute:()=>Es,path:"/resource/knowledge-graph",component:I3e}),aNe=Gr({getParentRoute:()=>Es,path:"/logs",component:_Oe}),lNe=Gr({getParentRoute:()=>Es,path:"/plugins",component:XOe}),oNe=Gr({getParentRoute:()=>Es,path:"/plugin-config",component:YOe}),cNe=Gr({getParentRoute:()=>Es,path:"/plugin-mirrors",component:ZOe}),uNe=Gr({getParentRoute:()=>Es,path:"/settings",component:IJ}),dNe=Gr({getParentRoute:()=>H0,path:"*",component:Iz}),hNe=H0.addChildren([X7e,Y7e,Es.addChildren([Z7e,K7e,J7e,eNe,tNe,nNe,rNe,sNe,iNe,lNe,oNe,cNe,aNe,uNe]),dNe]),fNe=uG({routeTree:hNe,defaultNotFoundComponent:Iz});function mNe({children:t,defaultTheme:e="system",storageKey:n="ui-theme",...r}){const[s,i]=O.useState(()=>localStorage.getItem(n)||e);O.useEffect(()=>{const o=window.document.documentElement;if(o.classList.remove("light","dark"),s==="system"){const u=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";o.classList.add(u);return}o.classList.add(s)},[s]),O.useEffect(()=>{const o=localStorage.getItem("accent-color");if(o){const u=document.documentElement,f={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%)"}}[o];f&&(u.style.setProperty("--primary",f.hsl),f.gradient?(u.style.setProperty("--primary-gradient",f.gradient),u.classList.add("has-gradient")):(u.style.removeProperty("--primary-gradient"),u.classList.remove("has-gradient")))}},[]);const a={theme:s,setTheme:o=>{localStorage.setItem(n,o),i(o)}};return l.jsx(az.Provider,{...r,value:a,children:t})}function pNe({children:t,defaultEnabled:e=!0,defaultWavesEnabled:n=!0,storageKey:r="enable-animations",wavesStorageKey:s="enable-waves-background"}){const[i,a]=O.useState(()=>{const f=localStorage.getItem(r);return f!==null?f==="true":e}),[o,u]=O.useState(()=>{const f=localStorage.getItem(s);return f!==null?f==="true":n});O.useEffect(()=>{const f=document.documentElement;i?f.classList.remove("no-animations"):f.classList.add("no-animations"),localStorage.setItem(r,String(i))},[i,r]),O.useEffect(()=>{localStorage.setItem(s,String(o))},[o,s]);const h={enableAnimations:i,setEnableAnimations:a,enableWavesBackground:o,setEnableWavesBackground:u};return l.jsx(lz.Provider,{value:h,children:t})}var DO="ToastProvider",[zO,gNe,xNe]=Q1("Toast"),[EV]=la("Toast",[xNe]),[vNe,Yv]=EV(DO),_V=t=>{const{__scopeToast:e,label:n="Notification",duration:r=5e3,swipeDirection:s="right",swipeThreshold:i=50,children:a}=t,[o,u]=O.useState(null),[h,f]=O.useState(0),m=O.useRef(!1),g=O.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${DO}\`. Expected non-empty \`string\`.`),l.jsx(zO.Provider,{scope:e,children:l.jsx(vNe,{scope:e,label:n,duration:r,swipeDirection:s,swipeThreshold:i,toastCount:h,viewport:o,onViewportChange:u,onToastAdd:O.useCallback(()=>f(x=>x+1),[]),onToastRemove:O.useCallback(()=>f(x=>x-1),[]),isFocusedToastEscapeKeyDownRef:m,isClosePausedRef:g,children:a})})};_V.displayName=DO;var MV="ToastViewport",yNe=["F8"],LS="toast.viewportPause",BS="toast.viewportResume",AV=O.forwardRef((t,e)=>{const{__scopeToast:n,hotkey:r=yNe,label:s="Notifications ({hotkey})",...i}=t,a=Yv(MV,n),o=gNe(n),u=O.useRef(null),h=O.useRef(null),f=O.useRef(null),m=O.useRef(null),g=Pn(e,m,a.onViewportChange),x=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),y=a.toastCount>0;O.useEffect(()=>{const b=k=>{r.length!==0&&r.every(C=>k[C]||k.code===C)&&m.current?.focus()};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[r]),O.useEffect(()=>{const b=u.current,k=m.current;if(y&&b&&k){const N=()=>{if(!a.isClosePausedRef.current){const _=new CustomEvent(LS);k.dispatchEvent(_),a.isClosePausedRef.current=!0}},C=()=>{if(a.isClosePausedRef.current){const _=new CustomEvent(BS);k.dispatchEvent(_),a.isClosePausedRef.current=!1}},T=_=>{!b.contains(_.relatedTarget)&&C()},E=()=>{b.contains(document.activeElement)||C()};return b.addEventListener("focusin",N),b.addEventListener("focusout",T),b.addEventListener("pointermove",N),b.addEventListener("pointerleave",E),window.addEventListener("blur",N),window.addEventListener("focus",C),()=>{b.removeEventListener("focusin",N),b.removeEventListener("focusout",T),b.removeEventListener("pointermove",N),b.removeEventListener("pointerleave",E),window.removeEventListener("blur",N),window.removeEventListener("focus",C)}}},[y,a.isClosePausedRef]);const w=O.useCallback(({tabbingDirection:b})=>{const N=o().map(C=>{const T=C.ref.current,E=[T,...ANe(T)];return b==="forwards"?E:E.reverse()});return(b==="forwards"?N.reverse():N).flat()},[o]);return O.useEffect(()=>{const b=m.current;if(b){const k=N=>{const C=N.altKey||N.ctrlKey||N.metaKey;if(N.key==="Tab"&&!C){const E=document.activeElement,_=N.shiftKey;if(N.target===b&&_){h.current?.focus();return}const B=w({tabbingDirection:_?"backwards":"forwards"}),P=B.findIndex(H=>H===E);A5(B.slice(P+1))?N.preventDefault():_?h.current?.focus():f.current?.focus()}};return b.addEventListener("keydown",k),()=>b.removeEventListener("keydown",k)}},[o,w]),l.jsxs(jX,{ref:u,role:"region","aria-label":s.replace("{hotkey}",x),tabIndex:-1,style:{pointerEvents:y?void 0:"none"},children:[y&&l.jsx(IS,{ref:h,onFocusFromOutsideViewport:()=>{const b=w({tabbingDirection:"forwards"});A5(b)}}),l.jsx(zO.Slot,{scope:n,children:l.jsx(fn.ol,{tabIndex:-1,...i,ref:g})}),y&&l.jsx(IS,{ref:f,onFocusFromOutsideViewport:()=>{const b=w({tabbingDirection:"backwards"});A5(b)}})]})});AV.displayName=MV;var RV="ToastFocusProxy",IS=O.forwardRef((t,e)=>{const{__scopeToast:n,onFocusFromOutsideViewport:r,...s}=t,i=Yv(RV,n);return l.jsx(CR,{tabIndex:0,...s,ref:e,style:{position:"fixed"},onFocus:a=>{const o=a.relatedTarget;!i.viewport?.contains(o)&&r()}})});IS.displayName=RV;var V0="Toast",bNe="toast.swipeStart",wNe="toast.swipeMove",SNe="toast.swipeCancel",kNe="toast.swipeEnd",DV=O.forwardRef((t,e)=>{const{forceMount:n,open:r,defaultOpen:s,onOpenChange:i,...a}=t,[o,u]=ac({prop:r,defaultProp:s??!0,onChange:i,caller:V0});return l.jsx(Ws,{present:n||o,children:l.jsx(NNe,{open:o,...a,ref:e,onClose:()=>u(!1),onPause:us(t.onPause),onResume:us(t.onResume),onSwipeStart:Xe(t.onSwipeStart,h=>{h.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:Xe(t.onSwipeMove,h=>{const{x:f,y:m}=h.detail.delta;h.currentTarget.setAttribute("data-swipe","move"),h.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${f}px`),h.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${m}px`)}),onSwipeCancel:Xe(t.onSwipeCancel,h=>{h.currentTarget.setAttribute("data-swipe","cancel"),h.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),h.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),h.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),h.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:Xe(t.onSwipeEnd,h=>{const{x:f,y:m}=h.detail.delta;h.currentTarget.setAttribute("data-swipe","end"),h.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),h.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),h.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${f}px`),h.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${m}px`),u(!1)})})})});DV.displayName=V0;var[ONe,jNe]=EV(V0,{onClose(){}}),NNe=O.forwardRef((t,e)=>{const{__scopeToast:n,type:r="foreground",duration:s,open:i,onClose:a,onEscapeKeyDown:o,onPause:u,onResume:h,onSwipeStart:f,onSwipeMove:m,onSwipeCancel:g,onSwipeEnd:x,...y}=t,w=Yv(V0,n),[b,k]=O.useState(null),N=Pn(e,z=>k(z)),C=O.useRef(null),T=O.useRef(null),E=s||w.duration,_=O.useRef(0),A=O.useRef(E),F=O.useRef(0),{onToastAdd:B,onToastRemove:P}=w,H=us(()=>{b?.contains(document.activeElement)&&w.viewport?.focus(),a()}),U=O.useCallback(z=>{!z||z===1/0||(window.clearTimeout(F.current),_.current=new Date().getTime(),F.current=window.setTimeout(H,z))},[H]);O.useEffect(()=>{const z=w.viewport;if(z){const W=()=>{U(A.current),h?.()},q=()=>{const J=new Date().getTime()-_.current;A.current=A.current-J,window.clearTimeout(F.current),u?.()};return z.addEventListener(LS,q),z.addEventListener(BS,W),()=>{z.removeEventListener(LS,q),z.removeEventListener(BS,W)}}},[w.viewport,E,u,h,U]),O.useEffect(()=>{i&&!w.isClosePausedRef.current&&U(E)},[i,E,w.isClosePausedRef,U]),O.useEffect(()=>(B(),()=>P()),[B,P]);const te=O.useMemo(()=>b?FV(b):null,[b]);return w.viewport?l.jsxs(l.Fragment,{children:[te&&l.jsx(CNe,{__scopeToast:n,role:"status","aria-live":r==="foreground"?"assertive":"polite",children:te}),l.jsx(ONe,{scope:n,onClose:H,children:UA.createPortal(l.jsx(zO.ItemSlot,{scope:n,children:l.jsx(NX,{asChild:!0,onEscapeKeyDown:Xe(o,()=>{w.isFocusedToastEscapeKeyDownRef.current||H(),w.isFocusedToastEscapeKeyDownRef.current=!1}),children:l.jsx(fn.li,{tabIndex:0,"data-state":i?"open":"closed","data-swipe-direction":w.swipeDirection,...y,ref:N,style:{userSelect:"none",touchAction:"none",...t.style},onKeyDown:Xe(t.onKeyDown,z=>{z.key==="Escape"&&(o?.(z.nativeEvent),z.nativeEvent.defaultPrevented||(w.isFocusedToastEscapeKeyDownRef.current=!0,H()))}),onPointerDown:Xe(t.onPointerDown,z=>{z.button===0&&(C.current={x:z.clientX,y:z.clientY})}),onPointerMove:Xe(t.onPointerMove,z=>{if(!C.current)return;const W=z.clientX-C.current.x,q=z.clientY-C.current.y,J=!!T.current,ee=["left","right"].includes(w.swipeDirection),Y=["left","up"].includes(w.swipeDirection)?Math.min:Math.max,R=ee?Y(0,W):0,re=ee?0:Y(0,q),K=z.pointerType==="touch"?10:2,I={x:R,y:re},Q={originalEvent:z,delta:I};J?(T.current=I,gx(wNe,m,Q,{discrete:!1})):VA(I,w.swipeDirection,K)?(T.current=I,gx(bNe,f,Q,{discrete:!1}),z.target.setPointerCapture(z.pointerId)):(Math.abs(W)>K||Math.abs(q)>K)&&(C.current=null)}),onPointerUp:Xe(t.onPointerUp,z=>{const W=T.current,q=z.target;if(q.hasPointerCapture(z.pointerId)&&q.releasePointerCapture(z.pointerId),T.current=null,C.current=null,W){const J=z.currentTarget,ee={originalEvent:z,delta:W};VA(W,w.swipeDirection,w.swipeThreshold)?gx(kNe,x,ee,{discrete:!0}):gx(SNe,g,ee,{discrete:!0}),J.addEventListener("click",Y=>Y.preventDefault(),{once:!0})}})})})}),w.viewport)})]}):null}),CNe=t=>{const{__scopeToast:e,children:n,...r}=t,s=Yv(V0,e),[i,a]=O.useState(!1),[o,u]=O.useState(!1);return _Ne(()=>a(!0)),O.useEffect(()=>{const h=window.setTimeout(()=>u(!0),1e3);return()=>window.clearTimeout(h)},[]),o?null:l.jsx(U1,{asChild:!0,children:l.jsx(CR,{...r,children:i&&l.jsxs(l.Fragment,{children:[s.label," ",n]})})})},TNe="ToastTitle",zV=O.forwardRef((t,e)=>{const{__scopeToast:n,...r}=t;return l.jsx(fn.div,{...r,ref:e})});zV.displayName=TNe;var ENe="ToastDescription",PV=O.forwardRef((t,e)=>{const{__scopeToast:n,...r}=t;return l.jsx(fn.div,{...r,ref:e})});PV.displayName=ENe;var LV="ToastAction",BV=O.forwardRef((t,e)=>{const{altText:n,...r}=t;return n.trim()?l.jsx(qV,{altText:n,asChild:!0,children:l.jsx(PO,{...r,ref:e})}):(console.error(`Invalid prop \`altText\` supplied to \`${LV}\`. Expected non-empty \`string\`.`),null)});BV.displayName=LV;var IV="ToastClose",PO=O.forwardRef((t,e)=>{const{__scopeToast:n,...r}=t,s=jNe(IV,n);return l.jsx(qV,{asChild:!0,children:l.jsx(fn.button,{type:"button",...r,ref:e,onClick:Xe(t.onClick,s.onClose)})})});PO.displayName=IV;var qV=O.forwardRef((t,e)=>{const{__scopeToast:n,altText:r,...s}=t;return l.jsx(fn.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...s,ref:e})});function FV(t){const e=[];return Array.from(t.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&e.push(r.textContent),MNe(r)){const s=r.ariaHidden||r.hidden||r.style.display==="none",i=r.dataset.radixToastAnnounceExclude==="";if(!s)if(i){const a=r.dataset.radixToastAnnounceAlt;a&&e.push(a)}else e.push(...FV(r))}}),e}function gx(t,e,n,{discrete:r}){const s=n.originalEvent.currentTarget,i=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e&&s.addEventListener(t,e,{once:!0}),r?NR(s,i):s.dispatchEvent(i)}var VA=(t,e,n=0)=>{const r=Math.abs(t.x),s=Math.abs(t.y),i=r>s;return e==="left"||e==="right"?i&&r>n:!i&&s>n};function _Ne(t=()=>{}){const e=us(t);oR(()=>{let n=0,r=0;return n=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(e)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[e])}function MNe(t){return t.nodeType===t.ELEMENT_NODE}function ANe(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const s=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||s?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function A5(t){const e=document.activeElement;return t.some(n=>n===e?!0:(n.focus(),document.activeElement!==e))}var RNe=_V,$V=AV,QV=DV,HV=zV,VV=PV,UV=BV,WV=PO;const DNe=RNe,GV=O.forwardRef(({className:t,...e},n)=>l.jsx($V,{ref:n,className:Se("fixed bottom-0 right-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:max-w-[420px] gap-2",t),...e}));GV.displayName=$V.displayName;const zNe=bh("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-slide-in-from-right data-[state=open]:animate-fade-in data-[state=closed]:animate-slide-out-to-right data-[state=closed]:animate-fade-out data-[swipe=end]:animate-slide-out-to-right",{variants:{variant:{default:"border bg-primary/5 text-foreground backdrop-blur-sm",destructive:"destructive group border-destructive bg-destructive/10 text-destructive-foreground backdrop-blur-sm"}},defaultVariants:{variant:"default"}}),XV=O.forwardRef(({className:t,variant:e,...n},r)=>l.jsx(QV,{ref:r,className:Se(zNe({variant:e}),t),...n}));XV.displayName=QV.displayName;const PNe=O.forwardRef(({className:t,...e},n)=>l.jsx(UV,{ref:n,className:Se("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",t),...e}));PNe.displayName=UV.displayName;const YV=O.forwardRef(({className:t,...e},n)=>l.jsx(WV,{ref:n,className:Se("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",t),"toast-close":"",...e,children:l.jsx(s0,{className:"h-4 w-4"})}));YV.displayName=WV.displayName;const ZV=O.forwardRef(({className:t,...e},n)=>l.jsx(HV,{ref:n,className:Se("text-sm font-semibold [&+div]:text-xs",t),...e}));ZV.displayName=HV.displayName;const KV=O.forwardRef(({className:t,...e},n)=>l.jsx(VV,{ref:n,className:Se("text-sm opacity-90",t),...e}));KV.displayName=VV.displayName;function LNe(){const{toasts:t}=$r();return l.jsxs(DNe,{children:[t.map(function({id:e,title:n,description:r,action:s,...i}){return l.jsxs(XV,{...i,children:[l.jsxs("div",{className:"grid gap-1",children:[n&&l.jsx(ZV,{children:n}),r&&l.jsx(KV,{children:r})]}),s,l.jsx(YV,{})]},e)}),l.jsx(GV,{})]})}nY.createRoot(document.getElementById("root")).render(l.jsx(O.StrictMode,{children:l.jsx(mNe,{defaultTheme:"system",children:l.jsxs(pNe,{children:[l.jsx(hG,{router:fNe}),l.jsx(LNe,{})]})})})); diff --git a/webui/dist/assets/router-BWgTyY51.js b/webui/dist/assets/router-SinpzM5S.js similarity index 70% rename from webui/dist/assets/router-BWgTyY51.js rename to webui/dist/assets/router-SinpzM5S.js index 78a82272..c8b8f8ad 100644 --- a/webui/dist/assets/router-BWgTyY51.js +++ b/webui/dist/assets/router-SinpzM5S.js @@ -1,2 +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}; +import{r as po,a as ee,g as oe,b as mo}from"./react-vendor-Dtc2IqVY.js";function go(t,o){for(var e=0;es[n]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var g=po(),R=ee();const rt=oe(R),hn=go({__proto__:null,default:rt},[R]),Yt=new WeakMap,yo=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=yo.get(o);if(e)for(const s of e){const n=Yt.get(s);n?.length&&Ue(n)}}}function vo(t){const o={prevVal:t.prevState,currentVal:t.state};for(const e of t.listeners)e(o)}function So(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,vo(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)So(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 _o(t){return typeof t=="function"}class Ro{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):_o(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",Se="popstate",_e="beforeunload";function Po(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=Re(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=Re(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 Re(t,o){o||(o={});const e=se();return{...o,key:e,__TSR_key:e,[G]:t}}function wo(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=se();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 fe of X)if(await fe.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=Po({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(_e,w,{capture:!0}),o.removeEventListener(Se,E)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:r,setBlockers:i,notifyOnIndexChange:!1});return o.addEventListener(_e,w,{capture:!0}),o.addEventListener(Se,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=se();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 se(){return(Math.random()+1).toString(36).substring(7)}function Xt(t){return t[t.length-1]}function xo(t){return typeof t=="function"}function Q(t,o){return xo(t)?t(o):t}const Lo=Object.prototype.hasOwnProperty;function B(t,o){if(t===o)return t;const e=o,s=xe(t)&&xe(e);if(!s&&!(Tt(t)&&Tt(e)))return e;const n=s?t:Pe(t);if(!n)return e;const r=s?e:Pe(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!(!we(e)||!e.hasOwnProperty("isPrototypeOf"))}function we(t){return Object.prototype.toString.call(t)==="[object Object]"}function xe(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 Co=Array.from(new Map([["%","%25"],["\\","%5C"]]).values());function Le(t,o=Co){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 Mo="Invariant failed";function K(t,o){if(!t)throw new Error(Mo)}const U=0,ot=1,at=2,ct=3;function z(t){return ne(t.filter(o=>o!==void 0).join("/"))}function ne(t){return t.replace(/\/{2,}/g,"/")}function re(t){return t==="/"?t:t.replace(/^\/{1,}/,"")}function J(t){return t==="/"?t:t.replace(/\/{1,}$/,"")}function Ct(t){return J(re(t))}function It(t,o){return t?.endsWith("/")&&t!=="/"&&t!==`${o}/`?t.slice(0,-1):t}function bo(t,o,e){return It(t,e)===It(o,e)}function Eo(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 To({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(Eo);return z(i)}const ut=(t,o)=>{if(!t)return[];const e=o?.get(t);if(e)return e;const s=Bo(t);return o?.set(t,s),s},Io=/^\$.{1,}$/,ko=/^(.*?)\{(\$[a-zA-Z_$][a-zA-Z0-9_$]*)\}(.*)$/,Oo=/^(.*?)\{-(\$[a-zA-Z_$][a-zA-Z0-9_$]*)\}(.*)$/,Fo=/^\$$/,Ao=/^(.*?)\{\$\}(.*)$/;function Bo(t){t=ne(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(Ao);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(Oo);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(ko);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(Io.test(s)){const c=s.substring(1);return{type:ot,value:"$"+c,prefixSegment:void 0,suffixSegment:void 0}}return Fo.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?Do(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 Do(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=$o(t,o,e);if(!(o.to&&!s))return s??{}}function $o(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 jo(i,c,a,e,s)?a:void 0}function jo(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=re(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 No;if(h.type===U)return Uo;let d;h.type===ot?d=Vo:h.type===ct?(d=Wo,a++):d=zo;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 Yo({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=Jo(Object.values(e));return{routesById:e,routesByPath:s,flatRoutes:r}}function j(t){return!!t?.isNotFound}function Xo(){try{if(typeof window<"u"&&typeof window.sessionStorage=="object")return window.sessionStorage}catch{}}const kt="tsr-scroll-restoration-v1_3",Zo=(t,o)=>{let e;return(...s)=>{e||(e=setTimeout(()=>{t(...s),e=null},o))}};function Qo(){const t=Xo();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=Qo(),Qt=t=>t.state.__TSR_key||t.href;function ts(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 es(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=ts(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",Zo(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 os(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 ss(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 ns(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 rs=as(JSON.parse),is=cs(JSON.stringify,JSON.parse);function as(t){return o=>{o[0]==="?"&&(o=o.substring(1));const e=ns(o);for(const s in e){const n=e[s];if(typeof n=="string")try{e[s]=t(n)}catch{}}return e}}function cs(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=ss(n,s);return r?`?${r}`:""}}const A="__root__";function us(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 ls(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}))},hs=(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}},fs=(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()},ds=(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)},ps=(t,o)=>{const{id:e,routeId:s}=t.matches[o],n=t.router.looseRoutesById[s],r=()=>{if(t.router.isServer){const a=hs(t,e,o,n);if(q(a))return a.then(c)}return c()},i=()=>ds(t,e,o,n),c=()=>{if(Ke(t,e))return;const a=fs(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}},Ee=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)}},ms=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 Ee(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 Ee(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 Te(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 gs(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 ys(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 vs{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=wo())),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 Ro(_s(this.latestLocation),{onUpdate:()=>{this.__store.state={...this.state,cachedMatches:this.state.cachedMatches.filter(f=>!["redirected"].includes(f.status))}}}),es(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(ys({basepath:a})),l&&f.push(l),this.rewrite=f.length===0?void 0:f.length===1?f[0]:gs(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}=Yo({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:Le(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)=>To({base:e,to:ne(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=ls(1e3),this.getMatchedRoutes=(e,s)=>Rs({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:Le(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=Ps({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,"")||"/"),us({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 Te({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 Te({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??is,parseSearch:o.parseSearch??rs}),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 Ss(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 Ss extends Error{}function _s(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 Rs({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 Ps({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 ws="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=re(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 xs extends Qe{constructor(o){super(o)}}function ie(t){const o=t.errorComponent??Bt;return g.jsx(Ls,{getResetKey:t.getResetKey,onCatch:t.onCatch,children:({error:e,reset:s})=>e?R.createElement(o,{error:e,reset:s}):t.children})}class Ls 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 Cs({children:t,fallback:o=null}){return Ms()?g.jsx(rt.Fragment,{children:t}):g.jsx(rt.Fragment,{children:o})}function Ms(){return rt.useSyncExternalStore(bs,()=>!0,()=>!1)}function bs(){return()=>{}}var Wt={exports:{}},zt={},Kt={exports:{}},Ht={};var Ie;function Es(){if(Ie)return Ht;Ie=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 ke;function Ts(){return ke||(ke=1,Kt.exports=Es()),Kt.exports}var Oe;function Is(){if(Oe)return zt;Oe=1;var t=ee(),o=Ts();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 Fe;function ks(){return Fe||(Fe=1,Wt.exports=Is()),Wt.exports}var to=ks();const fn=oe(to);function Os(t,o=s=>s,e={}){const s=e.equal??Fs;return to.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=Ae(t);if(e.length!==Ae(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(eo());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 ae(t){return V({from:t.from,strict:t.strict,structuralSharing:t.structuralSharing,select:o=>t.select?t.select(o.loaderData):o.loaderData})}function ce(t){const{select:o,...e}=t;return V({...e,select:s=>o?o(s.loaderDeps):s.loaderDeps})}function ue(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 le(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 he(t){const o=F();return R.useCallback(e=>o.navigate({...e,from:e.from??t?.from}),[t?.from,o])}var oo=mo();const dn=oe(oo),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:fe,mask:io,reloadDocument:rn,unsafeRelative:an,from:cn,_fromLocation:un,...de}=t,ao=O({select:b=>b.location.search,structuralSharing:!0}),pe=t.from,lt=R.useMemo(()=>({...t,from:pe}),[e,ao,pe,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(!bo(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(ws)})},[e,lt]),co=R.useCallback(b=>{b?.isIntersecting&&Z()},[Z]);Bs(i,co,Ws,{disabled:!!L||st!=="viewport"}),R.useEffect(()=>{r.current||!L&&st==="render"&&(Z(),r.current=!0)},[L,Z,st]);const uo=b=>{const k=b.currentTarget.getAttribute("target"),$=P!==void 0?P:k;if(!L&&!zs(b)&&!b.defaultPrevented&&(!$||$==="_self")&&b.button===0){b.preventDefault(),oo.flushSync(()=>{n(!0)});const ve=e.subscribe("onResolved",()=>{ve(),n(!1)});e.navigate({...lt,replace:p,resetScroll:y,hashScrollIntoView:d,startTransition:m,viewTransition:_,ignoreBlocker:I})}};if(St)return{...de,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 me=b=>{L||st&&Z()},lo=me,ho=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,$)}},fo=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,ge=[w,_t.className,Rt.className].filter(Boolean).join(" "),ye=(E||_t.style||Rt.style)&&{...E,..._t.style,...Rt.style};return{...de,..._t,...Rt,href:vt?.href,ref:i,onClick:dt([S,uo]),onFocus:dt([v,me]),onMouseEnter:dt([C,ho]),onMouseLeave:dt([M,fo]),onTouchStart:dt([T,lo]),disabled:!!L,target:P,...ye&&{style:ye},...ge&&{className:ge},...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)}},so=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=>le({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>ue({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>ce({...e,from:this.id}),this.useLoaderData=e=>ae({...e,from:this.id}),this.useNavigate=()=>he({from:this.fullPath}),this.Link=rt.forwardRef((e,s)=>g.jsx(so,{ref:s,from:this.fullPath,...e})),this.$$typeof=Symbol.for("react.memo")}}function Hs(t){return new Ks(t)}class Gs extends xs{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=>le({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>ue({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>ce({...e,from:this.id}),this.useLoaderData=e=>ae({...e,from:this.id}),this.useNavigate=()=>he({from:this.fullPath}),this.Link=rt.forwardRef((e,s)=>g.jsx(so,{ref:s,from:this.fullPath,...e})),this.$$typeof=Symbol.for("react.memo")}}function pn(t){return new Gs(t)}function Be(t){return typeof t=="object"?new De(t,{silent:!0}).createRoute(t):new De(t,{silent:!0}).createRoute}class De{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 $e{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=>le({select:e?.select,structuralSharing:e?.structuralSharing,from:this.options.id}),this.useParams=e=>ue({select:e?.select,structuralSharing:e?.structuralSharing,from:this.options.id}),this.useLoaderDeps=e=>ce({...e,from:this.options.id}),this.useLoaderData=e=>ae({...e,from:this.options.id}),this.useNavigate=()=>{const e=F();return he({from:e.routesById[this.options.id].fullPath})},this.options=o,this.$$typeof=Symbol.for("react.memo")}}function je(t){return typeof t=="object"?new $e(t):o=>new $e({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})),os(t))},[c,a,t]),null}function Js(t){const o=O({select:e=>`not-found-${e.location.pathname}-${e.status}`});return g.jsx(ie,{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 no(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 ro=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?ie: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(Cs,{fallback:i,children:g.jsx(Ne,{matchId:o})}):g.jsx(Ne,{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 Ne=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)),no(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 no(o,n,void 0);if(!i)return null;const a=g.jsx(ro,{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(ro,{matchId:o}):null;return g.jsx(Dt.Provider,{value:o,children:t.options.disableGlobalCatchBoundary?s:g.jsx(ie,{getResetKey:()=>e,errorComponent:Bt,onCatch:n=>{n.message||n.toString()},children:s})})}function mn(){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 gn=t=>new sn(t);class sn extends vs{constructor(o){super(o)}}typeof globalThis<"u"?(globalThis.createFileRoute=Be,globalThis.createLazyFileRoute=je):typeof window<"u"&&(window.createFileRoute=Be,window.createLazyFileRoute=je);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=eo(),n=g.jsx(s.Provider,{value:t,children:o});return t.options.Wrap?g.jsx(t.options.Wrap,{children:n}):n}function yn({router:t,...o}){return g.jsx(nn,{router:t,...o,children:g.jsx(en,{})})}export{so as L,tn as O,rt as R,hn as a,oo as b,dn as c,fn as d,mn as e,pn as f,Hs as g,gn as h,K as i,g as j,us as k,yn as l,R as r,he as u}; diff --git a/webui/dist/assets/ui-vendor-nTGLnMlb.js b/webui/dist/assets/ui-vendor-BLBhIcJ8.js similarity index 99% rename from webui/dist/assets/ui-vendor-nTGLnMlb.js rename to webui/dist/assets/ui-vendor-BLBhIcJ8.js index 0fcce437..4b143681 100644 --- a/webui/dist/assets/ui-vendor-nTGLnMlb.js +++ b/webui/dist/assets/ui-vendor-BLBhIcJ8.js @@ -1,4 +1,4 @@ -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"),` +import{r as a,j as x,R as we,a as Vt,b as at,c as yr}from"./router-SinpzM5S.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,`; diff --git a/webui/dist/index.html b/webui/dist/index.html index 955b7bc9..c07ad7f1 100644 --- a/webui/dist/index.html +++ b/webui/dist/index.html @@ -5,13 +5,13 @@ MaiBot Dashboard - + - - - - - + + + + +