You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/6272.3ff89890.async.js

4269 lines
2.4 MiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

!(function(){var I6=Object.defineProperty,N6=Object.defineProperties;var B6=Object.getOwnPropertyDescriptors;var M2=Object.getOwnPropertySymbols;var k6=Object.prototype.hasOwnProperty,z6=Object.prototype.propertyIsEnumerable;var No=Math.pow,x0=(Ae,Ce,Z)=>Ce in Ae?I6(Ae,Ce,{enumerable:!0,configurable:!0,writable:!0,value:Z}):Ae[Ce]=Z,vc=(Ae,Ce)=>{for(var Z in Ce||(Ce={}))k6.call(Ce,Z)&&x0(Ae,Z,Ce[Z]);if(M2)for(var Z of M2(Ce))z6.call(Ce,Z)&&x0(Ae,Z,Ce[Z]);return Ae},b0=(Ae,Ce)=>N6(Ae,B6(Ce));var Xr=(Ae,Ce,Z)=>x0(Ae,typeof Ce!="symbol"?Ce+"":Ce,Z);(self.webpackChunk=self.webpackChunk||[]).push([[6272],{40001:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return x}});var X=Z(72308),q=Z(59301),H={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},b=H,z=Z(7657),P=function(_,g){return q.createElement(z.Z,(0,X.Z)({},_,{ref:g,icon:b}))},T=q.forwardRef(P),x=T},73331:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return x}});var X=Z(72308),q=Z(59301),H={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},b=H,z=Z(7657),P=function(_,g){return q.createElement(z.Z,(0,X.Z)({},_,{ref:g,icon:b}))},T=q.forwardRef(P),x=T},15277:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return x}});var X=Z(72308),q=Z(59301),H={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},b=H,z=Z(7657),P=function(_,g){return q.createElement(z.Z,(0,X.Z)({},_,{ref:g,icon:b}))},T=q.forwardRef(P),x=T},33853:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return x}});var X=Z(72308),q=Z(59301),H={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},b=H,z=Z(7657),P=function(_,g){return q.createElement(z.Z,(0,X.Z)({},_,{ref:g,icon:b}))},T=q.forwardRef(P),x=T},38819:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return x}});var X=Z(72308),q=Z(59301),H={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},b=H,z=Z(7657),P=function(_,g){return q.createElement(z.Z,(0,X.Z)({},_,{ref:g,icon:b}))},T=q.forwardRef(P),x=T},47472:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return x}});var X=Z(72308),q=Z(59301),H={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},b=H,z=Z(7657),P=function(_,g){return q.createElement(z.Z,(0,X.Z)({},_,{ref:g,icon:b}))},T=q.forwardRef(P),x=T},25775:function(Ae,Ce,Z){"use strict";Z.d(Ce,{kJ:function(){return Hd},RN:function(){return m6}});var X={};Z.r(X),Z.d(X,{add:function(){return _i},adjoint:function(){return Bt},clone:function(){return ke},copy:function(){return at},create:function(){return ut},determinant:function(){return Vt},equals:function(){return Mr},exactEquals:function(){return Wn},frob:function(){return Zr},fromQuat:function(){return cr},fromQuat2:function(){return Ln},fromRotation:function(){return yn},fromRotationTranslation:function(){return tn},fromRotationTranslationScale:function(){return Hr},fromRotationTranslationScaleOrigin:function(){return hi},fromScaling:function(){return _n},fromTranslation:function(){return Jt},fromValues:function(){return vt},fromXRotation:function(){return cn},fromYRotation:function(){return Zn},fromZRotation:function(){return Nn},frustum:function(){return fi},getRotation:function(){return qn},getScaling:function(){return lr},getTranslation:function(){return Bn},identity:function(){return kt},invert:function(){return Ct},lookAt:function(){return er},mul:function(){return fa},multiply:function(){return lt},multiplyScalar:function(){return vn},multiplyScalarAndAdd:function(){return kn},ortho:function(){return fr},orthoNO:function(){return ur},orthoZO:function(){return yr},perspective:function(){return Kn},perspectiveFromFieldOfView:function(){return Qn},perspectiveNO:function(){return Hi},perspectiveZO:function(){return Pn},rotate:function(){return It},rotateX:function(){return fn},rotateY:function(){return Yt},rotateZ:function(){return Qt},scale:function(){return Lt},set:function(){return Pt},str:function(){return qr},sub:function(){return Si},subtract:function(){return En},targetTo:function(){return Dr},translate:function(){return wt},transpose:function(){return Zt}});var q={};Z.r(q),Z.d(q,{circle:function(){return EL},diamond:function(){return xL},rect:function(){return wL},simple:function(){return SL},triangle:function(){return P_},triangleRect:function(){return ML},vee:function(){return bL}});var H=Z(77321),b=Z(96949),z=Z(55090),P=Z(80702),T=Z(75841),x=Z(47123),O=Z(73447);function _(r,e,t){return e=(0,T.Z)(e),(0,O.Z)(r,(0,x.Z)()?Reflect.construct(e,t||[],(0,T.Z)(r).constructor):e.apply(r,t))}var g=Z(77205),m=Z(52487),L=Z(37271),d=L,v=1e-6,M=typeof Float32Array!="undefined"?Float32Array:Array,w=Math.random;function S(r){M=r}var A=Math.PI/180;function R(r){return r*A}function u(r,e){return Math.abs(r-e)<=v*Math.max(1,Math.abs(r),Math.abs(e))}Math.hypot||(Math.hypot=function(){for(var r=0,e=arguments.length;e--;)r+=arguments[e]*arguments[e];return Math.sqrt(r)});function f(){var r=new M(3);return M!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function y(r){var e=new M(3);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function D(r){var e=r[0],t=r[1],n=r[2];return Math.hypot(e,t,n)}function I(r,e,t){var n=new M(3);return n[0]=r,n[1]=e,n[2]=t,n}function U(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}function F(r,e,t,n){return r[0]=e,r[1]=t,r[2]=n,r}function G(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r}function Y(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r}function te(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r}function $(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r}function oe(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r}function ie(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r}function ne(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r}function le(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r}function ae(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r}function de(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r}function se(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r}function fe(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return Math.hypot(t,n,i)}function ye(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return t*t+n*n+i*i}function ge(r){var e=r[0],t=r[1],n=r[2];return e*e+t*t+n*n}function xe(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r}function Me(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r}function Ne(r,e){var t=e[0],n=e[1],i=e[2],a=t*t+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),r[0]=e[0]*a,r[1]=e[1]*a,r[2]=e[2]*a,r}function We(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function tt(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[0],o=t[1],l=t[2];return r[0]=i*l-a*o,r[1]=a*s-n*l,r[2]=n*o-i*s,r}function Je(r,e,t,n){var i=e[0],a=e[1],s=e[2];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=s+n*(t[2]-s),r}function st(r,e,t,n,i,a){var s=a*a,o=s*(2*a-3)+1,l=s*(a-2)+a,c=s*(a-1),h=s*(3-2*a);return r[0]=e[0]*o+t[0]*l+n[0]*c+i[0]*h,r[1]=e[1]*o+t[1]*l+n[1]*c+i[1]*h,r[2]=e[2]*o+t[2]*l+n[2]*c+i[2]*h,r}function yt(r,e,t,n,i,a){var s=1-a,o=s*s,l=a*a,c=o*s,h=3*a*o,p=3*l*s,C=l*a;return r[0]=e[0]*c+t[0]*h+n[0]*p+i[0]*C,r[1]=e[1]*c+t[1]*h+n[1]*p+i[1]*C,r[2]=e[2]*c+t[2]*h+n[2]*p+i[2]*C,r}function gt(r,e){e=e||1;var t=glMatrix.RANDOM()*2*Math.PI,n=glMatrix.RANDOM()*2-1,i=Math.sqrt(1-n*n)*e;return r[0]=Math.cos(t)*i,r[1]=Math.sin(t)*i,r[2]=n*e,r}function Ke(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[3]*n+t[7]*i+t[11]*a+t[15];return s=s||1,r[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/s,r[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/s,r[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/s,r}function nt(r,e,t){var n=e[0],i=e[1],a=e[2];return r[0]=n*t[0]+i*t[3]+a*t[6],r[1]=n*t[1]+i*t[4]+a*t[7],r[2]=n*t[2]+i*t[5]+a*t[8],r}function Ze(r,e,t){var n=t[0],i=t[1],a=t[2],s=t[3],o=e[0],l=e[1],c=e[2],h=i*c-a*l,p=a*o-n*c,C=n*l-i*o,k=i*C-a*p,W=a*h-n*C,j=n*p-i*h,K=s*2;return h*=K,p*=K,C*=K,k*=2,W*=2,j*=2,r[0]=o+h+k,r[1]=l+p+W,r[2]=c+C+j,r}function Ve(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function Pe(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function He(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function be(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],s=e[1],o=e[2],l=Math.sqrt(t*t+n*n+i*i),c=Math.sqrt(a*a+s*s+o*o),h=l*c,p=h&&We(r,e)/h;return Math.acos(Math.min(Math.max(p,-1),1))}function Ie(r){return r[0]=0,r[1]=0,r[2]=0,r}function Te(r){return"vec3("+r[0]+", "+r[1]+", "+r[2]+")"}function Re(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]}function Ge(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],s=e[1],o=e[2];return Math.abs(t-a)<=v*Math.max(1,Math.abs(t),Math.abs(a))&&Math.abs(n-s)<=v*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-o)<=v*Math.max(1,Math.abs(i),Math.abs(o))}var Le=Y,Ue=null,Qe=null,et=fe,dt=null,mt=D,Tt=null,At=function(){var r=f();return function(e,t,n,i,a,s){var o,l;for(t||(t=3),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],r[2]=e[o+2],a(r,r,s),e[o]=r[0],e[o+1]=r[1],e[o+2]=r[2];return e}}();function Ye(){var r=new M(4);return M!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0,r[3]=0),r}function ft(r){var e=new M(4);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e}function pt(r,e,t,n){var i=new M(4);return i[0]=r,i[1]=e,i[2]=t,i[3]=n,i}function _t(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}function Ot(r,e,t,n,i){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r}function Wt(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r}function jt(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r}function zt(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r[3]=e[3]*t[3],r}function $t(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r[3]=e[3]/t[3],r}function pn(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r[3]=Math.ceil(e[3]),r}function on(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r[3]=Math.floor(e[3]),r}function un(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r[3]=Math.min(e[3],t[3]),r}function On(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r[3]=Math.max(e[3],t[3]),r}function Mn(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r[3]=Math.round(e[3]),r}function Kt(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r}function rn(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r}function ln(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2],a=e[3]-r[3];return Math.hypot(t,n,i,a)}function Gt(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2],a=e[3]-r[3];return t*t+n*n+i*i+a*a}function An(r){var e=r[0],t=r[1],n=r[2],i=r[3];return Math.hypot(e,t,n,i)}function Dn(r){var e=r[0],t=r[1],n=r[2],i=r[3];return e*e+t*t+n*n+i*i}function hn(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r}function In(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r[3]=1/e[3],r}function Un(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t+n*n+i*i+a*a;return s>0&&(s=1/Math.sqrt(s)),r[0]=t*s,r[1]=n*s,r[2]=i*s,r[3]=a*s,r}function Cn(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3]*e[3]}function Ft(r,e,t,n){var i=t[0]*n[1]-t[1]*n[0],a=t[0]*n[2]-t[2]*n[0],s=t[0]*n[3]-t[3]*n[0],o=t[1]*n[2]-t[2]*n[1],l=t[1]*n[3]-t[3]*n[1],c=t[2]*n[3]-t[3]*n[2],h=e[0],p=e[1],C=e[2],k=e[3];return r[0]=p*c-C*l+k*o,r[1]=-(h*c)+C*s-k*a,r[2]=h*l-p*s+k*i,r[3]=-(h*o)+p*a-C*i,r}function me(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=s+n*(t[2]-s),r[3]=o+n*(t[3]-o),r}function E(r,e){e=e||1;var t,n,i,a,s,o;do t=glMatrix.RANDOM()*2-1,n=glMatrix.RANDOM()*2-1,s=t*t+n*n;while(s>=1);do i=glMatrix.RANDOM()*2-1,a=glMatrix.RANDOM()*2-1,o=i*i+a*a;while(o>=1);var l=Math.sqrt((1-s)/o);return r[0]=e*t,r[1]=e*n,r[2]=e*i*l,r[3]=e*a*l,r}function B(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3];return r[0]=t[0]*n+t[4]*i+t[8]*a+t[12]*s,r[1]=t[1]*n+t[5]*i+t[9]*a+t[13]*s,r[2]=t[2]*n+t[6]*i+t[10]*a+t[14]*s,r[3]=t[3]*n+t[7]*i+t[11]*a+t[15]*s,r}function N(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[0],o=t[1],l=t[2],c=t[3],h=c*n+o*a-l*i,p=c*i+l*n-s*a,C=c*a+s*i-o*n,k=-s*n-o*i-l*a;return r[0]=h*c+k*-s+p*-l-C*-o,r[1]=p*c+k*-o+C*-s-h*-l,r[2]=C*c+k*-l+h*-o-p*-s,r[3]=e[3],r}function V(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=0,r}function J(r){return"vec4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"}function ue(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]}function ce(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],s=e[0],o=e[1],l=e[2],c=e[3];return Math.abs(t-s)<=v*Math.max(1,Math.abs(t),Math.abs(s))&&Math.abs(n-o)<=v*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-l)<=v*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-c)<=v*Math.max(1,Math.abs(a),Math.abs(c))}var Oe=null,Se=null,ze=null,je=null,rt=null,ot=null,$e=null,it=function(){var r=Ye();return function(e,t,n,i,a,s){var o,l;for(t||(t=4),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],r[2]=e[o+2],r[3]=e[o+3],a(r,r,s),e[o]=r[0],e[o+1]=r[1],e[o+2]=r[2],e[o+3]=r[3];return e}}();function ut(){var r=new M(16);return M!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r}function ke(r){var e=new M(16);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e}function at(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function vt(r,e,t,n,i,a,s,o,l,c,h,p,C,k,W,j){var K=new M(16);return K[0]=r,K[1]=e,K[2]=t,K[3]=n,K[4]=i,K[5]=a,K[6]=s,K[7]=o,K[8]=l,K[9]=c,K[10]=h,K[11]=p,K[12]=C,K[13]=k,K[14]=W,K[15]=j,K}function Pt(r,e,t,n,i,a,s,o,l,c,h,p,C,k,W,j,K){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=s,r[6]=o,r[7]=l,r[8]=c,r[9]=h,r[10]=p,r[11]=C,r[12]=k,r[13]=W,r[14]=j,r[15]=K,r}function kt(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Zt(r,e){if(r===e){var t=e[1],n=e[2],i=e[3],a=e[6],s=e[7],o=e[11];r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[6]=e[9],r[7]=e[13],r[8]=n,r[9]=a,r[11]=e[14],r[12]=i,r[13]=s,r[14]=o}else r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15];return r}function Ct(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],c=e[7],h=e[8],p=e[9],C=e[10],k=e[11],W=e[12],j=e[13],K=e[14],Q=e[15],ee=t*o-n*s,re=t*l-i*s,ve=t*c-a*s,he=n*l-i*o,pe=n*c-a*o,_e=i*c-a*l,Ee=h*j-p*W,De=h*K-C*W,Be=h*Q-k*W,Fe=p*K-C*j,Xe=p*Q-k*j,qe=C*Q-k*K,ct=ee*qe-re*Xe+ve*Fe+he*Be-pe*De+_e*Ee;return ct?(ct=1/ct,r[0]=(o*qe-l*Xe+c*Fe)*ct,r[1]=(i*Xe-n*qe-a*Fe)*ct,r[2]=(j*_e-K*pe+Q*he)*ct,r[3]=(C*pe-p*_e-k*he)*ct,r[4]=(l*Be-s*qe-c*De)*ct,r[5]=(t*qe-i*Be+a*De)*ct,r[6]=(K*ve-W*_e-Q*re)*ct,r[7]=(h*_e-C*ve+k*re)*ct,r[8]=(s*Xe-o*Be+c*Ee)*ct,r[9]=(n*Be-t*Xe-a*Ee)*ct,r[10]=(W*pe-j*ve+Q*ee)*ct,r[11]=(p*ve-h*pe-k*ee)*ct,r[12]=(o*De-s*Fe-l*Ee)*ct,r[13]=(t*Fe-n*De+i*Ee)*ct,r[14]=(j*re-W*he-K*ee)*ct,r[15]=(h*he-p*re+C*ee)*ct,r):null}function Bt(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],c=e[7],h=e[8],p=e[9],C=e[10],k=e[11],W=e[12],j=e[13],K=e[14],Q=e[15];return r[0]=o*(C*Q-k*K)-p*(l*Q-c*K)+j*(l*k-c*C),r[1]=-(n*(C*Q-k*K)-p*(i*Q-a*K)+j*(i*k-a*C)),r[2]=n*(l*Q-c*K)-o*(i*Q-a*K)+j*(i*c-a*l),r[3]=-(n*(l*k-c*C)-o*(i*k-a*C)+p*(i*c-a*l)),r[4]=-(s*(C*Q-k*K)-h*(l*Q-c*K)+W*(l*k-c*C)),r[5]=t*(C*Q-k*K)-h*(i*Q-a*K)+W*(i*k-a*C),r[6]=-(t*(l*Q-c*K)-s*(i*Q-a*K)+W*(i*c-a*l)),r[7]=t*(l*k-c*C)-s*(i*k-a*C)+h*(i*c-a*l),r[8]=s*(p*Q-k*j)-h*(o*Q-c*j)+W*(o*k-c*p),r[9]=-(t*(p*Q-k*j)-h*(n*Q-a*j)+W*(n*k-a*p)),r[10]=t*(o*Q-c*j)-s*(n*Q-a*j)+W*(n*c-a*o),r[11]=-(t*(o*k-c*p)-s*(n*k-a*p)+h*(n*c-a*o)),r[12]=-(s*(p*K-C*j)-h*(o*K-l*j)+W*(o*C-l*p)),r[13]=t*(p*K-C*j)-h*(n*K-i*j)+W*(n*C-i*p),r[14]=-(t*(o*K-l*j)-s*(n*K-i*j)+W*(n*l-i*o)),r[15]=t*(o*C-l*p)-s*(n*C-i*p)+h*(n*l-i*o),r}function Vt(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],s=r[5],o=r[6],l=r[7],c=r[8],h=r[9],p=r[10],C=r[11],k=r[12],W=r[13],j=r[14],K=r[15],Q=e*s-t*a,ee=e*o-n*a,re=e*l-i*a,ve=t*o-n*s,he=t*l-i*s,pe=n*l-i*o,_e=c*W-h*k,Ee=c*j-p*k,De=c*K-C*k,Be=h*j-p*W,Fe=h*K-C*W,Xe=p*K-C*j;return Q*Xe-ee*Fe+re*Be+ve*De-he*Ee+pe*_e}function lt(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],c=e[6],h=e[7],p=e[8],C=e[9],k=e[10],W=e[11],j=e[12],K=e[13],Q=e[14],ee=e[15],re=t[0],ve=t[1],he=t[2],pe=t[3];return r[0]=re*n+ve*o+he*p+pe*j,r[1]=re*i+ve*l+he*C+pe*K,r[2]=re*a+ve*c+he*k+pe*Q,r[3]=re*s+ve*h+he*W+pe*ee,re=t[4],ve=t[5],he=t[6],pe=t[7],r[4]=re*n+ve*o+he*p+pe*j,r[5]=re*i+ve*l+he*C+pe*K,r[6]=re*a+ve*c+he*k+pe*Q,r[7]=re*s+ve*h+he*W+pe*ee,re=t[8],ve=t[9],he=t[10],pe=t[11],r[8]=re*n+ve*o+he*p+pe*j,r[9]=re*i+ve*l+he*C+pe*K,r[10]=re*a+ve*c+he*k+pe*Q,r[11]=re*s+ve*h+he*W+pe*ee,re=t[12],ve=t[13],he=t[14],pe=t[15],r[12]=re*n+ve*o+he*p+pe*j,r[13]=re*i+ve*l+he*C+pe*K,r[14]=re*a+ve*c+he*k+pe*Q,r[15]=re*s+ve*h+he*W+pe*ee,r}function wt(r,e,t){var n=t[0],i=t[1],a=t[2],s,o,l,c,h,p,C,k,W,j,K,Q;return e===r?(r[12]=e[0]*n+e[4]*i+e[8]*a+e[12],r[13]=e[1]*n+e[5]*i+e[9]*a+e[13],r[14]=e[2]*n+e[6]*i+e[10]*a+e[14],r[15]=e[3]*n+e[7]*i+e[11]*a+e[15]):(s=e[0],o=e[1],l=e[2],c=e[3],h=e[4],p=e[5],C=e[6],k=e[7],W=e[8],j=e[9],K=e[10],Q=e[11],r[0]=s,r[1]=o,r[2]=l,r[3]=c,r[4]=h,r[5]=p,r[6]=C,r[7]=k,r[8]=W,r[9]=j,r[10]=K,r[11]=Q,r[12]=s*n+h*i+W*a+e[12],r[13]=o*n+p*i+j*a+e[13],r[14]=l*n+C*i+K*a+e[14],r[15]=c*n+k*i+Q*a+e[15]),r}function Lt(r,e,t){var n=t[0],i=t[1],a=t[2];return r[0]=e[0]*n,r[1]=e[1]*n,r[2]=e[2]*n,r[3]=e[3]*n,r[4]=e[4]*i,r[5]=e[5]*i,r[6]=e[6]*i,r[7]=e[7]*i,r[8]=e[8]*a,r[9]=e[9]*a,r[10]=e[10]*a,r[11]=e[11]*a,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function It(r,e,t,n){var i=n[0],a=n[1],s=n[2],o=Math.hypot(i,a,s),l,c,h,p,C,k,W,j,K,Q,ee,re,ve,he,pe,_e,Ee,De,Be,Fe,Xe,qe,ct,ht;return o<v?null:(o=1/o,i*=o,a*=o,s*=o,l=Math.sin(t),c=Math.cos(t),h=1-c,p=e[0],C=e[1],k=e[2],W=e[3],j=e[4],K=e[5],Q=e[6],ee=e[7],re=e[8],ve=e[9],he=e[10],pe=e[11],_e=i*i*h+c,Ee=a*i*h+s*l,De=s*i*h-a*l,Be=i*a*h-s*l,Fe=a*a*h+c,Xe=s*a*h+i*l,qe=i*s*h+a*l,ct=a*s*h-i*l,ht=s*s*h+c,r[0]=p*_e+j*Ee+re*De,r[1]=C*_e+K*Ee+ve*De,r[2]=k*_e+Q*Ee+he*De,r[3]=W*_e+ee*Ee+pe*De,r[4]=p*Be+j*Fe+re*Xe,r[5]=C*Be+K*Fe+ve*Xe,r[6]=k*Be+Q*Fe+he*Xe,r[7]=W*Be+ee*Fe+pe*Xe,r[8]=p*qe+j*ct+re*ht,r[9]=C*qe+K*ct+ve*ht,r[10]=k*qe+Q*ct+he*ht,r[11]=W*qe+ee*ct+pe*ht,e!==r&&(r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r)}function fn(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[4],s=e[5],o=e[6],l=e[7],c=e[8],h=e[9],p=e[10],C=e[11];return e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[4]=a*i+c*n,r[5]=s*i+h*n,r[6]=o*i+p*n,r[7]=l*i+C*n,r[8]=c*i-a*n,r[9]=h*i-s*n,r[10]=p*i-o*n,r[11]=C*i-l*n,r}function Yt(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[0],s=e[1],o=e[2],l=e[3],c=e[8],h=e[9],p=e[10],C=e[11];return e!==r&&(r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=a*i-c*n,r[1]=s*i-h*n,r[2]=o*i-p*n,r[3]=l*i-C*n,r[8]=a*n+c*i,r[9]=s*n+h*i,r[10]=o*n+p*i,r[11]=l*n+C*i,r}function Qt(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[0],s=e[1],o=e[2],l=e[3],c=e[4],h=e[5],p=e[6],C=e[7];return e!==r&&(r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=a*i+c*n,r[1]=s*i+h*n,r[2]=o*i+p*n,r[3]=l*i+C*n,r[4]=c*i-a*n,r[5]=h*i-s*n,r[6]=p*i-o*n,r[7]=C*i-l*n,r}function Jt(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=e[0],r[13]=e[1],r[14]=e[2],r[15]=1,r}function _n(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e[1],r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e[2],r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function yn(r,e,t){var n=t[0],i=t[1],a=t[2],s=Math.hypot(n,i,a),o,l,c;return s<v?null:(s=1/s,n*=s,i*=s,a*=s,o=Math.sin(e),l=Math.cos(e),c=1-l,r[0]=n*n*c+l,r[1]=i*n*c+a*o,r[2]=a*n*c-i*o,r[3]=0,r[4]=n*i*c-a*o,r[5]=i*i*c+l,r[6]=a*i*c+n*o,r[7]=0,r[8]=n*a*c+i*o,r[9]=i*a*c-n*o,r[10]=a*a*c+l,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r)}function cn(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=n,r[6]=t,r[7]=0,r[8]=0,r[9]=-t,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Zn(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=0,r[2]=-t,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=t,r[9]=0,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Nn(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=t,r[2]=0,r[3]=0,r[4]=-t,r[5]=n,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function tn(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=n+n,l=i+i,c=a+a,h=n*o,p=n*l,C=n*c,k=i*l,W=i*c,j=a*c,K=s*o,Q=s*l,ee=s*c;return r[0]=1-(k+j),r[1]=p+ee,r[2]=C-Q,r[3]=0,r[4]=p-ee,r[5]=1-(h+j),r[6]=W+K,r[7]=0,r[8]=C+Q,r[9]=W-K,r[10]=1-(h+k),r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function Ln(r,e){var t=new M(3),n=-e[0],i=-e[1],a=-e[2],s=e[3],o=e[4],l=e[5],c=e[6],h=e[7],p=n*n+i*i+a*a+s*s;return p>0?(t[0]=(o*s+h*n+l*a-c*i)*2/p,t[1]=(l*s+h*i+c*n-o*a)*2/p,t[2]=(c*s+h*a+o*i-l*n)*2/p):(t[0]=(o*s+h*n+l*a-c*i)*2,t[1]=(l*s+h*i+c*n-o*a)*2,t[2]=(c*s+h*a+o*i-l*n)*2),tn(r,e,t),r}function Bn(r,e){return r[0]=e[12],r[1]=e[13],r[2]=e[14],r}function lr(r,e){var t=e[0],n=e[1],i=e[2],a=e[4],s=e[5],o=e[6],l=e[8],c=e[9],h=e[10];return r[0]=Math.hypot(t,n,i),r[1]=Math.hypot(a,s,o),r[2]=Math.hypot(l,c,h),r}function qn(r,e){var t=new M(3);lr(t,e);var n=1/t[0],i=1/t[1],a=1/t[2],s=e[0]*n,o=e[1]*i,l=e[2]*a,c=e[4]*n,h=e[5]*i,p=e[6]*a,C=e[8]*n,k=e[9]*i,W=e[10]*a,j=s+h+W,K=0;return j>0?(K=Math.sqrt(j+1)*2,r[3]=.25*K,r[0]=(p-k)/K,r[1]=(C-l)/K,r[2]=(o-c)/K):s>h&&s>W?(K=Math.sqrt(1+s-h-W)*2,r[3]=(p-k)/K,r[0]=.25*K,r[1]=(o+c)/K,r[2]=(C+l)/K):h>W?(K=Math.sqrt(1+h-s-W)*2,r[3]=(C-l)/K,r[0]=(o+c)/K,r[1]=.25*K,r[2]=(p+k)/K):(K=Math.sqrt(1+W-s-h)*2,r[3]=(o-c)/K,r[0]=(C+l)/K,r[1]=(p+k)/K,r[2]=.25*K),r}function Hr(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3],l=i+i,c=a+a,h=s+s,p=i*l,C=i*c,k=i*h,W=a*c,j=a*h,K=s*h,Q=o*l,ee=o*c,re=o*h,ve=n[0],he=n[1],pe=n[2];return r[0]=(1-(W+K))*ve,r[1]=(C+re)*ve,r[2]=(k-ee)*ve,r[3]=0,r[4]=(C-re)*he,r[5]=(1-(p+K))*he,r[6]=(j+Q)*he,r[7]=0,r[8]=(k+ee)*pe,r[9]=(j-Q)*pe,r[10]=(1-(p+W))*pe,r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function hi(r,e,t,n,i){var a=e[0],s=e[1],o=e[2],l=e[3],c=a+a,h=s+s,p=o+o,C=a*c,k=a*h,W=a*p,j=s*h,K=s*p,Q=o*p,ee=l*c,re=l*h,ve=l*p,he=n[0],pe=n[1],_e=n[2],Ee=i[0],De=i[1],Be=i[2],Fe=(1-(j+Q))*he,Xe=(k+ve)*he,qe=(W-re)*he,ct=(k-ve)*pe,ht=(1-(C+Q))*pe,St=(K+ee)*pe,bt=(W+re)*_e,Et=(K-ee)*_e,xt=(1-(C+j))*_e;return r[0]=Fe,r[1]=Xe,r[2]=qe,r[3]=0,r[4]=ct,r[5]=ht,r[6]=St,r[7]=0,r[8]=bt,r[9]=Et,r[10]=xt,r[11]=0,r[12]=t[0]+Ee-(Fe*Ee+ct*De+bt*Be),r[13]=t[1]+De-(Xe*Ee+ht*De+Et*Be),r[14]=t[2]+Be-(qe*Ee+St*De+xt*Be),r[15]=1,r}function cr(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t+t,o=n+n,l=i+i,c=t*s,h=n*s,p=n*o,C=i*s,k=i*o,W=i*l,j=a*s,K=a*o,Q=a*l;return r[0]=1-p-W,r[1]=h+Q,r[2]=C-K,r[3]=0,r[4]=h-Q,r[5]=1-c-W,r[6]=k+j,r[7]=0,r[8]=C+K,r[9]=k-j,r[10]=1-c-p,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function fi(r,e,t,n,i,a,s){var o=1/(t-e),l=1/(i-n),c=1/(a-s);return r[0]=a*2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a*2*l,r[6]=0,r[7]=0,r[8]=(t+e)*o,r[9]=(i+n)*l,r[10]=(s+a)*c,r[11]=-1,r[12]=0,r[13]=0,r[14]=s*a*2*c,r[15]=0,r}function Hi(r,e,t,n,i){var a=1/Math.tan(e/2),s;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(n-i),r[10]=(i+n)*s,r[14]=2*i*n*s):(r[10]=-1,r[14]=-2*n),r}var Kn=Hi;function Pn(r,e,t,n,i){var a=1/Math.tan(e/2),s;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(n-i),r[10]=i*s,r[14]=i*n*s):(r[10]=-1,r[14]=-n),r}function Qn(r,e,t,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),l=2/(s+o),c=2/(i+a);return r[0]=l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=c,r[6]=0,r[7]=0,r[8]=-((s-o)*l*.5),r[9]=(i-a)*c*.5,r[10]=n/(t-n),r[11]=-1,r[12]=0,r[13]=0,r[14]=n*t/(t-n),r[15]=0,r}function ur(r,e,t,n,i,a,s){var o=1/(e-t),l=1/(n-i),c=1/(a-s);return r[0]=-2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*c,r[11]=0,r[12]=(e+t)*o,r[13]=(i+n)*l,r[14]=(s+a)*c,r[15]=1,r}var fr=ur;function yr(r,e,t,n,i,a,s){var o=1/(e-t),l=1/(n-i),c=1/(a-s);return r[0]=-2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=c,r[11]=0,r[12]=(e+t)*o,r[13]=(i+n)*l,r[14]=a*c,r[15]=1,r}function er(r,e,t,n){var i,a,s,o,l,c,h,p,C,k,W=e[0],j=e[1],K=e[2],Q=n[0],ee=n[1],re=n[2],ve=t[0],he=t[1],pe=t[2];return Math.abs(W-ve)<v&&Math.abs(j-he)<v&&Math.abs(K-pe)<v?kt(r):(h=W-ve,p=j-he,C=K-pe,k=1/Math.hypot(h,p,C),h*=k,p*=k,C*=k,i=ee*C-re*p,a=re*h-Q*C,s=Q*p-ee*h,k=Math.hypot(i,a,s),k?(k=1/k,i*=k,a*=k,s*=k):(i=0,a=0,s=0),o=p*s-C*a,l=C*i-h*s,c=h*a-p*i,k=Math.hypot(o,l,c),k?(k=1/k,o*=k,l*=k,c*=k):(o=0,l=0,c=0),r[0]=i,r[1]=o,r[2]=h,r[3]=0,r[4]=a,r[5]=l,r[6]=p,r[7]=0,r[8]=s,r[9]=c,r[10]=C,r[11]=0,r[12]=-(i*W+a*j+s*K),r[13]=-(o*W+l*j+c*K),r[14]=-(h*W+p*j+C*K),r[15]=1,r)}function Dr(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=n[0],l=n[1],c=n[2],h=i-t[0],p=a-t[1],C=s-t[2],k=h*h+p*p+C*C;k>0&&(k=1/Math.sqrt(k),h*=k,p*=k,C*=k);var W=l*C-c*p,j=c*h-o*C,K=o*p-l*h;return k=W*W+j*j+K*K,k>0&&(k=1/Math.sqrt(k),W*=k,j*=k,K*=k),r[0]=W,r[1]=j,r[2]=K,r[3]=0,r[4]=p*K-C*j,r[5]=C*W-h*K,r[6]=h*j-p*W,r[7]=0,r[8]=h,r[9]=p,r[10]=C,r[11]=0,r[12]=i,r[13]=a,r[14]=s,r[15]=1,r}function qr(r){return"mat4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+", "+r[9]+", "+r[10]+", "+r[11]+", "+r[12]+", "+r[13]+", "+r[14]+", "+r[15]+")"}function Zr(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}function _i(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r[9]=e[9]+t[9],r[10]=e[10]+t[10],r[11]=e[11]+t[11],r[12]=e[12]+t[12],r[13]=e[13]+t[13],r[14]=e[14]+t[14],r[15]=e[15]+t[15],r}function En(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r[9]=e[9]-t[9],r[10]=e[10]-t[10],r[11]=e[11]-t[11],r[12]=e[12]-t[12],r[13]=e[13]-t[13],r[14]=e[14]-t[14],r[15]=e[15]-t[15],r}function vn(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r}function kn(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r[9]=e[9]+t[9]*n,r[10]=e[10]+t[10]*n,r[11]=e[11]+t[11]*n,r[12]=e[12]+t[12]*n,r[13]=e[13]+t[13]*n,r[14]=e[14]+t[14]*n,r[15]=e[15]+t[15]*n,r}function Wn(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]&&r[9]===e[9]&&r[10]===e[10]&&r[11]===e[11]&&r[12]===e[12]&&r[13]===e[13]&&r[14]===e[14]&&r[15]===e[15]}function Mr(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],s=r[4],o=r[5],l=r[6],c=r[7],h=r[8],p=r[9],C=r[10],k=r[11],W=r[12],j=r[13],K=r[14],Q=r[15],ee=e[0],re=e[1],ve=e[2],he=e[3],pe=e[4],_e=e[5],Ee=e[6],De=e[7],Be=e[8],Fe=e[9],Xe=e[10],qe=e[11],ct=e[12],ht=e[13],St=e[14],bt=e[15];return Math.abs(t-ee)<=v*Math.max(1,Math.abs(t),Math.abs(ee))&&Math.abs(n-re)<=v*Math.max(1,Math.abs(n),Math.abs(re))&&Math.abs(i-ve)<=v*Math.max(1,Math.abs(i),Math.abs(ve))&&Math.abs(a-he)<=v*Math.max(1,Math.abs(a),Math.abs(he))&&Math.abs(s-pe)<=v*Math.max(1,Math.abs(s),Math.abs(pe))&&Math.abs(o-_e)<=v*Math.max(1,Math.abs(o),Math.abs(_e))&&Math.abs(l-Ee)<=v*Math.max(1,Math.abs(l),Math.abs(Ee))&&Math.abs(c-De)<=v*Math.max(1,Math.abs(c),Math.abs(De))&&Math.abs(h-Be)<=v*Math.max(1,Math.abs(h),Math.abs(Be))&&Math.abs(p-Fe)<=v*Math.max(1,Math.abs(p),Math.abs(Fe))&&Math.abs(C-Xe)<=v*Math.max(1,Math.abs(C),Math.abs(Xe))&&Math.abs(k-qe)<=v*Math.max(1,Math.abs(k),Math.abs(qe))&&Math.abs(W-ct)<=v*Math.max(1,Math.abs(W),Math.abs(ct))&&Math.abs(j-ht)<=v*Math.max(1,Math.abs(j),Math.abs(ht))&&Math.abs(K-St)<=v*Math.max(1,Math.abs(K),Math.abs(St))&&Math.abs(Q-bt)<=v*Math.max(1,Math.abs(Q),Math.abs(bt))}var fa=lt,Si=En;function Ti(){var r=new M(9);return M!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function $i(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r}function ji(r){var e=new glMatrix.ARRAY_TYPE(9);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e}function Gi(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function Fa(r,e,t,n,i,a,s,o,l){var c=new M(9);return c[0]=r,c[1]=e,c[2]=t,c[3]=n,c[4]=i,c[5]=a,c[6]=s,c[7]=o,c[8]=l,c}function ea(r,e,t,n,i,a,s,o,l,c){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=s,r[6]=o,r[7]=l,r[8]=c,r}function $a(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function io(r,e){if(r===e){var t=e[1],n=e[2],i=e[5];r[1]=e[3],r[2]=e[6],r[3]=t,r[5]=e[7],r[6]=n,r[7]=i}else r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8];return r}function Bo(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],c=e[7],h=e[8],p=h*s-o*c,C=-h*a+o*l,k=c*a-s*l,W=t*p+n*C+i*k;return W?(W=1/W,r[0]=p*W,r[1]=(-h*n+i*c)*W,r[2]=(o*n-i*s)*W,r[3]=C*W,r[4]=(h*t-i*l)*W,r[5]=(-o*t+i*a)*W,r[6]=k*W,r[7]=(-c*t+n*l)*W,r[8]=(s*t-n*a)*W,r):null}function Ml(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],c=e[7],h=e[8];return r[0]=s*h-o*c,r[1]=i*c-n*h,r[2]=n*o-i*s,r[3]=o*l-a*h,r[4]=t*h-i*l,r[5]=i*a-t*o,r[6]=a*c-s*l,r[7]=n*l-t*c,r[8]=t*s-n*a,r}function ko(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],s=r[5],o=r[6],l=r[7],c=r[8];return e*(c*a-s*l)+t*(-c*i+s*o)+n*(l*i-a*o)}function es(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],c=e[6],h=e[7],p=e[8],C=t[0],k=t[1],W=t[2],j=t[3],K=t[4],Q=t[5],ee=t[6],re=t[7],ve=t[8];return r[0]=C*n+k*s+W*c,r[1]=C*i+k*o+W*h,r[2]=C*a+k*l+W*p,r[3]=j*n+K*s+Q*c,r[4]=j*i+K*o+Q*h,r[5]=j*a+K*l+Q*p,r[6]=ee*n+re*s+ve*c,r[7]=ee*i+re*o+ve*h,r[8]=ee*a+re*l+ve*p,r}function Sl(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],c=e[6],h=e[7],p=e[8],C=t[0],k=t[1];return r[0]=n,r[1]=i,r[2]=a,r[3]=s,r[4]=o,r[5]=l,r[6]=C*n+k*s+c,r[7]=C*i+k*o+h,r[8]=C*a+k*l+p,r}function ts(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],c=e[6],h=e[7],p=e[8],C=Math.sin(t),k=Math.cos(t);return r[0]=k*n+C*s,r[1]=k*i+C*o,r[2]=k*a+C*l,r[3]=k*s-C*n,r[4]=k*o-C*i,r[5]=k*l-C*a,r[6]=c,r[7]=h,r[8]=p,r}function Au(r,e,t){var n=t[0],i=t[1];return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=i*e[3],r[4]=i*e[4],r[5]=i*e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function gc(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=e[0],r[7]=e[1],r[8]=1,r}function Tl(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=t,r[2]=0,r[3]=-t,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function zo(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=e[1],r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function pc(r,e){return r[0]=e[0],r[1]=e[1],r[2]=0,r[3]=e[2],r[4]=e[3],r[5]=0,r[6]=e[4],r[7]=e[5],r[8]=1,r}function Cu(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t+t,o=n+n,l=i+i,c=t*s,h=n*s,p=n*o,C=i*s,k=i*o,W=i*l,j=a*s,K=a*o,Q=a*l;return r[0]=1-p-W,r[3]=h-Q,r[6]=C+K,r[1]=h+Q,r[4]=1-c-W,r[7]=k-j,r[2]=C-K,r[5]=k+j,r[8]=1-c-p,r}function mc(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],c=e[7],h=e[8],p=e[9],C=e[10],k=e[11],W=e[12],j=e[13],K=e[14],Q=e[15],ee=t*o-n*s,re=t*l-i*s,ve=t*c-a*s,he=n*l-i*o,pe=n*c-a*o,_e=i*c-a*l,Ee=h*j-p*W,De=h*K-C*W,Be=h*Q-k*W,Fe=p*K-C*j,Xe=p*Q-k*j,qe=C*Q-k*K,ct=ee*qe-re*Xe+ve*Fe+he*Be-pe*De+_e*Ee;return ct?(ct=1/ct,r[0]=(o*qe-l*Xe+c*Fe)*ct,r[1]=(l*Be-s*qe-c*De)*ct,r[2]=(s*Xe-o*Be+c*Ee)*ct,r[3]=(i*Xe-n*qe-a*Fe)*ct,r[4]=(t*qe-i*Be+a*De)*ct,r[5]=(n*Be-t*Xe-a*Ee)*ct,r[6]=(j*_e-K*pe+Q*he)*ct,r[7]=(K*ve-W*_e-Q*re)*ct,r[8]=(W*pe-j*ve+Q*ee)*ct,r):null}function yc(r,e,t){return r[0]=2/e,r[1]=0,r[2]=0,r[3]=0,r[4]=-2/t,r[5]=0,r[6]=-1,r[7]=1,r[8]=1,r}function Al(r){return"mat3("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+")"}function Tn(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])}function Xn(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r}function Fn(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r}function jn(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r}function Ir(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r}function zr(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]}function _s(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],s=r[4],o=r[5],l=r[6],c=r[7],h=r[8],p=e[0],C=e[1],k=e[2],W=e[3],j=e[4],K=e[5],Q=e[6],ee=e[7],re=e[8];return Math.abs(t-p)<=glMatrix.EPSILON*Math.max(1,Math.abs(t),Math.abs(p))&&Math.abs(n-C)<=glMatrix.EPSILON*Math.max(1,Math.abs(n),Math.abs(C))&&Math.abs(i-k)<=glMatrix.EPSILON*Math.max(1,Math.abs(i),Math.abs(k))&&Math.abs(a-W)<=glMatrix.EPSILON*Math.max(1,Math.abs(a),Math.abs(W))&&Math.abs(s-j)<=glMatrix.EPSILON*Math.max(1,Math.abs(s),Math.abs(j))&&Math.abs(o-K)<=glMatrix.EPSILON*Math.max(1,Math.abs(o),Math.abs(K))&&Math.abs(l-Q)<=glMatrix.EPSILON*Math.max(1,Math.abs(l),Math.abs(Q))&&Math.abs(c-ee)<=glMatrix.EPSILON*Math.max(1,Math.abs(c),Math.abs(ee))&&Math.abs(h-re)<=glMatrix.EPSILON*Math.max(1,Math.abs(h),Math.abs(re))}var ns=null,ks=null;function or(){var r=new M(4);return M!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r[3]=1,r}function zs(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=1,r}function wa(r,e,t){t=t*.5;var n=Math.sin(t);return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=Math.cos(t),r}function Ou(r,e){var t=Math.acos(e[3])*2,n=Math.sin(t/2);return n>glMatrix.EPSILON?(r[0]=e[0]/n,r[1]=e[1]/n,r[2]=e[2]/n):(r[0]=1,r[1]=0,r[2]=0),t}function Xd(r,e){var t=$n(r,e);return Math.acos(2*t*t-1)}function Vi(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],c=t[2],h=t[3];return r[0]=n*h+s*o+i*c-a*l,r[1]=i*h+s*l+a*o-n*c,r[2]=a*h+s*c+n*l-i*o,r[3]=s*h-n*o-i*l-a*c,r}function Es(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(t),l=Math.cos(t);return r[0]=n*l+s*o,r[1]=i*l+a*o,r[2]=a*l-i*o,r[3]=s*l-n*o,r}function S0(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(t),l=Math.cos(t);return r[0]=n*l-a*o,r[1]=i*l+s*o,r[2]=a*l+n*o,r[3]=s*l-i*o,r}function Fo(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(t),l=Math.cos(t);return r[0]=n*l+i*o,r[1]=i*l-n*o,r[2]=a*l+s*o,r[3]=s*l-a*o,r}function T0(r,e){var t=e[0],n=e[1],i=e[2];return r[0]=t,r[1]=n,r[2]=i,r[3]=Math.sqrt(Math.abs(1-t*t-n*n-i*i)),r}function Yd(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=Math.sqrt(t*t+n*n+i*i),o=Math.exp(a),l=s>0?o*Math.sin(s)/s:0;return r[0]=t*l,r[1]=n*l,r[2]=i*l,r[3]=o*Math.cos(s),r}function Qd(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=Math.sqrt(t*t+n*n+i*i),o=s>0?Math.atan2(s,a)/s:0;return r[0]=t*o,r[1]=n*o,r[2]=i*o,r[3]=.5*Math.log(t*t+n*n+i*i+a*a),r}function A0(r,e,t){return Qd(r,e),ar(r,r,t),Yd(r,r),r}function _c(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3],l=t[0],c=t[1],h=t[2],p=t[3],C,k,W,j,K;return k=i*l+a*c+s*h+o*p,k<0&&(k=-k,l=-l,c=-c,h=-h,p=-p),1-k>v?(C=Math.acos(k),W=Math.sin(C),j=Math.sin((1-n)*C)/W,K=Math.sin(n*C)/W):(j=1-n,K=n),r[0]=j*i+K*l,r[1]=j*a+K*c,r[2]=j*s+K*h,r[3]=j*o+K*p,r}function Jd(r){var e=glMatrix.RANDOM(),t=glMatrix.RANDOM(),n=glMatrix.RANDOM(),i=Math.sqrt(1-e),a=Math.sqrt(e);return r[0]=i*Math.sin(2*Math.PI*t),r[1]=i*Math.cos(2*Math.PI*t),r[2]=a*Math.sin(2*Math.PI*n),r[3]=a*Math.cos(2*Math.PI*n),r}function Ec(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t+n*n+i*i+a*a,o=s?1/s:0;return r[0]=-t*o,r[1]=-n*o,r[2]=-i*o,r[3]=a*o,r}function qd(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=e[3],r}function Pu(r,e){var t=e[0]+e[4]+e[8],n;if(t>0)n=Math.sqrt(t+1),r[3]=.5*n,n=.5/n,r[0]=(e[5]-e[7])*n,r[1]=(e[6]-e[2])*n,r[2]=(e[1]-e[3])*n;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);var a=(i+1)%3,s=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[a*3+a]-e[s*3+s]+1),r[i]=.5*n,n=.5/n,r[3]=(e[a*3+s]-e[s*3+a])*n,r[a]=(e[a*3+i]+e[i*3+a])*n,r[s]=(e[s*3+i]+e[i*3+s])*n}return r}function Cl(r,e,t,n){var i=.5*Math.PI/180;e*=i,t*=i,n*=i;var a=Math.sin(e),s=Math.cos(e),o=Math.sin(t),l=Math.cos(t),c=Math.sin(n),h=Math.cos(n);return r[0]=a*l*h-s*o*c,r[1]=s*o*h+a*l*c,r[2]=s*l*c-a*o*h,r[3]=s*l*h+a*o*c,r}function $d(r){return"quat("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"}var C0=ft,ev=pt,Ol=_t,Du=Ot,tv=Wt,Pl=Vi,ar=Kt,$n=Cn,Li=me,ta=An,ri=null,da=Dn,Ua=null,xs=Un,Fs=ue,Uo=ce,Us=function(){var r=f(),e=I(1,0,0),t=I(0,1,0);return function(n,i,a){var s=We(i,a);return s<-.999999?(tt(r,e,i),mt(r)<1e-6&&tt(r,t,i),Ne(r,r),wa(n,r,Math.PI),n):s>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(tt(r,i,a),n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=1+s,xs(n,n))}}(),nv=function(){var r=or(),e=or();return function(t,n,i,a,s,o){return _c(r,n,s,o),_c(e,i,a,o),_c(t,r,e,2*o*(1-o)),t}}(),F6=function(){var r=Ti();return function(e,t,n,i){return r[0]=n[0],r[3]=n[1],r[6]=n[2],r[1]=i[0],r[4]=i[1],r[7]=i[2],r[2]=-t[0],r[5]=-t[1],r[8]=-t[2],xs(e,Pu(e,r))}}();function rv(){var r=new M(2);return M!=Float32Array&&(r[0]=0,r[1]=0),r}function U6(r){var e=new glMatrix.ARRAY_TYPE(2);return e[0]=r[0],e[1]=r[1],e}function W6(r,e){var t=new glMatrix.ARRAY_TYPE(2);return t[0]=r,t[1]=e,t}function T2(r,e){return r[0]=e[0],r[1]=e[1],r}function A2(r,e,t){return r[0]=e,r[1]=t,r}function H6(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r}function j6(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r}function G6(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r}function V6(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r}function Z6(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r}function K6(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r}function X6(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r}function Y6(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r}function Q6(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r}function J6(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r}function q6(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r}function $6(r,e){var t=e[0]-r[0],n=e[1]-r[1];return Math.hypot(t,n)}function ez(r,e){var t=e[0]-r[0],n=e[1]-r[1];return t*t+n*n}function tz(r){var e=r[0],t=r[1];return Math.hypot(e,t)}function nz(r){var e=r[0],t=r[1];return e*e+t*t}function rz(r,e){return r[0]=-e[0],r[1]=-e[1],r}function iz(r,e){return r[0]=1/e[0],r[1]=1/e[1],r}function C2(r,e){var t=e[0],n=e[1],i=t*t+n*n;return i>0&&(i=1/Math.sqrt(i)),r[0]=e[0]*i,r[1]=e[1]*i,r}function O2(r,e){return r[0]*e[0]+r[1]*e[1]}function az(r,e,t){var n=e[0]*t[1]-e[1]*t[0];return r[0]=r[1]=0,r[2]=n,r}function sz(r,e,t,n){var i=e[0],a=e[1];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r}function oz(r,e){e=e||1;var t=glMatrix.RANDOM()*2*Math.PI;return r[0]=Math.cos(t)*e,r[1]=Math.sin(t)*e,r}function lz(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i,r[1]=t[1]*n+t[3]*i,r}function cz(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i+t[4],r[1]=t[1]*n+t[3]*i+t[5],r}function uz(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[3]*i+t[6],r[1]=t[1]*n+t[4]*i+t[7],r}function hz(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[4]*i+t[12],r[1]=t[1]*n+t[5]*i+t[13],r}function fz(r,e,t,n){var i=e[0]-t[0],a=e[1]-t[1],s=Math.sin(n),o=Math.cos(n);return r[0]=i*o-a*s+t[0],r[1]=i*s+a*o+t[1],r}function dz(r,e){var t=r[0],n=r[1],i=e[0],a=e[1],s=Math.sqrt(t*t+n*n)*Math.sqrt(i*i+a*a),o=s&&(t*i+n*a)/s;return Math.acos(Math.min(Math.max(o,-1),1))}function vz(r){return r[0]=0,r[1]=0,r}function gz(r){return"vec2("+r[0]+", "+r[1]+")"}function P2(r,e){return r[0]===e[0]&&r[1]===e[1]}function pz(r,e){var t=r[0],n=r[1],i=e[0],a=e[1];return Math.abs(t-i)<=glMatrix.EPSILON*Math.max(1,Math.abs(t),Math.abs(i))&&Math.abs(n-a)<=glMatrix.EPSILON*Math.max(1,Math.abs(n),Math.abs(a))}var mz=null,yz=null,_z=null,Ez=null,xz=null,bz=null,wz=null,Mz=function(){var r=rv();return function(e,t,n,i,a,s){var o,l;for(t||(t=2),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],a(r,r,s),e[o]=r[0],e[o+1]=r[1];return e}}();function dn(r){return typeof r=="number"}function va(r,e){return Math.sqrt((r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1]))}function Rn(r){return r==null}function dr(r){return typeof r=="string"}var D2=function(r,e,t){return r<e?e:r>t?t:r},Yr=D2,we=Z(80813),xc={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function O0(r){return Array.isArray(r)&&r.every(function(e){var t=e[0].toLowerCase();return xc[t]===e.length-1&&"achlmqstvz".includes(t)})}function P0(r){return O0(r)&&r.every(function(e){var t=e[0];return t===t.toUpperCase()})}function D0(r){return P0(r)&&r.every(function(e){var t=e[0];return"ACLMQZ".includes(t)})}var L0={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};function R0(r){for(var e=r.pathValue[r.segmentStart],t=e.toLowerCase(),n=r.data;n.length>=xc[t]&&(t==="m"&&n.length>2?(r.segments.push([e].concat(n.splice(0,2))),t="l",e=e==="m"?"l":"L"):r.segments.push([e].concat(n.splice(0,xc[t]))),!!xc[t]););}function L2(r){var e=r.index,t=r.pathValue,n=t.charCodeAt(e);if(n===48){r.param=0,r.index+=1;return}if(n===49){r.param=1,r.index+=1;return}r.err='[path-util]: invalid Arc flag "'.concat(t[e],'", expecting 0 or 1 at index ').concat(e)}function R2(r){return r>=48&&r<=57||r===43||r===45||r===46}function Dl(r){return r>=48&&r<=57}function I2(r){var e=r.max,t=r.pathValue,n=r.index,i=n,a=!1,s=!1,o=!1,l=!1,c;if(i>=e){r.err="[path-util]: Invalid path value at index ".concat(i,', "pathValue" is missing param');return}if(c=t.charCodeAt(i),(c===43||c===45)&&(i+=1,c=t.charCodeAt(i)),!Dl(c)&&c!==46){r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" is not a number');return}if(c!==46){if(a=c===48,i+=1,c=t.charCodeAt(i),a&&i<e&&c&&Dl(c)){r.err="[path-util]: Invalid path value at index ".concat(n,', "').concat(t[n],'" illegal number');return}for(;i<e&&Dl(t.charCodeAt(i));)i+=1,s=!0;c=t.charCodeAt(i)}if(c===46){for(l=!0,i+=1;Dl(t.charCodeAt(i));)i+=1,o=!0;c=t.charCodeAt(i)}if(c===101||c===69){if(l&&!s&&!o){r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" invalid float exponent');return}if(i+=1,c=t.charCodeAt(i),(c===43||c===45)&&(i+=1),i<e&&Dl(t.charCodeAt(i)))for(;i<e&&Dl(t.charCodeAt(i));)i+=1;else{r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" invalid integer exponent');return}}r.index=i,r.param=+r.pathValue.slice(n,i)}function N2(r){var e=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];return r===10||r===13||r===8232||r===8233||r===32||r===9||r===11||r===12||r===160||r>=5760&&e.includes(r)}function Lu(r){for(var e=r.pathValue,t=r.max;r.index<t&&N2(e.charCodeAt(r.index));)r.index+=1}function B2(r){switch(r|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}}function k2(r){return(r|32)===97}function z2(r){var e=r.max,t=r.pathValue,n=r.index,i=t.charCodeAt(n),a=xc[t[n].toLowerCase()];if(r.segmentStart=n,!B2(i)){r.err='[path-util]: Invalid path value "'.concat(t[n],'" is not a path command');return}if(r.index+=1,Lu(r),r.data=[],!a){R0(r);return}for(;;){for(var s=a;s>0;s-=1){if(k2(i)&&(s===3||s===4)?L2(r):I2(r),r.err.length)return;r.data.push(r.param),Lu(r),r.index<e&&t.charCodeAt(r.index)===44&&(r.index+=1,Lu(r))}if(r.index>=r.max||!R2(t.charCodeAt(r.index)))break}R0(r)}var F2=function(){function r(e){this.pathValue=e,this.segments=[],this.max=e.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return r}();function U2(r){if(O0(r))return[].concat(r);var e=new F2(r);for(Lu(e);e.index<e.max&&!e.err.length;)z2(e);return e.err?e.err:e.segments}function W2(r){if(P0(r))return[].concat(r);var e=U2(r),t=0,n=0,i=0,a=0;return e.map(function(s){var o=s.slice(1).map(Number),l=s[0],c=l.toUpperCase();if(l==="M")return t=o[0],n=o[1],i=t,a=n,["M",t,n];var h;if(l!==c)switch(c){case"A":h=[c,o[0],o[1],o[2],o[3],o[4],o[5]+t,o[6]+n];break;case"V":h=[c,o[0]+n];break;case"H":h=[c,o[0]+t];break;default:{var p=o.map(function(k,W){return k+(W%2?n:t)});h=[c].concat(p)}}else h=[c].concat(o);var C=h.length;switch(c){case"Z":t=i,n=a;break;case"H":t=h[1];break;case"V":n=h[1];break;default:t=h[C-2],n=h[C-1],c==="M"&&(i=t,a=n)}return h})}function H2(r,e){var t=r[0],n=e.x1,i=e.y1,a=e.x2,s=e.y2,o=r.slice(1).map(Number),l=r;if("TQ".includes(t)||(e.qx=null,e.qy=null),t==="H")l=["L",r[1],i];else if(t==="V")l=["L",n,r[1]];else if(t==="S"){var c=n*2-a,h=i*2-s;e.x1=c,e.y1=h,l=["C",c,h].concat(o)}else if(t==="T"){var p=n*2-e.qx,C=i*2-e.qy;e.qx=p,e.qy=C,l=["Q",p,C].concat(o)}else if(t==="Q"){var k=o[0],W=o[1];e.qx=k,e.qy=W}return l}function Ru(r){if(D0(r))return[].concat(r);for(var e=W2(r),t=(0,we.pi)({},L0),n=0;n<e.length;n+=1){e[n]=H2(e[n],t);var i=e[n],a=i.length;t.x1=+i[a-2],t.y1=+i[a-1],t.x2=+i[a-4]||t.x1,t.y2=+i[a-3]||t.y1}return e}function ao(r,e,t){var n=r[0],i=r[1],a=e[0],s=e[1];return[n+(a-n)*t,i+(s-i)*t]}function iv(r,e,t,n,i){var a=va([r,e],[t,n]),s={x:0,y:0};if(typeof i=="number")if(i<=0)s={x:r,y:e};else if(i>=a)s={x:t,y:n};else{var o=ao([r,e],[t,n],i/a),l=o[0],c=o[1];s={x:l,y:c}}return{length:a,point:s,min:{x:Math.min(r,t),y:Math.min(e,n)},max:{x:Math.max(r,t),y:Math.max(e,n)}}}function I0(r,e){var t=r.x,n=r.y,i=e.x,a=e.y,s=t*i+n*a,o=Math.sqrt((Math.pow(t,2)+Math.pow(n,2))*(Math.pow(i,2)+Math.pow(a,2))),l=t*a-n*i<0?-1:1,c=l*Math.acos(s/o);return c}function j2(r,e,t,n,i,a,s,o,l,c){var h=Math.abs,p=Math.sin,C=Math.cos,k=Math.sqrt,W=Math.PI,j=h(t),K=h(n),Q=(i%360+360)%360,ee=Q*(W/180);if(r===o&&e===l)return{x:r,y:e};if(j===0||K===0)return iv(r,e,o,l,c).point;var re=(r-o)/2,ve=(e-l)/2,he={x:C(ee)*re+p(ee)*ve,y:-p(ee)*re+C(ee)*ve},pe=Math.pow(he.x,2)/Math.pow(j,2)+Math.pow(he.y,2)/Math.pow(K,2);pe>1&&(j*=k(pe),K*=k(pe));var _e=Math.pow(j,2)*Math.pow(K,2)-Math.pow(j,2)*Math.pow(he.y,2)-Math.pow(K,2)*Math.pow(he.x,2),Ee=Math.pow(j,2)*Math.pow(he.y,2)+Math.pow(K,2)*Math.pow(he.x,2),De=_e/Ee;De=De<0?0:De;var Be=(a!==s?1:-1)*k(De),Fe={x:Be*(j*he.y/K),y:Be*(-(K*he.x)/j)},Xe={x:C(ee)*Fe.x-p(ee)*Fe.y+(r+o)/2,y:p(ee)*Fe.x+C(ee)*Fe.y+(e+l)/2},qe={x:(he.x-Fe.x)/j,y:(he.y-Fe.y)/K},ct=I0({x:1,y:0},qe),ht={x:(-he.x-Fe.x)/j,y:(-he.y-Fe.y)/K},St=I0(qe,ht);!s&&St>0?St-=2*W:s&&St<0&&(St+=2*W),St%=2*W;var bt=ct+St*c,Et=j*C(bt),xt=K*p(bt),Dt={x:C(ee)*Et-p(ee)*xt+Xe.x,y:p(ee)*Et+C(ee)*xt+Xe.y};return Dt}function G2(r,e,t,n,i,a,s,o,l,c,h){var p,C=h.bbox,k=C===void 0?!0:C,W=h.length,j=W===void 0?!0:W,K=h.sampleSize,Q=K===void 0?30:K,ee=typeof c=="number",re=r,ve=e,he=0,pe=[re,ve,he],_e=[re,ve],Ee=0,De={x:0,y:0},Be=[{x:re,y:ve}];ee&&c<=0&&(De={x:re,y:ve});for(var Fe=0;Fe<=Q;Fe+=1){if(Ee=Fe/Q,p=j2(r,e,t,n,i,a,s,o,l,Ee),re=p.x,ve=p.y,k&&Be.push({x:re,y:ve}),j&&(he+=va(_e,[re,ve])),_e=[re,ve],ee&&he>=c&&c>pe[2]){var Xe=(he-c)/(he-pe[2]);De={x:_e[0]*(1-Xe)+pe[0]*Xe,y:_e[1]*(1-Xe)+pe[1]*Xe}}pe=[re,ve,he]}return ee&&c>=he&&(De={x:o,y:l}),{length:he,point:De,min:{x:Math.min.apply(null,Be.map(function(qe){return qe.x})),y:Math.min.apply(null,Be.map(function(qe){return qe.y}))},max:{x:Math.max.apply(null,Be.map(function(qe){return qe.x})),y:Math.max.apply(null,Be.map(function(qe){return qe.y}))}}}function V2(r,e,t,n,i,a,s,o,l){var c=1-l;return{x:Math.pow(c,3)*r+3*Math.pow(c,2)*l*t+3*c*Math.pow(l,2)*i+Math.pow(l,3)*s,y:Math.pow(c,3)*e+3*Math.pow(c,2)*l*n+3*c*Math.pow(l,2)*a+Math.pow(l,3)*o}}function N0(r,e,t,n,i,a,s,o,l,c){var h,p=c.bbox,C=p===void 0?!0:p,k=c.length,W=k===void 0?!0:k,j=c.sampleSize,K=j===void 0?10:j,Q=typeof l=="number",ee=r,re=e,ve=0,he=[ee,re,ve],pe=[ee,re],_e=0,Ee={x:0,y:0},De=[{x:ee,y:re}];Q&&l<=0&&(Ee={x:ee,y:re});for(var Be=0;Be<=K;Be+=1){if(_e=Be/K,h=V2(r,e,t,n,i,a,s,o,_e),ee=h.x,re=h.y,C&&De.push({x:ee,y:re}),W&&(ve+=va(pe,[ee,re])),pe=[ee,re],Q&&ve>=l&&l>he[2]){var Fe=(ve-l)/(ve-he[2]);Ee={x:pe[0]*(1-Fe)+he[0]*Fe,y:pe[1]*(1-Fe)+he[1]*Fe}}he=[ee,re,ve]}return Q&&l>=ve&&(Ee={x:s,y:o}),{length:ve,point:Ee,min:{x:Math.min.apply(null,De.map(function(Xe){return Xe.x})),y:Math.min.apply(null,De.map(function(Xe){return Xe.y}))},max:{x:Math.max.apply(null,De.map(function(Xe){return Xe.x})),y:Math.max.apply(null,De.map(function(Xe){return Xe.y}))}}}function Z2(r,e,t,n,i,a,s){var o=1-s;return{x:Math.pow(o,2)*r+2*o*s*t+Math.pow(s,2)*i,y:Math.pow(o,2)*e+2*o*s*n+Math.pow(s,2)*a}}function K2(r,e,t,n,i,a,s,o){var l,c=o.bbox,h=c===void 0?!0:c,p=o.length,C=p===void 0?!0:p,k=o.sampleSize,W=k===void 0?10:k,j=typeof s=="number",K=r,Q=e,ee=0,re=[K,Q,ee],ve=[K,Q],he=0,pe={x:0,y:0},_e=[{x:K,y:Q}];j&&s<=0&&(pe={x:K,y:Q});for(var Ee=0;Ee<=W;Ee+=1){if(he=Ee/W,l=Z2(r,e,t,n,i,a,he),K=l.x,Q=l.y,h&&_e.push({x:K,y:Q}),C&&(ee+=va(ve,[K,Q])),ve=[K,Q],j&&ee>=s&&s>re[2]){var De=(ee-s)/(ee-re[2]);pe={x:ve[0]*(1-De)+re[0]*De,y:ve[1]*(1-De)+re[1]*De}}re=[K,Q,ee]}return j&&s>=ee&&(pe={x:i,y:a}),{length:ee,point:pe,min:{x:Math.min.apply(null,_e.map(function(Be){return Be.x})),y:Math.min.apply(null,_e.map(function(Be){return Be.y}))},max:{x:Math.max.apply(null,_e.map(function(Be){return Be.x})),y:Math.max.apply(null,_e.map(function(Be){return Be.y}))}}}function B0(r,e,t){for(var n,i,a,s,o,l,c=Ru(r),h=typeof e=="number",p,C=[],k,W=0,j=0,K=0,Q=0,ee,re=[],ve=[],he=0,pe={x:0,y:0},_e=pe,Ee=pe,De=pe,Be=0,Fe=0,Xe=c.length;Fe<Xe;Fe+=1)ee=c[Fe],k=ee[0],p=k==="M",C=p?C:[W,j].concat(ee.slice(1)),p?(K=ee[1],Q=ee[2],pe={x:K,y:Q},_e=pe,he=0,h&&e<.001&&(De=pe)):k==="L"?(n=iv(C[0],C[1],C[2],C[3],(e||0)-Be),he=n.length,pe=n.min,_e=n.max,Ee=n.point):k==="A"?(i=G2(C[0],C[1],C[2],C[3],C[4],C[5],C[6],C[7],C[8],(e||0)-Be,t||{}),he=i.length,pe=i.min,_e=i.max,Ee=i.point):k==="C"?(a=N0(C[0],C[1],C[2],C[3],C[4],C[5],C[6],C[7],(e||0)-Be,t||{}),he=a.length,pe=a.min,_e=a.max,Ee=a.point):k==="Q"?(s=K2(C[0],C[1],C[2],C[3],C[4],C[5],(e||0)-Be,t||{}),he=s.length,pe=s.min,_e=s.max,Ee=s.point):k==="Z"&&(C=[W,j,K,Q],o=iv(C[0],C[1],C[2],C[3],(e||0)-Be),he=o.length,pe=o.min,_e=o.max,Ee=o.point),h&&Be<e&&Be+he>=e&&(De=Ee),ve.push(_e),re.push(pe),Be+=he,l=k!=="Z"?ee.slice(-2):[K,Q],W=l[0],j=l[1];return h&&e>=Be&&(De={x:W,y:j}),{length:Be,point:De,min:{x:Math.min.apply(null,re.map(function(qe){return qe.x})),y:Math.min.apply(null,re.map(function(qe){return qe.y}))},max:{x:Math.max.apply(null,ve.map(function(qe){return qe.x})),y:Math.max.apply(null,ve.map(function(qe){return qe.y}))}}}function X2(r,e){return B0(r,void 0,(0,we.pi)((0,we.pi)({},e),{bbox:!1,length:!0})).length}function Ma(r){return Array.isArray(r)}var Iu=function(r){if(Ma(r))return r.reduce(function(e,t){return Math.min(e,t)},r[0])};function Nu(r){if(!Array.isArray(r))return-1/0;var e=r.length;if(!e)return-1/0;for(var t=r[0],n=1;n<e;n++)t=Math.max(t,r[n]);return t}var Y2=1e-5;function bc(r,e,t){return t===void 0&&(t=Y2),r===e||Math.abs(r-e)<t}var Q2=function(r,e){return(r%e+e)%e},k0=Q2;function J2(r,e,t){if(r[t].length>7){r[t].shift();for(var n=r[t],i=t;n.length;)e[t]="A",r.splice(i+=1,0,["C"].concat(n.splice(0,6)));r.splice(t,1)}}function q2(r){return D0(r)&&r.every(function(e){var t=e[0];return"MC".includes(t)})}function Bu(r,e,t){var n=r*Math.cos(t)-e*Math.sin(t),i=r*Math.sin(t)+e*Math.cos(t);return{x:n,y:i}}function av(r,e,t,n,i,a,s,o,l,c){var h=r,p=e,C=t,k=n,W=o,j=l,K=Math.PI*120/180,Q=Math.PI/180*(+i||0),ee=[],re,ve,he,pe,_e;if(c)ve=c[0],he=c[1],pe=c[2],_e=c[3];else{re=Bu(h,p,-Q),h=re.x,p=re.y,re=Bu(W,j,-Q),W=re.x,j=re.y;var Ee=(h-W)/2,De=(p-j)/2,Be=Ee*Ee/(C*C)+De*De/(k*k);Be>1&&(Be=Math.sqrt(Be),C*=Be,k*=Be);var Fe=C*C,Xe=k*k,qe=(a===s?-1:1)*Math.sqrt(Math.abs((Fe*Xe-Fe*De*De-Xe*Ee*Ee)/(Fe*De*De+Xe*Ee*Ee)));pe=qe*C*De/k+(h+W)/2,_e=qe*-k*Ee/C+(p+j)/2,ve=Math.asin(((p-_e)/k*Math.pow(10,9)>>0)/Math.pow(10,9)),he=Math.asin(((j-_e)/k*Math.pow(10,9)>>0)/Math.pow(10,9)),ve=h<pe?Math.PI-ve:ve,he=W<pe?Math.PI-he:he,ve<0&&(ve=Math.PI*2+ve),he<0&&(he=Math.PI*2+he),s&&ve>he&&(ve-=Math.PI*2),!s&&he>ve&&(he-=Math.PI*2)}var ct=he-ve;if(Math.abs(ct)>K){var ht=he,St=W,bt=j;he=ve+K*(s&&he>ve?1:-1),W=pe+C*Math.cos(he),j=_e+k*Math.sin(he),ee=av(W,j,C,k,i,0,s,St,bt,[he,ht,pe,_e])}ct=he-ve;var Et=Math.cos(ve),xt=Math.sin(ve),Dt=Math.cos(he),Ut=Math.sin(he),Xt=Math.tan(ct/4),an=4/3*C*Xt,gn=4/3*k*Xt,sn=[h,p],Sn=[h+an*xt,p-gn*Et],zn=[W+an*Ut,j-gn*Dt],Vn=[W,j];if(Sn[0]=2*sn[0]-Sn[0],Sn[1]=2*sn[1]-Sn[1],c)return Sn.concat(zn,Vn,ee);ee=Sn.concat(zn,Vn,ee);for(var ir=[],hr=0,Ji=ee.length;hr<Ji;hr+=1)ir[hr]=hr%2?Bu(ee[hr-1],ee[hr],Q).y:Bu(ee[hr],ee[hr+1],Q).x;return ir}function $2(r,e,t,n,i,a){var s=.3333333333333333,o=2/3;return[s*r+o*t,s*e+o*n,s*i+o*t,s*a+o*n,i,a]}var z0=function(r,e,t,n){var i=.5,a=ao([r,e],[t,n],i);return(0,we.ev)((0,we.ev)([],a,!0),[t,n,t,n],!1)};function ew(r,e){var t=r[0],n=r.slice(1).map(Number),i=n[0],a=n[1],s,o=e.x1,l=e.y1,c=e.x,h=e.y;switch("TQ".includes(t)||(e.qx=null,e.qy=null),t){case"M":return e.x=i,e.y=a,r;case"A":return s=[o,l].concat(n),["C"].concat(av(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9]));case"Q":return e.qx=i,e.qy=a,s=[o,l].concat(n),["C"].concat($2(s[0],s[1],s[2],s[3],s[4],s[5]));case"L":return["C"].concat(z0(o,l,i,a));case"Z":return o===c&&l===h?["C",o,l,c,h,c,h]:["C"].concat(z0(o,l,c,h));default:}return r}function sv(r,e){if(e===void 0&&(e=!1),q2(r)){var t=[].concat(r);return e?[t,[]]:t}for(var n=Ru(r),i=(0,we.pi)({},L0),a=[],s="",o=n.length,l,c,h=[],p=0;p<o;p+=1){n[p]&&(s=n[p][0]),a[p]=s;var C=ew(n[p],i);n[p]=C,J2(n,a,p),o=n.length,s==="Z"&&h.push(p),l=n[p],c=l.length,i.x1=+l[c-2],i.y1=+l[c-1],i.x2=+l[c-4]||i.x1,i.y2=+l[c-3]||i.y1}return e?[n,h]:n}function tw(r,e){e===void 0&&(e=.5);var t=r.slice(0,2),n=r.slice(2,4),i=r.slice(4,6),a=r.slice(6,8),s=ao(t,n,e),o=ao(n,i,e),l=ao(i,a,e),c=ao(s,o,e),h=ao(o,l,e),p=ao(c,h,e);return[["C"].concat(s,c,p),["C"].concat(h,l,a)]}function F0(r){return r.map(function(e,t,n){var i=t&&n[t-1].slice(-2).concat(e.slice(1)),a=t?N0(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],{bbox:!1}).length:0,s;return t?s=a?tw(i):[e,e]:s=[e],{s:e,ss:s,l:a}})}function U0(r,e,t){var n=F0(r),i=F0(e),a=n.length,s=i.length,o=n.filter(function(K){return K.l}).length,l=i.filter(function(K){return K.l}).length,c=n.filter(function(K){return K.l}).reduce(function(K,Q){var ee=Q.l;return K+ee},0)/o||0,h=i.filter(function(K){return K.l}).reduce(function(K,Q){var ee=Q.l;return K+ee},0)/l||0,p=t||Math.max(a,s),C=[c,h],k=[p-a,p-s],W=0,j=[n,i].map(function(K,Q){return K.l===p?K.map(function(ee){return ee.s}):K.map(function(ee,re){return W=re&&k[Q]&&ee.l>=C[Q],k[Q]-=W?1:0,W?ee.ss:[ee.s]}).flat()});return j[0].length===j[1].length?j:U0(j[0],j[1],p)}function nw(r,e,t,n,i,a,s,o){return 3*((o-e)*(t+i)-(s-r)*(n+a)+n*(r-i)-t*(e-a)+o*(i+r/3)-s*(a+e/3))/20}function rw(r){var e=0,t=0,n=0;return sv(r).map(function(i){var a;switch(i[0]){case"M":return e=i[1],t=i[2],0;default:var s=i.slice(1),o=s[0],l=s[1],c=s[2],h=s[3],p=s[4],C=s[5];return n=nw(e,t,o,l,c,h,p,C),a=i.slice(-2),e=a[0],t=a[1],n}}).reduce(function(i,a){return i+a},0)}function W0(r){return rw(r)>=0}function iw(r){var e=r.slice(1).map(function(t,n,i){return n?i[n-1].slice(-2).concat(t.slice(1)):r[0].slice(1).concat(t.slice(1))}).map(function(t){return t.map(function(n,i){return t[t.length-i-2*(1-i%2)]})}).reverse();return[["M"].concat(e[0].slice(0,2))].concat(e.map(function(t){return["C"].concat(t.slice(2))}))}function aw(r){return r.map(function(e){return Array.isArray(e)?[].concat(e):e})}function sw(r){var e=r.length,t=e-1;return r.map(function(n,i){return r.map(function(a,s){var o=i+s,l;return s===0||r[o]&&r[o][0]==="M"?(l=r[o],["M"].concat(l.slice(-2))):(o>=e&&(o-=t),r[o])})})}function ow(r,e){var t=r.length-1,n=[],i=0,a=0,s=sw(r);return s.forEach(function(o,l){r.slice(1).forEach(function(c,h){a+=va(r[(l+h)%t].slice(-2),e[h%t].slice(-2))}),n[l]=a,a=0}),i=n.indexOf(Math.min.apply(null,n)),s[i]}var lw=function(r){return r===void 0},Gn=lw,cw={}.toString,uw=function(r,e){return cw.call(r)==="[object "+e+"]"},H0=uw,hw=function(r){return H0(r,"Boolean")},ku=hw;function xn(r){return typeof r=="function"}var ii=function(r){var e=typeof r;return r!==null&&e==="object"||e==="function"};function fw(r,e,t){return B0(r,e,(0,we.pi)((0,we.pi)({},t),{bbox:!1,length:!0})).point}var mn=Z(49618);function dw(r,e){for(;!{}.hasOwnProperty.call(r,e)&&(r=(0,T.Z)(r))!==null;);return r}function ov(){return ov=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(r,e,t){var n=dw(r,e);if(n){var i=Object.getOwnPropertyDescriptor(n,e);return i.get?i.get.call(arguments.length<3?r:t):i.value}},ov.apply(null,arguments)}function j0(r,e,t,n){var i=ov((0,T.Z)(1&n?r.prototype:r),e,t);return 2&n&&typeof i=="function"?function(a){return i.apply(t,a)}:i}function Zi(r,e,t,n){var i=r-t,a=e-n;return Math.sqrt(i*i+a*a)}function zu(r,e){var t=Math.min.apply(Math,(0,we.ev)([],(0,we.CR)(r),!1)),n=Math.min.apply(Math,(0,we.ev)([],(0,we.CR)(e),!1)),i=Math.max.apply(Math,(0,we.ev)([],(0,we.CR)(r),!1)),a=Math.max.apply(Math,(0,we.ev)([],(0,we.CR)(e),!1));return{x:t,y:n,width:i-t,height:a-n}}function G0(r){return(r+Math.PI*2)%(Math.PI*2)}function V0(r,e){var t=Math.abs(r);return e>0?t:t*-1}function vw(r,e,t,n,i,a){var s=t,o=n;if(s===0||o===0)return{x:r,y:e};for(var l=i-r,c=a-e,h=Math.abs(l),p=Math.abs(c),C=s*s,k=o*o,W=Math.PI/4,j=0,K=0,Q=0;Q<4;Q++){j=s*Math.cos(W),K=o*Math.sin(W);var ee=(C-k)*Math.pow(Math.cos(W),3)/s,re=(k-C)*Math.pow(Math.sin(W),3)/o,ve=j-ee,he=K-re,pe=h-ee,_e=p-re,Ee=Math.hypot(he,ve),De=Math.hypot(_e,pe),Be=Ee*Math.asin((ve*_e-he*pe)/(Ee*De)),Fe=Be/Math.sqrt(C+k-j*j-K*K);W+=Fe,W=Math.min(Math.PI/2,Math.max(0,W))}return{x:r+V0(j,l),y:e+V0(K,c)}}function gw(r,e,t,n,i,a,s,o){return-1*t*Math.cos(i)*Math.sin(o)-n*Math.sin(i)*Math.cos(o)}function pw(r,e,t,n,i,a,s,o){return-1*t*Math.sin(i)*Math.sin(o)+n*Math.cos(i)*Math.cos(o)}function mw(r,e,t){return Math.atan(-e/r*Math.tan(t))}function yw(r,e,t){return Math.atan(e/(r*Math.tan(t)))}function _w(r,e,t,n,i,a){return t*Math.cos(i)*Math.cos(a)-n*Math.sin(i)*Math.sin(a)+r}function Ew(r,e,t,n,i,a){return t*Math.sin(i)*Math.cos(a)+n*Math.cos(i)*Math.sin(a)+e}function xw(r,e,t,n){var i=Math.atan2(n*r,t*e);return(i+Math.PI*2)%(Math.PI*2)}function Z0(r,e,t){return{x:r*Math.cos(t),y:e*Math.sin(t)}}function K0(r,e,t){var n=Math.cos(t),i=Math.sin(t);return[r*n-e*i,r*i+e*n]}function bw(r,e,t,n,i,a,s){for(var o=mw(t,n,i),l=1/0,c=-1/0,h=[a,s],p=-Math.PI*2;p<=Math.PI*2;p+=Math.PI){var C=o+p;a<s?a<C&&C<s&&h.push(C):s<C&&C<a&&h.push(C)}for(var p=0;p<h.length;p++){var k=_w(r,e,t,n,i,h[p]);k<l&&(l=k),k>c&&(c=k)}for(var W=yw(t,n,i),j=1/0,K=-1/0,Q=[a,s],p=-Math.PI*2;p<=Math.PI*2;p+=Math.PI){var ee=W+p;a<s?a<ee&&ee<s&&Q.push(ee):s<ee&&ee<a&&Q.push(ee)}for(var p=0;p<Q.length;p++){var re=Ew(r,e,t,n,i,Q[p]);re<j&&(j=re),re>K&&(K=re)}return{x:l,y:j,width:c-l,height:K-j}}function Sz(r,e,t,n,i,a,s,o,l){var c=K0(o-r,l-e,-i),h=__read(c,2),p=h[0],C=h[1],k=vw(0,0,t,n,p,C),W=xw(t,n,k.x,k.y);W<a?k=Z0(t,n,a):W>s&&(k=Z0(t,n,s));var j=K0(k.x,k.y,i);return{x:j[0]+r,y:j[1]+e}}function Tz(r,e,t,n,i,a,s,o){var l=(s-a)*o+a,c=gw(r,e,t,n,i,a,s,l),h=pw(r,e,t,n,i,a,s,l);return G0(Math.atan2(h,c))}var ww=1e-4;function X0(r,e,t,n,i,a){var s=-1,o=1/0,l=[t,n],c=20;a&&a>200&&(c=a/10);for(var h=1/c,p=h/10,C=0;C<=c;C++){var k=C*h,W=[i.apply(void 0,(0,we.ev)([],(0,we.CR)(r.concat([k])),!1)),i.apply(void 0,(0,we.ev)([],(0,we.CR)(e.concat([k])),!1))],j=Zi(l[0],l[1],W[0],W[1]);j<o&&(s=k,o=j)}if(s===0)return{x:r[0],y:e[0]};if(s===1){var K=r.length;return{x:r[K-1],y:e[K-1]}}o=1/0;for(var C=0;C<32&&!(p<ww);C++){var Q=s-p,ee=s+p,W=[i.apply(void 0,(0,we.ev)([],(0,we.CR)(r.concat([Q])),!1)),i.apply(void 0,(0,we.ev)([],(0,we.CR)(e.concat([Q])),!1))],j=Zi(l[0],l[1],W[0],W[1]);if(Q>=0&&j<o)s=Q,o=j;else{var re=[i.apply(void 0,(0,we.ev)([],(0,we.CR)(r.concat([ee])),!1)),i.apply(void 0,(0,we.ev)([],(0,we.CR)(e.concat([ee])),!1))],ve=Zi(l[0],l[1],re[0],re[1]);ee<=1&&ve<o?(s=ee,o=ve):p*=.5}}return{x:i.apply(void 0,(0,we.ev)([],(0,we.CR)(r.concat([s])),!1)),y:i.apply(void 0,(0,we.ev)([],(0,we.CR)(e.concat([s])),!1))}}function Mw(r,e){for(var t=0,n=r.length,i=0;i<n;i++){var a=r[i],s=e[i],o=r[(i+1)%n],l=e[(i+1)%n];t+=Zi(a,s,o,l)}return t/2}function Az(r,e,t,n){return zu([r,t],[e,n])}function Y0(r,e,t,n){return Zi(r,e,t,n)}function bs(r,e,t,n,i){return{x:(1-i)*r+i*t,y:(1-i)*e+i*n}}function Sw(r,e,t,n,i,a){var s=(t-r)*(i-r)+(n-e)*(a-e);if(s<0)return Zi(r,e,i,a);var o=(t-r)*(t-r)+(n-e)*(n-e);return s>o?Zi(t,n,i,a):Q0(r,e,t,n,i,a)}function Q0(r,e,t,n,i,a){var s=[t-r,n-e];if(P2(s,[0,0]))return Math.sqrt((i-r)*(i-r)+(a-e)*(a-e));var o=[-s[1],s[0]];C2(o,o);var l=[i-r,a-e];return Math.abs(O2(l,o))}function Cz(r,e,t,n){return Math.atan2(n-e,t-r)}function Wo(r,e,t,n,i){var a=1-i;return a*a*a*r+3*e*i*a*a+3*t*i*i*a+n*i*i*i}function J0(r,e,t,n,i){var a=1-i;return 3*(a*a*(e-r)+2*a*i*(t-e)+i*i*(n-t))}function q0(r,e,t,n){var i=-3*r+9*e-9*t+3*n,a=6*r-12*e+6*t,s=3*e-3*r,o=[],l,c,h;if(bc(i,0))bc(a,0)||(l=-s/a,l>=0&&l<=1&&o.push(l));else{var p=a*a-4*i*s;bc(p,0)?o.push(-a/(2*i)):p>0&&(h=Math.sqrt(p),l=(-a+h)/(2*i),c=(-a-h)/(2*i),l>=0&&l<=1&&o.push(l),c>=0&&c<=1&&o.push(c))}return o}function Tw(r,e,t,n,i,a,s,o,l){var c=Wo(r,t,i,s,l),h=Wo(e,n,a,o,l),p=bs(r,e,t,n,l),C=bs(t,n,i,a,l),k=bs(i,a,s,o,l),W=bs(p.x,p.y,C.x,C.y,l),j=bs(C.x,C.y,k.x,k.y,l);return[[r,e,p.x,p.y,W.x,W.y,c,h],[c,h,j.x,j.y,k.x,k.y,s,o]]}function lv(r,e,t,n,i,a,s,o,l){if(l===0)return Mw([r,t,i,s],[e,n,a,o]);var c=Tw(r,e,t,n,i,a,s,o,.5),h=__spreadArray(__spreadArray([],__read(c[0]),!1),[l-1],!1),p=__spreadArray(__spreadArray([],__read(c[1]),!1),[l-1],!1);return lv.apply(void 0,__spreadArray([],__read(h),!1))+lv.apply(void 0,__spreadArray([],__read(p),!1))}function Aw(r,e,t,n,i,a,s,o){for(var l=[r,s],c=[e,o],h=q0(r,t,i,s),p=q0(e,n,a,o),C=0;C<h.length;C++)l.push(Wo(r,t,i,s,h[C]));for(var C=0;C<p.length;C++)c.push(Wo(e,n,a,o,p[C]));return zu(l,c)}function Oz(r,e,t,n,i,a,s,o){return lv(r,e,t,n,i,a,s,o,3)}function Cw(r,e,t,n,i,a,s,o,l,c,h){return X0([r,t,i,s],[e,n,a,o],l,c,Wo,h)}function $0(r,e,t,n,i,a,s,o,l,c,h){var p=Cw(r,e,t,n,i,a,s,o,l,c,h);return Zi(p.x,p.y,l,c)}function Pz(r,e,t,n,i,a,s,o,l){return{x:Wo(r,t,i,s,l),y:Wo(e,n,a,o,l)}}function Dz(r,e,t,n,i,a,s,o,l){var c=J0(r,t,i,s,l),h=J0(e,n,a,o,l);return G0(Math.atan2(h,c))}function em(r){for(var e=0,t=[],n=0;n<r.length-1;n++){var i=r[n],a=r[n+1],s=Zi(i[0],i[1],a[0],a[1]),o={from:i,to:a,length:s};t.push(o),e+=s}return{segments:t,totalLength:e}}function tm(r){if(r.length<2)return 0;for(var e=0,t=0;t<r.length-1;t++){var n=r[t],i=r[t+1];e+=Zi(n[0],n[1],i[0],i[1])}return e}function nm(r,e){if(e>1||e<0||r.length<2)return null;var t=em(r),n=t.segments,i=t.totalLength;if(i===0)return{x:r[0][0],y:r[0][1]};for(var a=0,s=null,o=0;o<n.length;o++){var l=n[o],c=l.from,h=l.to,p=l.length/i;if(e>=a&&e<=a+p){var C=(e-a)/p;s=bs(c[0],c[1],h[0],h[1],C);break}a+=p}return s}function rm(r,e){if(e>1||e<0||r.length<2)return 0;for(var t=em(r),n=t.segments,i=t.totalLength,a=0,s=0,o=0;o<n.length;o++){var l=n[o],c=l.from,h=l.to,p=l.length/i;if(e>=a&&e<=a+p){s=Math.atan2(h[1]-c[1],h[0]-c[0]);break}a+=p}return s}function im(r,e,t){for(var n=1/0,i=0;i<r.length-1;i++){var a=r[i],s=r[i+1],o=Sw(a[0],a[1],s[0],s[1],e,t);o<n&&(n=o)}return n}function Ow(r){for(var e=[],t=[],n=0;n<r.length;n++){var i=r[n];e.push(i[0]),t.push(i[1])}return zu(e,t)}function Pw(r){return tm(r)}function Lz(r,e){return nm(r,e)}function Rz(r,e,t){return im(r,e,t)}function Iz(r,e){return rm(r,e)}function Fu(r){var e=r.slice(0);return r.length&&e.push(r[0]),e}function Nz(r){return Ow(r)}function Bz(r){return tm(Fu(r))}function kz(r,e){return nm(Fu(r),e)}function zz(r,e,t){return im(Fu(r),e,t)}function Fz(r,e){return rm(Fu(r),e)}function wc(r,e,t,n){var i=1-n;return i*i*r+2*n*i*e+n*n*t}function am(r,e,t){var n=r+t-2*e;if(bc(n,0))return[.5];var i=(r-e)/n;return i<=1&&i>=0?[i]:[]}function Dw(r,e,t,n,i,a,s){var o=wc(r,t,i,s),l=wc(e,n,a,s),c=bs(r,e,t,n,s),h=bs(t,n,i,a,s);return[[r,e,c.x,c.y,o,l],[o,l,h.x,h.y,i,a]]}function cv(r,e,t,n,i,a,s){if(s===0)return(Zi(r,e,t,n)+Zi(t,n,i,a)+Zi(r,e,i,a))/2;var o=Dw(r,e,t,n,i,a,.5),l=o[0],c=o[1];return l.push(s-1),c.push(s-1),cv.apply(void 0,__spreadArray([],__read(l),!1))+cv.apply(void 0,__spreadArray([],__read(c),!1))}function Lw(r,e,t,n,i,a){var s=am(r,t,i)[0],o=am(e,n,a)[0],l=[r,i],c=[e,a];return s!==void 0&&l.push(wc(r,t,i,s)),o!==void 0&&c.push(wc(e,n,a,o)),zu(l,c)}function Uz(r,e,t,n,i,a){return cv(r,e,t,n,i,a,3)}function Rw(r,e,t,n,i,a,s,o){return X0([r,t,i],[e,n,a],s,o,wc)}function Iw(r,e,t,n,i,a,s,o){var l=Rw(r,e,t,n,i,a,s,o);return Zi(l.x,l.y,s,o)}var Ki=Z(65736),so=Z(72633),Nw=Z(13873);function Ho(r,e){var t=typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=(0,Nw.Z)(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var n=0,i=function(){};return{s:i,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(c){throw c},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){t=t.call(r)},n:function(){var c=t.next();return s=c.done,c},e:function(c){o=!0,a=c},f:function(){try{s||t.return==null||t.return()}finally{if(o)throw a}}}}var jo=Z(74416);var Bw=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof Z.g!="undefined"?Z.g:typeof self!="undefined"?self:{},sm={exports:{}};(function(r,e){(function(t,n){r.exports=n()})(Bw,function(){function t(he,pe,_e,Ee,De){n(he,pe,_e||0,Ee||he.length-1,De||a)}function n(he,pe,_e,Ee,De){for(;Ee>_e;){if(Ee-_e>600){var Be=Ee-_e+1,Fe=pe-_e+1,Xe=Math.log(Be),qe=.5*Math.exp(2*Xe/3),ct=.5*Math.sqrt(Xe*qe*(Be-qe)/Be)*(Fe-Be/2<0?-1:1),ht=Math.max(_e,Math.floor(pe-Fe*qe/Be+ct)),St=Math.min(Ee,Math.floor(pe+(Be-Fe)*qe/Be+ct));n(he,pe,ht,St,De)}var bt=he[pe],Et=_e,xt=Ee;for(i(he,_e,pe),De(he[Ee],bt)>0&&i(he,_e,Ee);Et<xt;){for(i(he,Et,xt),Et++,xt--;De(he[Et],bt)<0;)Et++;for(;De(he[xt],bt)>0;)xt--}De(he[_e],bt)===0?i(he,_e,xt):(xt++,i(he,xt,Ee)),xt<=pe&&(_e=xt+1),pe<=xt&&(Ee=xt-1)}}function i(he,pe,_e){var Ee=he[pe];he[pe]=he[_e],he[_e]=Ee}function a(he,pe){return he<pe?-1:he>pe?1:0}var s=function(pe){pe===void 0&&(pe=9),this._maxEntries=Math.max(4,pe),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(pe){var _e=this.data,Ee=[];if(!ee(pe,_e))return Ee;for(var De=this.toBBox,Be=[];_e;){for(var Fe=0;Fe<_e.children.length;Fe++){var Xe=_e.children[Fe],qe=_e.leaf?De(Xe):Xe;ee(pe,qe)&&(_e.leaf?Ee.push(Xe):Q(pe,qe)?this._all(Xe,Ee):Be.push(Xe))}_e=Be.pop()}return Ee},s.prototype.collides=function(pe){var _e=this.data;if(!ee(pe,_e))return!1;for(var Ee=[];_e;){for(var De=0;De<_e.children.length;De++){var Be=_e.children[De],Fe=_e.leaf?this.toBBox(Be):Be;if(ee(pe,Fe)){if(_e.leaf||Q(pe,Fe))return!0;Ee.push(Be)}}_e=Ee.pop()}return!1},s.prototype.load=function(pe){if(!(pe&&pe.length))return this;if(pe.length<this._minEntries){for(var _e=0;_e<pe.length;_e++)this.insert(pe[_e]);return this}var Ee=this._build(pe.slice(),0,pe.length-1,0);if(!this.data.children.length)this.data=Ee;else if(this.data.height===Ee.height)this._splitRoot(this.data,Ee);else{if(this.data.height<Ee.height){var De=this.data;this.data=Ee,Ee=De}this._insert(Ee,this.data.height-Ee.height-1,!0)}return this},s.prototype.insert=function(pe){return pe&&this._insert(pe,this.data.height-1),this},s.prototype.clear=function(){return this.data=re([]),this},s.prototype.remove=function(pe,_e){if(!pe)return this;for(var Ee=this.data,De=this.toBBox(pe),Be=[],Fe=[],Xe,qe,ct;Ee||Be.length;){if(Ee||(Ee=Be.pop(),qe=Be[Be.length-1],Xe=Fe.pop(),ct=!0),Ee.leaf){var ht=o(pe,Ee.children,_e);if(ht!==-1)return Ee.children.splice(ht,1),Be.push(Ee),this._condense(Be),this}!ct&&!Ee.leaf&&Q(Ee,De)?(Be.push(Ee),Fe.push(Xe),Xe=0,qe=Ee,Ee=Ee.children[0]):qe?(Xe++,Ee=qe.children[Xe],ct=!1):Ee=null}return this},s.prototype.toBBox=function(pe){return pe},s.prototype.compareMinX=function(pe,_e){return pe.minX-_e.minX},s.prototype.compareMinY=function(pe,_e){return pe.minY-_e.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(pe){return this.data=pe,this},s.prototype._all=function(pe,_e){for(var Ee=[];pe;)pe.leaf?_e.push.apply(_e,pe.children):Ee.push.apply(Ee,pe.children),pe=Ee.pop();return _e},s.prototype._build=function(pe,_e,Ee,De){var Be=Ee-_e+1,Fe=this._maxEntries,Xe;if(Be<=Fe)return Xe=re(pe.slice(_e,Ee+1)),l(Xe,this.toBBox),Xe;De||(De=Math.ceil(Math.log(Be)/Math.log(Fe)),Fe=Math.ceil(Be/Math.pow(Fe,De-1))),Xe=re([]),Xe.leaf=!1,Xe.height=De;var qe=Math.ceil(Be/Fe),ct=qe*Math.ceil(Math.sqrt(Fe));ve(pe,_e,Ee,ct,this.compareMinX);for(var ht=_e;ht<=Ee;ht+=ct){var St=Math.min(ht+ct-1,Ee);ve(pe,ht,St,qe,this.compareMinY);for(var bt=ht;bt<=St;bt+=qe){var Et=Math.min(bt+qe-1,St);Xe.children.push(this._build(pe,bt,Et,De-1))}}return l(Xe,this.toBBox),Xe},s.prototype._chooseSubtree=function(pe,_e,Ee,De){for(;De.push(_e),!(_e.leaf||De.length-1===Ee);){for(var Be=1/0,Fe=1/0,Xe=void 0,qe=0;qe<_e.children.length;qe++){var ct=_e.children[qe],ht=k(ct),St=j(pe,ct)-ht;St<Fe?(Fe=St,Be=ht<Be?ht:Be,Xe=ct):St===Fe&&ht<Be&&(Be=ht,Xe=ct)}_e=Xe||_e.children[0]}return _e},s.prototype._insert=function(pe,_e,Ee){var De=Ee?pe:this.toBBox(pe),Be=[],Fe=this._chooseSubtree(De,this.data,_e,Be);for(Fe.children.push(pe),h(Fe,De);_e>=0&&Be[_e].children.length>this._maxEntries;)this._split(Be,_e),_e--;this._adjustParentBBoxes(De,Be,_e)},s.prototype._split=function(pe,_e){var Ee=pe[_e],De=Ee.children.length,Be=this._minEntries;this._chooseSplitAxis(Ee,Be,De);var Fe=this._chooseSplitIndex(Ee,Be,De),Xe=re(Ee.children.splice(Fe,Ee.children.length-Fe));Xe.height=Ee.height,Xe.leaf=Ee.leaf,l(Ee,this.toBBox),l(Xe,this.toBBox),_e?pe[_e-1].children.push(Xe):this._splitRoot(Ee,Xe)},s.prototype._splitRoot=function(pe,_e){this.data=re([pe,_e]),this.data.height=pe.height+1,this.data.leaf=!1,l(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(pe,_e,Ee){for(var De,Be=1/0,Fe=1/0,Xe=_e;Xe<=Ee-_e;Xe++){var qe=c(pe,0,Xe,this.toBBox),ct=c(pe,Xe,Ee,this.toBBox),ht=K(qe,ct),St=k(qe)+k(ct);ht<Be?(Be=ht,De=Xe,Fe=St<Fe?St:Fe):ht===Be&&St<Fe&&(Fe=St,De=Xe)}return De||Ee-_e},s.prototype._chooseSplitAxis=function(pe,_e,Ee){var De=pe.leaf?this.compareMinX:p,Be=pe.leaf?this.compareMinY:C,Fe=this._allDistMargin(pe,_e,Ee,De),Xe=this._allDistMargin(pe,_e,Ee,Be);Fe<Xe&&pe.children.sort(De)},s.prototype._allDistMargin=function(pe,_e,Ee,De){pe.children.sort(De);for(var Be=this.toBBox,Fe=c(pe,0,_e,Be),Xe=c(pe,Ee-_e,Ee,Be),qe=W(Fe)+W(Xe),ct=_e;ct<Ee-_e;ct++){var ht=pe.children[ct];h(Fe,pe.leaf?Be(ht):ht),qe+=W(Fe)}for(var St=Ee-_e-1;St>=_e;St--){var bt=pe.children[St];h(Xe,pe.leaf?Be(bt):bt),qe+=W(Xe)}return qe},s.prototype._adjustParentBBoxes=function(pe,_e,Ee){for(var De=Ee;De>=0;De--)h(_e[De],pe)},s.prototype._condense=function(pe){for(var _e=pe.length-1,Ee=void 0;_e>=0;_e--)pe[_e].children.length===0?_e>0?(Ee=pe[_e-1].children,Ee.splice(Ee.indexOf(pe[_e]),1)):this.clear():l(pe[_e],this.toBBox)};function o(he,pe,_e){if(!_e)return pe.indexOf(he);for(var Ee=0;Ee<pe.length;Ee++)if(_e(he,pe[Ee]))return Ee;return-1}function l(he,pe){c(he,0,he.children.length,pe,he)}function c(he,pe,_e,Ee,De){De||(De=re(null)),De.minX=1/0,De.minY=1/0,De.maxX=-1/0,De.maxY=-1/0;for(var Be=pe;Be<_e;Be++){var Fe=he.children[Be];h(De,he.leaf?Ee(Fe):Fe)}return De}function h(he,pe){return he.minX=Math.min(he.minX,pe.minX),he.minY=Math.min(he.minY,pe.minY),he.maxX=Math.max(he.maxX,pe.maxX),he.maxY=Math.max(he.maxY,pe.maxY),he}function p(he,pe){return he.minX-pe.minX}function C(he,pe){return he.minY-pe.minY}function k(he){return(he.maxX-he.minX)*(he.maxY-he.minY)}function W(he){return he.maxX-he.minX+(he.maxY-he.minY)}function j(he,pe){return(Math.max(pe.maxX,he.maxX)-Math.min(pe.minX,he.minX))*(Math.max(pe.maxY,he.maxY)-Math.min(pe.minY,he.minY))}function K(he,pe){var _e=Math.max(he.minX,pe.minX),Ee=Math.max(he.minY,pe.minY),De=Math.min(he.maxX,pe.maxX),Be=Math.min(he.maxY,pe.maxY);return Math.max(0,De-_e)*Math.max(0,Be-Ee)}function Q(he,pe){return he.minX<=pe.minX&&he.minY<=pe.minY&&pe.maxX<=he.maxX&&pe.maxY<=he.maxY}function ee(he,pe){return pe.minX<=he.maxX&&pe.minY<=he.maxY&&pe.maxX>=he.minX&&pe.maxY>=he.minY}function re(he){return{children:he,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function ve(he,pe,_e,Ee,De){for(var Be=[pe,_e];Be.length;)if(_e=Be.pop(),pe=Be.pop(),!(_e-pe<=Ee)){var Fe=pe+Math.ceil((_e-pe)/Ee/2)*Ee;t(he,Fe,pe,_e,De),Be.push(pe,Fe,Fe,_e)}}return s})})(sm);var kw=sm.exports,Rt=function(r){return r.GROUP="g",r.FRAGMENT="fragment",r.CIRCLE="circle",r.ELLIPSE="ellipse",r.IMAGE="image",r.RECT="rect",r.LINE="line",r.POLYLINE="polyline",r.POLYGON="polygon",r.TEXT="text",r.PATH="path",r.HTML="html",r.MESH="mesh",r}({}),Uu=function(r){return r[r.ZERO=0]="ZERO",r[r.NEGATIVE_ONE=1]="NEGATIVE_ONE",r}({}),oo=function(){function r(){(0,b.Z)(this,r),this.plugins=[]}return(0,z.Z)(r,[{key:"addRenderingPlugin",value:function(t){this.plugins.push(t),this.context.renderingPlugins.push(t)}},{key:"removeAllRenderingPlugins",value:function(){var t=this;this.plugins.forEach(function(n){var i=t.context.renderingPlugins.indexOf(n);i>=0&&t.context.renderingPlugins.splice(i,1)})}}])}(),zw=function(){function r(e){(0,b.Z)(this,r),this.clipSpaceNearZ=Uu.NEGATIVE_ONE,this.plugins=[],this.config=(0,H.Z)({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},e)}return(0,z.Z)(r,[{key:"registerPlugin",value:function(t){var n=this.plugins.findIndex(function(i){return i===t});n===-1&&this.plugins.push(t)}},{key:"unregisterPlugin",value:function(t){var n=this.plugins.findIndex(function(i){return i===t});n>-1&&this.plugins.splice(n,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(t){return this.plugins.find(function(n){return n.name===t})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(t){Object.assign(this.config,t)}}])}(),uv=G,Ll=U,Fw=le,Uw=ne,om=de,hv=Le,Nr=function(){function r(){(0,b.Z)(this,r),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return(0,z.Z)(r,[{key:"update",value:function(t,n){Ll(this.center,t),Ll(this.halfExtents,n),hv(this.min,this.center,this.halfExtents),uv(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(t,n){uv(this.center,n,t),om(this.center,this.center,.5),hv(this.halfExtents,n,t),om(this.halfExtents,this.halfExtents,.5),Ll(this.min,t),Ll(this.max,n)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(t){if(!r.isEmpty(t)){if(r.isEmpty(this)){this.setMinMax(t.getMin(),t.getMax());return}var n=this.center,i=n[0],a=n[1],s=n[2],o=this.halfExtents,l=o[0],c=o[1],h=o[2],p=i-l,C=i+l,k=a-c,W=a+c,j=s-h,K=s+h,Q=t.center,ee=Q[0],re=Q[1],ve=Q[2],he=t.halfExtents,pe=he[0],_e=he[1],Ee=he[2],De=ee-pe,Be=ee+pe,Fe=re-_e,Xe=re+_e,qe=ve-Ee,ct=ve+Ee;De<p&&(p=De),Be>C&&(C=Be),Fe<k&&(k=Fe),Xe>W&&(W=Xe),qe<j&&(j=qe),ct>K&&(K=ct),n[0]=(p+C)*.5,n[1]=(k+W)*.5,n[2]=(j+K)*.5,o[0]=(C-p)*.5,o[1]=(W-k)*.5,o[2]=(K-j)*.5,this.min[0]=p,this.min[1]=k,this.min[2]=j,this.max[0]=C,this.max[1]=W,this.max[2]=K}}},{key:"setFromTransformedAABB",value:function(t,n){var i=this.center,a=this.halfExtents,s=t.center,o=t.halfExtents,l=n[0],c=n[4],h=n[8],p=n[1],C=n[5],k=n[9],W=n[2],j=n[6],K=n[10],Q=Math.abs(l),ee=Math.abs(c),re=Math.abs(h),ve=Math.abs(p),he=Math.abs(C),pe=Math.abs(k),_e=Math.abs(W),Ee=Math.abs(j),De=Math.abs(K);i[0]=n[12]+l*s[0]+c*s[1]+h*s[2],i[1]=n[13]+p*s[0]+C*s[1]+k*s[2],i[2]=n[14]+W*s[0]+j*s[1]+K*s[2],a[0]=Q*o[0]+ee*o[1]+re*o[2],a[1]=ve*o[0]+he*o[1]+pe*o[2],a[2]=_e*o[0]+Ee*o[1]+De*o[2],hv(this.min,i,a),uv(this.max,i,a)}},{key:"intersects",value:function(t){var n=this.getMax(),i=this.getMin(),a=t.getMax(),s=t.getMin();return i[0]<=a[0]&&n[0]>=s[0]&&i[1]<=a[1]&&n[1]>=s[1]&&i[2]<=a[2]&&n[2]>=s[2]}},{key:"intersection",value:function(t){if(!this.intersects(t))return null;var n=new r,i=Fw([0,0,0],this.getMin(),t.getMin()),a=Uw([0,0,0],this.getMax(),t.getMax());return n.setMinMax(i,a),n}},{key:"getNegativeFarPoint",value:function(t){return t.pnVertexFlag===273?Ll([0,0,0],this.min):t.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:t.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:t.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:t.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:t.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:t.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(t){return t.pnVertexFlag===273?Ll([0,0,0],this.max):t.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:t.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:t.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:t.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:t.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:t.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(t){return!t||t.halfExtents[0]===0&&t.halfExtents[1]===0&&t.halfExtents[2]===0}}])}(),Ww=function(){function r(e,t){(0,b.Z)(this,r),this.distance=e||0,this.normal=t||I(0,1,0),this.updatePNVertexFlag()}return(0,z.Z)(r,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(t){return We(t,this.normal)-this.distance}},{key:"normalize",value:function(){var t=1/mt(this.normal);de(this.normal,this.normal,t),this.distance*=t}},{key:"intersectsLine",value:function(t,n,i){var a=this.distanceToPoint(t),s=this.distanceToPoint(n),o=a/(a-s),l=o>=0&&o<=1;return l&&i&&Je(i,t,n,o),l}}])}(),Rl=function(r){return r[r.OUTSIDE=4294967295]="OUTSIDE",r[r.INSIDE=0]="INSIDE",r[r.INDETERMINATE=2147483647]="INDETERMINATE",r}({}),Hw=function(){function r(e){if((0,b.Z)(this,r),this.planes=[],e)this.planes=e;else for(var t=0;t<6;t++)this.planes.push(new Ww)}return(0,z.Z)(r,[{key:"extractFromVPMatrix",value:function(t){var n=(0,m.Z)(t,16),i=n[0],a=n[1],s=n[2],o=n[3],l=n[4],c=n[5],h=n[6],p=n[7],C=n[8],k=n[9],W=n[10],j=n[11],K=n[12],Q=n[13],ee=n[14],re=n[15];F(this.planes[0].normal,o-i,p-l,j-C),this.planes[0].distance=re-K,F(this.planes[1].normal,o+i,p+l,j+C),this.planes[1].distance=re+K,F(this.planes[2].normal,o+a,p+c,j+k),this.planes[2].distance=re+Q,F(this.planes[3].normal,o-a,p-c,j-k),this.planes[3].distance=re-Q,F(this.planes[4].normal,o-s,p-h,j-W),this.planes[4].distance=re-ee,F(this.planes[5].normal,o+s,p+h,j+W),this.planes[5].distance=re+ee,this.planes.forEach(function(ve){ve.normalize(),ve.updatePNVertexFlag()})}}])}(),Ri=function(){function r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;(0,b.Z)(this,r),this.x=0,this.y=0,this.x=e,this.y=t}return(0,z.Z)(r,[{key:"clone",value:function(){return new r(this.x,this.y)}},{key:"copyFrom",value:function(t){this.x=t.x,this.y=t.y}}])}(),Il=function(){function r(e,t,n,i){(0,b.Z)(this,r),this.x=e,this.y=t,this.width=n,this.height=i,this.left=e,this.right=e+n,this.top=t,this.bottom=t+i}return(0,z.Z)(r,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(t){return new r(t.x,t.y,t.width,t.height)}},{key:"applyTransform",value:function(t,n){var i=pt(t.x,t.y,0,1),a=pt(t.x+t.width,t.y,0,1),s=pt(t.x,t.y+t.height,0,1),o=pt(t.x+t.width,t.y+t.height,0,1),l=Ye(),c=Ye(),h=Ye(),p=Ye();B(l,i,n),B(c,a,n),B(h,s,n),B(p,o,n);var C=Math.min(l[0],c[0],h[0],p[0]),k=Math.min(l[1],c[1],h[1],p[1]),W=Math.max(l[0],c[0],h[0],p[0]),j=Math.max(l[1],c[1],h[1],p[1]);return r.fromRect({x:C,y:k,width:W-C,height:j-k})}}])}(),Sr="Method not implemented.",Nl="Use document.documentElement instead.",jw="Cannot append a destroyed element.";function Bl(r){return r===void 0?0:r>360||r<-360?r%360:r}var fv=f();function na(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(r)&&r.length===3?n?y(r):U(fv,r):dn(r)?n?I(r,e,t):F(fv,r,e,t):n?I(r[0],r[1]||e,r[2]||t):F(fv,r[0],r[1]||e,r[2]||t)}var Gw=Math.PI/180;function Tr(r){return r*Gw}var Vw=180/Math.PI;function ga(r){return r*Vw}var Zw=.9;function Wz(r){return r%=400,r<0&&(r+=400),r*Zw}function Hz(r){return r/360}function Kw(r){return 360*r}var Wu=Math.PI/2;function Xw(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t,o=n*n,l=i*i,c=a*a,h=s+o+l+c,p=t*a-n*i;return p>.499995*h?(r[0]=Wu,r[1]=2*Math.atan2(n,t),r[2]=0):p<-.499995*h?(r[0]=-Wu,r[1]=2*Math.atan2(n,t),r[2]=0):(r[0]=Math.asin(2*(t*i-a*n)),r[1]=Math.atan2(2*(t*a+n*i),1-2*(l+c)),r[2]=Math.atan2(2*(t*n+i*a),1-2*(o+l))),r}function Yw(r,e){var t,n,i=lr(f(),e),a=(0,m.Z)(i,3),s=a[0],o=a[1],l=a[2],c=Math.asin(-e[2]/s);return c<Wu?c>-Wu?(t=Math.atan2(e[6]/o,e[10]/l),n=Math.atan2(e[1]/s,e[0]/s)):(n=0,t=-Math.atan2(e[4]/o,e[5]/o)):(n=0,t=Math.atan2(e[4]/o,e[5]/o)),r[0]=t,r[1]=c,r[2]=n,r}function dv(r,e){return e.length===16?Yw(r,e):Xw(r,e)}function Qw(r,e,t,n,i){var a=Math.cos(r),s=Math.sin(r);return Fa(n*a,i*s,0,-n*s,i*a,0,e,t,1)}function Jw(r,e,t,n,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,l=2*a,c=t-e,h=n-i,p=l/c,C=l/h,k=(t+e)/c,W=(n+i)/h,j,K,Q=s-a,ee=s*a;return o?(j=-s/Q,K=-ee/Q):(j=-(s+a)/Q,K=-2*ee/Q),r[0]=p,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=C,r[6]=0,r[7]=0,r[8]=k,r[9]=W,r[10]=j,r[11]=-1,r[12]=0,r[13]=0,r[14]=K,r[15]=0,r}function lm(r){var e=r[0],t=r[1],n=r[3],i=r[4],a=Math.sqrt(e*e+t*t),s=Math.sqrt(n*n+i*i),o=e*i-t*n;if(o<0&&(e<i?a=-a:s=-s),a){var l=1/a;e*=l,t*=l}if(s){var c=1/s;n*=c,i*=c}var h=Math.atan2(t,e),p=ga(h);return[r[6],r[7],a,s,p]}var ws=ut(),rs=ut(),Mc=Ye(),Hn=[f(),f(),f()],cm=f();function qw(r,e,t,n,i,a){if(!$w(ws,r)||(at(rs,ws),rs[3]=0,rs[7]=0,rs[11]=0,rs[15]=1,Math.abs(Vt(rs))<1e-8))return!1;var s=ws[3],o=ws[7],l=ws[11],c=ws[12],h=ws[13],p=ws[14],C=ws[15];if(s!==0||o!==0||l!==0){Mc[0]=s,Mc[1]=o,Mc[2]=l,Mc[3]=C;var k=Ct(rs,rs);if(!k)return!1;Zt(rs,rs),B(i,Mc,rs)}else i[0]=i[1]=i[2]=0,i[3]=1;if(e[0]=c,e[1]=h,e[2]=p,eM(Hn,ws),t[0]=D(Hn[0]),Ne(Hn[0],Hn[0]),n[0]=We(Hn[0],Hn[1]),vv(Hn[1],Hn[1],Hn[0],1,-n[0]),t[1]=D(Hn[1]),Ne(Hn[1],Hn[1]),n[0]/=t[1],n[1]=We(Hn[0],Hn[2]),vv(Hn[2],Hn[2],Hn[0],1,-n[1]),n[2]=We(Hn[1],Hn[2]),vv(Hn[2],Hn[2],Hn[1],1,-n[2]),t[2]=D(Hn[2]),Ne(Hn[2],Hn[2]),n[1]/=t[2],n[2]/=t[2],tt(cm,Hn[1],Hn[2]),We(Hn[0],cm)<0)for(var W=0;W<3;W++)t[W]*=-1,Hn[W][0]*=-1,Hn[W][1]*=-1,Hn[W][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+Hn[0][0]-Hn[1][1]-Hn[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-Hn[0][0]+Hn[1][1]-Hn[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-Hn[0][0]-Hn[1][1]+Hn[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+Hn[0][0]+Hn[1][1]+Hn[2][2],0)),Hn[2][1]>Hn[1][2]&&(a[0]=-a[0]),Hn[0][2]>Hn[2][0]&&(a[1]=-a[1]),Hn[1][0]>Hn[0][1]&&(a[2]=-a[2]),!0}function $w(r,e){var t=e[15];if(t===0)return!1;for(var n=1/t,i=0;i<16;i++)r[i]=e[i]*n;return!0}function eM(r,e){r[0][0]=e[0],r[0][1]=e[1],r[0][2]=e[2],r[1][0]=e[4],r[1][1]=e[5],r[1][2]=e[6],r[2][0]=e[8],r[2][1]=e[9],r[2][2]=e[10]}function vv(r,e,t,n,i){r[0]=e[0]*n+t[0]*i,r[1]=e[1]*n+t[1]*i,r[2]=e[2]*n+t[2]*i}var Ar=function(r){return r[r.ORBITING=0]="ORBITING",r[r.EXPLORING=1]="EXPLORING",r[r.TRACKING=2]="TRACKING",r}({}),gv=function(r){return r[r.DEFAULT=0]="DEFAULT",r[r.ROTATIONAL=1]="ROTATIONAL",r[r.TRANSLATIONAL=2]="TRANSLATIONAL",r[r.CINEMATIC=3]="CINEMATIC",r}({}),Wa=function(r){return r[r.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",r[r.PERSPECTIVE=1]="PERSPECTIVE",r}({}),um={UPDATED:"updated"},hm=2e-4,fm=function(){function r(){(0,b.Z)(this,r),this.clipSpaceNearZ=Uu.NEGATIVE_ONE,this.eventEmitter=new d,this.matrix=ut(),this.right=I(1,0,0),this.up=I(0,1,0),this.forward=I(0,0,1),this.position=I(0,0,1),this.focalPoint=I(0,0,0),this.distanceVector=I(0,0,-1),this.distance=1,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.dollyingStep=0,this.maxDistance=1/0,this.minDistance=-1/0,this.zoom=1,this.rotateWorld=!1,this.fov=30,this.near=.1,this.far=1e3,this.aspect=1,this.projectionMatrix=ut(),this.projectionMatrixInverse=ut(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=Ar.EXPLORING,this.trackingMode=gv.DEFAULT,this.projectionMode=Wa.PERSPECTIVE,this.frustum=new Hw,this.orthoMatrix=ut()}return(0,z.Z)(r,[{key:"isOrtho",value:function(){return this.projectionMode===Wa.ORTHOGRAPHIC}},{key:"getProjectionMode",value:function(){return this.projectionMode}},{key:"getPerspective",value:function(){return this.jitteredProjectionMatrix||this.projectionMatrix}},{key:"getPerspectiveInverse",value:function(){return this.projectionMatrixInverse}},{key:"getFrustum",value:function(){return this.frustum}},{key:"getPosition",value:function(){return this.position}},{key:"getFocalPoint",value:function(){return this.focalPoint}},{key:"getDollyingStep",value:function(){return this.dollyingStep}},{key:"getNear",value:function(){return this.near}},{key:"getFar",value:function(){return this.far}},{key:"getZoom",value:function(){return this.zoom}},{key:"getOrthoMatrix",value:function(){return this.orthoMatrix}},{key:"getView",value:function(){return this.view}},{key:"setEnableUpdate",value:function(t){this.enableUpdate=t}},{key:"setType",value:function(t,n){return this.type=t,this.type===Ar.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===Ar.TRACKING&&n!==void 0&&this.setTrackingMode(n),this}},{key:"setProjectionMode",value:function(t){return this.projectionMode=t,this}},{key:"setTrackingMode",value:function(t){if(this.type!==Ar.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=t,this}},{key:"setWorldRotation",value:function(t){return this.rotateWorld=t,this._getAngles(),this}},{key:"getViewTransform",value:function(){return Ct(ut(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(t,n){var i=Jt(ut(),[t,n,0]);this.jitteredProjectionMatrix=lt(ut(),i,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(t){return this.matrix=t,this._update(),this}},{key:"setProjectionMatrix",value:function(t){this.projectionMatrix=t}},{key:"setFov",value:function(t){return this.setPerspective(this.near,this.far,t,this.aspect),this}},{key:"setAspect",value:function(t){return this.setPerspective(this.near,this.far,this.fov,t),this}},{key:"setNear",value:function(t){return this.projectionMode===Wa.PERSPECTIVE?this.setPerspective(t,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,t,this.far),this}},{key:"setFar",value:function(t){return this.projectionMode===Wa.PERSPECTIVE?this.setPerspective(this.near,t,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,t),this}},{key:"setViewOffset",value:function(t,n,i,a,s,o){return this.aspect=t/n,this.view===void 0&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=n,this.view.offsetX=i,this.view.offsetY=a,this.view.width=s,this.view.height=o,this.projectionMode===Wa.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"clearViewOffset",value:function(){return this.view!==void 0&&(this.view.enabled=!1),this.projectionMode===Wa.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"setZoom",value:function(t){return this.zoom=t,this.projectionMode===Wa.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===Wa.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(t,n){var i=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),a=i.x,s=i.y,o=this.roll;this.rotate(0,0,-o),this.setPosition(a,s),this.setFocalPoint(a,s),this.setZoom(t),this.rotate(0,0,o);var l=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),c=l.x,h=l.y,p=I(c-a,h-s,0),C=We(p,this.right)/D(this.right),k=We(p,this.up)/D(this.up),W=this.getPosition(),j=(0,m.Z)(W,2),K=j[0],Q=j[1],ee=this.getFocalPoint(),re=(0,m.Z)(ee,2),ve=re[0],he=re[1];return this.setPosition(K-C,Q-k),this.setFocalPoint(ve-C,he-k),this}},{key:"setPerspective",value:function(t,n,i,a){var s;this.projectionMode=Wa.PERSPECTIVE,this.fov=i,this.near=t,this.far=n,this.aspect=a;var o=this.near*Math.tan(Tr(.5*this.fov))/this.zoom,l=2*o,c=this.aspect*l,h=-.5*c;if((s=this.view)!==null&&s!==void 0&&s.enabled){var p=this.view.fullWidth,C=this.view.fullHeight;h+=this.view.offsetX*c/p,o-=this.view.offsetY*l/C,c*=this.view.width/p,l*=this.view.height/C}return Jw(this.projectionMatrix,h,h+c,o-l,o,t,this.far,this.clipSpaceNearZ===Uu.ZERO),Ct(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(t,n,i,a,s,o){var l;this.projectionMode=Wa.ORTHOGRAPHIC,this.rright=n,this.left=t,this.top=i,this.bottom=a,this.near=s,this.far=o;var c=(this.rright-this.left)/(2*this.zoom),h=(this.top-this.bottom)/(2*this.zoom),p=(this.rright+this.left)/2,C=(this.top+this.bottom)/2,k=p-c,W=p+c,j=C+h,K=C-h;if((l=this.view)!==null&&l!==void 0&&l.enabled){var Q=(this.rright-this.left)/this.view.fullWidth/this.zoom,ee=(this.top-this.bottom)/this.view.fullHeight/this.zoom;k+=Q*this.view.offsetX,W=k+Q*this.view.width,j-=ee*this.view.offsetY,K=j-ee*this.view.height}return this.clipSpaceNearZ===Uu.NEGATIVE_ONE?fr(this.projectionMatrix,k,W,j,K,s,o):yr(this.projectionMatrix,k,W,j,K,s,o),Ct(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],a=na(t,n,i);return this._setPosition(a),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],a=I(0,1,0);if(this.focalPoint=na(t,n,i),this.trackingMode===gv.CINEMATIC){var s=Y(f(),this.focalPoint,this.position);t=s[0],n=s[1],i=s[2];var o=D(s),l=ga(Math.asin(n/o)),c=90+ga(Math.atan2(i,t)),h=ut();Yt(h,h,Tr(c)),fn(h,h,Tr(l)),a=Ke(f(),[0,1,0],h)}return Ct(this.matrix,er(ut(),this.position,this.focalPoint,a)),this._getAxes(),this._getDistance(),this._getAngles(),this.triggerUpdate(),this}},{key:"getDistance",value:function(){return this.distance}},{key:"getDistanceVector",value:function(){return this.distanceVector}},{key:"setDistance",value:function(t){if(this.distance===t||t<0)return this;this.distance=t,this.distance<hm&&(this.distance=hm),this.dollyingStep=this.distance/100;var n=f();t=this.distance;var i=this.forward,a=this.focalPoint;return n[0]=t*i[0]+a[0],n[1]=t*i[1]+a[1],n[2]=t*i[2]+a[2],this._setPosition(n),this.triggerUpdate(),this}},{key:"setMaxDistance",value:function(t){return this.maxDistance=t,this}},{key:"setMinDistance",value:function(t){return this.minDistance=t,this}},{key:"setAzimuth",value:function(t){return this.azimuth=Bl(t),this.computeMatrix(),this._getAxes(),this.type===Ar.ORBITING||this.type===Ar.EXPLORING?this._getPosition():this.type===Ar.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(t){return this.elevation=Bl(t),this.computeMatrix(),this._getAxes(),this.type===Ar.ORBITING||this.type===Ar.EXPLORING?this._getPosition():this.type===Ar.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getElevation",value:function(){return this.elevation}},{key:"setRoll",value:function(t){return this.roll=Bl(t),this.computeMatrix(),this._getAxes(),this.type===Ar.ORBITING||this.type===Ar.EXPLORING?this._getPosition():this.type===Ar.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getRoll",value:function(){return this.roll}},{key:"_update",value:function(){this._getAxes(),this._getPosition(),this._getDistance(),this._getAngles(),this._getOrthoMatrix(),this.triggerUpdate()}},{key:"computeMatrix",value:function(){var t=wa(or(),[0,0,1],Tr(this.roll));kt(this.matrix);var n=wa(or(),[1,0,0],Tr((this.rotateWorld&&this.type!==Ar.TRACKING||this.type===Ar.TRACKING?1:-1)*this.elevation)),i=wa(or(),[0,1,0],Tr((this.rotateWorld&&this.type!==Ar.TRACKING||this.type===Ar.TRACKING?1:-1)*this.azimuth)),a=Vi(or(),i,n);a=Vi(or(),a,t);var s=cr(ut(),a);this.type===Ar.ORBITING||this.type===Ar.EXPLORING?(wt(this.matrix,this.matrix,this.focalPoint),lt(this.matrix,this.matrix,s),wt(this.matrix,this.matrix,[0,0,this.distance])):this.type===Ar.TRACKING&&(wt(this.matrix,this.matrix,this.position),lt(this.matrix,this.matrix,s))}},{key:"_setPosition",value:function(t,n,i){this.position=na(t,n,i);var a=this.matrix;a[12]=this.position[0],a[13]=this.position[1],a[14]=this.position[2],a[15]=1,this._getOrthoMatrix()}},{key:"_getAxes",value:function(){U(this.right,na(B(Ye(),[1,0,0,0],this.matrix))),U(this.up,na(B(Ye(),[0,1,0,0],this.matrix))),U(this.forward,na(B(Ye(),[0,0,1,0],this.matrix))),Ne(this.right,this.right),Ne(this.up,this.up),Ne(this.forward,this.forward)}},{key:"_getAngles",value:function(){var t=this.distanceVector[0],n=this.distanceVector[1],i=this.distanceVector[2],a=D(this.distanceVector);if(a===0){this.elevation=0,this.azimuth=0;return}this.type===Ar.TRACKING?(this.elevation=ga(Math.asin(n/a)),this.azimuth=ga(Math.atan2(-t,-i))):this.rotateWorld?(this.elevation=ga(Math.asin(n/a)),this.azimuth=ga(Math.atan2(-t,-i))):(this.elevation=-ga(Math.asin(n/a)),this.azimuth=-ga(Math.atan2(-t,-i)))}},{key:"_getPosition",value:function(){U(this.position,na(B(Ye(),[0,0,0,1],this.matrix))),this._getDistance()}},{key:"_getFocalPoint",value:function(){nt(this.distanceVector,[0,0,-this.distance],$i(Ti(),this.matrix)),G(this.focalPoint,this.position,this.distanceVector),this._getDistance()}},{key:"_getDistance",value:function(){this.distanceVector=Y(f(),this.focalPoint,this.position),this.distance=D(this.distanceVector),this.dollyingStep=this.distance/100}},{key:"_getOrthoMatrix",value:function(){if(this.projectionMode===Wa.ORTHOGRAPHIC){var t=this.position,n=wa(or(),[0,0,1],-this.roll*Math.PI/180);hi(this.orthoMatrix,n,I((this.rright-this.left)/2-t[0],(this.top-this.bottom)/2-t[1],0),I(this.zoom,this.zoom,1),t)}}},{key:"triggerUpdate",value:function(){if(this.enableUpdate){var t=this.getViewTransform(),n=lt(ut(),this.getPerspective(),t);this.getFrustum().extractFromVPMatrix(n),this.eventEmitter.emit(um.UPDATED)}}},{key:"rotate",value:function(t,n,i){throw new Error(Sr)}},{key:"pan",value:function(t,n){throw new Error(Sr)}},{key:"dolly",value:function(t){throw new Error(Sr)}},{key:"createLandmark",value:function(t,n){throw new Error(Sr)}},{key:"gotoLandmark",value:function(t,n){throw new Error(Sr)}},{key:"cancelLandmarkAnimation",value:function(){throw new Error(Sr)}}])}(),tM=function(r){return r[r.Standard=0]="Standard",r}({}),Hu=function(r){return r[r.ADDED=0]="ADDED",r[r.REMOVED=1]="REMOVED",r[r.Z_INDEX_CHANGED=2]="Z_INDEX_CHANGED",r}({}),dm={absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new Il(0,0,0,0)},en=function(r){return r.COORDINATE="<coordinate>",r.COLOR="<color>",r.PAINT="<paint>",r.NUMBER="<number>",r.ANGLE="<angle>",r.OPACITY_VALUE="<opacity-value>",r.SHADOW_BLUR="<shadow-blur>",r.LENGTH="<length>",r.PERCENTAGE="<percentage>",r.LENGTH_PERCENTAGE="<length> | <percentage>",r.LENGTH_PERCENTAGE_12="[<length> | <percentage>]{1,2}",r.LENGTH_PERCENTAGE_14="[<length> | <percentage>]{1,4}",r.LIST_OF_POINTS="<list-of-points>",r.PATH="<path>",r.FILTER="<filter>",r.Z_INDEX="<z-index>",r.OFFSET_DISTANCE="<offset-distance>",r.DEFINED_PATH="<defined-path>",r.MARKER="<marker>",r.TRANSFORM="<transform>",r.TRANSFORM_ORIGIN="<transform-origin>",r.TEXT="<text>",r.TEXT_TRANSFORM="<text-transform>",r}({});function pv(r,e,t){r.prototype=e.prototype=t,t.constructor=r}function vm(r,e){var t=Object.create(r.prototype);for(var n in e)t[n]=e[n];return t}function Sc(){}var Tc=.7,ju=1/Tc,kl="\\s*([+-]?\\d+)\\s*",Ac="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ms="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",nM=/^#([0-9a-f]{3,8})$/,rM=new RegExp(`^rgb\\(${kl},${kl},${kl}\\)$`),iM=new RegExp(`^rgb\\(${Ms},${Ms},${Ms}\\)$`),aM=new RegExp(`^rgba\\(${kl},${kl},${kl},${Ac}\\)$`),sM=new RegExp(`^rgba\\(${Ms},${Ms},${Ms},${Ac}\\)$`),oM=new RegExp(`^hsl\\(${Ac},${Ms},${Ms}\\)$`),lM=new RegExp(`^hsla\\(${Ac},${Ms},${Ms},${Ac}\\)$`),gm={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};pv(Sc,Gu,{copy(r){return Object.assign(new this.constructor,this,r)},displayable(){return this.rgb().displayable()},hex:pm,formatHex:pm,formatHex8:cM,formatHsl:uM,formatRgb:mm,toString:mm});function pm(){return this.rgb().formatHex()}function cM(){return this.rgb().formatHex8()}function uM(){return bm(this).formatHsl()}function mm(){return this.rgb().formatRgb()}function Gu(r){var e,t;return r=(r+"").trim().toLowerCase(),(e=nM.exec(r))?(t=e[1].length,e=parseInt(e[1],16),t===6?ym(e):t===3?new pa(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?Vu(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?Vu(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=rM.exec(r))?new pa(e[1],e[2],e[3],1):(e=iM.exec(r))?new pa(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=aM.exec(r))?Vu(e[1],e[2],e[3],e[4]):(e=sM.exec(r))?Vu(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=oM.exec(r))?xm(e[1],e[2]/100,e[3]/100,1):(e=lM.exec(r))?xm(e[1],e[2]/100,e[3]/100,e[4]):gm.hasOwnProperty(r)?ym(gm[r]):r==="transparent"?new pa(NaN,NaN,NaN,0):null}function ym(r){return new pa(r>>16&255,r>>8&255,r&255,1)}function Vu(r,e,t,n){return n<=0&&(r=e=t=NaN),new pa(r,e,t,n)}function hM(r){return r instanceof Sc||(r=Gu(r)),r?(r=r.rgb(),new pa(r.r,r.g,r.b,r.opacity)):new pa}function fM(r,e,t,n){return arguments.length===1?hM(r):new pa(r,e,t,n==null?1:n)}function pa(r,e,t,n){this.r=+r,this.g=+e,this.b=+t,this.opacity=+n}pv(pa,fM,vm(Sc,{brighter(r){return r=r==null?ju:Math.pow(ju,r),new pa(this.r*r,this.g*r,this.b*r,this.opacity)},darker(r){return r=r==null?Tc:Math.pow(Tc,r),new pa(this.r*r,this.g*r,this.b*r,this.opacity)},rgb(){return this},clamp(){return new pa(Go(this.r),Go(this.g),Go(this.b),Zu(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:_m,formatHex:_m,formatHex8:dM,formatRgb:Em,toString:Em}));function _m(){return`#${Vo(this.r)}${Vo(this.g)}${Vo(this.b)}`}function dM(){return`#${Vo(this.r)}${Vo(this.g)}${Vo(this.b)}${Vo((isNaN(this.opacity)?1:this.opacity)*255)}`}function Em(){const r=Zu(this.opacity);return`${r===1?"rgb(":"rgba("}${Go(this.r)}, ${Go(this.g)}, ${Go(this.b)}${r===1?")":`, ${r})`}`}function Zu(r){return isNaN(r)?1:Math.max(0,Math.min(1,r))}function Go(r){return Math.max(0,Math.min(255,Math.round(r)||0))}function Vo(r){return r=Go(r),(r<16?"0":"")+r.toString(16)}function xm(r,e,t,n){return n<=0?r=e=t=NaN:t<=0||t>=1?r=e=NaN:e<=0&&(r=NaN),new is(r,e,t,n)}function bm(r){if(r instanceof is)return new is(r.h,r.s,r.l,r.opacity);if(r instanceof Sc||(r=Gu(r)),!r)return new is;if(r instanceof is)return r;r=r.rgb();var e=r.r/255,t=r.g/255,n=r.b/255,i=Math.min(e,t,n),a=Math.max(e,t,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(t-n)/o+(t<n)*6:t===a?s=(n-e)/o+2:s=(e-t)/o+4,o/=l<.5?a+i:2-a-i,s*=60):o=l>0&&l<1?0:s,new is(s,o,l,r.opacity)}function vM(r,e,t,n){return arguments.length===1?bm(r):new is(r,e,t,n==null?1:n)}function is(r,e,t,n){this.h=+r,this.s=+e,this.l=+t,this.opacity=+n}pv(is,vM,vm(Sc,{brighter(r){return r=r==null?ju:Math.pow(ju,r),new is(this.h,this.s,this.l*r,this.opacity)},darker(r){return r=r==null?Tc:Math.pow(Tc,r),new is(this.h,this.s,this.l*r,this.opacity)},rgb(){var r=this.h%360+(this.h<0)*360,e=isNaN(r)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,i=2*t-n;return new pa(mv(r>=240?r-240:r+120,i,n),mv(r,i,n),mv(r<120?r+240:r-120,i,n),this.opacity)},clamp(){return new is(wm(this.h),Ku(this.s),Ku(this.l),Zu(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 r=Zu(this.opacity);return`${r===1?"hsl(":"hsla("}${wm(this.h)}, ${Ku(this.s)*100}%, ${Ku(this.l)*100}%${r===1?")":`, ${r})`}`}}));function wm(r){return r=(r||0)%360,r<0?r+360:r}function Ku(r){return Math.max(0,Math.min(1,r||0))}function mv(r,e,t){return(r<60?e+(t-e)*r/60:r<180?t:r<240?e+(t-e)*(240-r)/60:e)*255}function di(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError("Expected a function");var t=function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=e?e.apply(this,a):a[0],l=t.cache;if(l.has(o))return l.get(o);var c=r.apply(this,a);return t.cache=l.set(o,c)||l,c};return t.cache=new(di.Cache||Map),di.cacheList.push(t.cache),t}di.Cache=Map,di.cacheList=[],di.clearCache=function(){di.cacheList.forEach(function(r){return r.clear()})};var nn=function(r){return r[r.kUnknown=0]="kUnknown",r[r.kNumber=1]="kNumber",r[r.kPercentage=2]="kPercentage",r[r.kEms=3]="kEms",r[r.kPixels=4]="kPixels",r[r.kRems=5]="kRems",r[r.kDegrees=6]="kDegrees",r[r.kRadians=7]="kRadians",r[r.kGradians=8]="kGradians",r[r.kTurns=9]="kTurns",r[r.kMilliseconds=10]="kMilliseconds",r[r.kSeconds=11]="kSeconds",r[r.kInteger=12]="kInteger",r}({}),as=function(r){return r[r.kUNumber=0]="kUNumber",r[r.kUPercent=1]="kUPercent",r[r.kULength=2]="kULength",r[r.kUAngle=3]="kUAngle",r[r.kUTime=4]="kUTime",r[r.kUOther=5]="kUOther",r}({}),gM=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),pM=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),mM=[{name:"em",unit_type:nn.kEms},{name:"px",unit_type:nn.kPixels},{name:"deg",unit_type:nn.kDegrees},{name:"rad",unit_type:nn.kRadians},{name:"grad",unit_type:nn.kGradians},{name:"ms",unit_type:nn.kMilliseconds},{name:"s",unit_type:nn.kSeconds},{name:"rem",unit_type:nn.kRems},{name:"turn",unit_type:nn.kTurns}],zl=function(r){return r[r.kUnknownType=0]="kUnknownType",r[r.kUnparsedType=1]="kUnparsedType",r[r.kKeywordType=2]="kKeywordType",r[r.kUnitType=3]="kUnitType",r[r.kSumType=4]="kSumType",r[r.kProductType=5]="kProductType",r[r.kNegateType=6]="kNegateType",r[r.kInvertType=7]="kInvertType",r[r.kMinType=8]="kMinType",r[r.kMaxType=9]="kMaxType",r[r.kClampType=10]="kClampType",r[r.kTransformType=11]="kTransformType",r[r.kPositionType=12]="kPositionType",r[r.kURLImageType=13]="kURLImageType",r[r.kColorType=14]="kColorType",r[r.kUnsupportedColorType=15]="kUnsupportedColorType",r}({}),yM=function(e){return mM.find(function(t){return t.name===e}).unit_type},_M=function(e){return e?e==="number"?nn.kNumber:e==="percent"||e==="%"?nn.kPercentage:yM(e):nn.kUnknown},EM=function(e){switch(e){case nn.kNumber:case nn.kInteger:return as.kUNumber;case nn.kPercentage:return as.kUPercent;case nn.kPixels:return as.kULength;case nn.kMilliseconds:case nn.kSeconds:return as.kUTime;case nn.kDegrees:case nn.kRadians:case nn.kGradians:case nn.kTurns:return as.kUAngle;default:return as.kUOther}},xM=function(e){switch(e){case as.kUNumber:return nn.kNumber;case as.kULength:return nn.kPixels;case as.kUPercent:return nn.kPercentage;case as.kUTime:return nn.kSeconds;case as.kUAngle:return nn.kDegrees;default:return nn.kUnknown}},Mm=function(e){var t=1;switch(e){case nn.kPixels:case nn.kDegrees:case nn.kSeconds:break;case nn.kMilliseconds:t=.001;break;case nn.kRadians:t=180/Math.PI;break;case nn.kGradians:t=.9;break;case nn.kTurns:t=360;break}return t},yv=function(e){switch(e){case nn.kNumber:case nn.kInteger:return"";case nn.kPercentage:return"%";case nn.kEms:return"em";case nn.kRems:return"rem";case nn.kPixels:return"px";case nn.kDegrees:return"deg";case nn.kRadians:return"rad";case nn.kGradians:return"grad";case nn.kMilliseconds:return"ms";case nn.kSeconds:return"s";case nn.kTurns:return"turn"}return""},Xu=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"toString",value:function(){return this.buildCSSText(gM.kNo,pM.kNo,"")}},{key:"isNumericValue",value:function(){return this.getType()>=zl.kUnitType&&this.getType()<=zl.kClampType}}],[{key:"isAngle",value:function(t){return t===nn.kDegrees||t===nn.kRadians||t===nn.kGradians||t===nn.kTurns}},{key:"isLength",value:function(t){return t>=nn.kEms&&t<nn.kDegrees}},{key:"isRelativeUnit",value:function(t){return t===nn.kPercentage||t===nn.kEms||t===nn.kRems}},{key:"isTime",value:function(t){return t===nn.kSeconds||t===nn.kMilliseconds}}])}(),bM=function(r){function e(t){var n;return(0,b.Z)(this,e),n=_(this,e),n.colorSpace=t,n}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"getType",value:function(){return zl.kColorType}},{key:"to",value:function(n){return this}}])}(Xu),lo=function(r){return r[r.Constant=0]="Constant",r[r.LinearGradient=1]="LinearGradient",r[r.RadialGradient=2]="RadialGradient",r}({}),Yu=function(r){function e(t,n){var i;return(0,b.Z)(this,e),i=_(this,e),i.type=t,i.value=n,i}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"clone",value:function(){return new e(this.type,this.value)}},{key:"buildCSSText",value:function(n,i,a){return a}},{key:"getType",value:function(){return zl.kColorType}}])}(Xu),Ha=function(r){function e(t){var n;return(0,b.Z)(this,e),n=_(this,e),n.value=t,n}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"clone",value:function(){return new e(this.value)}},{key:"getType",value:function(){return zl.kKeywordType}},{key:"buildCSSText",value:function(n,i,a){return a+this.value}}])}(Xu),wM=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n="";return Number.isFinite(e)?n="NaN":e>0?n="infinity":n="-infinity",n+=t},_v=function(e){return xM(EM(e))},Cr=function(r){function e(t){var n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nn.kNumber;(0,b.Z)(this,e),n=_(this,e);var a;return typeof i=="string"?a=_M(i):a=i,n.unit=a,n.value=t,n}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"clone",value:function(){return new e(this.value,this.unit)}},{key:"equals",value:function(n){var i=n;return this.value===i.value&&this.unit===i.unit}},{key:"getType",value:function(){return zl.kUnitType}},{key:"convertTo",value:function(n){if(this.unit===n)return new e(this.value,this.unit);var i=_v(this.unit);if(i!==_v(n)||i===nn.kUnknown)return null;var a=Mm(this.unit)/Mm(n);return new e(this.value*a,n)}},{key:"buildCSSText",value:function(n,i,a){var s;switch(this.unit){case nn.kUnknown:break;case nn.kInteger:s=Number(this.value).toFixed(0);break;case nn.kNumber:case nn.kPercentage:case nn.kEms:case nn.kRems:case nn.kPixels:case nn.kDegrees:case nn.kRadians:case nn.kGradians:case nn.kMilliseconds:case nn.kSeconds:case nn.kTurns:{var o=-999999,l=999999,c=this.value,h=yv(this.unit);if(c<o||c>l){var p=yv(this.unit);!Number.isFinite(c)||Number.isNaN(c)?s=wM(c,p):s=c+(p||"")}else s="".concat(c).concat(h)}}return a+=s,a}}])}(Xu),ss=new Cr(0,"px");new Cr(1,"px");var Zo=new Cr(0,"deg"),Ev=function(r){function e(t,n,i){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return(0,b.Z)(this,e),a=_(this,e,["rgb"]),a.r=t,a.g=n,a.b=i,a.alpha=s,a.isNone=o,a}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"clone",value:function(){return new e(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(n,i,a){return"".concat(a,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(bM),Sm=new Ha("unset"),MM=new Ha("initial"),SM=new Ha("inherit"),xv={"":Sm,unset:Sm,initial:MM,inherit:SM},TM=function(e){return xv[e]||(xv[e]=new Ha(e)),xv[e]},Tm=new Ev(0,0,0,0,!0),Am=new Ev(0,0,0,0),AM=di(function(r,e,t,n){return new Ev(r,e,t,n)},function(r,e,t,n){return"rgba(".concat(r,",").concat(e,",").concat(t,",").concat(n,")")}),jr=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nn.kNumber;return new Cr(e,t)};new Cr(50,"%");function CM(r){var e=r.type,t=r.value;return e==="hex"?"#".concat(t):e==="literal"?t:e==="rgb"?"rgb(".concat(t.join(","),")"):"rgba(".concat(t.join(","),")")}var OM=function(){var r={linearGradient:/^(linear\-gradient)/i,repeatingLinearGradient:/^(repeating\-linear\-gradient)/i,radialGradient:/^(radial\-gradient)/i,repeatingRadialGradient:/^(repeating\-radial\-gradient)/i,conicGradient:/^(conic\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},e="";function t(bt){throw new Error("".concat(e,": ").concat(bt))}function n(){var bt=i();return e.length>0&&t("Invalid input not EOF"),bt}function i(){return re(a)}function a(){return s("linear-gradient",r.linearGradient,l)||s("repeating-linear-gradient",r.repeatingLinearGradient,l)||s("radial-gradient",r.radialGradient,p)||s("repeating-radial-gradient",r.repeatingRadialGradient,p)||s("conic-gradient",r.conicGradient,p)}function s(bt,Et,xt){return o(Et,function(Dt){var Ut=xt();return Ut&&(ht(r.comma)||t("Missing comma before color stops")),{type:bt,orientation:Ut,colorStops:re(ve)}})}function o(bt,Et){var xt=ht(bt);if(xt){ht(r.startCall)||t("Missing (");var Dt=Et(xt);return ht(r.endCall)||t("Missing )"),Dt}}function l(){return c()||h()}function c(){return ct("directional",r.sideOrCorner,1)}function h(){return ct("angular",r.angleValue,1)}function p(){var bt,Et=C(),xt;return Et&&(bt=[],bt.push(Et),xt=e,ht(r.comma)&&(Et=C(),Et?bt.push(Et):e=xt)),bt}function C(){var bt=k()||W();if(bt)bt.at=K();else{var Et=j();if(Et){bt=Et;var xt=K();xt&&(bt.at=xt)}else{var Dt=Q();Dt&&(bt={type:"default-radial",at:Dt})}}return bt}function k(){var bt=ct("shape",/^(circle)/i,0);return bt&&(bt.style=qe()||j()),bt}function W(){var bt=ct("shape",/^(ellipse)/i,0);return bt&&(bt.style=Fe()||j()),bt}function j(){return ct("extent-keyword",r.extentKeywords,1)}function K(){if(ct("position",/^at/,0)){var bt=Q();return bt||t("Missing positioning value"),bt}}function Q(){var bt=ee();if(bt.x||bt.y)return{type:"position",value:bt}}function ee(){return{x:Fe(),y:Fe()}}function re(bt){var Et=bt(),xt=[];if(Et)for(xt.push(Et);ht(r.comma);)Et=bt(),Et?xt.push(Et):t("One extra comma");return xt}function ve(){var bt=he();return bt||t("Expected color definition"),bt.length=Fe(),bt}function he(){return _e()||De()||Ee()||pe()}function pe(){return ct("literal",r.literalColor,0)}function _e(){return ct("hex",r.hexColor,1)}function Ee(){return o(r.rgbColor,function(){return{type:"rgb",value:re(Be)}})}function De(){return o(r.rgbaColor,function(){return{type:"rgba",value:re(Be)}})}function Be(){return ht(r.number)[1]}function Fe(){return ct("%",r.percentageValue,1)||Xe()||qe()}function Xe(){return ct("position-keyword",r.positionKeywords,1)}function qe(){return ct("px",r.pixelValue,1)||ct("em",r.emValue,1)}function ct(bt,Et,xt){var Dt=ht(Et);if(Dt)return{type:bt,value:Dt[xt]}}function ht(bt){var Et=/^[\n\r\t\s]+/.exec(e);Et&&St(Et[0].length);var xt=bt.exec(e);return xt&&St(xt[0].length),xt}function St(bt){e=e.substring(bt)}return function(bt){return e=bt,n()}}();function PM(r,e,t,n){var i=Tr(n.value),a=0,s=0,o=a+e/2,l=s+t/2,c=Math.abs(e*Math.cos(i))+Math.abs(t*Math.sin(i)),h=r[0]+o-Math.cos(i)*c/2,p=r[1]+l-Math.sin(i)*c/2,C=r[0]+o+Math.cos(i)*c/2,k=r[1]+l+Math.sin(i)*c/2;return{x1:h,y1:p,x2:C,y2:k}}function DM(r,e,t,n,i,a){var s=n.value,o=i.value;n.unit===nn.kPercentage&&(s=n.value/100*e),i.unit===nn.kPercentage&&(o=i.value/100*t);var l=Math.max(va([0,0],[s,o]),va([0,t],[s,o]),va([e,t],[s,o]),va([e,0],[s,o]));return a&&(a instanceof Cr?l=a.value:a instanceof Ha&&(a.value==="closest-side"?l=Math.min(s,e-s,o,t-o):a.value==="farthest-side"?l=Math.max(s,e-s,o,t-o):a.value==="closest-corner"&&(l=Math.min(va([0,0],[s,o]),va([0,t],[s,o]),va([e,t],[s,o]),va([e,0],[s,o]))))),{x:s+r[0],y:o+r[1],r:l}}var LM=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,RM=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,IM=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,Cm=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function NM(r){var e,t=r.length;if(r[t-1].length=(e=r[t-1].length)!==null&&e!==void 0?e:{type:"%",value:"100"},t>1){var n;r[0].length=(n=r[0].length)!==null&&n!==void 0?n:{type:"%",value:"0"}}for(var i=0,a=Number(r[0].length.value),s=1;s<t;s++){var o,l=(o=r[s].length)===null||o===void 0?void 0:o.value;if(!Rn(l)&&!Rn(a)){for(var c=1;c<s-i;c++)r[i+c].length={type:"%",value:"".concat(a+(Number(l)-a)*c/(s-i))};i=s,a=Number(l)}}}var BM={left:180,top:-90,bottom:90,right:0,"left top":225,"top left":225,"left bottom":135,"bottom left":135,"right top":-45,"top right":-45,"right bottom":45,"bottom right":45},kM=di(function(r){var e;return r.type==="angular"?e=Number(r.value):e=BM[r.value]||0,jr(e,"deg")}),zM=di(function(r){var e=50,t=50,n="%",i="%";if((r==null?void 0:r.type)==="position"){var a=r.value,s=a.x,o=a.y;(s==null?void 0:s.type)==="position-keyword"&&(s.value==="left"?e=0:s.value==="center"?e=50:s.value==="right"?e=100:s.value==="top"?t=0:s.value==="bottom"&&(t=100)),(o==null?void 0:o.type)==="position-keyword"&&(o.value==="left"?e=0:o.value==="center"?t=50:o.value==="right"?e=100:o.value==="top"?t=0:o.value==="bottom"&&(t=100)),((s==null?void 0:s.type)==="px"||(s==null?void 0:s.type)==="%"||(s==null?void 0:s.type)==="em")&&(n=s==null?void 0:s.type,e=Number(s.value)),((o==null?void 0:o.type)==="px"||(o==null?void 0:o.type)==="%"||(o==null?void 0:o.type)==="em")&&(i=o==null?void 0:o.type,t=Number(o.value))}return{cx:jr(e,n),cy:jr(t,i)}}),FM=di(function(r){if(r.indexOf("linear")>-1||r.indexOf("radial")>-1){var e=OM(r);return e.map(function(o){var l=o.type,c=o.orientation,h=o.colorStops;NM(h);var p=h.map(function(re){return{offset:jr(Number(re.length.value),"%"),color:CM(re)}});if(l==="linear-gradient")return new Yu(lo.LinearGradient,{angle:c?kM(c):Zo,steps:p});if(l==="radial-gradient"&&(c||(c=[{type:"shape",value:"circle"}]),c[0].type==="shape"&&c[0].value==="circle")){var C=zM(c[0].at),k=C.cx,W=C.cy,j;if(c[0].style){var K=c[0].style,Q=K.type,ee=K.value;Q==="extent-keyword"?j=TM(ee):j=jr(ee,Q)}return new Yu(lo.RadialGradient,{cx:k,cy:W,size:j,steps:p})}})}var t=r[0];if(r[1]==="("||r[2]==="("){if(t==="l"){var n=LM.exec(r);if(n){var i,a=((i=n[2].match(Cm))===null||i===void 0?void 0:i.map(function(o){return o.split(":")}))||[];return[new Yu(lo.LinearGradient,{angle:jr(parseFloat(n[1]),"deg"),steps:a.map(function(o){var l=(0,m.Z)(o,2),c=l[0],h=l[1];return{offset:jr(Number(c)*100,"%"),color:h}})})]}}else if(t==="r"){var s=UM(r);if(s)if(dr(s))r=s;else return[new Yu(lo.RadialGradient,s)]}else if(t==="p")return WM(r)}});function UM(r){var e=RM.exec(r);if(e){var t,n=((t=e[4].match(Cm))===null||t===void 0?void 0:t.map(function(i){return i.split(":")}))||[];return{cx:jr(50,"%"),cy:jr(50,"%"),steps:n.map(function(i){var a=(0,m.Z)(i,2),s=a[0],o=a[1];return{offset:jr(Number(s)*100,"%"),color:o}})}}return null}function WM(r){var e=IM.exec(r);if(e){var t=e[1],n=e[2];switch(t){case"a":t="repeat";break;case"x":t="repeat-x";break;case"y":t="repeat-y";break;case"n":t="no-repeat";break;default:t="no-repeat"}return{image:n,repetition:t}}return null}function jz(r){return!!r.type&&!!r.value}function Ko(r){return r&&!!r.image}function Qu(r){return r&&!Rn(r.r)&&!Rn(r.g)&&!Rn(r.b)}var Cc=di(function(r){if(Ko(r))return(0,H.Z)({repetition:"repeat"},r);if(Rn(r)&&(r=""),r==="transparent")return Am;if(r==="currentColor")r="black";else if(r==="none")return Tm;var e=FM(r);if(e)return e;var t=Gu(r),n=[0,0,0,0];return t!==null&&(n[0]=t.r||0,n[1]=t.g||0,n[2]=t.b||0,n[3]=t.opacity),AM.apply(void 0,n)});function HM(r,e){if(!(!Qu(r)||!Qu(e)))return[[Number(r.r),Number(r.g),Number(r.b),Number(r.alpha)],[Number(e.r),Number(e.g),Number(e.b),Number(e.alpha)],function(t){var n=t.slice();if(n[3])for(var i=0;i<3;i++)n[i]=Math.round(Yr(n[i],0,255));return n[3]=Yr(n[3],0,1),"rgba(".concat(n.join(","),")")}]}function Oc(r,e){if(Rn(e))return jr(0,"px");if(e="".concat(e).trim().toLowerCase(),isFinite(Number(e))){if("px".search(r)>=0)return jr(Number(e),"px");if("deg".search(r)>=0)return jr(Number(e),"deg")}var t=[];e=e.replace(r,function(i){return t.push(i),"U".concat(i)});var n="U(".concat(r.source,")");return t.map(function(i){return jr(Number(e.replace(new RegExp("U".concat(i),"g"),"").replace(new RegExp(n,"g"),"*0")),i)})[0]}var Om=function(e){return Oc(new RegExp("px","g"),e)},jM=di(Om),GM=function(e){return Oc(new RegExp("%","g"),e)};di(GM);var Pm=function(e){return dn(e)||isFinite(Number(e))?jr(Number(e)||0,"px"):Oc(new RegExp("px|%|em|rem","g"),e)},bv=di(Pm),Dm=function(e){return Oc(new RegExp("deg|rad|grad|turn","g"),e)},VM=di(Dm);function ZM(r,e,t,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a="",s=r.value||0,o=e.value||0,l=_v(r.unit),c=r.convertTo(l),h=e.convertTo(l);return c&&h?(s=c.value,o=h.value,a=yv(r.unit)):(Cr.isLength(r.unit)||Cr.isLength(e.unit))&&(s=Sa(r,i,t),o=Sa(e,i,t),a="px"),[s,o,function(p){return n&&(p=Math.max(p,0)),p+a}]}function ma(r){var e=0;return r.unit===nn.kDegrees?e=r.value:r.unit===nn.kRadians?e=ga(Number(r.value)):r.unit===nn.kTurns?e=Kw(Number(r.value)):r.value&&(e=r.value),e}function Lm(r,e){var t;return Array.isArray(r)?t=r.map(function(n){return Number(n)}):dr(r)?t=r.split(" ").map(function(n){return Number(n)}):dn(r)&&(t=[r]),e===2?t.length===1?[t[0],t[0]]:[t[0],t[1]]:e===4?t.length===1?[t[0],t[0],t[0],t[0]]:t.length===2?[t[0],t[1],t[0],t[1]]:t.length===3?[t[0],t[1],t[2],t[1]]:[t[0],t[1],t[2],t[3]]:e==="even"&&t.length%2===1?[].concat((0,P.Z)(t),(0,P.Z)(t)):t}function Sa(r,e,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(r.unit===nn.kPixels)return Number(r.value);if(r.unit===nn.kPercentage&&t){var i=t.nodeName===Rt.GROUP?t.getLocalBounds():t.getGeometryBounds();return(n?i.min[e]:0)+r.value/100*i.halfExtents[e]*2}return 0}var KM=function(e){return Oc(/deg|rad|grad|turn|px|%/g,e)},XM=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function YM(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(r=r.toLowerCase().trim(),r==="none")return[];for(var e=/\s*([\w-]+)\(([^)]*)\)/g,t=[],n,i=0;n=e.exec(r);){if(n.index!==i)return[];if(i=n.index+n[0].length,XM.indexOf(n[1])>-1&&t.push({name:n[1],params:n[2].split(" ").map(function(a){return KM(a)||Cc(a)})}),e.lastIndex===r.length)return t}return[]}function Rm(r){return r.toString()}var Im=function(e){return typeof e=="number"?jr(e):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(e)?jr(Number(e)):jr(0)},wv=di(Im);di(function(r){return dr(r)?r.split(" ").map(wv):r.map(wv)});function Mv(r,e){return[r,e,Rm]}function Sv(r,e){return function(t,n){return[t,n,function(i){return Rm(Yr(i,r,e))}]}}function Nm(r,e){if(r.length===e.length)return[r,e,function(t){return t}]}function Tv(r){return r.parsedStyle.d.totalLength===0&&(r.parsedStyle.d.totalLength=X2(r.parsedStyle.d.absolutePath)),r.parsedStyle.d.totalLength}function QM(r){return r.parsedStyle.points.totalLength===0&&(r.parsedStyle.points.totalLength=Pw(r.parsedStyle.points.points)),r.parsedStyle.points.totalLength}function JM(r){for(var e=0;e<r.length;e++){var t=r[e-1],n=r[e],i=n[0];if(i==="M"&&t){var a=t[0],s=[n[1],n[2]],o=void 0;a==="L"||a==="M"?o=[t[1],t[2]]:(a==="C"||a==="A"||a==="Q")&&(o=[t[t.length-2],t[t.length-1]]),o&&Ju(s,o)&&(r.splice(e,1),e--)}}}function qM(r){for(var e=!1,t=r.length,n=0;n<t;n++){var i=r[n],a=i[0];if(a==="C"||a==="A"||a==="Q"){e=!0;break}}return e}function $M(r){for(var e=[],t=[],n=[],i=0;i<r.length;i++){var a=r[i],s=a[0];s==="M"?(n.length&&(t.push(n),n=[]),n.push([a[1],a[2]])):s==="Z"?n.length&&(e.push(n),n=[]):n.push([a[1],a[2]])}return n.length>0&&t.push(n),{polygons:e,polylines:t}}function Ju(r,e){return r[0]===e[0]&&r[1]===e[1]}function eS(r,e){for(var t=[],n=[],i=[],a=0;a<r.length;a++){var s=r[a],o=s.currentPoint,l=s.params,c=s.prePoint,h=void 0;switch(s.command){case"Q":h=Lw(c[0],c[1],l[1],l[2],l[3],l[4]);break;case"C":h=Aw(c[0],c[1],l[1],l[2],l[3],l[4],l[5],l[6]);break;case"A":var p=s.arcParams;h=bw(p.cx,p.cy,p.rx,p.ry,p.xRotation,p.startAngle,p.endAngle);break;default:t.push(o[0]),n.push(o[1]);break}h&&(s.box=h,t.push(h.x,h.x+h.width),n.push(h.y,h.y+h.height)),e&&(s.command==="L"||s.command==="M")&&s.prePoint&&s.nextPoint&&i.push(s)}t=t.filter(function(ve){return!Number.isNaN(ve)&&ve!==1/0&&ve!==-1/0}),n=n.filter(function(ve){return!Number.isNaN(ve)&&ve!==1/0&&ve!==-1/0});var C=Iu(t),k=Iu(n),W=Nu(t),j=Nu(n);if(i.length===0)return{x:C,y:k,width:W-C,height:j-k};for(var K=0;K<i.length;K++){var Q=i[K],ee=Q.currentPoint,re=void 0;ee[0]===C?(re=qu(Q,e),C-=re.xExtra):ee[0]===W&&(re=qu(Q,e),W+=re.xExtra),ee[1]===k?(re=qu(Q,e),k-=re.yExtra):ee[1]===j&&(re=qu(Q,e),j+=re.yExtra)}return{x:C,y:k,width:W-C,height:j-k}}function qu(r,e){var t=r.prePoint,n=r.currentPoint,i=r.nextPoint,a=Math.pow(n[0]-t[0],2)+Math.pow(n[1]-t[1],2),s=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2),o=Math.pow(t[0]-i[0],2)+Math.pow(t[1]-i[1],2),l=Math.acos((a+s-o)/(2*Math.sqrt(a)*Math.sqrt(s)));if(!l||Math.sin(l)===0||bc(l,0))return{xExtra:0,yExtra:0};var c=Math.abs(Math.atan2(i[1]-n[1],i[0]-n[0])),h=Math.abs(Math.atan2(i[0]-n[0],i[1]-n[1]));c=c>Math.PI/2?Math.PI-c:c,h=h>Math.PI/2?Math.PI-h:h;var p={xExtra:Math.cos(l/2-c)*(e/2*(1/Math.sin(l/2)))-e/2||0,yExtra:Math.cos(h-l/2)*(e/2*(1/Math.sin(l/2)))-e/2||0};return p}function Bm(r,e){return[e[0]+(e[0]-r[0]),e[1]+(e[1]-r[1])]}var km=function(e,t){var n=e.x*t.x+e.y*t.y,i=Math.sqrt((Math.pow(e.x,2)+Math.pow(e.y,2))*(Math.pow(t.x,2)+Math.pow(t.y,2))),a=e.x*t.y-e.y*t.x<0?-1:1,s=a*Math.acos(n/i);return s},zm=function(e,t,n,i,a,s,o,l){t=Math.abs(t),n=Math.abs(n),i=k0(i,360);var c=Tr(i);if(e.x===o.x&&e.y===o.y)return{x:e.x,y:e.y,ellipticalArcAngle:0};if(t===0||n===0)return{x:0,y:0,ellipticalArcAngle:0};var h=(e.x-o.x)/2,p=(e.y-o.y)/2,C={x:Math.cos(c)*h+Math.sin(c)*p,y:-Math.sin(c)*h+Math.cos(c)*p},k=Math.pow(C.x,2)/Math.pow(t,2)+Math.pow(C.y,2)/Math.pow(n,2);k>1&&(t*=Math.sqrt(k),n*=Math.sqrt(k));var W=Math.pow(t,2)*Math.pow(n,2)-Math.pow(t,2)*Math.pow(C.y,2)-Math.pow(n,2)*Math.pow(C.x,2),j=Math.pow(t,2)*Math.pow(C.y,2)+Math.pow(n,2)*Math.pow(C.x,2),K=W/j;K=K<0?0:K;var Q=(a!==s?1:-1)*Math.sqrt(K),ee={x:Q*(t*C.y/n),y:Q*(-(n*C.x)/t)},re={x:Math.cos(c)*ee.x-Math.sin(c)*ee.y+(e.x+o.x)/2,y:Math.sin(c)*ee.x+Math.cos(c)*ee.y+(e.y+o.y)/2},ve={x:(C.x-ee.x)/t,y:(C.y-ee.y)/n},he=km({x:1,y:0},ve),pe={x:(-C.x-ee.x)/t,y:(-C.y-ee.y)/n},_e=km(ve,pe);!s&&_e>0?_e-=2*Math.PI:s&&_e<0&&(_e+=2*Math.PI),_e%=2*Math.PI;var Ee=he+_e*l,De=t*Math.cos(Ee),Be=n*Math.sin(Ee),Fe={x:Math.cos(c)*De-Math.sin(c)*Be+re.x,y:Math.sin(c)*De+Math.cos(c)*Be+re.y,ellipticalArcStartAngle:he,ellipticalArcEndAngle:he+_e,ellipticalArcAngle:Ee,ellipticalArcCenter:re,resultantRx:t,resultantRy:n};return Fe};function tS(r){for(var e=[],t=null,n=null,i=null,a=0,s=r.length,o=0;o<s;o++){var l=r[o];n=r[o+1];var c=l[0],h={command:c,prePoint:t,params:l,startTangent:null,endTangent:null,currentPoint:null,nextPoint:null,arcParams:null,box:null,cubicParams:null};switch(c){case"M":i=[l[1],l[2]],a=o;break;case"A":var p=nS(t,l);h.arcParams=p;break}if(c==="Z")t=i,n=r[a+1];else{var C=l.length;t=[l[C-2],l[C-1]]}n&&n[0]==="Z"&&(n=r[a],e[a]&&(e[a].prePoint=t)),h.currentPoint=t,e[a]&&Ju(t,e[a].currentPoint)&&(e[a].prePoint=h.prePoint);var k=n?[n[n.length-2],n[n.length-1]]:null;h.nextPoint=k;var W=h.prePoint;if(["L","H","V"].includes(c))h.startTangent=[W[0]-t[0],W[1]-t[1]],h.endTangent=[t[0]-W[0],t[1]-W[1]];else if(c==="Q"){var j=[l[1],l[2]];h.startTangent=[W[0]-j[0],W[1]-j[1]],h.endTangent=[t[0]-j[0],t[1]-j[1]]}else if(c==="T"){var K=e[o-1],Q=Bm(K.currentPoint,W);K.command==="Q"?(h.command="Q",h.startTangent=[W[0]-Q[0],W[1]-Q[1]],h.endTangent=[t[0]-Q[0],t[1]-Q[1]]):(h.command="TL",h.startTangent=[W[0]-t[0],W[1]-t[1]],h.endTangent=[t[0]-W[0],t[1]-W[1]])}else if(c==="C"){var ee=[l[1],l[2]],re=[l[3],l[4]];h.startTangent=[W[0]-ee[0],W[1]-ee[1]],h.endTangent=[t[0]-re[0],t[1]-re[1]],h.startTangent[0]===0&&h.startTangent[1]===0&&(h.startTangent=[ee[0]-re[0],ee[1]-re[1]]),h.endTangent[0]===0&&h.endTangent[1]===0&&(h.endTangent=[re[0]-ee[0],re[1]-ee[1]])}else if(c==="S"){var ve=e[o-1],he=Bm(ve.currentPoint,W),pe=[l[1],l[2]];ve.command==="C"?(h.command="C",h.startTangent=[W[0]-he[0],W[1]-he[1]],h.endTangent=[t[0]-pe[0],t[1]-pe[1]]):(h.command="SQ",h.startTangent=[W[0]-pe[0],W[1]-pe[1]],h.endTangent=[t[0]-pe[0],t[1]-pe[1]])}else if(c==="A"){var _e=Fm(h,0),Ee=_e.x,De=_e.y,Be=Fm(h,1,!1),Fe=Be.x,Xe=Be.y;h.startTangent=[Ee,De],h.endTangent=[Fe,Xe]}e.push(h)}return e}function Fm(r,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=r.arcParams,i=n.rx,a=i===void 0?0:i,s=n.ry,o=s===void 0?0:s,l=n.xRotation,c=n.arcFlag,h=n.sweepFlag,p=zm({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!c,!!h,{x:r.currentPoint[0],y:r.currentPoint[1]},e),C=zm({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!c,!!h,{x:r.currentPoint[0],y:r.currentPoint[1]},t?e+.005:e-.005),k=C.x-p.x,W=C.y-p.y,j=Math.sqrt(k*k+W*W);return{x:-k/j,y:-W/j}}function $u(r){return Math.sqrt(r[0]*r[0]+r[1]*r[1])}function Av(r,e){return $u(r)*$u(e)?(r[0]*e[0]+r[1]*e[1])/($u(r)*$u(e)):1}function Um(r,e){return(r[0]*e[1]<r[1]*e[0]?-1:1)*Math.acos(Av(r,e))}function nS(r,e){var t=e[1],n=e[2],i=k0(Tr(e[3]),Math.PI*2),a=e[4],s=e[5],o=r[0],l=r[1],c=e[6],h=e[7],p=Math.cos(i)*(o-c)/2+Math.sin(i)*(l-h)/2,C=-1*Math.sin(i)*(o-c)/2+Math.cos(i)*(l-h)/2,k=p*p/(t*t)+C*C/(n*n);k>1&&(t*=Math.sqrt(k),n*=Math.sqrt(k));var W=t*t*(C*C)+n*n*(p*p),j=W?Math.sqrt((t*t*(n*n)-W)/W):1;a===s&&(j*=-1),isNaN(j)&&(j=0);var K=n?j*t*C/n:0,Q=t?j*-n*p/t:0,ee=(o+c)/2+Math.cos(i)*K-Math.sin(i)*Q,re=(l+h)/2+Math.sin(i)*K+Math.cos(i)*Q,ve=[(p-K)/t,(C-Q)/n],he=[(-1*p-K)/t,(-1*C-Q)/n],pe=Um([1,0],ve),_e=Um(ve,he);return Av(ve,he)<=-1&&(_e=Math.PI),Av(ve,he)>=1&&(_e=0),s===0&&_e>0&&(_e-=2*Math.PI),s===1&&_e<0&&(_e+=2*Math.PI),{cx:ee,cy:re,rx:Ju(r,[c,h])?0:t,ry:Ju(r,[c,h])?0:n,startAngle:pe,endAngle:pe+_e,xRotation:i,arcFlag:a,sweepFlag:s}}function rS(r,e,t){return r.reduce(function(n,i){var a="";if(i[0]==="M"||i[0]==="L"){var s=vec3.fromValues(i[1],i[2],0);t&&vec3.transformMat4(s,s,t),a="".concat(i[0]).concat(s[0],",").concat(s[1])}else if(i[0]==="Z")a=i[0];else if(i[0]==="C"){var o=vec3.fromValues(i[1],i[2],0),l=vec3.fromValues(i[3],i[4],0),c=vec3.fromValues(i[5],i[6],0);t&&(vec3.transformMat4(o,o,t),vec3.transformMat4(l,l,t),vec3.transformMat4(c,c,t)),a="".concat(i[0]).concat(o[0],",").concat(o[1],",").concat(l[0],",").concat(l[1],",").concat(c[0],",").concat(c[1])}else if(i[0]==="A"){var h=vec3.fromValues(i[6],i[7],0);t&&vec3.transformMat4(h,h,t),a="".concat(i[0]).concat(i[1],",").concat(i[2],",").concat(i[3],",").concat(i[4],",").concat(i[5],",").concat(h[0],",").concat(h[1])}else if(i[0]==="Q"){var p=vec3.fromValues(i[1],i[2],0),C=vec3.fromValues(i[3],i[4],0);t&&(vec3.transformMat4(p,p,t),vec3.transformMat4(C,C,t)),a="".concat(i[0]).concat(i[1],",").concat(i[2],",").concat(i[3],",").concat(i[4],"}")}return n+=a},"")}function iS(r,e,t,n){return[["M",r,e],["L",t,n]]}function Wm(r,e,t,n){var i=(-1+Math.sqrt(2))/3*4,a=r*i,s=e*i,o=t-r,l=t+r,c=n-e,h=n+e;return[["M",o,n],["C",o,n-s,t-a,c,t,c],["C",t+a,c,l,n-s,l,n],["C",l,n+s,t+a,h,t,h],["C",t-a,h,o,n+s,o,n],["Z"]]}function aS(r,e){var t=r.map(function(n,i){return[i===0?"M":"L",n[0],n[1]]});return e&&t.push(["Z"]),t}function sS(r,e,t,n,i){if(i){var a=_slicedToArray(i,4),s=a[0],o=a[1],l=a[2],c=a[3],h=r>0?1:-1,p=e>0?1:-1,C=h+p!==0?1:0;return[["M",h*s+t,n],["L",r-h*o+t,n],o?["A",o,o,0,0,C,r+t,p*o+n]:null,["L",r+t,e-p*l+n],l?["A",l,l,0,0,C,r+t-h*l,e+n]:null,["L",t+h*c,e+n],c?["A",c,c,0,0,C,t,e+n-p*c]:null,["L",t,p*s+n],s?["A",s,s,0,0,C,h*s+t,n]:null,["Z"]].filter(function(k){return k})}return[["M",t,n],["L",t+r,n],["L",t+r,n+e],["L",t,n+e],["Z"]]}function Gz(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:r.getLocalTransform(),t=[];switch(r.nodeName){case Rt.LINE:var n=r.parsedStyle,i=n.x1,a=i===void 0?0:i,s=n.y1,o=s===void 0?0:s,l=n.x2,c=l===void 0?0:l,h=n.y2,p=h===void 0?0:h;t=iS(a,o,c,p);break;case Rt.CIRCLE:{var C=r.parsedStyle,k=C.r,W=k===void 0?0:k,j=C.cx,K=j===void 0?0:j,Q=C.cy,ee=Q===void 0?0:Q;t=Wm(W,W,K,ee);break}case Rt.ELLIPSE:{var re=r.parsedStyle,ve=re.rx,he=ve===void 0?0:ve,pe=re.ry,_e=pe===void 0?0:pe,Ee=re.cx,De=Ee===void 0?0:Ee,Be=re.cy,Fe=Be===void 0?0:Be;t=Wm(he,_e,De,Fe);break}case Rt.POLYLINE:case Rt.POLYGON:var Xe=r.parsedStyle.points;t=aS(Xe.points,r.nodeName===Rt.POLYGON);break;case Rt.RECT:var qe=r.parsedStyle,ct=qe.width,ht=ct===void 0?0:ct,St=qe.height,bt=St===void 0?0:St,Et=qe.x,xt=Et===void 0?0:Et,Dt=qe.y,Ut=Dt===void 0?0:Dt,Xt=qe.radius,an=Xt&&Xt.some(function(sn){return sn!==0});t=sS(ht,bt,xt,Ut,an&&Xt.map(function(sn){return clamp(sn,0,Math.min(Math.abs(ht)/2,Math.abs(bt)/2))}));break;case Rt.PATH:var gn=r.parsedStyle.d.absolutePath;t=_toConsumableArray(gn);break}if(t.length)return rS(t,r,e)}function Vz(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=r.map(function(s,o){var l=s[0],c=r[o+1],h=o===0&&(e!==0||t!==0),p=(o===r.length-1||c&&(c[0]==="M"||c[0]==="Z"))&&n!==0&&i!==0,C=h?[e,t]:[0,0],k=_slicedToArray(C,2),W=k[0],j=k[1],K=p?[n,i]:[0,0],Q=_slicedToArray(K,2),ee=Q[0],re=Q[1];switch(l){case"M":return"M ".concat(s[1]+W,",").concat(s[2]+j);case"L":return"L ".concat(s[1]+ee,",").concat(s[2]+re);case"Q":return"Q ".concat(s[1]," ").concat(s[2],",").concat(s[3]+ee," ").concat(s[4]+re);case"C":return"C ".concat(s[1]," ").concat(s[2],",").concat(s[3]," ").concat(s[4],",").concat(s[5]+ee," ").concat(s[6]+re);case"A":return"A ".concat(s[1]," ").concat(s[2]," ").concat(s[3]," ").concat(s[4]," ").concat(s[5]," ").concat(s[6]," ").concat(s[7]).concat(p?" L ".concat(s[6]+n,",").concat(s[7]+i):"");case"Z":return"Z";default:return null}}).filter(function(s){return s!==null}).join(" ");return~a.indexOf("NaN")?"":a}var Hm=function(e){if(e===""||Array.isArray(e)&&e.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var t;try{t=Ru(e)}catch(k){t=Ru(""),console.error("[g]: Invalid SVG Path definition: ".concat(e))}JM(t);var n=qM(t),i=$M(t),a=i.polygons,s=i.polylines,o=tS(t),l=eS(o,0),c=l.x,h=l.y,p=l.width,C=l.height;return{absolutePath:t,hasArc:n,segments:o,polygons:a,polylines:s,totalLength:0,rect:{x:Number.isFinite(c)?c:0,y:Number.isFinite(h)?h:0,width:Number.isFinite(p)?p:0,height:Number.isFinite(C)?C:0}}},oS=di(Hm);function jm(r){return dr(r)?oS(r):Hm(r)}function lS(r,e,t){var n=r.curve,i=e.curve;(!n||n.length===0)&&(n=sv(r.absolutePath,!1),r.curve=n),(!i||i.length===0)&&(i=sv(e.absolutePath,!1),e.curve=i);var a=[n,i];n.length!==i.length&&(a=U0(n,i));var s=W0(a[0])!==W0(a[1])?iw(a[0]):aw(a[0]);return[s,ow(a[1],s),function(o){return o}]}function cS(r,e){var t;return dr(r)?t=r.split(" ").map(function(n){var i=n.split(","),a=(0,m.Z)(i,2),s=a[0],o=a[1];return[Number(s),Number(o)]}):t=r,{points:t,totalLength:0,segments:[]}}function uS(r,e){return[r.points,e.points,function(t){return t}]}var Qr=null,Fl=/\s*(\w+)\(([^)]*)\)/g;function ya(r){return function(e){var t=0;return r.map(function(n){return n===Qr?e[t++]:n})}}function Xo(r){return r}var Pc={matrix:["NNNNNN",[Qr,Qr,0,0,Qr,Qr,0,0,0,0,1,0,Qr,Qr,0,1],Xo],matrix3d:["NNNNNNNNNNNNNNNN",Xo],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",ya([Qr,Qr,new Cr(1)]),Xo],scaleX:["N",ya([Qr,new Cr(1),new Cr(1)]),ya([Qr,new Cr(1)])],scaleY:["N",ya([new Cr(1),Qr,new Cr(1)]),ya([new Cr(1),Qr])],scaleZ:["N",ya([new Cr(1),new Cr(1),Qr])],scale3d:["NNN",Xo],skew:["Aa",null,Xo],skewX:["A",null,ya([Qr,Zo])],skewY:["A",null,ya([Zo,Qr])],translate:["Tt",ya([Qr,Qr,ss]),Xo],translateX:["T",ya([Qr,ss,ss]),ya([Qr,ss])],translateY:["T",ya([ss,Qr,ss]),ya([ss,Qr])],translateZ:["L",ya([ss,ss,Qr])],translate3d:["TTL",Xo]};function Gm(r){for(var e=[],t=r.length,n=0;n<t;n++){var i=r[n],a=i[0],s=i.slice(1);a==="translate"||a==="skew"?s.length===1&&s.push(0):a==="scale"&&s.length===1&&s.push(s[0]);var o=Pc[a];if(!o)return[];var l=s.map(function(c){return jr(c)});e.push({t:a,d:l})}return e}function Vm(r){if(Array.isArray(r))return Gm(r);if(r=(r||"none").trim(),r==="none")return[];var e=[],t,n=0;for(Fl.lastIndex=0;t=Fl.exec(r);){if(t.index!==n)return[];n=t.index+t[0].length;var i=t[1],a=Pc[i];if(!a)return[];var s=t[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],c=0;c<o.length;c++){var h=s[c],p=o[c],C=void 0;if(h?C={A:function(W){return W.trim()==="0"?Zo:VM(W)},N:wv,T:bv,L:jM}[p.toUpperCase()](h):C={a:Zo,n:l[0],t:ss}[p],C===void 0)return[];l.push(C)}if(e.push({t:i,d:l}),Fl.lastIndex===r.length)return e}return[]}function hS(r){if(Array.isArray(r))return Gm(r);if(r=(r||"none").trim(),r==="none")return[];var e=[],t,n=0;for(Fl.lastIndex=0;t=Fl.exec(r);){if(t.index!==n)return[];n=t.index+t[0].length;var i=t[1],a=Pc[i];if(!a)return[];var s=t[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],c=0;c<o.length;c++){var h=s[c],p=o[c],C=void 0;if(h?C={A:function(W){return W.trim()==="0"?Zo:Dm(W)},N:Im,T:Pm,L:Om}[p.toUpperCase()](h):C={a:Zo,n:l[0],t:ss}[p],C===void 0)return[];l.push(C)}if(e.push({t:i,d:l}),Fl.lastIndex===r.length)return e}return[]}function fS(r){var e,t,n,i;switch(r.t){case"rotateX":return i=Tr(ma(r.d[0])),[1,0,0,0,0,Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1];case"rotateY":return i=Tr(ma(r.d[0])),[Math.cos(i),0,-Math.sin(i),0,0,1,0,0,Math.sin(i),0,Math.cos(i),0,0,0,0,1];case"rotate":case"rotateZ":return i=Tr(ma(r.d[0])),[Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1,0,0,0,0,1];case"rotate3d":e=r.d[0].value,t=r.d[1].value,n=r.d[2].value,i=Tr(ma(r.d[3]));var a=e*e+t*t+n*n;if(a===0)e=1,t=0,n=0;else if(a!==1){var s=Math.sqrt(a);e/=s,t/=s,n/=s}var o=Math.sin(i/2),l=o*Math.cos(i/2),c=o*o;return[1-2*(t*t+n*n)*c,2*(e*t*c+n*l),2*(e*n*c-t*l),0,2*(e*t*c-n*l),1-2*(e*e+n*n)*c,2*(t*n*c+e*l),0,2*(e*n*c+t*l),2*(t*n*c-e*l),1-2*(e*e+t*t)*c,0,0,0,0,1];case"scale":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,1,0,0,0,0,1];case"scaleX":return[r.d[0].value,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaleY":return[1,0,0,0,0,r.d[0].value,0,0,0,0,1,0,0,0,0,1];case"scaleZ":return[1,0,0,0,0,1,0,0,0,0,r.d[0].value,0,0,0,0,1];case"scale3d":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,r.d[2].value,0,0,0,0,1];case"skew":var h=Tr(ma(r.d[0])),p=Tr(ma(r.d[1]));return[1,Math.tan(p),0,0,Math.tan(h),1,0,0,0,0,1,0,0,0,0,1];case"skewX":return i=Tr(ma(r.d[0])),[1,0,0,0,Math.tan(i),1,0,0,0,0,1,0,0,0,0,1];case"skewY":return i=Tr(ma(r.d[0])),[1,Math.tan(i),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":return e=Sa(r.d[0],0,null)||0,t=Sa(r.d[1],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,t,0,1];case"translateX":return e=Sa(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,0,0,1];case"translateY":return t=Sa(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,t,0,1];case"translateZ":return n=Sa(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,n,1];case"translate3d":return e=Sa(r.d[0],0,null)||0,t=Sa(r.d[1],0,null)||0,n=Sa(r.d[2],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,t,n,1];case"perspective":var C=Sa(r.d[0],0,null)||0,k=C?-1/C:0;return[1,0,0,0,0,1,0,0,0,0,1,k,0,0,0,1];case"matrix":return[r.d[0].value,r.d[1].value,0,0,r.d[2].value,r.d[3].value,0,0,0,0,1,0,r.d[4].value,r.d[5].value,0,1];case"matrix3d":return r.d.map(function(W){return W.value})}}function dS(r,e){return[r[0]*e[0]+r[4]*e[1]+r[8]*e[2]+r[12]*e[3],r[1]*e[0]+r[5]*e[1]+r[9]*e[2]+r[13]*e[3],r[2]*e[0]+r[6]*e[1]+r[10]*e[2]+r[14]*e[3],r[3]*e[0]+r[7]*e[1]+r[11]*e[2]+r[15]*e[3],r[0]*e[4]+r[4]*e[5]+r[8]*e[6]+r[12]*e[7],r[1]*e[4]+r[5]*e[5]+r[9]*e[6]+r[13]*e[7],r[2]*e[4]+r[6]*e[5]+r[10]*e[6]+r[14]*e[7],r[3]*e[4]+r[7]*e[5]+r[11]*e[6]+r[15]*e[7],r[0]*e[8]+r[4]*e[9]+r[8]*e[10]+r[12]*e[11],r[1]*e[8]+r[5]*e[9]+r[9]*e[10]+r[13]*e[11],r[2]*e[8]+r[6]*e[9]+r[10]*e[10]+r[14]*e[11],r[3]*e[8]+r[7]*e[9]+r[11]*e[10]+r[15]*e[11],r[0]*e[12]+r[4]*e[13]+r[8]*e[14]+r[12]*e[15],r[1]*e[12]+r[5]*e[13]+r[9]*e[14]+r[13]*e[15],r[2]*e[12]+r[6]*e[13]+r[10]*e[14]+r[14]*e[15],r[3]*e[12]+r[7]*e[13]+r[11]*e[14]+r[15]*e[15]]}function vS(r){return r.length===0?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:r.map(fS).reduce(dS)}function Zm(r){var e=[0,0,0],t=[1,1,1],n=[0,0,0],i=[0,0,0,1],a=[0,0,0,1];return qw(vS(r),e,t,n,i,a),[[e,t,n,a,i]]}var gS=function(){function r(n,i){for(var a=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],s=0;s<4;s++)for(var o=0;o<4;o++)for(var l=0;l<4;l++)a[s][o]+=i[s][l]*n[l][o];return a}function e(n){return n[0][2]===0&&n[0][3]===0&&n[1][2]===0&&n[1][3]===0&&n[2][0]===0&&n[2][1]===0&&n[2][2]===1&&n[2][3]===0&&n[3][2]===0&&n[3][3]===1}function t(n,i,a,s,o){for(var l=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],c=0;c<4;c++)l[c][3]=o[c];for(var h=0;h<3;h++)for(var p=0;p<3;p++)l[3][h]+=n[p]*l[p][h];var C=s[0],k=s[1],W=s[2],j=s[3],K=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];K[0][0]=1-2*(k*k+W*W),K[0][1]=2*(C*k-W*j),K[0][2]=2*(C*W+k*j),K[1][0]=2*(C*k+W*j),K[1][1]=1-2*(C*C+W*W),K[1][2]=2*(k*W-C*j),K[2][0]=2*(C*W-k*j),K[2][1]=2*(k*W+C*j),K[2][2]=1-2*(C*C+k*k),l=r(l,K);var Q=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];a[2]&&(Q[2][1]=a[2],l=r(l,Q)),a[1]&&(Q[2][1]=0,Q[2][0]=a[0],l=r(l,Q)),a[0]&&(Q[2][0]=0,Q[1][0]=a[0],l=r(l,Q));for(var ee=0;ee<3;ee++)for(var re=0;re<3;re++)l[ee][re]*=i[ee];return e(l)?[l[0][0],l[0][1],l[1][0],l[1][1],l[3][0],l[3][1]]:l[0].concat(l[1],l[2],l[3])}return t}();function pS(r){return r.toFixed(6).replace(".000000","")}function Cv(r,e){var t,n;return r.decompositionPair!==e&&(r.decompositionPair=e,t=Zm(r)),e.decompositionPair!==r&&(e.decompositionPair=r,n=Zm(e)),t[0]===null||n[0]===null?[[!1],[!0],function(i){return i?e[0].d:r[0].d}]:(t[0].push(0),n[0].push(1),[t,n,function(i){var a=yS(t[0][3],n[0][3],i[5]),s=gS(i[0],i[1],i[2],a,i[4]),o=s.map(pS).join(",");return o}])}function mS(r,e){for(var t=0,n=0;n<r.length;n++)t+=r[n]*e[n];return t}function yS(r,e,t){var n=mS(r,e);n=Yr(n,-1,1);var i=[];if(n===1)i=r;else for(var a=Math.acos(n),s=Math.sin(t*a)*1/Math.sqrt(1-n*n),o=0;o<4;o++)i.push(r[o]*(Math.cos(t*a)-n*s)+e[o]*s);return i}function Ov(r){return r.replace(/[XY]/,"")}function Pv(r){return r.replace(/(X|Y|Z|3d)?$/,"3d")}var _S=function(e,t){return e==="perspective"&&t==="perspective"||(e==="matrix"||e==="matrix3d")&&(t==="matrix"||t==="matrix3d")};function ES(r,e,t){var n=!1;if(!r.length||!e.length){r.length||(n=!0,r=e,e=[]);for(var i=function(){var Fe=r[a],Xe=Fe.t,qe=Fe.d,ct=Xe.substring(0,5)==="scale"?1:0;e.push({t:Xe,d:qe.map(function(ht){return typeof ht=="number"?jr(ct):jr(ct,ht.unit)})})},a=0;a<r.length;a++)i()}var s=[],o=[],l=[];if(r.length!==e.length){var c=Cv(r,e);s=[c[0]],o=[c[1]],l=[["matrix",[c[2]]]]}else for(var h=0;h<r.length;h++){var p=r[h].t,C=e[h].t,k=r[h].d,W=e[h].d,j=Pc[p],K=Pc[C],Q=void 0;if(_S(p,C)){var ee=Cv([r[h]],[e[h]]);s.push(ee[0]),o.push(ee[1]),l.push(["matrix",[ee[2]]]);continue}else if(p===C)Q=p;else if(j[2]&&K[2]&&Ov(p)===Ov(C))Q=Ov(p),k=j[2](k),W=K[2](W);else if(j[1]&&K[1]&&Pv(p)===Pv(C))Q=Pv(p),k=j[1](k),W=K[1](W);else{var re=Cv(r,e);s=[re[0]],o=[re[1]],l=[["matrix",[re[2]]]];break}for(var ve=[],he=[],pe=[],_e=0;_e<k.length;_e++){var Ee=ZM(k[_e],W[_e],t,!1,_e);ve[_e]=Ee[0],he[_e]=Ee[1],pe.push(Ee[2])}s.push(ve),o.push(he),l.push([Q,pe])}if(n){var De=s;s=o,o=De}return[s,o,function(Be){return Be.map(function(Fe,Xe){var qe=Fe.map(function(ct,ht){return l[Xe][1][ht](ct)}).join(",");return l[Xe][0]==="matrix"&&qe.split(",").length===16&&(l[Xe][0]="matrix3d"),l[Xe][0]==="matrix3d"&&qe.split(",").length===6&&(l[Xe][0]="matrix"),"".concat(l[Xe][0],"(").concat(qe,")")}).join(" ")}]}var xS=di(function(r){if(dr(r)){if(r==="text-anchor")return[jr(0,"px"),jr(0,"px")];var e=r.split(" ");return e.length===1&&(e[0]==="top"||e[0]==="bottom"?(e[1]=e[0],e[0]="center"):e[1]="center"),e.length!==2?null:[bv(Km(e[0])),bv(Km(e[1]))]}return[jr(r[0]||0,"px"),jr(r[1]||0,"px")]});function Km(r){return r==="center"?"50%":r==="left"||r==="top"?"0%":r==="right"||r==="bottom"?"100%":r}var Dv=[{n:"display",k:["none"]},{n:"opacity",int:!0,inh:!0,d:"1",syntax:en.OPACITY_VALUE},{n:"fillOpacity",int:!0,inh:!0,d:"1",syntax:en.OPACITY_VALUE},{n:"strokeOpacity",int:!0,inh:!0,d:"1",syntax:en.OPACITY_VALUE},{n:"fill",int:!0,k:["none"],d:"none",syntax:en.PAINT},{n:"fillRule",k:["nonzero","evenodd"],d:"nonzero"},{n:"stroke",int:!0,k:["none"],d:"none",syntax:en.PAINT,l:!0},{n:"shadowType",k:["inner","outer","both"],d:"outer",l:!0},{n:"shadowColor",int:!0,syntax:en.COLOR},{n:"shadowOffsetX",int:!0,l:!0,d:"0",syntax:en.LENGTH_PERCENTAGE},{n:"shadowOffsetY",int:!0,l:!0,d:"0",syntax:en.LENGTH_PERCENTAGE},{n:"shadowBlur",int:!0,l:!0,d:"0",syntax:en.SHADOW_BLUR},{n:"lineWidth",int:!0,inh:!0,d:"1",l:!0,a:["strokeWidth"],syntax:en.LENGTH_PERCENTAGE},{n:"increasedLineWidthForHitTesting",inh:!0,d:"0",l:!0,syntax:en.LENGTH_PERCENTAGE},{n:"lineJoin",inh:!0,l:!0,a:["strokeLinejoin"],k:["miter","bevel","round"],d:"miter"},{n:"lineCap",inh:!0,l:!0,a:["strokeLinecap"],k:["butt","round","square"],d:"butt"},{n:"lineDash",int:!0,inh:!0,k:["none"],a:["strokeDasharray"],syntax:en.LENGTH_PERCENTAGE_12},{n:"lineDashOffset",int:!0,inh:!0,d:"0",a:["strokeDashoffset"],syntax:en.LENGTH_PERCENTAGE},{n:"offsetPath",syntax:en.DEFINED_PATH},{n:"offsetDistance",int:!0,syntax:en.OFFSET_DISTANCE},{n:"dx",int:!0,l:!0,d:"0",syntax:en.LENGTH_PERCENTAGE},{n:"dy",int:!0,l:!0,d:"0",syntax:en.LENGTH_PERCENTAGE},{n:"zIndex",ind:!0,int:!0,d:"0",k:["auto"],syntax:en.Z_INDEX},{n:"visibility",k:["visible","hidden"],ind:!0,inh:!0,int:!0,d:"visible"},{n:"pointerEvents",inh:!0,k:["none","auto","stroke","fill","painted","visible","visiblestroke","visiblefill","visiblepainted","all"],d:"auto"},{n:"filter",ind:!0,l:!0,k:["none"],d:"none",syntax:en.FILTER},{n:"clipPath",syntax:en.DEFINED_PATH},{n:"textPath",syntax:en.DEFINED_PATH},{n:"textPathSide",k:["left","right"],d:"left"},{n:"textPathStartOffset",l:!0,d:"0",syntax:en.LENGTH_PERCENTAGE},{n:"transform",p:100,int:!0,k:["none"],d:"none",syntax:en.TRANSFORM},{n:"transformOrigin",p:100,d:"0 0",l:!0,syntax:en.TRANSFORM_ORIGIN},{n:"cx",int:!0,l:!0,d:"0",syntax:en.COORDINATE},{n:"cy",int:!0,l:!0,d:"0",syntax:en.COORDINATE},{n:"cz",int:!0,l:!0,d:"0",syntax:en.COORDINATE},{n:"r",int:!0,l:!0,d:"0",syntax:en.LENGTH_PERCENTAGE},{n:"rx",int:!0,l:!0,d:"0",syntax:en.LENGTH_PERCENTAGE},{n:"ry",int:!0,l:!0,d:"0",syntax:en.LENGTH_PERCENTAGE},{n:"x",int:!0,l:!0,d:"0",syntax:en.COORDINATE},{n:"y",int:!0,l:!0,d:"0",syntax:en.COORDINATE},{n:"z",int:!0,l:!0,d:"0",syntax:en.COORDINATE},{n:"width",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:en.LENGTH_PERCENTAGE},{n:"height",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:en.LENGTH_PERCENTAGE},{n:"radius",int:!0,l:!0,d:"0",syntax:en.LENGTH_PERCENTAGE_14},{n:"x1",int:!0,l:!0,syntax:en.COORDINATE},{n:"y1",int:!0,l:!0,syntax:en.COORDINATE},{n:"z1",int:!0,l:!0,syntax:en.COORDINATE},{n:"x2",int:!0,l:!0,syntax:en.COORDINATE},{n:"y2",int:!0,l:!0,syntax:en.COORDINATE},{n:"z2",int:!0,l:!0,syntax:en.COORDINATE},{n:"d",int:!0,l:!0,d:"",syntax:en.PATH,p:50},{n:"points",int:!0,l:!0,syntax:en.LIST_OF_POINTS,p:50},{n:"text",l:!0,d:"",syntax:en.TEXT,p:50},{n:"textTransform",l:!0,inh:!0,k:["capitalize","uppercase","lowercase","none"],d:"none",syntax:en.TEXT_TRANSFORM,p:51},{n:"font",l:!0},{n:"fontSize",int:!0,inh:!0,d:"16px",l:!0,syntax:en.LENGTH_PERCENTAGE},{n:"fontFamily",l:!0,inh:!0,d:"sans-serif"},{n:"fontStyle",l:!0,inh:!0,k:["normal","italic","oblique"],d:"normal"},{n:"fontWeight",l:!0,inh:!0,k:["normal","bold","bolder","lighter"],d:"normal"},{n:"fontVariant",l:!0,inh:!0,k:["normal","small-caps"],d:"normal"},{n:"lineHeight",l:!0,syntax:en.LENGTH,int:!0,d:"0"},{n:"letterSpacing",l:!0,syntax:en.LENGTH,int:!0,d:"0"},{n:"miterLimit",l:!0,syntax:en.NUMBER,d:function(e){return e===Rt.PATH||e===Rt.POLYGON||e===Rt.POLYLINE?"4":"10"}},{n:"wordWrap",l:!0},{n:"wordWrapWidth",l:!0},{n:"maxLines",l:!0},{n:"textOverflow",l:!0,d:"clip"},{n:"leading",l:!0},{n:"textBaseline",l:!0,inh:!0,k:["top","hanging","middle","alphabetic","ideographic","bottom"],d:"alphabetic"},{n:"textAlign",l:!0,inh:!0,k:["start","center","middle","end","left","right"],d:"start"},{n:"markerStart",syntax:en.MARKER},{n:"markerEnd",syntax:en.MARKER},{n:"markerMid",syntax:en.MARKER},{n:"markerStartOffset",syntax:en.LENGTH,l:!0,int:!0,d:"0"},{n:"markerEndOffset",syntax:en.LENGTH,l:!0,int:!0,d:"0"}],bS=new Set(Dv.filter(function(r){return!!r.l}).map(function(r){return r.n})),Xm={},wS=function(){function r(e){var t=this;(0,b.Z)(this,r),this.runtime=e,Dv.forEach(function(n){t.registerMetadata(n)})}return(0,z.Z)(r,[{key:"registerMetadata",value:function(t){[t.n].concat((0,P.Z)(t.a||[])).forEach(function(n){Xm[n]=t})}},{key:"getPropertySyntax",value:function(t){return this.runtime.CSSPropertySyntaxFactory[t]}},{key:"processProperties",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(t.attributes,n);var a=t.parsedStyle.clipPath,s=t.parsedStyle.offsetPath;MS(t,n);var o=!!i.forceUpdateGeometry;if(!o){for(var l in n)if(bS.has(l)){o=!0;break}}var c=Ym(t);c.has("fill")&&n.fill&&(t.parsedStyle.fill=Cc(n.fill)),c.has("stroke")&&n.stroke&&(t.parsedStyle.stroke=Cc(n.stroke)),c.has("shadowColor")&&n.shadowColor&&(t.parsedStyle.shadowColor=Cc(n.shadowColor)),c.has("filter")&&n.filter&&(t.parsedStyle.filter=YM(n.filter)),c.has("radius")&&!Rn(n.radius)&&(t.parsedStyle.radius=Lm(n.radius,4)),c.has("lineDash")&&!Rn(n.lineDash)&&(t.parsedStyle.lineDash=Lm(n.lineDash,"even")),c.has("points")&&n.points&&(t.parsedStyle.points=cS(n.points)),c.has("d")&&n.d===""&&(t.parsedStyle.d=(0,H.Z)({},dm)),c.has("d")&&n.d&&(t.parsedStyle.d=jm(n.d)),c.has("textTransform")&&n.textTransform&&this.runtime.CSSPropertySyntaxFactory[en.TEXT_TRANSFORM].calculator(null,null,{value:n.textTransform},t,null),c.has("clipPath")&&!Gn(n.clipPath)&&this.runtime.CSSPropertySyntaxFactory[en.DEFINED_PATH].calculator("clipPath",a,n.clipPath,t,this.runtime),c.has("offsetPath")&&n.offsetPath&&this.runtime.CSSPropertySyntaxFactory[en.DEFINED_PATH].calculator("offsetPath",s,n.offsetPath,t,this.runtime),c.has("transform")&&n.transform&&(t.parsedStyle.transform=Vm(n.transform)),c.has("transformOrigin")&&n.transformOrigin&&(t.parsedStyle.transformOrigin=xS(n.transformOrigin)),c.has("markerStart")&&n.markerStart&&(t.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[en.MARKER].calculator(null,n.markerStart,n.markerStart,null,null)),c.has("markerEnd")&&n.markerEnd&&(t.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[en.MARKER].calculator(null,n.markerEnd,n.markerEnd,null,null)),c.has("markerMid")&&n.markerMid&&(t.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[en.MARKER].calculator("",n.markerMid,n.markerMid,null,null)),c.has("zIndex")&&!Rn(n.zIndex)&&this.runtime.CSSPropertySyntaxFactory[en.Z_INDEX].postProcessor(t),c.has("offsetDistance")&&!Rn(n.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[en.OFFSET_DISTANCE].postProcessor(t),c.has("transform")&&n.transform&&this.runtime.CSSPropertySyntaxFactory[en.TRANSFORM].postProcessor(t),c.has("transformOrigin")&&n.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[en.TRANSFORM_ORIGIN].postProcessor(t),o&&(t.geometry.dirty=!0,t.renderable.boundsDirty=!0,t.renderable.renderBoundsDirty=!0,i.forceUpdateGeometry||this.runtime.sceneGraphService.dirtifyToRoot(t))}},{key:"updateGeometry",value:function(t){var n=t.nodeName,i=this.runtime.geometryUpdaterFactory[n];if(i){var a=t.geometry;a.contentBounds||(a.contentBounds=new Nr),a.renderBounds||(a.renderBounds=new Nr);var s=t.parsedStyle,o=i.update(s,t),l=o.cx,c=l===void 0?0:l,h=o.cy,p=h===void 0?0:h,C=o.cz,k=C===void 0?0:C,W=o.hwidth,j=W===void 0?0:W,K=o.hheight,Q=K===void 0?0:K,ee=o.hdepth,re=ee===void 0?0:ee,ve=[Math.abs(j),Math.abs(Q),re],he=s.stroke,pe=s.lineWidth,_e=pe===void 0?1:pe,Ee=s.increasedLineWidthForHitTesting,De=Ee===void 0?0:Ee,Be=s.shadowType,Fe=Be===void 0?"outer":Be,Xe=s.shadowColor,qe=s.filter,ct=qe===void 0?[]:qe,ht=s.transformOrigin,St=[c,p,k];a.contentBounds.update(St,ve);var bt=n===Rt.POLYLINE||n===Rt.POLYGON||n===Rt.PATH?Math.SQRT2:.5,Et=he&&!he.isNone;if(Et){var xt=((_e||0)+(De||0))*bt;ve[0]+=xt,ve[1]+=xt}if(a.renderBounds.update(St,ve),Xe&&Fe&&Fe!=="inner"){var Dt=a.renderBounds,Ut=Dt.min,Xt=Dt.max,an=s.shadowBlur,gn=s.shadowOffsetX,sn=s.shadowOffsetY,Sn=an||0,zn=gn||0,Vn=sn||0,ir=Ut[0]-Sn+zn,hr=Xt[0]+Sn+zn,Ji=Ut[1]-Sn+Vn,_r=Xt[1]+Sn+Vn;Ut[0]=Math.min(Ut[0],ir),Xt[0]=Math.max(Xt[0],hr),Ut[1]=Math.min(Ut[1],Ji),Xt[1]=Math.max(Xt[1],_r),a.renderBounds.setMinMax(Ut,Xt)}ct.forEach(function(Di){var to=Di.name,Wi=Di.params;if(to==="blur"){var ba=Wi[0].value;a.renderBounds.update(a.renderBounds.center,G(a.renderBounds.halfExtents,a.renderBounds.halfExtents,[ba,ba,0]))}else if(to==="drop-shadow"){var nr=Wi[0].value,Er=Wi[1].value,rr=Wi[2].value,gr=a.renderBounds,wr=gr.min,wn=gr.max,pr=wr[0]-rr+nr,xr=wn[0]+rr+nr,yi=wr[1]-rr+Er,br=wn[1]+rr+Er;wr[0]=Math.min(wr[0],pr),wn[0]=Math.max(wn[0],xr),wr[1]=Math.min(wr[1],yi),wn[1]=Math.max(wn[1],br),a.renderBounds.setMinMax(wr,wn)}}),t.geometry.dirty=!1;var Ba=j<0,qi=Q<0,Ro=(Ba?-1:1)*(ht?Sa(ht[0],0,t,!0):0),Ui=(qi?-1:1)*(ht?Sa(ht[1],1,t,!0):0);(Ro||Ui)&&t.setOrigin(Ro,Ui)}}},{key:"updateSizeAttenuation",value:function(t,n){t.style.isSizeAttenuation?(t.style.rawLineWidth||(t.style.rawLineWidth=t.style.lineWidth),t.style.lineWidth=(t.style.rawLineWidth||1)/n,t.nodeName===Rt.CIRCLE&&(t.style.rawR||(t.style.rawR=t.style.r),t.style.r=(t.style.rawR||1)/n)):(t.style.rawLineWidth&&(t.style.lineWidth=t.style.rawLineWidth,delete t.style.rawLineWidth),t.nodeName===Rt.CIRCLE&&t.style.rawR&&(t.style.r=t.style.rawR,delete t.style.rawR))}}])}();function MS(r,e){var t=Ym(r);for(var n in e)t.has(n)&&(r.parsedStyle[n]=e[n])}function Ym(r){return r.constructor.PARSED_STYLE_LIST}var SS=function(){function r(){(0,b.Z)(this,r),this.mixer=Mv}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i,a){return ma(i)}}])}(),TS=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i,a,s){return i instanceof Ha&&(i=null),s.sceneGraphService.updateDisplayObjectDependency(t,n,i,a),t==="clipPath"&&a.forEach(function(o){o.childNodes.length===0&&s.sceneGraphService.dirtifyToRoot(o)}),i}}])}(),AS=function(){function r(){(0,b.Z)(this,r),this.parser=Cc,this.mixer=HM}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Ha?i.value==="none"?Tm:Am:i}}])}(),CS=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i){return i instanceof Ha?[]:i}}])}();function Qm(r){var e=r.parsedStyle,t=e.fontSize;return Rn(t)?null:t}var Lv=function(){function r(){(0,b.Z)(this,r),this.mixer=Mv}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i,a,s){if(dn(i))return i;if(Cr.isRelativeUnit(i.unit)){if(i.unit===nn.kPercentage)return 0;if(i.unit===nn.kEms){if(a.parentNode){var o=Qm(a.parentNode);if(o)return o*=i.value,o}return 0}if(i.unit===nn.kRems){var l;if(a!=null&&(l=a.ownerDocument)!==null&&l!==void 0&&l.documentElement){var c=Qm(a.ownerDocument.documentElement);if(c)return c*=i.value,c}return 0}}else return i.value}}])}(),OS=function(){function r(){(0,b.Z)(this,r),this.mixer=Nm}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i){return i.map(function(a){return a.value})}}])}(),PS=function(){function r(){(0,b.Z)(this,r),this.mixer=Nm}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i){return i.map(function(a){return a.value})}}])}(),DS=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i,a){var s;i instanceof Ha&&(i=null);var o=(s=i)===null||s===void 0?void 0:s.cloneNode(!0);return o&&(o.style.isMarker=!0),o}}])}(),LS=function(){function r(){(0,b.Z)(this,r),this.mixer=Mv}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i){return i.value}}])}(),RS=function(){function r(){(0,b.Z)(this,r),this.mixer=Sv(0,1)}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i){return i.value}},{key:"postProcessor",value:function(t){var n=t.parsedStyle,i=n.offsetPath,a=n.offsetDistance;if(i){var s=i.nodeName;if(s===Rt.LINE||s===Rt.PATH||s===Rt.POLYLINE){var o=i.getPoint(a);o&&t.setLocalPosition(o.x,o.y)}}}}])}(),IS=function(){function r(){(0,b.Z)(this,r),this.mixer=Sv(0,1)}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i){return i.value}}])}(),NS=function(){function r(){(0,b.Z)(this,r),this.parser=jm,this.mixer=lS}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i){return i instanceof Ha&&i.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new Il(0,0,0,0)}:i}}])}(),BS=(0,z.Z)(function r(){(0,b.Z)(this,r),this.mixer=uS}),kS=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.mixer=Sv(0,1/0),t}return(0,g.Z)(e,r),(0,z.Z)(e)}(Lv),zS=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Ha?i.value==="unset"?"":i.value:"".concat(i)}},{key:"postProcessor",value:function(t){t.nodeValue="".concat(t.parsedStyle.text)||""}}])}(),FS=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i,a){var s=a.getAttribute("text");if(s){var o=s;i.value==="capitalize"?o=s.charAt(0).toUpperCase()+s.slice(1):i.value==="lowercase"?o=s.toLowerCase():i.value==="uppercase"&&(o=s.toUpperCase()),a.parsedStyle.text=o}return i.value}}])}(),Zz=function(e){return Object.fromEntries(Object.entries(e).filter(function(t){var n=_slicedToArray(t,2),i=n[1];return i!==void 0}))},Rv=new WeakMap;function US(r,e,t){if(r){var n=typeof r=="string"?document.getElementById(r):r;Rv.has(n)&&Rv.get(n).destroy(t),Rv.set(n,e)}}var Iv=typeof window!="undefined"&&typeof window.document!="undefined";function WS(r){return!!r.getAttribute}function HS(r,e){for(var t=0,n=r.length;t<n;){var i=t+n>>>1;Jm(r[i],e)<0?t=i+1:n=i}return t}function Jm(r,e){var t=Number(r.parsedStyle.zIndex||0),n=Number(e.parsedStyle.zIndex||0);if(t===n){var i=r.parentNode;if(i){var a=i.childNodes||[];return a.indexOf(r)-a.indexOf(e)}}return t-n}function qm(r){var e=r;do{var t,n=(t=e.parsedStyle)===null||t===void 0?void 0:t.clipPath;if(n)return e;e=e.parentElement}while(e!==null);return null}var $m="px";function jS(r,e,t){Iv&&r.style&&(r.style.width=e+$m,r.style.height=t+$m)}function ey(r,e){if(Iv)return document.defaultView.getComputedStyle(r,null).getPropertyValue(e)}function GS(r){var e=ey(r,"width");return e==="auto"?r.offsetWidth:parseFloat(e)}function VS(r){var e=ey(r,"height");return e==="auto"?r.offsetHeight:parseFloat(e)}var ZS=1,KS={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Nv=typeof performance=="object"&&performance.now?performance:Date;function eh(r){return r.nodeName===Rt.FRAGMENT?!0:r.getRootNode().nodeName===Rt.FRAGMENT}function Yo(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0,n=!1,i=!1,a=!!e&&!e.isNone,s=!!t&&!t.isNone;return r==="visiblepainted"||r==="painted"||r==="auto"?(n=a,i=s):r==="visiblefill"||r==="fill"?n=!0:r==="visiblestroke"||r==="stroke"?i=!0:(r==="visible"||r==="all")&&(n=!0,i=!0),[n,i]}var XS=1,YS=function(){return XS++},Ss=typeof self=="object"&&self.self===self?self:typeof Z.g=="object"&&Z.g.global===Z.g?Z.g:{},QS=Date.now(),JS=function(){return Ss.performance&&typeof Ss.performance.now=="function"?Ss.performance.now():Date.now()-QS},Dc={},ty=Date.now(),qS=function(e){if(typeof e!="function")throw new TypeError("".concat(e," is not a function"));var t=Date.now(),n=t-ty,i=n>16?0:16-n,a=YS();return Dc[a]=e,Object.keys(Dc).length>1||setTimeout(function(){ty=t;var s=Dc;Dc={},Object.keys(s).forEach(function(o){return s[o](JS())})},i),a},$S=function(e){delete Dc[e]},eT=["","webkit","moz","ms","o"],ny=function(e){return typeof e!="string"?qS:e===""?Ss.requestAnimationFrame:Ss["".concat(e,"RequestAnimationFrame")]},tT=function(e){return typeof e!="string"?$S:e===""?Ss.cancelAnimationFrame:Ss["".concat(e,"CancelAnimationFrame")]||Ss["".concat(e,"CancelRequestAnimationFrame")]},nT=function(e,t){for(var n=0;e[n]!==void 0;){if(t(e[n]))return e[n];n+=1}},ry=nT(eT,function(r){return!!ny(r)}),Bv=ny(ry),iy=tT(ry);Ss.requestAnimationFrame=Bv,Ss.cancelAnimationFrame=iy;var rT=function(){function r(){(0,b.Z)(this,r),this.callbacks=[]}return(0,z.Z)(r,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(t,n){this.callbacks.push(n)}},{key:"promise",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return Promise.all(this.callbacks.map(function(a){return a.apply(void 0,n)}))}}])}(),iT=function(){function r(){(0,b.Z)(this,r),this.callbacks=[]}return(0,z.Z)(r,[{key:"tapPromise",value:function(t,n){this.callbacks.push(n)}},{key:"promise",value:function(){var e=(0,so.Z)((0,Ki.Z)().mark(function n(){var i,a,s,o,l=arguments;return(0,Ki.Z)().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(!this.callbacks.length){h.next=14;break}return h.next=3,(i=this.callbacks)[0].apply(i,l);case 3:a=h.sent,s=0;case 5:if(!(s<this.callbacks.length-1)){h.next=13;break}return o=this.callbacks[s],h.next=9,o(a);case 9:a=h.sent;case 10:s++,h.next=5;break;case 13:return h.abrupt("return",a);case 14:return h.abrupt("return",null);case 15:case"end":return h.stop()}},n,this)}));function t(){return e.apply(this,arguments)}return t}()}])}(),ra=function(){function r(){(0,b.Z)(this,r),this.callbacks=[]}return(0,z.Z)(r,[{key:"tap",value:function(t,n){this.callbacks.push(n)}},{key:"call",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];var a=arguments;this.callbacks.forEach(function(s){s.apply(void 0,a)})}}])}(),kv=function(){function r(){(0,b.Z)(this,r),this.callbacks=[]}return(0,z.Z)(r,[{key:"tap",value:function(t,n){this.callbacks.push(n)}},{key:"call",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];if(this.callbacks.length){for(var a=arguments,s=this.callbacks[0].apply(void 0,a),o=0;o<this.callbacks.length-1;o++){var l=this.callbacks[o];s=l(s)}return s}return null}}])}(),aT=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],sT=/([\"\'])[^\'\"]+\1/;function oT(r){for(var e=r.fontSize,t=e===void 0?16:e,n=r.fontFamily,i=n===void 0?"sans-serif":n,a=r.fontStyle,s=a===void 0?"normal":a,o=r.fontVariant,l=o===void 0?"normal":o,c=r.fontWeight,h=c===void 0?"normal":c,p=dn(t)&&"".concat(t,"px")||"16px",C=i.split(","),k=C.length-1;k>=0;k--){var W=C[k].trim();!sT.test(W)&&aT.indexOf(W)<0&&(W='"'.concat(W,'"')),C[k]=W}return"".concat(s," ").concat(l," ").concat(h," ").concat(p," ").concat(C.join(","))}function zv(r,e,t){return kt(r),r[4]=Math.tan(e),r[1]=Math.tan(t),r}var ai=ut(),lT=ut(),cT={scale:function(e){_n(ai,[e[0].value,e[1].value,1])},scaleX:function(e){_n(ai,[e[0].value,1,1])},scaleY:function(e){_n(ai,[1,e[0].value,1])},scaleZ:function(e){_n(ai,[1,1,e[0].value])},scale3d:function(e){_n(ai,[e[0].value,e[1].value,e[2].value])},translate:function(e){Jt(ai,[e[0].value,e[1].value,0])},translateX:function(e){Jt(ai,[e[0].value,0,0])},translateY:function(e){Jt(ai,[0,e[0].value,0])},translateZ:function(e){Jt(ai,[0,0,e[0].value])},translate3d:function(e){Jt(ai,[e[0].value,e[1].value,e[2].value])},rotate:function(e){Nn(ai,Tr(ma(e[0])))},rotateX:function(e){cn(ai,Tr(ma(e[0])))},rotateY:function(e){Zn(ai,Tr(ma(e[0])))},rotateZ:function(e){Nn(ai,Tr(ma(e[0])))},rotate3d:function(e){yn(ai,Tr(ma(e[3])),[e[0].value,e[1].value,e[2].value])},skew:function(e){zv(ai,Tr(e[0].value),Tr(e[1].value))},skewX:function(e){zv(ai,Tr(e[0].value),0)},skewY:function(e){zv(ai,0,Tr(e[0].value))},matrix:function(e){Pt(ai,e[0].value,e[1].value,0,0,e[2].value,e[3].value,0,0,0,0,1,0,e[4].value,e[5].value,0,1)},matrix3d:function(e){Pt.apply(X,[ai].concat((0,P.Z)(e.map(function(t){return t.value}))))}},uT=I(1,1,1),hT=f(),ay={translate:function(e,t){Ht.sceneGraphService.setLocalScale(e,uT,!1),Ht.sceneGraphService.setLocalEulerAngles(e,hT,void 0,void 0,!1),Ht.sceneGraphService.setLocalPosition(e,[t[0].value,t[1].value,0],!1),Ht.sceneGraphService.dirtifyLocal(e,e.transformable)}};function sy(r,e){if(r.length){if(r.length===1&&ay[r[0].t]){ay[r[0].t](e,r[0].d);return}for(var t=kt(lT),n=0;n<r.length;n++){var i=r[n],a=i.t,s=i.d,o=cT[a];o&&(o(s),fa(t,t,ai))}e.setLocalTransform(t)}else e.resetLocalTransform();return e.getLocalTransform()}var fT=function(){function r(){(0,b.Z)(this,r),this.parser=hS,this.mixer=ES}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Ha?[]:i}},{key:"postProcessor",value:function(t){sy(t.parsedStyle.transform,t)}}])}(),dT=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"postProcessor",value:function(t){var n=t.parsedStyle.transformOrigin;n[0].unit===nn.kPixels&&n[1].unit===nn.kPixels?t.setOrigin(n[0].value,n[1].value):t.getGeometryBounds()}}])}(),vT=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"calculator",value:function(t,n,i,a){return i.value}},{key:"postProcessor",value:function(t){if(t.parentNode){var n=t.parentNode,i=n.renderable,a=n.sortable;i&&(i.dirty=!0),a&&(a.dirty=!0,a.dirtyReason=Hu.Z_INDEX_CHANGED)}}}])}(),gT=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"update",value:function(t,n){var i=t.cx,a=i===void 0?0:i,s=t.cy,o=s===void 0?0:s,l=t.r,c=l===void 0?0:l;return{cx:a,cy:o,hwidth:c,hheight:c}}}])}(),pT=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"update",value:function(t,n){var i=t.cx,a=i===void 0?0:i,s=t.cy,o=s===void 0?0:s,l=t.rx,c=l===void 0?0:l,h=t.ry,p=h===void 0?0:h;return{cx:a,cy:o,hwidth:c,hheight:p}}}])}(),mT=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"update",value:function(t){var n=t.x1,i=t.y1,a=t.x2,s=t.y2,o=Math.min(n,a),l=Math.max(n,a),c=Math.min(i,s),h=Math.max(i,s),p=l-o,C=h-c,k=p/2,W=C/2;return{cx:o+k,cy:c+W,hwidth:k,hheight:W}}}])}(),yT=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"update",value:function(t){var n=t.d,i=n.rect,a=i.x,s=i.y,o=i.width,l=i.height,c=o/2,h=l/2;return{cx:a+c,cy:s+h,hwidth:c,hheight:h}}}])}(),_T=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"update",value:function(t){if(t.points&&Ma(t.points.points)){var n=t.points.points,i=Math.min.apply(Math,(0,P.Z)(n.map(function(C){return C[0]}))),a=Math.max.apply(Math,(0,P.Z)(n.map(function(C){return C[0]}))),s=Math.min.apply(Math,(0,P.Z)(n.map(function(C){return C[1]}))),o=Math.max.apply(Math,(0,P.Z)(n.map(function(C){return C[1]}))),l=a-i,c=o-s,h=l/2,p=c/2;return{cx:i+h,cy:s+p,hwidth:h,hheight:p}}return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),ET=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"update",value:function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=t.src,c=t.width,h=c===void 0?0:c,p=t.height,C=p===void 0?0:p,k=h,W=C;return l&&!dr(l)&&(k||(k=l.width,t.width=k),W||(W=l.height,t.height=W)),{cx:a+k/2,cy:o+W/2,hwidth:k/2,hheight:W/2}}}])}(),xT=function(){function r(e){(0,b.Z)(this,r),this.globalRuntime=e}return(0,z.Z)(r,[{key:"isReadyToMeasure",value:function(t,n){var i=t.text;return i}},{key:"update",value:function(t,n){var i,a=t.text,s=t.textAlign,o=s===void 0?"start":s,l=t.lineWidth,c=l===void 0?1:l,h=t.textBaseline,p=h===void 0?"alphabetic":h,C=t.dx,k=C===void 0?0:C,W=t.dy,j=W===void 0?0:W,K=t.x,Q=K===void 0?0:K,ee=t.y,re=ee===void 0?0:ee;if(!this.isReadyToMeasure(t,n))return t.metrics={font:"",width:0,height:0,lines:[],lineWidths:[],lineHeight:0,maxLineWidth:0,fontProperties:{ascent:0,descent:0,fontSize:0},lineMetrics:[]},{hwidth:0,hheight:0,cx:0,cy:0};var ve=(n==null||(i=n.ownerDocument)===null||i===void 0||(i=i.defaultView)===null||i===void 0?void 0:i.getConfig())||{},he=ve.offscreenCanvas,pe=this.globalRuntime.textService.measureText(a,t,he);t.metrics=pe;var _e=pe.width,Ee=pe.height,De=_e/2,Be=Ee/2,Fe=Q+De;o==="center"||o==="middle"?Fe+=c/2-De:(o==="right"||o==="end")&&(Fe+=c-De*2);var Xe=re-Be;return p==="middle"?Xe+=Be:p==="top"||p==="hanging"?Xe+=Be*2:p==="alphabetic"||(p==="bottom"||p==="ideographic")&&(Xe+=0),k&&(Fe+=k),j&&(Xe+=j),{cx:Fe,cy:Xe,hwidth:De,hheight:Be}}}])}(),bT=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"update",value:function(t,n){return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),wT=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"update",value:function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=t.width,c=l===void 0?0:l,h=t.height,p=h===void 0?0:h;return{cx:a+c/2,cy:o+p/2,hwidth:c/2,hheight:p/2}}}])}();function Kz(r){return!!r.type}var th=function(){function r(e){(0,b.Z)(this,r),this.eventPhase=r.prototype.NONE,this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.defaultPrevented=!1,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new Ri,this.page=new Ri,this.canvas=new Ri,this.viewport=new Ri,this.composed=!1,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=e}return(0,z.Z)(r,[{key:"name",get:function(){return this.type}},{key:"layerX",get:function(){return this.layer.x}},{key:"layerY",get:function(){return this.layer.y}},{key:"pageX",get:function(){return this.page.x}},{key:"pageY",get:function(){return this.page.y}},{key:"x",get:function(){return this.canvas.x}},{key:"y",get:function(){return this.canvas.y}},{key:"canvasX",get:function(){return this.canvas.x}},{key:"canvasY",get:function(){return this.canvas.y}},{key:"viewportX",get:function(){return this.viewport.x}},{key:"viewportY",get:function(){return this.viewport.y}},{key:"composedPath",value:function(){return this.manager&&(!this.path||this.path[0]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}},{key:"propagationPath",get:function(){return this.composedPath()}},{key:"preventDefault",value:function(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}},{key:"stopImmediatePropagation",value:function(){this.propagationImmediatelyStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"initEvent",value:function(){}},{key:"initUIEvent",value:function(){}},{key:"clone",value:function(){throw new Error(Sr)}}])}(),oy=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.client=new Ri,t.movement=new Ri,t.offset=new Ri,t.global=new Ri,t.screen=new Ri,t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"clientX",get:function(){return this.client.x}},{key:"clientY",get:function(){return this.client.y}},{key:"movementX",get:function(){return this.movement.x}},{key:"movementY",get:function(){return this.movement.y}},{key:"offsetX",get:function(){return this.offset.x}},{key:"offsetY",get:function(){return this.offset.y}},{key:"globalX",get:function(){return this.global.x}},{key:"globalY",get:function(){return this.global.y}},{key:"screenX",get:function(){return this.screen.x}},{key:"screenY",get:function(){return this.screen.y}},{key:"getModifierState",value:function(n){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(n)}},{key:"initMouseEvent",value:function(){throw new Error(Sr)}}])}(th),nh=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.width=0,t.height=0,t.isPrimary=!1,t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"getCoalescedEvents",value:function(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}},{key:"getPredictedEvents",value:function(){throw new Error("getPredictedEvents is not supported!")}},{key:"clone",value:function(){return this.manager.clonePointerEvent(this)}}])}(oy),Fv=function(r){function e(){return(0,b.Z)(this,e),_(this,e,arguments)}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"clone",value:function(){return this.manager.cloneWheelEvent(this)}}])}(oy),vi=function(r){function e(t,n){var i;return(0,b.Z)(this,e),i=_(this,e,[null]),i.type=t,i.detail=n,Object.assign(i,n),i}return(0,g.Z)(e,r),(0,z.Z)(e)}(th),ly=new WeakMap,cy=function(){function r(){(0,b.Z)(this,r),this.emitter=new d}return(0,z.Z)(r,[{key:"on",value:function(t,n,i){return this.addEventListener(t,n,i),this}},{key:"addEventListener",value:function(t,n,i){var a=!1,s=!1;if(ku(i))a=i;else if(i){var o=i.capture;a=o===void 0?!1:o;var l=i.once;s=l===void 0?!1:l}a&&(t+="capture"),n=xn(n)?n:n.handleEvent;var c=xn(n)?void 0:n;return s?this.emitter.once(t,n,c):this.emitter.on(t,n,c),this}},{key:"off",value:function(t,n,i){return t?this.removeEventListener(t,n,i):this.removeAllEventListeners(),this}},{key:"removeAllEventListeners",value:function(){var t;(t=this.emitter)===null||t===void 0||t.removeAllListeners()}},{key:"removeEventListener",value:function(t,n,i){var a;if(!this.emitter)return this;var s=ku(i)?i:i==null?void 0:i.capture;s&&(t+="capture"),n=xn(n)?n:(a=n)===null||a===void 0?void 0:a.handleEvent;var o=xn(n)?void 0:n;return this.emitter.off(t,n,o),this}},{key:"emit",value:function(t,n){this.dispatchEvent(new vi(t,n))}},{key:"dispatchEvent",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=ly.get(this);if(!i){var a;this.document?i=this:this.defaultView?i=this.defaultView:i=(a=this.ownerDocument)===null||a===void 0?void 0:a.defaultView,i&&ly.set(this,i)}if(i){if(t.manager=i.getEventService(),!t.manager)return!1;t.defaultPrevented=!1,t.path?t.path.length=0:t.page=[],n||(t.target=this),t.manager.dispatchEvent(t,t.type,n)}else this.emitter.emit(t.type,t);return!t.defaultPrevented}}])}(),Kr=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.shadow=!1,t.ownerDocument=null,t.isConnected=!1,t.baseURI="",t.childNodes=[],t.nodeType=0,t.nodeName="",t.nodeValue=null,t.parentNode=null,t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"textContent",get:function(){var n="";this.nodeName===Rt.TEXT&&(n+=this.style.text);var i=Ho(this.childNodes),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;s.nodeName===Rt.TEXT?n+=s.nodeValue:n+=s.textContent}}catch(o){i.e(o)}finally{i.f()}return n},set:function(n){var i=this;this.childNodes.slice().forEach(function(a){i.removeChild(a)}),this.nodeName===Rt.TEXT&&(this.style.text="".concat(n))}},{key:"getRootNode",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(n):n.composed&&this.host?this.host.getRootNode(n):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(n){throw new Error(Sr)}},{key:"lookupNamespaceURI",value:function(n){throw new Error(Sr)}},{key:"lookupPrefix",value:function(n){throw new Error(Sr)}},{key:"normalize",value:function(){throw new Error(Sr)}},{key:"isEqualNode",value:function(n){return this===n}},{key:"isSameNode",value:function(n){return this.isEqualNode(n)}},{key:"parent",get:function(){return this.parentNode}},{key:"parentElement",get:function(){return null}},{key:"nextSibling",get:function(){return null}},{key:"previousSibling",get:function(){return null}},{key:"firstChild",get:function(){return this.childNodes.length>0?this.childNodes[0]:null}},{key:"lastChild",get:function(){return this.childNodes.length>0?this.childNodes[this.childNodes.length-1]:null}},{key:"compareDocumentPosition",value:function(n){if(n===this)return 0;for(var i=n,a=this,s=[i],o=[a];(l=i.parentNode)!==null&&l!==void 0?l:a.parentNode;){var l;i=i.parentNode?(s.push(i.parentNode),i.parentNode):i,a=a.parentNode?(o.push(a.parentNode),a.parentNode):a}if(i!==a)return e.DOCUMENT_POSITION_DISCONNECTED|e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_PRECEDING;var c=s.length>o.length?s:o,h=c===s?o:s;if(c[c.length-h.length]===h[0])return c===s?e.DOCUMENT_POSITION_CONTAINED_BY|e.DOCUMENT_POSITION_FOLLOWING:e.DOCUMENT_POSITION_CONTAINS|e.DOCUMENT_POSITION_PRECEDING;for(var p=c.length-h.length,C=h.length-1;C>=0;C--){var k=h[C],W=c[p+C];if(W!==k){var j=k.parentNode.childNodes;return j.indexOf(k)<j.indexOf(W)?h===s?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING:c===s?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING}}return e.DOCUMENT_POSITION_FOLLOWING}},{key:"contain",value:function(n){return this.contains(n)}},{key:"contains",value:function(n){for(var i=n;i&&this!==i;)i=i.parentNode;return!!i}},{key:"getAncestor",value:function(n){for(var i=this;n>0&&i;)i=i.parentNode,n--;return i}},{key:"forEach",value:function(n){for(var i=[this];i.length>0;){var a=i.pop(),s=n(a);if(s===!1)break;for(var o=a.childNodes.length-1;o>=0;o--)i.push(a.childNodes[o])}}}],[{key:"isNode",value:function(n){return!!n.childNodes}}])}(cy);Kr.DOCUMENT_POSITION_DISCONNECTED=1,Kr.DOCUMENT_POSITION_PRECEDING=2,Kr.DOCUMENT_POSITION_FOLLOWING=4,Kr.DOCUMENT_POSITION_CONTAINS=8,Kr.DOCUMENT_POSITION_CONTAINED_BY=16,Kr.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var MT=2048,ST=function(){function r(e,t){var n=this;(0,b.Z)(this,r),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=ut(),this.tmpVec3=f(),this.onPointerDown=function(i){var a=n.createPointerEvent(i);if(n.dispatchEvent(a,"pointerdown"),a.pointerType==="touch")n.dispatchEvent(a,"touchstart");else if(a.pointerType==="mouse"||a.pointerType==="pen"){var s=a.button===2;n.dispatchEvent(a,s?"rightdown":"mousedown")}var o=n.trackingData(i.pointerId);o.pressTargetsByButton[i.button]=a.composedPath(),n.freeEvent(a)},this.onPointerUp=function(i){var a=Nv.now(),s=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0);if(n.dispatchEvent(s,"pointerup"),s.pointerType==="touch")n.dispatchEvent(s,"touchend");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var o=s.button===2;n.dispatchEvent(s,o?"rightup":"mouseup")}var l=n.trackingData(i.pointerId),c=n.findMountedTarget(l.pressTargetsByButton[i.button]),h=c;if(c&&!s.composedPath().includes(c)){for(var p=c;p&&!s.composedPath().includes(p);){if(s.currentTarget=p,n.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch")n.notifyTarget(s,"touchendoutside");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var C=s.button===2;n.notifyTarget(s,C?"rightupoutside":"mouseupoutside")}Kr.isNode(p)&&(p=p.parentNode)}delete l.pressTargetsByButton[i.button],h=p}if(h){var k,W=n.clonePointerEvent(s,"click");W.target=h,W.path=[],l.clicksByButton[i.button]||(l.clicksByButton[i.button]={clickCount:0,target:W.target,timeStamp:a});var j=n.context.renderingContext.root.ownerDocument.defaultView,K=l.clicksByButton[i.button];K.target===W.target&&a-K.timeStamp<j.getConfig().dblClickSpeed?++K.clickCount:K.clickCount=1,K.target=W.target,K.timeStamp=a,W.detail=K.clickCount,(k=s.detail)!==null&&k!==void 0&&k.preventClick||(!n.context.config.useNativeClickEvent&&(W.pointerType==="mouse"||W.pointerType==="touch")&&n.dispatchEvent(W,"click"),n.dispatchEvent(W,"pointertap")),n.freeEvent(W)}n.freeEvent(s)},this.onPointerMove=function(i){var a=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0),s=a.pointerType==="mouse"||a.pointerType==="pen",o=n.trackingData(i.pointerId),l=n.findMountedTarget(o.overTargets);if(o.overTargets&&l!==a.target){var c=i.type==="mousemove"?"mouseout":"pointerout",h=n.createPointerEvent(i,c,l||void 0);if(n.dispatchEvent(h,"pointerout"),s&&n.dispatchEvent(h,"mouseout"),!a.composedPath().includes(l)){var p=n.createPointerEvent(i,"pointerleave",l||void 0);for(p.eventPhase=p.AT_TARGET;p.target&&!a.composedPath().includes(p.target);)p.currentTarget=p.target,n.notifyTarget(p),s&&n.notifyTarget(p,"mouseleave"),Kr.isNode(p.target)&&(p.target=p.target.parentNode);n.freeEvent(p)}n.freeEvent(h)}if(l!==a.target){var C=i.type==="mousemove"?"mouseover":"pointerover",k=n.clonePointerEvent(a,C);n.dispatchEvent(k,"pointerover"),s&&n.dispatchEvent(k,"mouseover");for(var W=l&&Kr.isNode(l)&&l.parentNode;W&&W!==(Kr.isNode(n.rootTarget)&&n.rootTarget.parentNode)&&W!==a.target;)W=W.parentNode;var j=!W||W===(Kr.isNode(n.rootTarget)&&n.rootTarget.parentNode);if(j){var K=n.clonePointerEvent(a,"pointerenter");for(K.eventPhase=K.AT_TARGET;K.target&&K.target!==l&&K.target!==(Kr.isNode(n.rootTarget)&&n.rootTarget.parentNode);)K.currentTarget=K.target,n.notifyTarget(K),s&&n.notifyTarget(K,"mouseenter"),Kr.isNode(K.target)&&(K.target=K.target.parentNode);n.freeEvent(K)}n.freeEvent(k)}n.dispatchEvent(a,"pointermove"),a.pointerType==="touch"&&n.dispatchEvent(a,"touchmove"),s&&(n.dispatchEvent(a,"mousemove"),n.cursor=n.getCursor(a.target)),o.overTargets=a.composedPath(),n.freeEvent(a)},this.onPointerOut=function(i){var a=n.trackingData(i.pointerId);if(a.overTargets){var s=i.pointerType==="mouse"||i.pointerType==="pen",o=n.findMountedTarget(a.overTargets),l=n.createPointerEvent(i,"pointerout",o||void 0);n.dispatchEvent(l),s&&n.dispatchEvent(l,"mouseout");var c=n.createPointerEvent(i,"pointerleave",o||void 0);for(c.eventPhase=c.AT_TARGET;c.target&&c.target!==(Kr.isNode(n.rootTarget)&&n.rootTarget.parentNode);)c.currentTarget=c.target,n.notifyTarget(c),s&&n.notifyTarget(c,"mouseleave"),Kr.isNode(c.target)&&(c.target=c.target.parentNode);a.overTargets=null,n.freeEvent(l),n.freeEvent(c)}n.cursor=null},this.onPointerOver=function(i){var a=n.trackingData(i.pointerId),s=n.createPointerEvent(i),o=s.pointerType==="mouse"||s.pointerType==="pen";n.dispatchEvent(s,"pointerover"),o&&n.dispatchEvent(s,"mouseover"),s.pointerType==="mouse"&&(n.cursor=n.getCursor(s.target));var l=n.clonePointerEvent(s,"pointerenter");for(l.eventPhase=l.AT_TARGET;l.target&&l.target!==(Kr.isNode(n.rootTarget)&&n.rootTarget.parentNode);)l.currentTarget=l.target,n.notifyTarget(l),o&&n.notifyTarget(l,"mouseenter"),Kr.isNode(l.target)&&(l.target=l.target.parentNode);a.overTargets=s.composedPath(),n.freeEvent(s),n.freeEvent(l)},this.onPointerUpOutside=function(i){var a=n.trackingData(i.pointerId),s=n.findMountedTarget(a.pressTargetsByButton[i.button]),o=n.createPointerEvent(i);if(s){for(var l=s;l;)o.currentTarget=l,n.notifyTarget(o,"pointerupoutside"),o.pointerType==="touch"||(o.pointerType==="mouse"||o.pointerType==="pen")&&n.notifyTarget(o,o.button===2?"rightupoutside":"mouseupoutside"),Kr.isNode(l)&&(l=l.parentNode);delete a.pressTargetsByButton[i.button]}n.freeEvent(o)},this.onWheel=function(i){var a=n.createWheelEvent(i);n.dispatchEvent(a),n.freeEvent(a)},this.onClick=function(i){if(n.context.config.useNativeClickEvent){var a=n.createPointerEvent(i);n.dispatchEvent(a),n.freeEvent(a)}},this.onPointerCancel=function(i){var a=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0);n.dispatchEvent(a),n.freeEvent(a)},this.globalRuntime=e,this.context=t}return(0,z.Z)(r,[{key:"init",value:function(){this.rootTarget=this.context.renderingContext.root.parentNode,this.addEventMapping("pointerdown",this.onPointerDown),this.addEventMapping("pointerup",this.onPointerUp),this.addEventMapping("pointermove",this.onPointerMove),this.addEventMapping("pointerout",this.onPointerOut),this.addEventMapping("pointerleave",this.onPointerOut),this.addEventMapping("pointercancel",this.onPointerCancel),this.addEventMapping("pointerover",this.onPointerOver),this.addEventMapping("pointerupoutside",this.onPointerUpOutside),this.addEventMapping("wheel",this.onWheel),this.addEventMapping("click",this.onClick)}},{key:"destroy",value:function(){this.mappingTable={},this.mappingState={},this.eventPool.clear()}},{key:"getScale",value:function(){var t=this.context.contextService.getBoundingClientRect(),n=1,i=1,a=this.context.contextService.getDomElement();if(a&&t){var s=a.offsetWidth,o=a.offsetHeight;s&&o&&(n=t.width/s,i=t.height/o)}return{scaleX:n,scaleY:i,bbox:t}}},{key:"client2Viewport",value:function(t){var n=this.getScale(),i=n.scaleX,a=n.scaleY,s=n.bbox;return new Ri((t.x-((s==null?void 0:s.left)||0))/i,(t.y-((s==null?void 0:s.top)||0))/a)}},{key:"viewport2Client",value:function(t){var n=this.getScale(),i=n.scaleX,a=n.scaleY,s=n.bbox;return new Ri((t.x+((s==null?void 0:s.left)||0))*i,(t.y+((s==null?void 0:s.top)||0))*a)}},{key:"viewport2Canvas",value:function(t){var n=t.x,i=t.y,a=this.rootTarget.defaultView,s=a.getCamera(),o=this.context.config,l=o.width,c=o.height,h=s.getPerspectiveInverse(),p=s.getWorldTransform(),C=lt(this.tmpMatrix,p,h),k=F(this.tmpVec3,n/l*2-1,(1-i/c)*2-1,0);return Ke(k,k,C),new Ri(k[0],k[1])}},{key:"canvas2Viewport",value:function(t){var n=this.rootTarget.defaultView,i=n.getCamera(),a=i.getPerspective(),s=i.getViewTransform(),o=lt(this.tmpMatrix,a,s),l=F(this.tmpVec3,t.x,t.y,0);Ke(this.tmpVec3,this.tmpVec3,o);var c=this.context.config,h=c.width,p=c.height;return new Ri((l[0]+1)/2*h,(1-(l[1]+1)/2)*p)}},{key:"setPickHandler",value:function(t){this.pickHandler=t}},{key:"addEventMapping",value:function(t,n){this.mappingTable[t]||(this.mappingTable[t]=[]),this.mappingTable[t].push({fn:n,priority:0}),this.mappingTable[t].sort(function(i,a){return i.priority-a.priority})}},{key:"mapEvent",value:function(t){if(this.rootTarget){var n=this.mappingTable[t.type];if(n)for(var i=0,a=n.length;i<a;i++)n[i].fn(t);else console.warn("[EventService]: Event mapping not defined for ".concat(t.type))}}},{key:"dispatchEvent",value:function(t,n,i){if(!i)t.propagationStopped=!1,t.propagationImmediatelyStopped=!1,this.propagate(t,n);else{t.eventPhase=t.AT_TARGET;var a=this.rootTarget.defaultView||null;t.currentTarget=a,this.notifyListeners(t,n)}}},{key:"propagate",value:function(t,n){if(t.target){var i=t.composedPath();t.eventPhase=t.CAPTURING_PHASE;for(var a=i.length-1;a>=1;a--)if(t.currentTarget=i[a],this.notifyTarget(t,n),t.propagationStopped||t.propagationImmediatelyStopped)return;if(t.eventPhase=t.AT_TARGET,t.currentTarget=t.target,this.notifyTarget(t,n),!(t.propagationStopped||t.propagationImmediatelyStopped)){var s=i.indexOf(t.currentTarget);t.eventPhase=t.BUBBLING_PHASE;for(var o=s+1;o<i.length;o++)if(t.currentTarget=i[o],this.notifyTarget(t,n),t.propagationStopped||t.propagationImmediatelyStopped)return}}}},{key:"propagationPath",value:function(t){var n=[t],i=this.rootTarget.defaultView||null;if(i&&i===t)return n.unshift(i.document),n;for(var a=0;a<MT&&t!==this.rootTarget;a++)Kr.isNode(t)&&t.parentNode&&(n.push(t.parentNode),t=t.parentNode);return i&&n.push(i),n}},{key:"hitTest",value:function(t){var n=t.viewportX,i=t.viewportY,a=this.context.config,s=a.width,o=a.height,l=a.disableHitTesting;return n<0||i<0||n>s||i>o?null:!l&&this.pickHandler(t)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(t,n){var i,a=n==null?void 0:n.target;if((i=a)!==null&&i!==void 0&&i.shadowRoot&&(a=n.composedPath()[0]),a){if(a===t)return!0;if(t&&t.contains)return t.contains(a)}return n!=null&&n.composedPath?n.composedPath().indexOf(t)>-1:!1}},{key:"getExistedHTML",value:function(t){if(t.nativeEvent.composedPath)for(var n=0,i=t.nativeEvent.composedPath();n<i.length;n++){var a=i[n],s=this.nativeHTMLMap.get(a);if(s)return s}return null}},{key:"pickTarget",value:function(t){return this.hitTest({clientX:t.clientX,clientY:t.clientY,viewportX:t.viewportX,viewportY:t.viewportY,x:t.canvasX,y:t.canvasY})}},{key:"createPointerEvent",value:function(t,n,i,a){var s=this.allocateEvent(nh);this.copyPointerData(t,s),this.copyMouseData(t,s),this.copyData(t,s),s.nativeEvent=t.nativeEvent,s.originalEvent=t;var o=this.getExistedHTML(s),l=this.context.contextService.getDomElement();return s.target=i!=null?i:o||this.isNativeEventFromCanvas(l,s.nativeEvent)&&this.pickTarget(s)||a,typeof n=="string"&&(s.type=n),s}},{key:"createWheelEvent",value:function(t){var n=this.allocateEvent(Fv);this.copyWheelData(t,n),this.copyMouseData(t,n),this.copyData(t,n),n.nativeEvent=t.nativeEvent,n.originalEvent=t;var i=this.getExistedHTML(n),a=this.context.contextService.getDomElement();return n.target=i||this.isNativeEventFromCanvas(a,n.nativeEvent)&&this.pickTarget(n),n}},{key:"trackingData",value:function(t){return this.mappingState.trackingData[t]||(this.mappingState.trackingData[t]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[t]}},{key:"cloneWheelEvent",value:function(t){var n=this.allocateEvent(Fv);return n.nativeEvent=t.nativeEvent,n.originalEvent=t.originalEvent,this.copyWheelData(t,n),this.copyMouseData(t,n),this.copyData(t,n),n.target=t.target,n.path=t.composedPath().slice(),n.type=t.type,n}},{key:"clonePointerEvent",value:function(t,n){var i=this.allocateEvent(nh);return i.nativeEvent=t.nativeEvent,i.originalEvent=t.originalEvent,this.copyPointerData(t,i),this.copyMouseData(t,i),this.copyData(t,i),i.target=t.target,i.path=t.composedPath().slice(),i.type=n!=null?n:i.type,i}},{key:"copyPointerData",value:function(t,n){n.pointerId=t.pointerId,n.width=t.width,n.height=t.height,n.isPrimary=t.isPrimary,n.pointerType=t.pointerType,n.pressure=t.pressure,n.tangentialPressure=t.tangentialPressure,n.tiltX=t.tiltX,n.tiltY=t.tiltY,n.twist=t.twist}},{key:"copyMouseData",value:function(t,n){n.altKey=t.altKey,n.button=t.button,n.buttons=t.buttons,n.ctrlKey=t.ctrlKey,n.metaKey=t.metaKey,n.shiftKey=t.shiftKey,n.client.copyFrom(t.client),n.movement.copyFrom(t.movement),n.canvas.copyFrom(t.canvas),n.screen.copyFrom(t.screen),n.global.copyFrom(t.global),n.offset.copyFrom(t.offset)}},{key:"copyWheelData",value:function(t,n){n.deltaMode=t.deltaMode,n.deltaX=t.deltaX,n.deltaY=t.deltaY,n.deltaZ=t.deltaZ}},{key:"copyData",value:function(t,n){n.isTrusted=t.isTrusted,n.timeStamp=Nv.now(),n.type=t.type,n.detail=t.detail,n.view=t.view,n.page.copyFrom(t.page),n.viewport.copyFrom(t.viewport)}},{key:"allocateEvent",value:function(t){this.eventPool.has(t)||this.eventPool.set(t,[]);var n=this.eventPool.get(t).pop()||new t(this);return n.eventPhase=n.NONE,n.currentTarget=null,n.path=[],n.target=null,n}},{key:"freeEvent",value:function(t){if(t.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");var n=t.constructor;this.eventPool.has(n)||this.eventPool.set(n,[]),this.eventPool.get(n).push(t)}},{key:"notifyTarget",value:function(t,n){n=n!=null?n:t.type;var i=t.eventPhase===t.CAPTURING_PHASE||t.eventPhase===t.AT_TARGET?"".concat(n,"capture"):n;this.notifyListeners(t,i),t.eventPhase===t.AT_TARGET&&this.notifyListeners(t,n)}},{key:"notifyListeners",value:function(t,n){var i=t.currentTarget.emitter,a=i._events[n];if(a)if("fn"in a)a.once&&i.removeListener(n,a.fn,void 0,!0),a.fn.call(t.currentTarget||a.context,t);else for(var s=0;s<a.length&&!t.propagationImmediatelyStopped;s++)a[s].once&&i.removeListener(n,a[s].fn,void 0,!0),a[s].fn.call(t.currentTarget||a[s].context,t)}},{key:"findMountedTarget",value:function(t){if(!t)return null;for(var n=t[t.length-1],i=t.length-2;i>=0;i--){var a=t[i];if(a===this.rootTarget||Kr.isNode(a)&&a.parentNode===n)n=t[i];else break}return n}},{key:"getCursor",value:function(t){for(var n=t;n;){var i=WS(n)&&n.getAttribute("cursor");if(i)return i;n=Kr.isNode(n)&&n.parentNode}}}])}(),Uv=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"getOrCreateCanvas",value:function(t,n){if(this.canvas)return this.canvas;if(t||Ht.offscreenCanvas)this.canvas=t||Ht.offscreenCanvas,this.context=this.canvas.getContext("2d",(0,H.Z)({willReadFrequently:!0},n));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",(0,H.Z)({willReadFrequently:!0},n)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch(i){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",(0,H.Z)({willReadFrequently:!0},n))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(t,n){return this.context?this.context:(this.getOrCreateCanvas(t,n),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(t){}try{return document.createElement("canvas")}catch(t){}return null}}])}(),Ul=function(r){return r[r.CAMERA_CHANGED=0]="CAMERA_CHANGED",r[r.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",r[r.NONE=2]="NONE",r}({}),TT=function(){function r(e,t){(0,b.Z)(this,r),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new ra,initAsync:new rT,dirtycheck:new kv,cull:new kv,beginFrame:new ra,beforeRender:new ra,render:new ra,afterRender:new ra,endFrame:new ra,destroy:new ra,pick:new iT,pickSync:new kv,pointerDown:new ra,pointerUp:new ra,pointerMove:new ra,pointerOut:new ra,pointerOver:new ra,pointerWheel:new ra,pointerCancel:new ra,click:new ra},this.globalRuntime=e,this.context=t}return(0,z.Z)(r,[{key:"init",value:function(t){var n=this,i=(0,H.Z)((0,H.Z)({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(a){a.apply(i,n.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,t()):this.hooks.initAsync.promise().then(function(){n.inited=!0,t()}).catch(function(a){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var t=this.context.config.renderer,n=t.getConfig(),i=n.enableDirtyRectangleRendering;return!i||this.context.renderingContext.renderReasons.has(Ul.CAMERA_CHANGED)}},{key:"render",value:function(t,n,i){var a=this;this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0;var s=this.context.renderingContext;if(this.globalRuntime.sceneGraphService.syncHierarchy(s.root),this.globalRuntime.sceneGraphService.triggerPendingEvents(),s.renderReasons.size&&this.inited){s.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var o=s.renderReasons.size===1&&s.renderReasons.has(Ul.CAMERA_CHANGED),l=!t.disableRenderHooks||!(t.disableRenderHooks&&o);l&&this.renderDisplayObject(s.root,t,s),this.hooks.beginFrame.call(n),l&&s.renderListCurrentFrame.forEach(function(c){a.hooks.beforeRender.call(c),a.hooks.render.call(c),a.hooks.afterRender.call(c)}),this.hooks.endFrame.call(n),s.renderListCurrentFrame=[],s.renderReasons.clear(),i()}}},{key:"renderDisplayObject",value:function(t,n,i){var a=this,s=n.renderer.getConfig(),o=s.enableDirtyCheck,l=s.enableCulling;function c(W){var j=W.renderable,K=W.sortable,Q=o?j.dirty||i.dirtyRectangleRenderingDisabled?W:null:W;if(Q){var ee=l?a.hooks.cull.call(Q,a.context.camera):Q;ee&&(a.stats.rendered+=1,i.renderListCurrentFrame.push(ee))}j.dirty=!1,K.renderOrder=a.zIndexCounter,a.zIndexCounter+=1,a.stats.total+=1,K.dirty&&(a.sort(W,K),K.dirty=!1,K.dirtyChildren=[],K.dirtyReason=void 0)}for(var h=[t];h.length>0;){var p=h.pop();c(p);for(var C=p.sortable.sorted||p.childNodes,k=C.length-1;k>=0;k--)h.push(C[k])}}},{key:"sort",value:function(t,n){n.sorted&&n.dirtyReason!==Hu.Z_INDEX_CHANGED?n.dirtyChildren.forEach(function(i){var a=t.childNodes.indexOf(i);if(a===-1){var s=n.sorted.indexOf(i);s>=0&&n.sorted.splice(s,1)}else if(n.sorted.length===0)n.sorted.push(i);else{var o=HS(n.sorted,i);n.sorted.splice(o,0,i)}}):n.sorted=t.childNodes.slice().sort(Jm)}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call(),this.globalRuntime.sceneGraphService.clearPendingEvents()}},{key:"dirtify",value:function(){this.context.renderingContext.renderReasons.add(Ul.DISPLAY_OBJECT_CHANGED)}}])}(),AT=/\[\s*(.*)=(.*)\s*\]/,CT=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"selectOne",value:function(t,n){var i=this;if(t.startsWith("."))return n.find(function(l){return((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(t))>-1});if(t.startsWith("#"))return n.find(function(l){return l.id===i.getIdOrClassname(t)});if(t.startsWith("[")){var a=this.getAttribute(t),s=a.name,o=a.value;return s?n.find(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):null}return n.find(function(l){return n!==l&&l.nodeName===t})}},{key:"selectAll",value:function(t,n){var i=this;if(t.startsWith("."))return n.findAll(function(l){return n!==l&&((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(t))>-1});if(t.startsWith("#"))return n.findAll(function(l){return n!==l&&l.id===i.getIdOrClassname(t)});if(t.startsWith("[")){var a=this.getAttribute(t),s=a.name,o=a.value;return s?n.findAll(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):[]}return n.findAll(function(l){return n!==l&&l.nodeName===t})}},{key:"is",value:function(t,n){if(t.startsWith("."))return n.className===this.getIdOrClassname(t);if(t.startsWith("#"))return n.id===this.getIdOrClassname(t);if(t.startsWith("[")){var i=this.getAttribute(t),a=i.name,s=i.value;return a==="name"?n.name===s:this.attributeToString(n,a)===s}return n.nodeName===t}},{key:"getIdOrClassname",value:function(t){return t.substring(1)}},{key:"getAttribute",value:function(t){var n=t.match(AT),i="",a="";return n&&n.length>2&&(i=n[1].replace(/"/g,""),a=n[2].replace(/"/g,"")),{name:i,value:a}}},{key:"attributeToString",value:function(t,n){if(!t.getAttribute)return"";var i=t.getAttribute(n);return Rn(i)?"":i.toString?i.toString():""}}])}(),tr=function(r){return r.ATTR_MODIFIED="DOMAttrModified",r.INSERTED="DOMNodeInserted",r.MOUNTED="DOMNodeInsertedIntoDocument",r.REMOVED="removed",r.UNMOUNTED="DOMNodeRemovedFromDocument",r.REPARENT="reparent",r.DESTROY="destroy",r.BOUNDS_CHANGED="bounds-changed",r.CULLED="culled",r}({}),Ts=function(r){function e(t,n,i,a,s,o,l,c){var h;return(0,b.Z)(this,e),h=_(this,e,[null]),h.relatedNode=n,h.prevValue=i,h.newValue=a,h.attrName=s,h.attrChange=o,h.prevParsedValue=l,h.newParsedValue=c,h.type=t,h}return(0,g.Z)(e,r),(0,z.Z)(e)}(th);Ts.ADDITION=2,Ts.MODIFICATION=1,Ts.REMOVAL=3;function uy(r){var e=r.renderable;e&&(e.renderBoundsDirty=!0,e.boundsDirty=!0)}var OT=new Ts(tr.REPARENT,null,"","","",0,"",""),PT=rv(),rh=f(),DT=I(1,1,1),LT=ut(),RT=rv(),co=f(),Wl=ut(),uo=or(),IT=f(),NT=or(),BT=f(),Lc=f(),Qo=f(),ih=ut(),hy=or(),fy=or(),ah=or(),Wv={affectChildren:!0},kT=function(){function r(e){(0,b.Z)(this,r),this.pendingEvents=new Map,this.boundsChangedEvent=new vi(tr.BOUNDS_CHANGED),this.displayObjectDependencyMap=new WeakMap,this.runtime=e}return(0,z.Z)(r,[{key:"matches",value:function(t,n){return this.runtime.sceneGraphSelector.is(t,n)}},{key:"querySelector",value:function(t,n){return this.runtime.sceneGraphSelector.selectOne(t,n)}},{key:"querySelectorAll",value:function(t,n){return this.runtime.sceneGraphSelector.selectAll(t,n)}},{key:"attach",value:function(t,n,i){var a,s=!1;t.parentNode&&(s=t.parentNode!==n,this.detach(t));var o=t.nodeName===Rt.FRAGMENT,l=eh(n);t.parentNode=n;var c=o?t.childNodes:[t];dn(i)?c.forEach(function(k){n.childNodes.splice(i,0,k),k.parentNode=n}):c.forEach(function(k){n.childNodes.push(k),k.parentNode=n});var h=n,p=h.sortable;if((p!=null&&(a=p.sorted)!==null&&a!==void 0&&a.length||t.parsedStyle.zIndex)&&(p.dirtyChildren.indexOf(t)===-1&&p.dirtyChildren.push(t),p.dirty=!0,p.dirtyReason=Hu.ADDED),!l){if(o)this.dirtifyFragment(t);else{var C=t.transformable;C&&this.dirtifyWorld(t,C)}s&&t.dispatchEvent(OT)}}},{key:"detach",value:function(t){if(t.parentNode){var n,i,a=t.transformable,s=t.parentNode,o=s.sortable;(o!=null&&(n=o.sorted)!==null&&n!==void 0&&n.length||(i=t.style)!==null&&i!==void 0&&i.zIndex)&&(o.dirtyChildren.indexOf(t)===-1&&o.dirtyChildren.push(t),o.dirty=!0,o.dirtyReason=Hu.REMOVED);var l=t.parentNode.childNodes.indexOf(t);l>-1&&t.parentNode.childNodes.splice(l,1),a&&this.dirtifyWorld(t,a),t.parentNode=null}}},{key:"getOrigin",value:function(t){return t.getGeometryBounds(),t.transformable.origin}},{key:"setOrigin",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=[n,i,a]);var s=t.transformable;if(!(n[0]===s.origin[0]&&n[1]===s.origin[1]&&n[2]===s.origin[2])){var o=s.origin;o[0]=n[0],o[1]=n[1],o[2]=n[2]||0,this.dirtifyLocal(t,s)}}},{key:"rotate",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=I(n,i,a));var s=t.transformable;if(t.parentNode===null||!t.parentNode.transformable)this.rotateLocal(t,n);else{var o=uo;Cl(o,n[0],n[1],n[2]);var l=this.getRotation(t),c=this.getRotation(t.parentNode);Ol(ah,c),Ec(ah,ah),Vi(o,ah,o),Vi(s.localRotation,o,l),xs(s.localRotation,s.localRotation),this.dirtifyLocal(t,s)}}},{key:"rotateLocal",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=I(n,i,a));var s=t.transformable;Cl(fy,n[0],n[1],n[2]),Pl(s.localRotation,s.localRotation,fy),this.dirtifyLocal(t,s)}},{key:"setEulerAngles",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=I(n,i,a));var s=t.transformable;if(t.parentNode===null||!t.parentNode.transformable)this.setLocalEulerAngles(t,n);else{Cl(s.localRotation,n[0],n[1],n[2]);var o=this.getRotation(t.parentNode);Ol(hy,Ec(uo,o)),Pl(s.localRotation,s.localRotation,hy),this.dirtifyLocal(t,s)}}},{key:"setLocalEulerAngles",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof n=="number"&&(n=I(n,i,a));var o=t.transformable;Cl(o.localRotation,n[0],n[1],n[2]),s&&this.dirtifyLocal(t,o)}},{key:"translateLocal",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=I(n,i,a));var s=t.transformable;Ge(n,rh)||(Ze(n,n,s.localRotation),G(s.localPosition,s.localPosition,n),this.dirtifyLocal(t,s))}},{key:"setPosition",value:function(t,n){var i,a=t.transformable;if(Qo[0]=n[0],Qo[1]=n[1],Qo[2]=(i=n[2])!==null&&i!==void 0?i:0,!Ge(this.getPosition(t),Qo)){if(U(a.position,Qo),t.parentNode===null||!t.parentNode.transformable)U(a.localPosition,Qo);else{var s=t.parentNode.transformable;at(ih,s.worldTransform),Ct(ih,ih),Ke(a.localPosition,Qo,ih)}this.dirtifyLocal(t,a)}}},{key:"setLocalPosition",value:function(t,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=t.transformable;Lc[0]=n[0],Lc[1]=n[1],Lc[2]=(i=n[2])!==null&&i!==void 0?i:0,!Ge(s.localPosition,Lc)&&(U(s.localPosition,Lc),a&&this.dirtifyLocal(t,s))}},{key:"scaleLocal",value:function(t,n){var i,a=t.transformable;te(a.localScale,a.localScale,F(co,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:1)),this.dirtifyLocal(t,a)}},{key:"setLocalScale",value:function(t,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=t.transformable;F(co,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:s.localScale[2]),!Ge(co,s.localScale)&&(U(s.localScale,co),a&&this.dirtifyLocal(t,s))}},{key:"translate",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=F(co,n,i,a)),!Ge(n,rh)&&(G(co,this.getPosition(t),n),this.setPosition(t,co))}},{key:"setRotation",value:function(t,n,i,a,s){var o=t.transformable;if(typeof n=="number"&&(n=ev(n,i,a,s)),t.parentNode===null||!t.parentNode.transformable)this.setLocalRotation(t,n);else{var l=this.getRotation(t.parentNode);Ol(uo,l),Ec(uo,uo),Vi(o.localRotation,uo,n),xs(o.localRotation,o.localRotation),this.dirtifyLocal(t,o)}}},{key:"setLocalRotation",value:function(t,n,i,a,s){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof n=="number"&&(n=Du(uo,n,i,a,s));var l=t.transformable;Ol(l.localRotation,n),o&&this.dirtifyLocal(t,l)}},{key:"setLocalSkew",value:function(t,n,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof n=="number"&&(n=A2(RT,n,i));var s=t.transformable;T2(s.localSkew,n),a&&this.dirtifyLocal(t,s)}},{key:"dirtifyLocal",value:function(t,n){eh(t)||n.localDirtyFlag||(n.localDirtyFlag=!0,n.dirtyFlag||this.dirtifyWorld(t,n))}},{key:"dirtifyWorld",value:function(t,n){n.dirtyFlag||this.unfreezeParentToRoot(t),this.dirtifyWorldInternal(t,n),this.dirtifyToRoot(t,!0)}},{key:"dirtifyFragment",value:function(t){var n=t.transformable;n&&(n.frozen=!1,n.dirtyFlag=!0,n.localDirtyFlag=!0);var i=t.renderable;i&&(i.renderBoundsDirty=!0,i.boundsDirty=!0,i.dirty=!0);for(var a=t.childNodes.length,s=0;s<a;s++)this.dirtifyFragment(t.childNodes[s]);t.nodeName===Rt.FRAGMENT&&this.pendingEvents.set(t,!1)}},{key:"triggerPendingEvents",value:function(){var t=this,n=new Set,i=function(s,o){!s.isConnected||n.has(s)||s.nodeName===Rt.FRAGMENT||(t.boundsChangedEvent.detail=o,t.boundsChangedEvent.target=s,s.isMutationObserved?s.dispatchEvent(t.boundsChangedEvent):s.ownerDocument.defaultView.dispatchEvent(t.boundsChangedEvent,!0),n.add(s))};this.pendingEvents.forEach(function(a,s){s.nodeName!==Rt.FRAGMENT&&(Wv.affectChildren=a,a?s.forEach(function(o){i(o,Wv)}):i(s,Wv))}),n.clear(),this.clearPendingEvents()}},{key:"clearPendingEvents",value:function(){this.pendingEvents.clear()}},{key:"dirtifyToRoot",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=t;for(i.renderable&&(i.renderable.dirty=!0);i;)uy(i),i=i.parentNode;n&&t.forEach(function(a){uy(a)}),this.informDependentDisplayObjects(t),this.pendingEvents.set(t,n)}},{key:"updateDisplayObjectDependency",value:function(t,n,i,a){if(n&&n!==i){var s=this.displayObjectDependencyMap.get(n);if(s&&s[t]){var o=s[t].indexOf(a);s[t].splice(o,1)}}if(i){var l=this.displayObjectDependencyMap.get(i);l||(this.displayObjectDependencyMap.set(i,{}),l=this.displayObjectDependencyMap.get(i)),l[t]||(l[t]=[]),l[t].push(a)}}},{key:"informDependentDisplayObjects",value:function(t){var n=this,i=this.displayObjectDependencyMap.get(t);i&&Object.keys(i).forEach(function(a){i[a].forEach(function(s){n.dirtifyToRoot(s,!0),s.dispatchEvent(new Ts(tr.ATTR_MODIFIED,s,n,n,a,Ts.MODIFICATION,n,n)),s.isCustomElement&&s.isConnected&&s.attributeChangedCallback&&s.attributeChangedCallback(a,n,n)})})}},{key:"getPosition",value:function(t){var n=t.transformable;return Bn(n.position,this.getWorldTransform(t,n))}},{key:"getRotation",value:function(t){var n=t.transformable;return qn(n.rotation,this.getWorldTransform(t,n))}},{key:"getScale",value:function(t){var n=t.transformable;return lr(n.scaling,this.getWorldTransform(t,n))}},{key:"getWorldTransform",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t.transformable;return!n.localDirtyFlag&&!n.dirtyFlag||(t.parentNode&&t.parentNode.transformable&&this.getWorldTransform(t.parentNode),this.sync(t,n)),n.worldTransform}},{key:"getLocalPosition",value:function(t){return t.transformable.localPosition}},{key:"getLocalRotation",value:function(t){return t.transformable.localRotation}},{key:"getLocalScale",value:function(t){return t.transformable.localScale}},{key:"getLocalSkew",value:function(t){return t.transformable.localSkew}},{key:"calcLocalTransform",value:function(t){var n=t.localSkew[0]!==0||t.localSkew[1]!==0;if(n){hi(t.localTransform,t.localRotation,t.localPosition,I(1,1,1),t.origin),(t.localSkew[0]!==0||t.localSkew[1]!==0)&&(kt(Wl),Wl[4]=Math.tan(t.localSkew[0]),Wl[1]=Math.tan(t.localSkew[1]),lt(t.localTransform,t.localTransform,Wl));var i=hi(Wl,Du(uo,0,0,0,1),F(co,1,1,1),t.localScale,t.origin);lt(t.localTransform,t.localTransform,i)}else{var a=t.localTransform,s=t.localPosition,o=t.localRotation,l=t.localScale,c=t.origin,h=s[0]!==0||s[1]!==0||s[2]!==0,p=o[3]!==1||o[0]!==0||o[1]!==0||o[2]!==0,C=l[0]!==1||l[1]!==1||l[2]!==1,k=c[0]!==0||c[1]!==0||c[2]!==0;!p&&!C&&!k?h?Jt(a,s):kt(a):hi(a,o,s,l,c)}}},{key:"getLocalTransform",value:function(t){var n=t.transformable;return n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.localTransform}},{key:"setLocalTransform",value:function(t,n){var i=Bn(IT,n),a=qn(NT,n),s=lr(BT,n);this.setLocalScale(t,s,!1),this.setLocalPosition(t,i,!1),this.setLocalRotation(t,a,void 0,void 0,void 0,!1),this.dirtifyLocal(t,t.transformable)}},{key:"resetLocalTransform",value:function(t){this.setLocalScale(t,DT,!1),this.setLocalPosition(t,rh,!1),this.setLocalEulerAngles(t,rh,void 0,void 0,!1),this.setLocalSkew(t,PT,void 0,!1),this.dirtifyLocal(t,t.transformable)}},{key:"getTransformedGeometryBounds",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=arguments.length>2?arguments[2]:void 0,a=this.getGeometryBounds(t,n);if(!Nr.isEmpty(a)){var s=i||new Nr;return s.setFromTransformedAABB(a,this.getWorldTransform(t)),s}return null}},{key:"getGeometryBounds",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=t,a=i.geometry;a.dirty&&Ht.styleValueRegistry.updateGeometry(t);var s=n?a.renderBounds:a.contentBounds||null;return s||new Nr}},{key:"getBounds",value:function(t){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=t,s=a.renderable;if(!s.boundsDirty&&!i&&s.bounds)return s.bounds;if(!s.renderBoundsDirty&&i&&s.renderBounds)return s.renderBounds;var o=i?s.renderBounds:s.bounds,l=this.getTransformedGeometryBounds(t,i,o),c=t.childNodes;if(c.forEach(function(C){var k=n.getBounds(C,i);k&&(l?l.add(k):(l=o||new Nr,l.update(k.center,k.halfExtents)))}),l||(l=new Nr),i){var h=qm(t);if(h){var p=h.parsedStyle.clipPath.getBounds(i);l?p&&(l=p.intersection(l)):l.update(p.center,p.halfExtents)}}return i?(s.renderBounds=l,s.renderBoundsDirty=!1):(s.bounds=l,s.boundsDirty=!1),l}},{key:"getLocalBounds",value:function(t){if(t.parentNode){var n=LT;t.parentNode.transformable&&(n=Ct(Wl,this.getWorldTransform(t.parentNode)));var i=this.getBounds(t);if(!Nr.isEmpty(i)){var a=new Nr;return a.setFromTransformedAABB(i,n),a}}return this.getBounds(t)}},{key:"getBoundingClientRect",value:function(t){var n,i,a=this.getGeometryBounds(t);Nr.isEmpty(a)||(i=new Nr,i.setFromTransformedAABB(a,this.getWorldTransform(t)));var s=(n=t.ownerDocument)===null||n===void 0||(n=n.defaultView)===null||n===void 0?void 0:n.getContextService().getBoundingClientRect();if(i){var o=i.getMin(),l=(0,m.Z)(o,2),c=l[0],h=l[1],p=i.getMax(),C=(0,m.Z)(p,2),k=C[0],W=C[1];return new Il(c+((s==null?void 0:s.left)||0),h+((s==null?void 0:s.top)||0),k-c,W-h)}return new Il((s==null?void 0:s.left)||0,(s==null?void 0:s.top)||0,0,0)}},{key:"dirtifyWorldInternal",value:function(t,n){var i=this;if(!n.dirtyFlag){n.dirtyFlag=!0,n.frozen=!1,t.childNodes.forEach(function(o){var l=o.transformable;l.dirtyFlag||i.dirtifyWorldInternal(o,l)});var a=t,s=a.renderable;s&&(s.renderBoundsDirty=!0,s.boundsDirty=!0,s.dirty=!0)}}},{key:"syncHierarchy",value:function(t){var n=t.transformable;if(!n.frozen){n.frozen=!0,(n.localDirtyFlag||n.dirtyFlag)&&this.sync(t,n);for(var i=t.childNodes,a=0;a<i.length;a++)this.syncHierarchy(i[a])}}},{key:"sync",value:function(t,n){if(n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.dirtyFlag){var i=t.parentNode,a=i&&i.transformable;i===null||!a?at(n.worldTransform,n.localTransform):lt(n.worldTransform,a.worldTransform,n.localTransform),n.dirtyFlag=!1}}},{key:"unfreezeParentToRoot",value:function(t){for(var n=t.parentNode;n;){var i=n.transformable;i&&(i.frozen=!1),n=n.parentNode}}}])}(),Jo={MetricsString:"|\xC9q\xC5",BaselineSymbol:"M",BaselineMultiplier:1.4,HeightMultiplier:2,Newlines:[10,13],BreakingSpaces:[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]},dy=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,zT=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,FT=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,UT=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹓﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,WT=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,HT=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,jT=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,GT=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,VT=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,ZT=new RegExp("".concat(zT.source,"|").concat(UT.source,"|").concat(HT.source,"|").concat(GT.source)),KT=new RegExp("".concat(FT.source,"|").concat(WT.source,"|").concat(jT.source,"|").concat(VT.source)),XT=function(){function r(e){var t=this;(0,b.Z)(this,r),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(n,i){return t.isBreakingSpace(i)?!1:!!(n&&(KT.exec(i)||ZT.exec(n)))},this.trimByKinsokuShorui=function(n){var i=(0,P.Z)(n),a=i[i.length-2];if(!a)return n;var s=a[a.length-1];return i[i.length-2]=a.slice(0,-1),i[i.length-1]=s+i[i.length-1],i},this.runtime=e}return(0,z.Z)(r,[{key:"measureFont",value:function(t,n){if(this.fontMetricsCache[t])return this.fontMetricsCache[t];var i={ascent:0,descent:0,fontSize:0},a=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(n),s=this.runtime.offscreenCanvasCreator.getOrCreateContext(n,{willReadFrequently:!0});s.font=t;var o=Jo.MetricsString+Jo.BaselineSymbol,l=Math.ceil(s.measureText(o).width),c=Math.ceil(s.measureText(Jo.BaselineSymbol).width),h=Jo.HeightMultiplier*c;c=c*Jo.BaselineMultiplier|0,a.width=l,a.height=h,s.fillStyle="#f00",s.fillRect(0,0,l,h),s.font=t,s.textBaseline="alphabetic",s.fillStyle="#000",s.fillText(o,0,c);var p=s.getImageData(0,0,l||1,h||1).data,C=p.length,k=l*4,W=0,j=0,K=!1;for(W=0;W<c;++W){for(var Q=0;Q<k;Q+=4)if(p[j+Q]!==255){K=!0;break}if(!K)j+=k;else break}for(i.ascent=c-W,j=C-k,K=!1,W=h;W>c;--W){for(var ee=0;ee<k;ee+=4)if(p[j+ee]!==255){K=!0;break}if(!K)j-=k;else break}return i.descent=W-c,i.fontSize=i.ascent+i.descent,this.fontMetricsCache[t]=i,i}},{key:"measureText",value:function(t,n,i){var a=n.fontSize,s=a===void 0?16:a,o=n.wordWrap,l=o===void 0?!1:o,c=n.lineHeight,h=n.lineWidth,p=h===void 0?1:h,C=n.textBaseline,k=C===void 0?"alphabetic":C,W=n.textAlign,j=W===void 0?"start":W,K=n.letterSpacing,Q=K===void 0?0:K,ee=n.textPath;n.textPathSide,n.textPathStartOffset;var re=n.leading,ve=re===void 0?0:re,he=oT(n),pe=this.measureFont(he,i);pe.fontSize===0&&(pe.fontSize=s,pe.ascent=s);var _e=this.runtime.offscreenCanvasCreator.getOrCreateContext(i);_e.font=he,n.isOverflowing=!1;var Ee=l?this.wordWrap(t,n,i):t,De=Ee.split(/(?:\r\n|\r|\n)/),Be=new Array(De.length),Fe=0;if(ee){ee.getTotalLength();for(var Xe=0;Xe<De.length;Xe++)_e.measureText(De[Xe]).width+(De[Xe].length-1)*Q}else{for(var qe=0;qe<De.length;qe++){var ct=_e.measureText(De[qe]).width+(De[qe].length-1)*Q;Be[qe]=ct,Fe=Math.max(Fe,ct)}var ht=Fe+p,St=c||pe.fontSize+p,bt=Math.max(St,pe.fontSize+p)+(De.length-1)*(St+ve);St+=ve;var Et=0;return k==="middle"?Et=-bt/2:k==="bottom"||k==="alphabetic"||k==="ideographic"?Et=-bt:(k==="top"||k==="hanging")&&(Et=0),{font:he,width:ht,height:bt,lines:De,lineWidths:Be,lineHeight:St,maxLineWidth:Fe,fontProperties:pe,lineMetrics:Be.map(function(xt,Dt){var Ut=0;return j==="center"||j==="middle"?Ut-=xt/2:(j==="right"||j==="end")&&(Ut-=xt),new Il(Ut-p/2,Et+Dt*St,xt+p,St)})}}}},{key:"wordWrap",value:function(t,n,i){var a=this,s=this,o=n.wordWrapWidth,l=o===void 0?0:o,c=n.letterSpacing,h=c===void 0?0:c,p=n.maxLines,C=p===void 0?1/0:p,k=n.textOverflow,W=this.runtime.offscreenCanvasCreator.getOrCreateContext(i),j=l+h,K="";k==="ellipsis"?K="...":k&&k!=="clip"&&(K=k);var Q=Array.from(t),ee=[],re=0,ve=0,he=0,pe={},_e=function(Et){return a.getFromCache(Et,h,pe,W)},Ee=_e(K);function De(bt,Et,xt,Dt){for(;_e(bt)<Dt&&Et<Q.length-1&&!s.isNewline(Q[Et+1]);)Et+=1,bt+=Q[Et];for(;_e(bt)>Dt&&Et>xt;)Et-=1,bt=bt.slice(0,-1);return{lineTxt:bt,txtLastCharIndex:Et}}function Be(bt,Et){if(!(Ee<=0||Ee>j)){if(!ee[bt]){ee[bt]=K;return}var xt=De(ee[bt],Et,he+1,j-Ee);ee[bt]=xt.lineTxt+K}}for(var Fe=0;Fe<Q.length;Fe++){var Xe=Q[Fe],qe=Q[Fe-1],ct=Q[Fe+1],ht=_e(Xe);if(this.isNewline(Xe)){if(re+1>=C){n.isOverflowing=!0,Fe<Q.length-1&&Be(re,Fe-1);break}he=Fe-1,re+=1,ve=0,ee[re]="";continue}if(ve>0&&ve+ht>j){var St=De(ee[re],Fe-1,he+1,j);if(St.txtLastCharIndex!==Fe-1){if(ee[re]=St.lineTxt,St.txtLastCharIndex===Q.length-1)break;Fe=St.txtLastCharIndex+1,Xe=Q[Fe],qe=Q[Fe-1],ct=Q[Fe+1],ht=_e(Xe)}if(re+1>=C){n.isOverflowing=!0,Be(re,Fe-1);break}if(he=Fe-1,re+=1,ve=0,ee[re]="",this.isBreakingSpace(Xe))continue;this.canBreakInLastChar(Xe)||(ee=this.trimToBreakable(ee),ve=this.sumTextWidthByCache(ee[re]||"",_e)),this.shouldBreakByKinsokuShorui(Xe,ct)&&(ee=this.trimByKinsokuShorui(ee),ve+=_e(qe||""))}ve+=ht,ee[re]=(ee[re]||"")+Xe}return ee.join(`
`)}},{key:"isBreakingSpace",value:function(t){return typeof t!="string"?!1:Jo.BreakingSpaces.indexOf(t.charCodeAt(0))>=0}},{key:"isNewline",value:function(t){return typeof t!="string"?!1:Jo.Newlines.indexOf(t.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(t){var n=(0,P.Z)(t),i=n[n.length-2],a=this.findBreakableIndex(i);if(a===-1||!i)return n;var s=i.slice(a,a+1),o=this.isBreakingSpace(s),l=a+1,c=a+(o?0:1);return n[n.length-1]+=i.slice(l,i.length),n[n.length-2]=i.slice(0,c),n}},{key:"canBreakInLastChar",value:function(t){return!(t&&dy.test(t))}},{key:"sumTextWidthByCache",value:function(t,n){return t.split("").reduce(function(i,a){return i+n(a)},0)}},{key:"findBreakableIndex",value:function(t){for(var n=t.length-1;n>=0;n--)if(!dy.test(t[n]))return n;return-1}},{key:"getFromCache",value:function(t,n,i,a){var s=i[t];if(typeof s!="number"){var o=t.length*n,l=a.measureText(t);s=l.width+o,i[t]=s}return s}}])}(),Ht={},YT=function(r){var e=new ET,t=new _T;return r={},(0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)(r,Rt.FRAGMENT,null),Rt.CIRCLE,new gT),Rt.ELLIPSE,new pT),Rt.RECT,e),Rt.IMAGE,e),Rt.GROUP,new bT),Rt.LINE,new mT),Rt.TEXT,new xT(Ht)),Rt.POLYLINE,t),Rt.POLYGON,t),(0,mn.Z)((0,mn.Z)((0,mn.Z)(r,Rt.PATH,new yT),Rt.HTML,new wT),Rt.MESH,null)}(),QT=function(r){var e=new AS,t=new Lv;return r={},(0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)(r,en.PERCENTAGE,null),en.NUMBER,new LS),en.ANGLE,new SS),en.DEFINED_PATH,new TS),en.PAINT,e),en.COLOR,e),en.FILTER,new CS),en.LENGTH,t),en.LENGTH_PERCENTAGE,t),en.LENGTH_PERCENTAGE_12,new OS),(0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)(r,en.LENGTH_PERCENTAGE_14,new PS),en.COORDINATE,new Lv),en.OFFSET_DISTANCE,new RS),en.OPACITY_VALUE,new IS),en.PATH,new NS),en.LIST_OF_POINTS,new BS),en.SHADOW_BLUR,new kS),en.TEXT,new zS),en.TEXT_TRANSFORM,new FS),en.TRANSFORM,new fT),(0,mn.Z)((0,mn.Z)((0,mn.Z)(r,en.TRANSFORM_ORIGIN,new dT),en.Z_INDEX,new vT),en.MARKER,new DS)}(),JT=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof Z.g!="undefined"?Z.g:{}};Ht.CameraContribution=fm,Ht.AnimationTimeline=null,Ht.EasingFunction=null,Ht.offscreenCanvasCreator=new Uv,Ht.sceneGraphSelector=new CT,Ht.sceneGraphService=new kT(Ht),Ht.textService=new XT(Ht),Ht.geometryUpdaterFactory=YT,Ht.CSSPropertySyntaxFactory=QT,Ht.styleValueRegistry=new wS(Ht),Ht.layoutRegistry=null,Ht.globalThis=JT(),Ht.enableStyleSyntax=!0,Ht.enableSizeAttenuation=!1;var vy=0;function Xz(){vy=0}var Hv=new Ts(tr.INSERTED,null,"","","",0,"",""),jv=new Ts(tr.REMOVED,null,"","","",0,"",""),gy=new vi(tr.DESTROY),qT=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.entity=vy++,t.renderable={bounds:void 0,boundsDirty:!0,renderBounds:void 0,renderBoundsDirty:!0,dirtyRenderBounds:void 0,dirty:!1},t.cullable={strategy:tM.Standard,visibilityPlaneMask:-1,visible:!0,enable:!0},t.transformable={dirtyFlag:!1,localDirtyFlag:!1,frozen:!1,localPosition:[0,0,0],localRotation:[0,0,0,1],localScale:[1,1,1],localTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],localSkew:[0,0],position:[0,0,0],rotation:[0,0,0,1],scaling:[1,1,1],worldTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],origin:[0,0,0]},t.sortable={dirty:!1,sorted:void 0,renderOrder:0,dirtyChildren:[],dirtyReason:void 0},t.geometry={contentBounds:void 0,renderBounds:void 0,dirty:!0},t.rBushNode={aabb:void 0},t.namespaceURI="g",t.scrollLeft=0,t.scrollTop=0,t.clientTop=0,t.clientLeft=0,t.destroyed=!1,t.style={},t.computedStyle={},t.parsedStyle={},t.attributes={},t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"className",get:function(){return this.getAttribute("class")||""},set:function(n){this.setAttribute("class",n)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(n){return n!==""})}},{key:"tagName",get:function(){return this.nodeName}},{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"parentElement",get:function(){return this.parentNode}},{key:"nextSibling",get:function(){if(this.parentNode){var n=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[n+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var n=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[n-1]||null}return null}},{key:"cloneNode",value:function(n){throw new Error(Sr)}},{key:"appendChild",value:function(n,i){var a;if(n.destroyed)throw new Error(jw);return Ht.sceneGraphService.attach(n,this,i),(a=this.ownerDocument)!==null&&a!==void 0&&a.defaultView&&(!eh(this)&&n.nodeName===Rt.FRAGMENT?this.ownerDocument.defaultView.mountFragment(n):this.ownerDocument.defaultView.mountChildren(n)),this.isMutationObserved&&(Hv.relatedNode=this,n.dispatchEvent(Hv)),n}},{key:"insertBefore",value:function(n,i){if(!i)this.appendChild(n);else{n.parentElement&&n.parentElement.removeChild(n);var a=this.childNodes.indexOf(i);a===-1?this.appendChild(n):this.appendChild(n,a)}return n}},{key:"replaceChild",value:function(n,i){var a=this.childNodes.indexOf(i);return this.removeChild(i),this.appendChild(n,a),i}},{key:"removeChild",value:function(n){var i;return jv.relatedNode=this,n.dispatchEvent(jv),(i=n.ownerDocument)!==null&&i!==void 0&&i.defaultView&&n.ownerDocument.defaultView.unmountChildren(n),Ht.sceneGraphService.detach(n),n}},{key:"removeChildren",value:function(){for(var n=this.childNodes.length-1;n>=0;n--){var i=this.childNodes[n];this.removeChild(i)}}},{key:"destroyChildren",value:function(){for(var n=this.childNodes.length-1;n>=0;n--){var i=this.childNodes[n];i.childNodes.length>0&&i.destroyChildren(),i.destroy()}}},{key:"matches",value:function(n){return Ht.sceneGraphService.matches(n,this)}},{key:"getElementById",value:function(n){return Ht.sceneGraphService.querySelector("#".concat(n),this)}},{key:"getElementsByName",value:function(n){return Ht.sceneGraphService.querySelectorAll('[name="'.concat(n,'"]'),this)}},{key:"getElementsByClassName",value:function(n){return Ht.sceneGraphService.querySelectorAll(".".concat(n),this)}},{key:"getElementsByTagName",value:function(n){return Ht.sceneGraphService.querySelectorAll(n,this)}},{key:"querySelector",value:function(n){return Ht.sceneGraphService.querySelector(n,this)}},{key:"querySelectorAll",value:function(n){return Ht.sceneGraphService.querySelectorAll(n,this)}},{key:"closest",value:function(n){var i=this;do{if(Ht.sceneGraphService.matches(n,i))return i;i=i.parentElement}while(i!==null);return null}},{key:"find",value:function(n){var i=this,a=null;return this.forEach(function(s){return s!==i&&n(s)?(a=s,!1):!0}),a}},{key:"findAll",value:function(n){var i=this,a=[];return this.forEach(function(s){s!==i&&n(s)&&a.push(s)}),a}},{key:"after",value:function(){var n=this;if(this.parentNode){for(var i=this.parentNode.childNodes.indexOf(this),a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];s.forEach(function(l,c){var h;return(h=n.parentNode)===null||h===void 0?void 0:h.appendChild(l,i+c+1)})}}},{key:"before",value:function(){if(this.parentNode){for(var n,i=this.parentNode.childNodes.indexOf(this),a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];var l=s[0],c=s.slice(1);this.parentNode.appendChild(l,i),(n=l).after.apply(n,(0,P.Z)(c))}}},{key:"replaceWith",value:function(){this.after.apply(this,arguments),this.remove()}},{key:"append",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o){return n.appendChild(o)})}},{key:"prepend",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o,l){return n.appendChild(o,l)})}},{key:"replaceChildren",value:function(){for(;this.childNodes.length&&this.firstChild;)this.removeChild(this.firstChild);this.append.apply(this,arguments)}},{key:"remove",value:function(){return this.parentNode?this.parentNode.removeChild(this):this}},{key:"destroy",value:function(){this.destroyChildren(),this.dispatchEvent(gy),this.remove(),this.emitter.removeAllListeners(),this.destroyed=!0}},{key:"getGeometryBounds",value:function(){return Ht.sceneGraphService.getGeometryBounds(this)}},{key:"getRenderBounds",value:function(){return Ht.sceneGraphService.getBounds(this,!0)}},{key:"getBounds",value:function(){return Ht.sceneGraphService.getBounds(this)}},{key:"getLocalBounds",value:function(){return Ht.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return Ht.sceneGraphService.getBoundingClientRect(this)}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"computedStyleMap",value:function(){return new Map(Object.entries(this.computedStyle))}},{key:"getAttributeNames",value:function(){return Object.keys(this.attributes)}},{key:"getAttribute",value:function(n){if(typeof n!="symbol"){var i=this.attributes[n];return i}}},{key:"hasAttribute",value:function(n){return this.getAttributeNames().includes(n)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(n){this.setAttribute(n,null),delete this.attributes[n]}},{key:"setAttribute",value:function(n,i,a,s){this.attributes[n]=i}},{key:"getAttributeNS",value:function(n,i){throw new Error(Sr)}},{key:"getAttributeNode",value:function(n){throw new Error(Sr)}},{key:"getAttributeNodeNS",value:function(n,i){throw new Error(Sr)}},{key:"hasAttributeNS",value:function(n,i){throw new Error(Sr)}},{key:"removeAttributeNS",value:function(n,i){throw new Error(Sr)}},{key:"removeAttributeNode",value:function(n){throw new Error(Sr)}},{key:"setAttributeNS",value:function(n,i,a){throw new Error(Sr)}},{key:"setAttributeNode",value:function(n){throw new Error(Sr)}},{key:"setAttributeNodeNS",value:function(n){throw new Error(Sr)}},{key:"toggleAttribute",value:function(n,i){throw new Error(Sr)}}])}(Kr);function vr(r){return!!(r!=null&&r.nodeName)}var $T=Ht.globalThis.Proxy?Ht.globalThis.Proxy:function(){},As=new Ts(tr.ATTR_MODIFIED,null,null,null,null,Ts.MODIFICATION,null,null),Rc=f(),eA=or(),Fr=function(r){function e(t){var n;return(0,b.Z)(this,e),n=_(this,e),n.isCustomElement=!1,n.isMutationObserved=!1,n.activeAnimations=[],n.config=t,n.id=t.id||"",n.name=t.name||"",(t.className||t.class)&&(n.className=t.className||t.class),n.nodeName=t.type||Rt.GROUP,t.initialParsedStyle&&Object.assign(n.parsedStyle,t.initialParsedStyle),n.initAttributes(t.style),Ht.enableStyleSyntax&&(n.style=new $T({setProperty:function(a,s){n.setAttribute(a,s)},getPropertyValue:function(a){return n.getAttribute(a)},removeProperty:function(a){n.removeAttribute(a)},item:function(){return""}},{get:function(a,s){return a[s]!==void 0?a[s]:n.getAttribute(s)},set:function(a,s,o){return n.setAttribute(s,o),!0}})),n}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"destroy",value:function(){j0(e,"destroy",this,3)([]),this.getAnimations().forEach(function(n){n.cancel()})}},{key:"cloneNode",value:function(n,i){var a=(0,H.Z)({},this.attributes);for(var s in a){var o=a[s];vr(o)&&s!=="clipPath"&&s!=="offsetPath"&&s!=="textPath"&&(a[s]=o.cloneNode(n)),i&&(a[s]=i(s,o))}var l=new this.constructor((0,H.Z)((0,H.Z)({},this.config),{},{style:a}));return l.setLocalTransform(this.getLocalTransform()),n&&this.children.forEach(function(c){if(!c.style.isMarker){var h=c.cloneNode(n);l.appendChild(h)}}),l}},{key:"initAttributes",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i={forceUpdateGeometry:!0};Ht.styleValueRegistry.processProperties(this,n,i),this.renderable.dirty=!0}},{key:"setAttribute",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;Gn(i)||(a||i!==this.attributes[n])&&(this.internalSetAttribute(n,i,{memoize:s}),j0(e,"setAttribute",this,3)([n,i]))}},{key:"internalSetAttribute",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=this.renderable,o=this.attributes[n],l=this.parsedStyle[n];Ht.styleValueRegistry.processProperties(this,(0,mn.Z)({},n,i),a),s.dirty=!0;var c=this.parsedStyle[n];if(this.isConnected&&(As.relatedNode=this,As.prevValue=o,As.newValue=i,As.attrName=n,As.prevParsedValue=l,As.newParsedValue=c,this.isMutationObserved?this.dispatchEvent(As):(As.target=this,this.ownerDocument.defaultView.dispatchEvent(As,!0))),this.isCustomElement&&this.isConnected||!this.isCustomElement){var h,p;(h=(p=this).attributeChangedCallback)===null||h===void 0||h.call(p,n,o,i,l,c)}}},{key:"getBBox",value:function(){var n=this.getBounds(),i=n.getMin(),a=(0,m.Z)(i,2),s=a[0],o=a[1],l=n.getMax(),c=(0,m.Z)(l,2),h=c[0],p=c[1];return new Il(s,o,h-s,p-o)}},{key:"setOrigin",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ht.sceneGraphService.setOrigin(this,na(n,i,a,!1)),this}},{key:"getOrigin",value:function(){return Ht.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ht.sceneGraphService.setPosition(this,na(n,i,a,!1)),this}},{key:"setLocalPosition",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ht.sceneGraphService.setLocalPosition(this,na(n,i,a,!1)),this}},{key:"translate",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ht.sceneGraphService.translate(this,na(n,i,a,!1)),this}},{key:"translateLocal",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ht.sceneGraphService.translateLocal(this,na(n,i,a,!1)),this}},{key:"getPosition",value:function(){return Ht.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return Ht.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(n,i,a){return this.scaleLocal(n,i,a)}},{key:"scaleLocal",value:function(n,i,a){return typeof n=="number"&&(i=i||n,a=a||n,n=na(n,i,a,!1)),Ht.sceneGraphService.scaleLocal(this,n),this}},{key:"setLocalScale",value:function(n,i,a){return typeof n=="number"&&(i=i||n,a=a||n,n=na(n,i,a,!1)),Ht.sceneGraphService.setLocalScale(this,n),this}},{key:"getLocalScale",value:function(){return Ht.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return Ht.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var n=dv(Rc,Ht.sceneGraphService.getWorldTransform(this)),i=(0,m.Z)(n,3),a=i[2];return ga(a)}},{key:"getLocalEulerAngles",value:function(){var n=dv(Rc,Ht.sceneGraphService.getLocalRotation(this)),i=(0,m.Z)(n,3),a=i[2];return ga(a)}},{key:"setEulerAngles",value:function(n){return Ht.sceneGraphService.setEulerAngles(this,0,0,n),this}},{key:"setLocalEulerAngles",value:function(n){return Ht.sceneGraphService.setLocalEulerAngles(this,0,0,n),this}},{key:"rotateLocal",value:function(n,i,a){return Rn(i)&&Rn(a)?Ht.sceneGraphService.rotateLocal(this,0,0,n):Ht.sceneGraphService.rotateLocal(this,n,i,a),this}},{key:"rotate",value:function(n,i,a){return Rn(i)&&Rn(a)?Ht.sceneGraphService.rotate(this,0,0,n):Ht.sceneGraphService.rotate(this,n,i,a),this}},{key:"setRotation",value:function(n,i,a,s){return Ht.sceneGraphService.setRotation(this,n,i,a,s),this}},{key:"setLocalRotation",value:function(n,i,a,s){return Ht.sceneGraphService.setLocalRotation(this,n,i,a,s),this}},{key:"setLocalSkew",value:function(n,i){return Ht.sceneGraphService.setLocalSkew(this,n,i),this}},{key:"getRotation",value:function(){return Ht.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return Ht.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return Ht.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return Ht.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return Ht.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(n){return Ht.sceneGraphService.setLocalTransform(this,n),this}},{key:"resetLocalTransform",value:function(){Ht.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(n,i){var a,s=(a=this.ownerDocument)===null||a===void 0?void 0:a.timeline;return s?s.play(this,n,i):null}},{key:"isVisible",value:function(){var n;return((n=this.parsedStyle)===null||n===void 0?void 0:n.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(n){this.style.pointerEvents=n?"auto":"none"}},{key:"isInteractive",value:function(){var n;return((n=this.parsedStyle)===null||n===void 0?void 0:n.pointerEvents)!=="none"}},{key:"isCulled",value:function(){return!!(this.cullable&&this.cullable.enable&&!this.cullable.visible)}},{key:"toFront",value:function(){return this.parentNode&&(this.style.zIndex=Math.max.apply(Math,(0,P.Z)(this.parentNode.children.map(function(n){return Number(n.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,(0,P.Z)(this.parentNode.children.map(function(n){return Number(n.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=a[0],l=a[1];return o?ii(o)?(Object.keys(o).forEach(function(c){n.setAttribute(c,o[c])}),this):a.length===2?(this.setAttribute(o,l),this):this.attributes[o]:this.attributes}},{key:"getMatrix",value:function(n){var i=n||this.getWorldTransform(),a=Bn(Rc,i),s=(0,m.Z)(a,2),o=s[0],l=s[1],c=lr(Rc,i),h=(0,m.Z)(c,2),p=h[0],C=h[1],k=qn(eA,i),W=dv(Rc,k),j=(0,m.Z)(W,3),K=j[0],Q=j[2];return Qw(K||Q,o,l,p,C)}},{key:"getLocalMatrix",value:function(){return this.getMatrix(this.getLocalTransform())}},{key:"setMatrix",value:function(n){var i=lm(n),a=(0,m.Z)(i,5),s=a[0],o=a[1],l=a[2],c=a[3],h=a[4];this.setEulerAngles(h).setPosition(s,o).setLocalScale(l,c)}},{key:"setLocalMatrix",value:function(n){var i=lm(n),a=(0,m.Z)(i,5),s=a[0],o=a[1],l=a[2],c=a[3],h=a[4];this.setLocalEulerAngles(h).setLocalPosition(s,o).setLocalScale(l,c)}},{key:"show",value:function(){this.forEach(function(n){n.style.visibility="visible"})}},{key:"hide",value:function(){this.forEach(function(n){n.style.visibility="hidden"})}},{key:"getCount",value:function(){return this.childElementCount}},{key:"getParent",value:function(){return this.parentElement}},{key:"getChildren",value:function(){return this.children}},{key:"getFirst",value:function(){return this.firstElementChild}},{key:"getLast",value:function(){return this.lastElementChild}},{key:"getChildByIndex",value:function(n){return this.children[n]||null}},{key:"add",value:function(n,i){return this.appendChild(n,i)}},{key:"set",value:function(n,i){this.config[n]=i}},{key:"get",value:function(n){return this.config[n]}},{key:"moveTo",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(n,i,a),this}},{key:"move",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(n,i,a),this}},{key:"setZIndex",value:function(n){return this.style.zIndex=n,this}}])}(qT);Fr.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","display","draggable","droppable","fill","fillOpacity","fillRule","filter","increasedLineWidthForHitTesting","lineCap","lineDash","lineDashOffset","lineJoin","lineWidth","miterLimit","hitArea","offsetDistance","offsetPath","offsetX","offsetY","opacity","pointerEvents","shadowColor","shadowType","shadowBlur","shadowOffsetX","shadowOffsetY","stroke","strokeOpacity","strokeWidth","strokeLinecap","strokeLineJoin","strokeDasharray","strokeDashoffset","transform","transformOrigin","textTransform","visibility","zIndex"]);var Ws=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,b.Z)(this,e),_(this,e,[(0,H.Z)({type:Rt.CIRCLE},t)])}return(0,g.Z)(e,r),(0,z.Z)(e)}(Fr);Ws.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(Fr.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var tA=["style"],Gv=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=(0,jo.Z)(n,tA);return(0,b.Z)(this,e),t=_(this,e,[(0,H.Z)({style:i},a)]),t.isCustomElement=!0,t}return(0,g.Z)(e,r),(0,z.Z)(e)}(Fr);Gv.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var Ic=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,b.Z)(this,e),_(this,e,[(0,H.Z)({type:Rt.ELLIPSE},t)])}return(0,g.Z)(e,r),(0,z.Z)(e)}(Fr);Ic.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(Fr.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var nA=function(r){function e(){return(0,b.Z)(this,e),_(this,e,[{type:Rt.FRAGMENT}])}return(0,g.Z)(e,r),(0,z.Z)(e)}(Fr);nA.PARSED_STYLE_LIST=new Set(["class","className"]);var Ei=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,b.Z)(this,e),_(this,e,[(0,H.Z)({type:Rt.GROUP},t)])}return(0,g.Z)(e,r),(0,z.Z)(e)}(Fr);Ei.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var rA=["style"],Nc=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=(0,jo.Z)(n,rA);return(0,b.Z)(this,e),t=_(this,e,[(0,H.Z)({type:Rt.HTML,style:i},a)]),t.cullable.enable=!1,t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var n=Ct(ut(),this.parentNode.getWorldTransform()),i=this.getBounds();if(!Nr.isEmpty(i)){var a=new Nr;return a.setFromTransformedAABB(i,n),a}}return this.getBounds()}}])}(Fr);Nc.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(Fr.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var Bc=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,b.Z)(this,e),_(this,e,[(0,H.Z)({type:Rt.IMAGE},t)])}return(0,g.Z)(e,r),(0,z.Z)(e)}(Fr);Bc.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(Fr.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var iA=["style"],qo=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=(0,jo.Z)(n,iA);(0,b.Z)(this,e),t=_(this,e,[(0,H.Z)({type:Rt.LINE,style:(0,H.Z)({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},i)},a)]),t.markerStartAngle=0,t.markerEndAngle=0;var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd;return o&&vr(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),l&&vr(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="x1"||n==="y1"||n==="x2"||n==="y2"||n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&vr(s)&&(this.markerStartAngle=0,s.remove()),o&&vr(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"&&(s&&vr(s)&&(this.markerEndAngle=0,s.remove()),o&&vr(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1)))}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,c=i.x1,h=i.x2,p=i.y1,C=i.y2,k=n?a:s;if(!(!k||!vr(k))){var W=0,j,K,Q,ee,re,ve;n?(Q=c,ee=p,j=h-c,K=C-p,re=o||0,ve=this.markerStartAngle):(Q=h,ee=C,j=c-h,K=p-C,re=l||0,ve=this.markerEndAngle),W=Math.atan2(K,j),k.setLocalEulerAngles(W*180/Math.PI+ve),k.setLocalPosition(Q+Math.cos(W)*re,ee+Math.sin(W)*re)}}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle,s=a.x1,o=a.y1,l=a.x2,c=a.y2,h=bs(s,o,l,c,n),p=h.x,C=h.y,k=Ke(f(),I(p,C,0),i?this.getWorldTransform():this.getLocalTransform());return new Ri(k[0],k[1])}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(n/this.getTotalLength(),i)}},{key:"getTotalLength",value:function(){var n=this.parsedStyle,i=n.x1,a=n.y1,s=n.x2,o=n.y2;return Y0(i,a,s,o)}}])}(Fr);qo.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(Fr.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var aA=["style"],Ta=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=(0,jo.Z)(n,aA);(0,b.Z)(this,e),t=_(this,e,[(0,H.Z)({type:Rt.PATH,style:i,initialParsedStyle:{miterLimit:4,d:(0,H.Z)({},dm)}},a)]),t.markerStartAngle=0,t.markerEndAngle=0,t.markerMidList=[];var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd,c=s.markerMid;return o&&vr(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),c&&vr(c)&&t.placeMarkerMid(c),l&&vr(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&vr(s)&&(this.markerStartAngle=0,s.remove()),o&&vr(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"?(s&&vr(s)&&(this.markerEndAngle=0,s.remove()),o&&vr(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):n==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,c=n?a:s;if(!(!c||!vr(c))){var h=0,p,C,k,W,j,K;if(n){var Q=this.getStartTangent(),ee=(0,m.Z)(Q,2),re=ee[0],ve=ee[1];k=ve[0],W=ve[1],p=re[0]-ve[0],C=re[1]-ve[1],j=o||0,K=this.markerStartAngle}else{var he=this.getEndTangent(),pe=(0,m.Z)(he,2),_e=pe[0],Ee=pe[1];k=Ee[0],W=Ee[1],p=_e[0]-Ee[0],C=_e[1]-Ee[1],j=l||0,K=this.markerEndAngle}h=Math.atan2(C,p),c.setLocalEulerAngles(h*180/Math.PI+K),c.setLocalPosition(k+Math.cos(h)*j,W+Math.sin(h)*j)}}},{key:"placeMarkerMid",value:function(n){var i=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(h){h.remove()}),n&&vr(n))for(var a=1;a<i.length-1;a++){var s=(0,m.Z)(i[a].currentPoint,2),o=s[0],l=s[1],c=a===1?n:n.cloneNode(!0);this.markerMidList.push(c),this.appendChild(c),c.setLocalPosition(o,l)}}},{key:"getTotalLength",value:function(){return Tv(this)}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.d.absolutePath,s=fw(a,n),o=s.x,l=s.y,c=Ke(f(),I(o,l,0),i?this.getWorldTransform():this.getLocalTransform());return new Ri(c[0],c[1])}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(n*Tv(this),i)}},{key:"getStartTangent",value:function(){var n=this.parsedStyle.d.segments,i=[];if(n.length>1){var a=n[0].currentPoint,s=n[1].currentPoint,o=n[1].startTangent;i=[],o?(i.push([a[0]-o[0],a[1]-o[1]]),i.push([a[0],a[1]])):(i.push([s[0],s[1]]),i.push([a[0],a[1]]))}return i}},{key:"getEndTangent",value:function(){var n=this.parsedStyle.d.segments,i=n.length,a=[];if(i>1){var s=n[i-2].currentPoint,o=n[i-1].currentPoint,l=n[i-1].endTangent;a=[],l?(a.push([o[0]-l[0],o[1]-l[1]]),a.push([o[0],o[1]])):(a.push([s[0],s[1]]),a.push([o[0],o[1]]))}return a}}])}(Fr);Ta.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(Fr.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var sA=["style"],$o=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=(0,jo.Z)(n,sA);(0,b.Z)(this,e),t=_(this,e,[(0,H.Z)({type:Rt.POLYGON,style:i,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},a)]),t.markerStartAngle=0,t.markerEndAngle=0,t.markerMidList=[];var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd,c=s.markerMid;return o&&vr(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),c&&vr(c)&&t.placeMarkerMid(c),l&&vr(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&vr(s)&&(this.markerStartAngle=0,s.remove()),o&&vr(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"?(s&&vr(s)&&(this.markerEndAngle=0,s.remove()),o&&vr(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):n==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,c=i.points,h=c||{},p=h.points,C=n?a:s;if(!(!C||!vr(C)||!p)){var k=0,W,j,K,Q,ee,re;if(K=p[0][0],Q=p[0][1],n)W=p[1][0]-p[0][0],j=p[1][1]-p[0][1],ee=o||0,re=this.markerStartAngle;else{var ve=p.length;this.parsedStyle.isClosed?(W=p[ve-1][0]-p[0][0],j=p[ve-1][1]-p[0][1]):(K=p[ve-1][0],Q=p[ve-1][1],W=p[ve-2][0]-p[ve-1][0],j=p[ve-2][1]-p[ve-1][1]),ee=l||0,re=this.markerEndAngle}k=Math.atan2(j,W),C.setLocalEulerAngles(k*180/Math.PI+re),C.setLocalPosition(K+Math.cos(k)*ee,Q+Math.sin(k)*ee)}}},{key:"placeMarkerMid",value:function(n){var i=this.parsedStyle.points,a=i||{},s=a.points;if(this.markerMidList.forEach(function(p){p.remove()}),this.markerMidList=[],n&&vr(n)&&s)for(var o=1;o<(this.parsedStyle.isClosed?s.length:s.length-1);o++){var l=s[o][0],c=s[o][1],h=o===1?n:n.cloneNode(!0);this.markerMidList.push(h),this.appendChild(h),h.setLocalPosition(l,c)}}}])}(Fr);$o.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(Fr.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var oA=["style"],sh=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.style,i=(0,jo.Z)(t,oA);return(0,b.Z)(this,e),_(this,e,[(0,H.Z)({type:Rt.POLYLINE,style:n,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},i)])}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"getTotalLength",value:function(){return QM(this)}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(n/this.getTotalLength(),i)}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var s=[],o=0,l,c,h=this.getTotalLength();a.forEach(function(Q,ee){a[ee+1]&&(l=[0,0],l[0]=o/h,c=Y0(Q[0],Q[1],a[ee+1][0],a[ee+1][1]),o+=c,l[1]=o/h,s.push(l))}),this.parsedStyle.points.segments=s}var p=0,C=0;this.parsedStyle.points.segments.forEach(function(Q,ee){n>=Q[0]&&n<=Q[1]&&(p=(n-Q[0])/(Q[1]-Q[0]),C=ee)});var k=bs(a[C][0],a[C][1],a[C+1][0],a[C+1][1],p),W=k.x,j=k.y,K=Ke(f(),I(W,j,0),i?this.getWorldTransform():this.getLocalTransform());return new Ri(K[0],K[1])}},{key:"getStartTangent",value:function(){var n=this.parsedStyle.points.points,i=[];return i.push([n[1][0],n[1][1]]),i.push([n[0][0],n[0][1]]),i}},{key:"getEndTangent",value:function(){var n=this.parsedStyle.points.points,i=n.length-1,a=[];return a.push([n[i-1][0],n[i-1][1]]),a.push([n[i][0],n[i][1]]),a}}])}($o);sh.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)($o.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var Ii=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,b.Z)(this,e),_(this,e,[(0,H.Z)({type:Rt.RECT},t)])}return(0,g.Z)(e,r),(0,z.Z)(e)}(Fr);Ii.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(Fr.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var lA=["style"],el=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.style,i=(0,jo.Z)(t,lA);return(0,b.Z)(this,e),_(this,e,[(0,H.Z)({type:Rt.TEXT,style:(0,H.Z)({fill:"black"},n)},i)])}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"getComputedTextLength",value:function(){var n;return this.getGeometryBounds(),((n=this.parsedStyle.metrics)===null||n===void 0?void 0:n.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var n;return this.getGeometryBounds(),((n=this.parsedStyle.metrics)===null||n===void 0?void 0:n.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(Fr);el.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(Fr.PARSED_STYLE_LIST),["x","y","z","isBillboard","billboardRotation","isSizeAttenuation","text","textAlign","textBaseline","fontStyle","fontSize","fontFamily","fontWeight","fontVariant","lineHeight","letterSpacing","leading","wordWrap","wordWrapWidth","maxLines","textOverflow","isOverflowing","textPath","textDecorationLine","textDecorationColor","textDecorationStyle","textPathSide","textPathStartOffset","metrics","dx","dy"]));var cA=function(){function r(){(0,b.Z)(this,r),this.registry={},this.define(Rt.CIRCLE,Ws),this.define(Rt.ELLIPSE,Ic),this.define(Rt.RECT,Ii),this.define(Rt.IMAGE,Bc),this.define(Rt.LINE,qo),this.define(Rt.GROUP,Ei),this.define(Rt.PATH,Ta),this.define(Rt.POLYGON,$o),this.define(Rt.POLYLINE,sh),this.define(Rt.TEXT,el),this.define(Rt.HTML,Nc)}return(0,z.Z)(r,[{key:"define",value:function(t,n){this.registry[t]=n}},{key:"get",value:function(t){return this.registry[t]}}])}(),Yz={number:function(e){return new Cr(e)},percent:function(e){return new Cr(e,"%")},px:function(e){return new Cr(e,"px")},em:function(e){return new Cr(e,"em")},rem:function(e){return new Cr(e,"rem")},deg:function(e){return new Cr(e,"deg")},grad:function(e){return new Cr(e,"grad")},rad:function(e){return new Cr(e,"rad")},turn:function(e){return new Cr(e,"turn")},s:function(e){return new Cr(e,"s")},ms:function(e){return new Cr(e,"ms")},registerProperty:function(e){var t=e.name,n=e.inherits,i=e.interpolable,a=e.initialValue,s=e.syntax;Ht.styleValueRegistry.registerMetadata({n:t,inh:n,int:i,d:a,syntax:s})},registerLayout:function(e,t){Ht.layoutRegistry.registerLayout(e,t)}},py=function(r){function e(){var t;(0,b.Z)(this,e),t=_(this,e),t.defaultView=null,t.ownerDocument=null,t.nodeName="document";try{t.timeline=new Ht.AnimationTimeline(t)}catch(i){}var n={};return Dv.forEach(function(i){var a=i.n,s=i.inh,o=i.d;s&&o&&(n[a]=xn(o)?o(Rt.GROUP):o)}),t.documentElement=new Ei({id:"g-root",style:n}),t.documentElement.ownerDocument=t,t.documentElement.parentNode=t,t.childNodes=[t.documentElement],t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"createElement",value:function(n,i){if(n==="svg")return this.documentElement;var a=this.defaultView.customElements.get(n);a||(console.warn("Unsupported tagName: ",n),a=n==="tspan"?el:Ei);var s=new a(i);return s.ownerDocument=this,s}},{key:"createElementNS",value:function(n,i,a){return this.createElement(i,a)}},{key:"cloneNode",value:function(n){throw new Error(Sr)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch(n){}}},{key:"elementsFromBBox",value:function(n,i,a,s){var o=this.defaultView.context.rBushRoot,l=o.search({minX:n,minY:i,maxX:a,maxY:s}),c=[];return l.forEach(function(h){var p=h.displayObject,C=p.parsedStyle.pointerEvents,k=C===void 0?"auto":C,W=["auto","visiblepainted","visiblefill","visiblestroke","visible"].includes(k);(!W||W&&p.isVisible())&&!p.isCulled()&&p.isInteractive()&&c.push(p)}),c.sort(function(h,p){return p.sortable.renderOrder-h.sortable.renderOrder}),c}},{key:"elementFromPointSync",value:function(n,i){var a=this.defaultView.canvas2Viewport({x:n,y:i}),s=a.x,o=a.y,l=this.defaultView.getConfig(),c=l.width,h=l.height;if(s<0||o<0||s>c||o>h)return null;var p=this.defaultView.viewport2Client({x:s,y:o}),C=p.x,k=p.y,W=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!0,position:{x:n,y:i,viewportX:s,viewportY:o,clientX:C,clientY:k},picked:[]}),j=W.picked;return j&&j[0]||this.documentElement}},{key:"elementFromPoint",value:function(){var t=(0,so.Z)((0,Ki.Z)().mark(function i(a,s){var o,l,c,h,p,C,k,W,j,K,Q;return(0,Ki.Z)().wrap(function(re){for(;;)switch(re.prev=re.next){case 0:if(o=this.defaultView.canvas2Viewport({x:a,y:s}),l=o.x,c=o.y,h=this.defaultView.getConfig(),p=h.width,C=h.height,!(l<0||c<0||l>p||c>C)){re.next=4;break}return re.abrupt("return",null);case 4:return k=this.defaultView.viewport2Client({x:l,y:c}),W=k.x,j=k.y,re.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:a,y:s,viewportX:l,viewportY:c,clientX:W,clientY:j},picked:[]});case 7:return K=re.sent,Q=K.picked,re.abrupt("return",Q&&Q[0]||this.documentElement);case 10:case"end":return re.stop()}},i,this)}));function n(i,a){return t.apply(this,arguments)}return n}()},{key:"elementsFromPointSync",value:function(n,i){var a=this.defaultView.canvas2Viewport({x:n,y:i}),s=a.x,o=a.y,l=this.defaultView.getConfig(),c=l.width,h=l.height;if(s<0||o<0||s>c||o>h)return[];var p=this.defaultView.viewport2Client({x:s,y:o}),C=p.x,k=p.y,W=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!1,position:{x:n,y:i,viewportX:s,viewportY:o,clientX:C,clientY:k},picked:[]}),j=W.picked;return j[j.length-1]!==this.documentElement&&j.push(this.documentElement),j}},{key:"elementsFromPoint",value:function(){var t=(0,so.Z)((0,Ki.Z)().mark(function i(a,s){var o,l,c,h,p,C,k,W,j,K,Q;return(0,Ki.Z)().wrap(function(re){for(;;)switch(re.prev=re.next){case 0:if(o=this.defaultView.canvas2Viewport({x:a,y:s}),l=o.x,c=o.y,h=this.defaultView.getConfig(),p=h.width,C=h.height,!(l<0||c<0||l>p||c>C)){re.next=4;break}return re.abrupt("return",[]);case 4:return k=this.defaultView.viewport2Client({x:l,y:c}),W=k.x,j=k.y,re.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:a,y:s,viewportX:l,viewportY:c,clientX:W,clientY:j},picked:[]});case 7:return K=re.sent,Q=K.picked,Q[Q.length-1]!==this.documentElement&&Q.push(this.documentElement),re.abrupt("return",Q);case 11:case"end":return re.stop()}},i,this)}));function n(i,a){return t.apply(this,arguments)}return n}()},{key:"appendChild",value:function(n,i){throw new Error(Nl)}},{key:"insertBefore",value:function(n,i){throw new Error(Nl)}},{key:"removeChild",value:function(n,i){throw new Error(Nl)}},{key:"replaceChild",value:function(n,i,a){throw new Error(Nl)}},{key:"append",value:function(){throw new Error(Nl)}},{key:"prepend",value:function(){throw new Error(Nl)}},{key:"getElementById",value:function(n){return this.documentElement.getElementById(n)}},{key:"getElementsByName",value:function(n){return this.documentElement.getElementsByName(n)}},{key:"getElementsByTagName",value:function(n){return this.documentElement.getElementsByTagName(n)}},{key:"getElementsByClassName",value:function(n){return this.documentElement.getElementsByClassName(n)}},{key:"querySelector",value:function(n){return this.documentElement.querySelector(n)}},{key:"querySelectorAll",value:function(n){return this.documentElement.querySelectorAll(n)}},{key:"find",value:function(n){return this.documentElement.find(n)}},{key:"findAll",value:function(n){return this.documentElement.findAll(n)}}])}(Kr),my=function(){function r(e){(0,b.Z)(this,r),this.strategies=e}return(0,z.Z)(r,[{key:"apply",value:function(t){var n=t.camera,i=t.renderingService,a=t.renderingContext,s=this.strategies;i.hooks.cull.tap(r.tag,function(o){if(o){var l=o.cullable;return s.length===0?l.visible=a.unculledEntities.indexOf(o.entity)>-1:l.visible=s.every(function(c){return c.isVisible(n,o)}),!o.isCulled()&&o.isVisible()?o:(o.dispatchEvent(new vi(tr.CULLED)),null)}return o}),i.hooks.afterRender.tap(r.tag,function(o){o.cullable.visibilityPlaneMask=-1})}}])}();my.tag="Culling";var yy=function(){function r(){var e=this;(0,b.Z)(this,r),this.autoPreventDefault=!1,this.rootPointerEvent=new nh(null),this.rootWheelEvent=new Fv(null),this.onPointerMove=function(t){var n,i=(n=e.context.renderingContext.root)===null||n===void 0||(n=n.ownerDocument)===null||n===void 0?void 0:n.defaultView;if(!(i.supportsTouchEvents&&t.pointerType==="touch")){var a=e.normalizeToPointerEvent(t,i),s=Ho(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,c=e.bootstrapEvent(e.rootPointerEvent,l,i,t);e.context.eventService.mapEvent(c)}}catch(h){s.e(h)}finally{s.f()}e.setCursor(e.context.eventService.cursor)}},this.onClick=function(t){var n,i=(n=e.context.renderingContext.root)===null||n===void 0||(n=n.ownerDocument)===null||n===void 0?void 0:n.defaultView,a=e.normalizeToPointerEvent(t,i),s=Ho(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,c=e.bootstrapEvent(e.rootPointerEvent,l,i,t);e.context.eventService.mapEvent(c)}}catch(h){s.e(h)}finally{s.f()}e.setCursor(e.context.eventService.cursor)}}return(0,z.Z)(r,[{key:"apply",value:function(t){var n=this;this.context=t;var i=t.renderingService,a=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(s){var o=n.context.renderingService.hooks.pickSync.call({position:s,picked:[],topmost:!0}),l=o.picked;return l[0]||null}),i.hooks.pointerWheel.tap(r.tag,function(s){var o=n.normalizeWheelEvent(s);n.context.eventService.mapEvent(o)}),i.hooks.pointerDown.tap(r.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=n.normalizeToPointerEvent(s,a);if(n.autoPreventDefault&&o[0].isNormalized){var l=s.cancelable||!("cancelable"in s);l&&s.preventDefault()}var c=Ho(o),h;try{for(c.s();!(h=c.n()).done;){var p=h.value,C=n.bootstrapEvent(n.rootPointerEvent,p,a,s);n.context.eventService.mapEvent(C)}}catch(k){c.e(k)}finally{c.f()}n.setCursor(n.context.eventService.cursor)}}),i.hooks.pointerUp.tap(r.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=n.context.contextService.getDomElement(),l=n.context.eventService.isNativeEventFromCanvas(o,s),c=l?"":"outside",h=n.normalizeToPointerEvent(s,a),p=Ho(h),C;try{for(p.s();!(C=p.n()).done;){var k=C.value,W=n.bootstrapEvent(n.rootPointerEvent,k,a,s);W.type+=c,n.context.eventService.mapEvent(W)}}catch(j){p.e(j)}finally{p.f()}n.setCursor(n.context.eventService.cursor)}}),i.hooks.pointerMove.tap(r.tag,this.onPointerMove),i.hooks.pointerOver.tap(r.tag,this.onPointerMove),i.hooks.pointerOut.tap(r.tag,this.onPointerMove),i.hooks.click.tap(r.tag,this.onClick),i.hooks.pointerCancel.tap(r.tag,function(s){var o=n.normalizeToPointerEvent(s,a),l=Ho(o),c;try{for(l.s();!(c=l.n()).done;){var h=c.value,p=n.bootstrapEvent(n.rootPointerEvent,h,a,s);n.context.eventService.mapEvent(p)}}catch(C){l.e(C)}finally{l.f()}n.setCursor(n.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(t,n,i,a){t.view=i,t.originalEvent=null,t.nativeEvent=a,t.pointerId=n.pointerId,t.width=n.width,t.height=n.height,t.isPrimary=n.isPrimary,t.pointerType=n.pointerType,t.pressure=n.pressure,t.tangentialPressure=n.tangentialPressure,t.tiltX=n.tiltX,t.tiltY=n.tiltY,t.twist=n.twist,this.transferMouseData(t,n);var s=this.context.eventService.client2Viewport({x:n.clientX,y:n.clientY}),o=s.x,l=s.y;t.viewport.x=o,t.viewport.y=l;var c=this.context.eventService.viewport2Canvas(t.viewport),h=c.x,p=c.y;return t.canvas.x=h,t.canvas.y=p,t.global.copyFrom(t.canvas),t.offset.copyFrom(t.canvas),t.isTrusted=a.isTrusted,t.type==="pointerleave"&&(t.type="pointerout"),t.type.startsWith("mouse")&&(t.type=t.type.replace("mouse","pointer")),t.type.startsWith("touch")&&(t.type=KS[t.type]||t.type),t}},{key:"normalizeWheelEvent",value:function(t){var n=this.rootWheelEvent;this.transferMouseData(n,t),n.deltaMode=t.deltaMode,n.deltaX=t.deltaX,n.deltaY=t.deltaY,n.deltaZ=t.deltaZ;var i=this.context.eventService.client2Viewport({x:t.clientX,y:t.clientY}),a=i.x,s=i.y;n.viewport.x=a,n.viewport.y=s;var o=this.context.eventService.viewport2Canvas(n.viewport),l=o.x,c=o.y;return n.canvas.x=l,n.canvas.y=c,n.global.copyFrom(n.canvas),n.offset.copyFrom(n.canvas),n.nativeEvent=t,n.type=t.type,n}},{key:"transferMouseData",value:function(t,n){t.isTrusted=n.isTrusted,t.srcElement=n.srcElement,t.timeStamp=Nv.now(),t.type=n.type,t.altKey=n.altKey,t.metaKey=n.metaKey,t.shiftKey=n.shiftKey,t.ctrlKey=n.ctrlKey,t.button=n.button,t.buttons=n.buttons,t.client.x=n.clientX,t.client.y=n.clientY,t.movement.x=n.movementX,t.movement.y=n.movementY,t.page.x=n.pageX,t.page.y=n.pageY,t.screen.x=n.screenX,t.screen.y=n.screenY,t.relatedTarget=null}},{key:"setCursor",value:function(t){this.context.contextService.applyCursorStyle(t||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(t,n){var i=[];if(n.isTouchEvent(t))for(var a=0;a<t.changedTouches.length;a++){var s=t.changedTouches[a];Gn(s.button)&&(s.button=0),Gn(s.buttons)&&(s.buttons=1),Gn(s.isPrimary)&&(s.isPrimary=t.touches.length===1&&t.type==="touchstart"),Gn(s.width)&&(s.width=s.radiusX||1),Gn(s.height)&&(s.height=s.radiusY||1),Gn(s.tiltX)&&(s.tiltX=0),Gn(s.tiltY)&&(s.tiltY=0),Gn(s.pointerType)&&(s.pointerType="touch"),Gn(s.pointerId)&&(s.pointerId=s.identifier||0),Gn(s.pressure)&&(s.pressure=s.force||.5),Gn(s.twist)&&(s.twist=0),Gn(s.tangentialPressure)&&(s.tangentialPressure=0),s.isNormalized=!0,s.type=t.type,i.push(s)}else if(n.isMouseEvent(t)){var o=t;Gn(o.isPrimary)&&(o.isPrimary=!0),Gn(o.width)&&(o.width=1),Gn(o.height)&&(o.height=1),Gn(o.tiltX)&&(o.tiltX=0),Gn(o.tiltY)&&(o.tiltY=0),Gn(o.pointerType)&&(o.pointerType="mouse"),Gn(o.pointerId)&&(o.pointerId=ZS),Gn(o.pressure)&&(o.pressure=.5),Gn(o.twist)&&(o.twist=0),Gn(o.tangentialPressure)&&(o.tangentialPressure=0),o.isNormalized=!0,i.push(o)}else i.push(t);return i}}])}();yy.tag="Event";var uA=[Rt.CIRCLE,Rt.ELLIPSE,Rt.IMAGE,Rt.RECT,Rt.LINE,Rt.POLYLINE,Rt.POLYGON,Rt.TEXT,Rt.PATH,Rt.HTML],hA=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"isVisible",value:function(t,n){var i,a=n.cullable;if(!a.enable)return!0;var s=n.getRenderBounds();if(Nr.isEmpty(s))return!1;var o=t.getFrustum(),l=(i=n.parentNode)===null||i===void 0||(i=i.cullable)===null||i===void 0?void 0:i.visibilityPlaneMask;return a.visibilityPlaneMask=this.computeVisibilityWithPlaneMask(n,s,l||Rl.INDETERMINATE,o.planes),a.visible=a.visibilityPlaneMask!==Rl.OUTSIDE,a.visible}},{key:"computeVisibilityWithPlaneMask",value:function(t,n,i,a){if(i===Rl.OUTSIDE||i===Rl.INSIDE)return i;for(var s=Rl.INSIDE,o=uA.indexOf(t.nodeName)>-1,l=0,c=a.length;l<c;++l){var h=1<<l;if(i&h&&!(o&&(l===4||l===5))){var p=a[l],C=p.normal,k=p.distance;if(We(C,n.getPositiveFarPoint(a[l]))+k<0)return Rl.OUTSIDE;We(C,n.getNegativeFarPoint(a[l]))+k<0&&(s|=h)}}return s}}])}(),_y=function(){function r(){(0,b.Z)(this,r),this.syncTasks=new Map,this.isFirstTimeRendering=!0,this.syncing=!1,this.isFirstTimeRenderingFinished=!1}return(0,z.Z)(r,[{key:"apply",value:function(t){var n=this,i,a=t.renderingService,s=t.renderingContext,o=t.rBushRoot,l=s.root.ownerDocument.defaultView;this.rBush=o;var c=function(j){var K=j.target;K.renderable.dirty=!0,a.dirtify()},h=function(j){n.syncTasks.set(j.target,j.detail.affectChildren),a.dirtify()},p=function(j){var K=j.target;Ht.enableSizeAttenuation&&Ht.styleValueRegistry.updateSizeAttenuation(K,l.getCamera().getZoom())},C=function(j){var K=j.target,Q=K.rBushNode;Q.aabb&&n.rBush.remove(Q.aabb),n.syncTasks.delete(K),Ht.sceneGraphService.dirtifyToRoot(K),a.dirtify()};a.hooks.init.tap(r.tag,function(){l.addEventListener(tr.MOUNTED,p),l.addEventListener(tr.UNMOUNTED,C),l.addEventListener(tr.ATTR_MODIFIED,c),l.addEventListener(tr.BOUNDS_CHANGED,h)}),a.hooks.destroy.tap(r.tag,function(){l.removeEventListener(tr.MOUNTED,p),l.removeEventListener(tr.UNMOUNTED,C),l.removeEventListener(tr.ATTR_MODIFIED,c),l.removeEventListener(tr.BOUNDS_CHANGED,h),n.syncTasks.clear()});var k=(i=Ht.globalThis.requestIdleCallback)!==null&&i!==void 0?i:Bv.bind(Ht.globalThis);a.hooks.endFrame.tap(r.tag,function(){n.isFirstTimeRendering?(n.isFirstTimeRendering=!1,n.syncing=!0,k(function(){n.syncRTree(!0),n.isFirstTimeRenderingFinished=!0})):n.syncRTree()})}},{key:"syncNode",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(t.isConnected){var i=t.rBushNode;i.aabb&&this.rBush.remove(i.aabb);var a=t.getRenderBounds();if(a){var s=t.renderable;n&&(s.dirtyRenderBounds||(s.dirtyRenderBounds=new Nr),s.dirtyRenderBounds.update(a.center,a.halfExtents));var o=a.getMin(),l=(0,m.Z)(o,2),c=l[0],h=l[1],p=a.getMax(),C=(0,m.Z)(p,2),k=C[0],W=C[1];i.aabb||(i.aabb={}),i.aabb.displayObject=t,i.aabb.minX=c,i.aabb.minY=h,i.aabb.maxX=k,i.aabb.maxY=W}if(i.aabb&&!isNaN(i.aabb.maxX)&&!isNaN(i.aabb.maxX)&&!isNaN(i.aabb.minX)&&!isNaN(i.aabb.minY))return i.aabb}}},{key:"syncRTree",value:function(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!(!n&&(this.syncing||this.syncTasks.size===0))){this.syncing=!0;var i=[],a=new Set,s=function(l){if(!a.has(l)&&l.renderable){var c=t.syncNode(l,n);c&&(i.push(c),a.add(l))}};this.syncTasks.forEach(function(o,l){o&&l.forEach(s);for(var c=l;c;)s(c),c=c.parentElement}),this.rBush.load(i),i.length=0,this.syncing=!1}}}])}();_y.tag="Prepare";function Qz(r){return!!r.document}var Aa=function(r){return r.READY="ready",r.BEFORE_RENDER="beforerender",r.RERENDER="rerender",r.AFTER_RENDER="afterrender",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.RESIZE="resize",r.DIRTY_RECTANGLE="dirtyrectangle",r.RENDERER_CHANGED="rendererchanged",r}({}),Ey=500,fA=.1,dA=1e3,oh=new vi(tr.MOUNTED),lh=new vi(tr.UNMOUNTED),Vv=new vi(Aa.BEFORE_RENDER),xy=new vi(Aa.RERENDER),Zv=new vi(Aa.AFTER_RENDER),Kv=function(r){function e(t){var n;(0,b.Z)(this,e),n=_(this,e),n.Element=Fr,n.inited=!1,n.context={};var i=t.container,a=t.canvas,s=t.renderer,o=t.width,l=t.height,c=t.background,h=t.cursor,p=t.supportsMutipleCanvasesInOneContainer,C=t.cleanUpOnDestroy,k=C===void 0?!0:C,W=t.offscreenCanvas,j=t.devicePixelRatio,K=t.requestAnimationFrame,Q=t.cancelAnimationFrame,ee=t.createImage,re=t.supportsTouchEvents,ve=t.supportsPointerEvents,he=t.isTouchEvent,pe=t.isMouseEvent,_e=t.dblClickSpeed,Ee=o,De=l,Be=j||Iv&&window.devicePixelRatio||1;return Be=Be>=1?Math.ceil(Be):1,a&&(Ee=o||GS(a)||a.width/Be,De=l||VS(a)||a.height/Be),n.customElements=new cA,n.devicePixelRatio=Be,n.requestAnimationFrame=K!=null?K:Bv.bind(Ht.globalThis),n.cancelAnimationFrame=Q!=null?Q:iy.bind(Ht.globalThis),n.supportsTouchEvents=re!=null?re:"ontouchstart"in Ht.globalThis,n.supportsPointerEvents=ve!=null?ve:!!Ht.globalThis.PointerEvent,n.isTouchEvent=he!=null?he:function(Fe){return n.supportsTouchEvents&&Fe instanceof Ht.globalThis.TouchEvent},n.isMouseEvent=pe!=null?pe:function(Fe){return!Ht.globalThis.MouseEvent||Fe instanceof Ht.globalThis.MouseEvent&&(!n.supportsPointerEvents||!(Fe instanceof Ht.globalThis.PointerEvent))},W&&(Ht.offscreenCanvas=W),n.document=new py,n.document.defaultView=n,p||US(i,n,k),n.initRenderingContext((0,H.Z)((0,H.Z)({},t),{},{width:Ee,height:De,background:c!=null?c:"transparent",cursor:h!=null?h:"default",cleanUpOnDestroy:k,devicePixelRatio:Be,requestAnimationFrame:n.requestAnimationFrame,cancelAnimationFrame:n.cancelAnimationFrame,supportsTouchEvents:n.supportsTouchEvents,supportsPointerEvents:n.supportsPointerEvents,isTouchEvent:n.isTouchEvent,isMouseEvent:n.isMouseEvent,dblClickSpeed:_e!=null?_e:200,createImage:ee!=null?ee:function(){return new window.Image}})),n.initDefaultCamera(Ee,De,s.clipSpaceNearZ),n.initRenderer(s,!0),n}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"initRenderingContext",value:function(n){this.context.config=n,this.context.renderingContext={root:this.document.documentElement,renderListCurrentFrame:[],unculledEntities:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(n,i,a){var s=this,o=new Ht.CameraContribution;o.clipSpaceNearZ=a,o.setType(Ar.EXPLORING,gv.DEFAULT).setPosition(n/2,i/2,Ey).setFocalPoint(n/2,i/2,0).setOrthographic(n/-2,n/2,i/2,i/-2,fA,dA),o.canvas=this,o.eventEmitter.on(um.UPDATED,function(){s.context.renderingContext.renderReasons.add(Ul.CAMERA_CHANGED),Ht.enableSizeAttenuation&&s.getConfig().renderer.getConfig().enableSizeAttenuation&&s.updateSizeAttenuation()}),this.context.camera=o}},{key:"updateSizeAttenuation",value:function(){var n=this.getCamera().getZoom();this.document.documentElement.forEach(function(i){Ht.styleValueRegistry.updateSizeAttenuation(i,n)})}},{key:"getConfig",value:function(){return this.context.config}},{key:"getRoot",value:function(){return this.document.documentElement}},{key:"getCamera",value:function(){return this.context.camera}},{key:"getContextService",value:function(){return this.context.contextService}},{key:"getEventService",value:function(){return this.context.eventService}},{key:"getRenderingService",value:function(){return this.context.renderingService}},{key:"getRenderingContext",value:function(){return this.context.renderingContext}},{key:"getStats",value:function(){return this.getRenderingService().getStats()}},{key:"ready",get:function(){var n=this;return this.readyPromise||(this.readyPromise=new Promise(function(i){n.resolveReadyPromise=function(){i(n)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,i=arguments.length>1?arguments[1]:void 0;di.clearCache(),i||this.dispatchEvent(new vi(Aa.BEFORE_DESTROY)),this.frameId&&this.cancelAnimationFrame(this.frameId);var a=this.getRoot();n&&(this.unmountChildren(a),this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),this.context.rBushRoot&&this.context.rBushRoot.clear(),i||this.dispatchEvent(new vi(Aa.AFTER_DESTROY));var s=function(l){l.currentTarget=null,l.manager=null,l.target=null,l.relatedNode=null};s(oh),s(lh),s(Vv),s(xy),s(Zv),s(As),s(Hv),s(jv),s(gy)}},{key:"changeSize",value:function(n,i){this.resize(n,i)}},{key:"resize",value:function(n,i){var a=this.context.config;a.width=n,a.height=i,this.getContextService().resize(n,i);var s=this.context.camera,o=s.getProjectionMode();s.setPosition(n/2,i/2,Ey).setFocalPoint(n/2,i/2,0),o===Wa.ORTHOGRAPHIC?s.setOrthographic(n/-2,n/2,i/2,i/-2,s.getNear(),s.getFar()):s.setAspect(n/i),this.dispatchEvent(new vi(Aa.RESIZE,{width:n,height:i}))}},{key:"appendChild",value:function(n,i){return this.document.documentElement.appendChild(n,i)}},{key:"insertBefore",value:function(n,i){return this.document.documentElement.insertBefore(n,i)}},{key:"removeChild",value:function(n){return this.document.documentElement.removeChild(n)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(n){var i=this;n&&(Vv.detail=n,Zv.detail=n),this.dispatchEvent(Vv);var a=this.getRenderingService();a.render(this.getConfig(),n,function(){i.dispatchEvent(xy)}),this.dispatchEvent(Zv)}},{key:"run",value:function(){var n=this,i=function(s,o){n.render(o),n.frameId=n.requestAnimationFrame(i)};i()}},{key:"initRenderer",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!n)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.rBushRoot=new kw,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new yy,new _y,new my([new hA])),this.loadRendererContainerModule(n),this.context.contextService=new this.context.ContextService((0,H.Z)((0,H.Z)({},Ht),this.context)),this.context.renderingService=new TT(Ht,this.context),this.context.eventService=new ST(Ht,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(n,a,!0)):this.context.contextService.initAsync().then(function(){i.initRenderingService(n,a)}).catch(function(s){console.error(s)})}},{key:"initRenderingService",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.context.renderingService.init(function(){i.inited=!0,a?s?i.requestAnimationFrame(function(){i.dispatchEvent(new vi(Aa.READY))}):i.dispatchEvent(new vi(Aa.READY)):i.dispatchEvent(new vi(Aa.RENDERER_CHANGED)),i.readyPromise&&i.resolveReadyPromise(),a||i.getRoot().forEach(function(o){var l=o,c=l.renderable;c&&(c.renderBoundsDirty=!0,c.boundsDirty=!0,c.dirty=!0)}),i.mountChildren(i.getRoot()),n.getConfig().enableAutoRendering&&i.run()})}},{key:"loadRendererContainerModule",value:function(n){var i=this,a=n.getPlugins();a.forEach(function(s){s.context=i.context,s.init(Ht)})}},{key:"setRenderer",value:function(n){var i=this.getConfig();if(i.renderer!==n){var a=i.renderer;i.renderer=n,this.destroy(!1,!0),(0,P.Z)((a==null?void 0:a.getPlugins())||[]).reverse().forEach(function(s){s.destroy(Ht)}),this.initRenderer(n)}}},{key:"setCursor",value:function(n){var i=this.getConfig();i.cursor=n,this.getContextService().applyCursorStyle(n)}},{key:"unmountChildren",value:function(n){var i=this;n.childNodes.forEach(function(a){i.unmountChildren(a)}),this.inited&&(n.isMutationObserved?n.dispatchEvent(lh):(lh.target=n,this.dispatchEvent(lh,!0)),n!==this.document.documentElement&&(n.ownerDocument=null),n.isConnected=!1),n.isCustomElement&&n.disconnectedCallback&&n.disconnectedCallback()}},{key:"mountChildren",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:eh(n);this.inited?n.isConnected||(n.ownerDocument=this.document,n.isConnected=!0,a||(n.isMutationObserved?n.dispatchEvent(oh):(oh.target=n,this.dispatchEvent(oh,!0)))):console.warn("[g]: You are trying to call `canvas.appendChild` before canvas' initialization finished. You can either await `canvas.ready` or listen to `CanvasEvent.READY` manually.","appended child: ",n.nodeName),n.childNodes.forEach(function(s){i.mountChildren(s,a)}),n.isCustomElement&&n.connectedCallback&&n.connectedCallback()}},{key:"mountFragment",value:function(n){this.mountChildren(n,!1)}},{key:"client2Viewport",value:function(n){return this.getEventService().client2Viewport(n)}},{key:"viewport2Client",value:function(n){return this.getEventService().viewport2Client(n)}},{key:"viewport2Canvas",value:function(n){return this.getEventService().viewport2Canvas(n)}},{key:"canvas2Viewport",value:function(n){return this.getEventService().canvas2Viewport(n)}},{key:"getPointByClient",value:function(n,i){return this.client2Viewport({x:n,y:i})}},{key:"getClientByPoint",value:function(n,i){return this.viewport2Client({x:n,y:i})}}])}(cy);var vA=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.landmarks=[],t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"rotate",value:function(n,i,a){if(this.relElevation=Bl(i),this.relAzimuth=Bl(n),this.relRoll=Bl(a),this.elevation+=this.relElevation,this.azimuth+=this.relAzimuth,this.roll+=this.relRoll,this.type===Ar.EXPLORING){var s=wa(or(),[1,0,0],Tr((this.rotateWorld?1:-1)*this.relElevation)),o=wa(or(),[0,1,0],Tr((this.rotateWorld?1:-1)*this.relAzimuth)),l=wa(or(),[0,0,1],Tr(this.relRoll)),c=Vi(or(),o,s);c=Vi(or(),c,l);var h=cr(ut(),c);wt(this.matrix,this.matrix,[0,0,-this.distance]),lt(this.matrix,this.matrix,h),wt(this.matrix,this.matrix,[0,0,this.distance])}else{if(Math.abs(this.elevation)>90)return this;this.computeMatrix()}return this._getAxes(),this.type===Ar.ORBITING||this.type===Ar.EXPLORING?this._getPosition():this.type===Ar.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(n,i){var a=na(n,i,0),s=y(this.position);return G(s,s,de(f(),this.right,a[0])),G(s,s,de(f(),this.up,a[1])),this._setPosition(s),this.triggerUpdate(),this}},{key:"dolly",value:function(n){var i=this.forward,a=y(this.position),s=n*this.dollyingStep,o=this.distance+n*this.dollyingStep;return s=Math.max(Math.min(o,this.maxDistance),this.minDistance)-this.distance,a[0]+=s*i[0],a[1]+=s*i[1],a[2]+=s*i[2],this._setPosition(a),this.type===Ar.ORBITING||this.type===Ar.EXPLORING?this._getDistance():this.type===Ar.TRACKING&&G(this.focalPoint,a,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function(n){var i,a,s,o,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},c=l.position,h=c===void 0?this.position:c,p=l.focalPoint,C=p===void 0?this.focalPoint:p,k=l.roll,W=l.zoom,j=new Ht.CameraContribution;j.setType(this.type,void 0),j.setPosition(h[0],(i=h[1])!==null&&i!==void 0?i:this.position[1],(a=h[2])!==null&&a!==void 0?a:this.position[2]),j.setFocalPoint(C[0],(s=C[1])!==null&&s!==void 0?s:this.focalPoint[1],(o=C[2])!==null&&o!==void 0?o:this.focalPoint[2]),j.setRoll(k!=null?k:this.roll),j.setZoom(W!=null?W:this.zoom);var K={name:n,matrix:ke(j.getWorldTransform()),right:y(j.right),up:y(j.up),forward:y(j.forward),position:y(j.getPosition()),focalPoint:y(j.getFocalPoint()),distanceVector:y(j.getDistanceVector()),distance:j.getDistance(),dollyingStep:j.getDollyingStep(),azimuth:j.getAzimuth(),elevation:j.getElevation(),roll:j.getRoll(),relAzimuth:j.relAzimuth,relElevation:j.relElevation,relRoll:j.relRoll,zoom:j.getZoom()};return this.landmarks.push(K),K}},{key:"gotoLandmark",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=dr(n)?this.landmarks.find(function(Fe){return Fe.name===n}):n;if(s){var o=dn(a)?{duration:a}:a,l=o.easing,c=l===void 0?"linear":l,h=o.duration,p=h===void 0?100:h,C=o.easingFunction,k=C===void 0?void 0:C,W=o.onfinish,j=W===void 0?void 0:W,K=o.onframe,Q=K===void 0?void 0:K,ee=.01;this.cancelLandmarkAnimation();var re=s.position,ve=s.focalPoint,he=s.zoom,pe=s.roll,_e=k||Ht.EasingFunction(c),Ee,De=function(){i.setFocalPoint(ve),i.setPosition(re),i.setRoll(pe),i.setZoom(he),i.computeMatrix(),i.triggerUpdate(),j==null||j()};if(p===0)return De();var Be=function(Xe){Ee===void 0&&(Ee=Xe);var qe=Xe-Ee;if(qe>=p){De();return}var ct=_e(qe/p),ht=f(),St=f(),bt=1,Et=0;Je(ht,i.focalPoint,ve,ct),Je(St,i.position,re,ct),Et=i.roll*(1-ct)+pe*ct,bt=i.zoom*(1-ct)+he*ct,i.setFocalPoint(ht),i.setPosition(St),i.setRoll(Et),i.setZoom(bt);var xt=et(ht,ve)+et(St,re);if(xt<=ee&&he===void 0&&pe===void 0)return De();i.computeMatrix(),i.triggerUpdate(),qe<p&&(Q==null||Q(ct),i.landmarkAnimationID=i.canvas.requestAnimationFrame(Be))};this.canvas.requestAnimationFrame(Be)}}}])}(fm);Ht.CameraContribution=vA;var by=null,Jz=0,wy=new WeakMap,qz=null,$z=null,ch,Hs;function eF(r,e){return ch=new by(r,e)}function tF(r){return Hs||(Hs=by.copy(ch),Hs.oldValue=r,Hs)}function nF(){ch=Hs=void 0}function gA(r){return r===Hs||r===ch}function rF(r,e){return r===e?r:Hs&&gA(r)?Hs:null}function pA(r){r.nodes.forEach(function(e){var t=wy.get(e);t&&t.forEach(function(n){n.observer===r&&n.removeTransientObservers()})})}function iF(r,e){for(var t=r;t;t=t.parentNode){var n=wy.get(t);if(n)for(var i=0;i<n.length;i++){var a=n[i],s=a.options;if(!(t!==r&&!s.subtree)){var o=e(s);o&&a.enqueue(o)}}}}var Xv=!1,Yv=null;function aF(r){Yv.push(r),Xv||(Xv=!0,typeof runtime.globalThis!="undefined"?runtime.globalThis.setTimeout(Qv):Qv())}function Qv(){Xv=!1;var r=Yv;Yv=[],r.sort(function(t,n){return t.uid-n.uid});var e=!1;r.forEach(function(t){var n=t.takeRecords();pA(t),n.length&&(t.callback(n,t),e=!0)}),e&&Qv()}var Jv=function(r){function e(t,n,i,a){var s;return(0,b.Z)(this,e),s=_(this,e,[t]),s.currentTime=i,s.timelineTime=a,s.target=n,s.type="finish",s.bubbles=!1,s.currentTarget=n,s.defaultPrevented=!1,s.eventPhase=s.AT_TARGET,s.timeStamp=Date.now(),s.currentTime=i,s.timelineTime=a,s}return(0,g.Z)(e,r),(0,z.Z)(e)}(th),mA=0,yA=function(){function r(e,t){var n;(0,b.Z)(this,r),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=e,e.animation=this,this.timeline=t,this.id="".concat(mA++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((n=this.effect)===null||n===void 0?void 0:n.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return(0,z.Z)(r,[{key:"pending",get:function(){return this._startTime===null&&!this._paused&&this.playbackRate!==0||this.currentTimePending}},{key:"playState",get:function(){return this._idle?"idle":this._isFinished?"finished":this._paused?"paused":"running"}},{key:"ready",get:function(){var t=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(n,i){t.resolveReadyPromise=function(){n(t)},t.rejectReadyPromise=function(){i(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var t=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(n,i){t.resolveFinishedPromise=function(){n(t)},t.rejectFinishedPromise=function(){i(new Error)}}),this.playState==="finished"&&this.resolveFinishedPromise()),this.finishedPromise}},{key:"currentTime",get:function(){return this.updatePromises(),this._idle||this.currentTimePending?null:this._currentTime},set:function(t){if(t=Number(t),!isNaN(t)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var n;this._startTime=Number((n=this.timeline)===null||n===void 0?void 0:n.currentTime)-t/this.playbackRate}this.currentTimePending=!1,this._currentTime!==t&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(t,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(t){if(t!==null){if(this.updatePromises(),t=Number(t),isNaN(t)||this._paused||this._idle)return;this._startTime=t,this.tickCurrentTime((Number(this.timeline.currentTime)-this._startTime)*this.playbackRate),this.timeline.applyDirtiedAnimation(this),this.updatePromises()}}},{key:"playbackRate",get:function(){return this._playbackRate},set:function(t){if(t!==this._playbackRate){this.updatePromises();var n=this.currentTime;this._playbackRate=t,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),n!==null&&(this.currentTime=n),this.updatePromises()}}},{key:"_isFinished",get:function(){return!this._idle&&(this._playbackRate>0&&Number(this._currentTime)>=this._totalDuration||this._playbackRate<0&&Number(this._currentTime)<=0)}},{key:"totalDuration",get:function(){return this._totalDuration}},{key:"_needsTick",get:function(){return this.pending||this.playState==="running"||!this._finishedFlag}},{key:"updatePromises",value:function(){var t=this.oldPlayState,n=this.pending?"pending":this.playState;return this.readyPromise&&n!==t&&(n==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):t==="pending"?this.resolveReadyPromise():n==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&n!==t&&(n==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):n==="finished"?this.resolveFinishedPromise():t==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=n,this.readyPromise||this.finishedPromise}},{key:"play",value:function(){this.updatePromises(),this._paused=!1,(this._isFinished||this._idle)&&(this.rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this),this.timeline.animations.indexOf(this)===-1&&this.timeline.animations.push(this),this.updatePromises()}},{key:"pause",value:function(){this.updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),!this._isFinished&&!this._paused&&!this._idle?this.currentTimePending=!0:this._idle&&(this.rewind(),this._idle=!1),this._startTime=null,this._paused=!0,this.updatePromises()}},{key:"finish",value:function(){this.updatePromises(),!this._idle&&(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this.currentTimePending=!1,this.timeline.applyDirtiedAnimation(this),this.updatePromises())}},{key:"cancel",value:function(){var t=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var n=new Jv(null,this,this.currentTime,null);setTimeout(function(){t.oncancel(n)})}}},{key:"reverse",value:function(){this.updatePromises();var t=this.currentTime;this.playbackRate*=-1,this.play(),t!==null&&(this.currentTime=t),this.updatePromises()}},{key:"updatePlaybackRate",value:function(t){this.playbackRate=t}},{key:"targetAnimations",value:function(){var t,n=(t=this.effect)===null||t===void 0?void 0:t.target;return n.getAnimations()}},{key:"markTarget",value:function(){var t=this.targetAnimations();t.indexOf(this)===-1&&t.push(this)}},{key:"unmarkTarget",value:function(){var t=this.targetAnimations(),n=t.indexOf(this);n!==-1&&t.splice(n,1)}},{key:"tick",value:function(t,n){!this._idle&&!this._paused&&(this._startTime===null?n&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((t-this._startTime)*this.playbackRate)),n&&(this.currentTimePending=!1,this.fireEvents(t))}},{key:"rewind",value:function(){if(this.playbackRate>=0)this.currentTime=0;else if(this._totalDuration<1/0)this.currentTime=this._totalDuration;else throw new Error("Unable to rewind negative playback rate animation with infinite duration")}},{key:"persist",value:function(){throw new Error(Sr)}},{key:"addEventListener",value:function(t,n,i){throw new Error(Sr)}},{key:"removeEventListener",value:function(t,n,i){throw new Error(Sr)}},{key:"dispatchEvent",value:function(t){throw new Error(Sr)}},{key:"commitStyles",value:function(){throw new Error(Sr)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var t;this._inEffect=!!((t=this.effect)!==null&&t!==void 0&&t.update(-1))}else{var n;this._inEffect=!!((n=this.effect)!==null&&n!==void 0&&n.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(t,n){t!==this._currentTime&&(this._currentTime=t,this._isFinished&&!n&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(t){var n=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var i=new Jv(null,this,this.currentTime,t);setTimeout(function(){n.onfinish&&n.onfinish(i)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var a=new Jv(null,this,this.currentTime,t);this.onframe(a)}this._finishedFlag=!1}}}])}(),_A=4,EA=.001,xA=1e-7,bA=10,kc=11,uh=1/(kc-1),wA=typeof Float32Array=="function",My=function(e,t){return 1-3*t+3*e},Sy=function(e,t){return 3*t-6*e},Ty=function(e){return 3*e},hh=function(e,t,n){return((My(t,n)*e+Sy(t,n))*e+Ty(t))*e},Ay=function(e,t,n){return 3*My(t,n)*e*e+2*Sy(t,n)*e+Ty(t)},MA=function(e,t,n,i,a){var s,o,l=0;do o=t+(n-t)/2,s=hh(o,i,a)-e,s>0?n=o:t=o;while(Math.abs(s)>xA&&++l<bA);return o},SA=function(e,t,n,i){for(var a=0;a<_A;++a){var s=Ay(t,n,i);if(s===0)return t;var o=hh(t,n,i)-e;t-=o/s}return t},qv=function(e,t,n,i){if(!(e>=0&&e<=1&&n>=0&&n<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===t&&n===i)return function(l){return l};for(var a=wA?new Float32Array(kc):new Array(kc),s=0;s<kc;++s)a[s]=hh(s*uh,e,n);var o=function(c){for(var h=0,p=1,C=kc-1;p!==C&&a[p]<=c;++p)h+=uh;--p;var k=(c-a[p])/(a[p+1]-a[p]),W=h+k*uh,j=Ay(W,e,n);return j>=EA?SA(c,W,e,n):j===0?W:MA(c,h,h+uh,e,n)};return function(l){return l===0||l===1?l:hh(o(l),t,i)}},TA=function(e){return e=e.replace(/([A-Z])/g,function(t){return"-".concat(t.toLowerCase())}),e.charAt(0)==="-"?e.substring(1):e},fh=function(e){return Math.pow(e,2)},dh=function(e){return Math.pow(e,3)},vh=function(e){return Math.pow(e,4)},gh=function(e){return Math.pow(e,5)},ph=function(e){return Math.pow(e,6)},mh=function(e){return 1-Math.cos(e*Math.PI/2)},yh=function(e){return 1-Math.sqrt(1-e*e)},_h=function(e){return e*e*(3*e-2)},Eh=function(e){for(var t,n=4;e<((t=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((t*3-2)/22-e,2)},xh=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=(0,m.Z)(t,2),i=n[0],a=i===void 0?1:i,s=n[1],o=s===void 0?.5:s,l=Yr(Number(a),1,10),c=Yr(Number(o),.1,2);return e===0||e===1?e:-l*Math.pow(2,10*(e-1))*Math.sin((e-1-c/(Math.PI*2)*Math.asin(1/l))*(Math.PI*2)/c)},zc=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,i=(0,m.Z)(t,4),a=i[0],s=a===void 0?1:a,o=i[1],l=o===void 0?100:o,c=i[2],h=c===void 0?10:c,p=i[3],C=p===void 0?0:p;s=Yr(s,.1,1e3),l=Yr(l,.1,1e3),h=Yr(h,.1,1e3),C=Yr(C,.1,1e3);var k=Math.sqrt(l/s),W=h/(2*Math.sqrt(l*s)),j=W<1?k*Math.sqrt(1-W*W):0,K=1,Q=W<1?(W*k+-C)/j:-C+k,ee=n?n*e/1e3:e;return W<1?ee=Math.exp(-ee*W*k)*(K*Math.cos(j*ee)+Q*Math.sin(j*ee)):ee=(K+Q*ee)*Math.exp(-ee*k),e===0||e===1?e:1-ee},$v=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=t,i=(0,m.Z)(n,2),a=i[0],s=a===void 0?10:a,o=i[1],l=o==="start"?Math.ceil:Math.floor;return l(Yr(e,0,1)*s)/s},Cy=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=(0,m.Z)(t,4),i=n[0],a=n[1],s=n[2],o=n[3];return qv(i,a,s,o)(e)},bh=qv(.42,0,1,1),ja=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return 1-e(1-t,n,i)}},Ga=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return t<.5?e(t*2,n,i)/2:1-e(t*-2+2,n,i)/2}},Va=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return t<.5?(1-e(1-t*2,n,i))/2:(e(t*2-1,n,i)+1)/2}},Oy={steps:$v,"step-start":function(e){return $v(e,[1,"start"])},"step-end":function(e){return $v(e,[1,"end"])},linear:function(e){return e},"cubic-bezier":Cy,ease:function(e){return Cy(e,[.25,.1,.25,1])},in:bh,out:ja(bh),"in-out":Ga(bh),"out-in":Va(bh),"in-quad":fh,"out-quad":ja(fh),"in-out-quad":Ga(fh),"out-in-quad":Va(fh),"in-cubic":dh,"out-cubic":ja(dh),"in-out-cubic":Ga(dh),"out-in-cubic":Va(dh),"in-quart":vh,"out-quart":ja(vh),"in-out-quart":Ga(vh),"out-in-quart":Va(vh),"in-quint":gh,"out-quint":ja(gh),"in-out-quint":Ga(gh),"out-in-quint":Va(gh),"in-expo":ph,"out-expo":ja(ph),"in-out-expo":Ga(ph),"out-in-expo":Va(ph),"in-sine":mh,"out-sine":ja(mh),"in-out-sine":Ga(mh),"out-in-sine":Va(mh),"in-circ":yh,"out-circ":ja(yh),"in-out-circ":Ga(yh),"out-in-circ":Va(yh),"in-back":_h,"out-back":ja(_h),"in-out-back":Ga(_h),"out-in-back":Va(_h),"in-bounce":Eh,"out-bounce":ja(Eh),"in-out-bounce":Ga(Eh),"out-in-bounce":Va(Eh),"in-elastic":xh,"out-elastic":ja(xh),"in-out-elastic":Ga(xh),"out-in-elastic":Va(xh),spring:zc,"spring-in":zc,"spring-out":ja(zc),"spring-in-out":Ga(zc),"spring-out-in":Va(zc)},AA=function(e){return TA(e).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},CA=function(e){return Oy[AA(e)]||Oy.linear},OA=function(e){return e},PA=1,DA=.5,Py=0;function Dy(r,e){return function(t){if(t>=1)return 1;var n=1/r;return t+=e*n,t-t%n}}var wh="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",LA=new RegExp("cubic-bezier\\(".concat(wh,",").concat(wh,",").concat(wh,",").concat(wh,"\\)")),RA=/steps\(\s*(\d+)\s*\)/,IA=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function eg(r){var e=LA.exec(r);if(e)return qv.apply(void 0,(0,P.Z)(e.slice(1).map(Number)));var t=RA.exec(r);if(t)return Dy(Number(t[1]),Py);var n=IA.exec(r);return n?Dy(Number(n[1]),{start:PA,middle:DA,end:Py}[n[2]]):CA(r)}function NA(r){return Math.abs(BA(r)/(r.playbackRate||1))}function BA(r){var e;return r.duration===0||r.iterations===0?0:(r.duration==="auto"?0:Number(r.duration))*((e=r.iterations)!==null&&e!==void 0?e:1)}var Ly=0,tg=1,Mh=2,Ry=3;function kA(r,e,t){if(e===null)return Ly;var n=t.endTime;return e<Math.min(t.delay,n)?tg:e>=Math.min(t.delay+r+t.endDelay,n)?Mh:Ry}function zA(r,e,t,n,i){switch(n){case tg:return e==="backwards"||e==="both"?0:null;case Ry:return t-i;case Mh:return e==="forwards"||e==="both"?r:null;case Ly:return null}}function FA(r,e,t,n,i){var a=i;return r===0?e!==tg&&(a+=t):a+=n/r,a}function UA(r,e,t,n,i,a){var s=r===1/0?e%1:r%1;return s===0&&t===Mh&&n!==0&&(i!==0||a===0)&&(s=1),s}function WA(r,e,t,n){return r===Mh&&e===1/0?1/0:t===1?Math.floor(n)-1:Math.floor(n)}function HA(r,e,t){var n=r;if(r!=="normal"&&r!=="reverse"){var i=e;r==="alternate-reverse"&&(i+=1),n="normal",i!==1/0&&i%2!==0&&(n="reverse")}return n==="normal"?t:1-t}function jA(r,e,t){var n=kA(r,e,t),i=zA(r,t.fill,e,n,t.delay);if(i===null)return null;var a=t.duration==="auto"?0:t.duration,s=FA(a,n,t.iterations,i,t.iterationStart),o=UA(s,t.iterationStart,n,t.iterations,i,a),l=WA(n,t.iterations,o,s),c=HA(t.direction,l,o);return t.currentIteration=l,t.progress=c,t.easingFunction(c)}function GA(r,e,t){var n=VA(r,e),i=ZA(n,t);return function(a,s){if(s!==null)i.filter(function(l){return s>=l.applyFrom&&s<l.applyTo}).forEach(function(l){var c=s-l.startOffset,h=l.endOffset-l.startOffset,p=h===0?0:c/h;a.setAttribute(l.property,l.interpolation(p),!1,!1)});else for(var o in n)Iy(o)&&a.setAttribute(o,null)}}function Iy(r){return r!=="offset"&&r!=="easing"&&r!=="composite"&&r!=="computedOffset"}function VA(r,e){for(var t={},n=0;n<r.length;n++)for(var i in r[n])if(Iy(i)){var a={offset:r[n].offset,computedOffset:r[n].computedOffset,easing:r[n].easing,easingFunction:eg(r[n].easing)||e.easingFunction,value:r[n][i]};t[i]=t[i]||[],t[i].push(a)}return t}function ZA(r,e){var t=[];for(var n in r)for(var i=r[n],a=0;a<i.length-1;a++){var s=a,o=a+1,l=i[s].computedOffset,c=i[o].computedOffset,h=l,p=c;a===0&&(h=-1/0,c===0&&(o=s)),a===i.length-2&&(p=1/0,l===1&&(s=o)),t.push({applyFrom:h,applyTo:p,startOffset:i[s].computedOffset,endOffset:i[o].computedOffset,easingFunction:i[s].easingFunction,property:n,interpolation:KA(n,i[s].value,i[o].value,e)})}return t.sort(function(C,k){return C.startOffset-k.startOffset}),t}var Ny=function(e,t,n){return function(i){var a=By(e,t,i);return dn(a)?a:n(a)}};function KA(r,e,t,n){var i=Xm[r];if(i&&i.syntax&&i.int){var a=Ht.styleValueRegistry.getPropertySyntax(i.syntax);if(a){var s=a.parser,o=s?s(e,n):e,l=s?s(t,n):t,c=a.mixer(o,l,n);if(c){var h=Ny.apply(void 0,(0,P.Z)(c));return function(p){return p===0?e:p===1?t:h(p)}}}}return Ny(!1,!0,function(p){return p?t:e})}function By(r,e,t){if(typeof r=="number"&&typeof e=="number")return r*(1-t)+e*t;if(typeof r=="boolean"&&typeof e=="boolean"||typeof r=="string"&&typeof e=="string")return t<.5?r:e;if(Array.isArray(r)&&Array.isArray(e)){for(var n=r.length,i=e.length,a=Math.max(n,i),s=[],o=0;o<a;o++)s.push(By(r[o<n?o:n-1],e[o<i?o:i-1],t));return s}throw new Error("Mismatched interpolation arguments ".concat(r,":").concat(e))}var XA=function(){function r(){(0,b.Z)(this,r),this.delay=0,this.direction="normal",this.duration="auto",this._easing="linear",this.easingFunction=OA,this.endDelay=0,this.fill="auto",this.iterationStart=0,this.iterations=1,this.currentIteration=null,this.progress=null}return(0,z.Z)(r,[{key:"easing",get:function(){return this._easing},set:function(t){this.easingFunction=eg(t),this._easing=t}}])}();function YA(r){var e=[];for(var t in r)if(!(t in["easing","offset","composite"])){var n=r[t];Array.isArray(n)||(n=[n]);for(var i=n.length,a=0;a<i;a++){if(!e[a]){var s={};"offset"in r&&(s.offset=Number(r.offset)),"easing"in r&&(s.easing=r.easing),"composite"in r&&(s.composite=r.composite),e[a]=s}n[a]!==void 0&&n[a]!==null&&(e[a][t]=n[a])}}return e.sort(function(o,l){return(o.computedOffset||0)-(l.computedOffset||0)}),e}function ky(r,e){if(r===null)return[];Array.isArray(r)||(r=YA(r));for(var t=r.map(function(l){var c={};e!=null&&e.composite&&(c.composite="auto");for(var h in l){var p=l[h];if(h==="offset"){if(p!==null){if(p=Number(p),!isFinite(p))throw new Error("Keyframe offsets must be numbers.");if(p<0||p>1)throw new Error("Keyframe offsets must be between 0 and 1.");c.computedOffset=p}}else if(h==="composite"&&["replace","add","accumulate","auto"].indexOf(p)===-1)throw new Error("".concat(p," compositing is not supported"));c[h]=p}return c.offset===void 0&&(c.offset=null),c.easing===void 0&&(c.easing=(e==null?void 0:e.easing)||"linear"),c.composite===void 0&&(c.composite="auto"),c}),n=!0,i=-1/0,a=0;a<t.length;a++){var s=t[a].offset;if(Rn(s))n=!1;else{if(s<i)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");i=s}}t=t.filter(function(l){return Number(l.offset)>=0&&Number(l.offset)<=1});function o(){var l,c=t,h=c.length;if(t[h-1].computedOffset=Number((l=t[h-1].offset)!==null&&l!==void 0?l:1),h>1){var p;t[0].computedOffset=Number((p=t[0].offset)!==null&&p!==void 0?p:0)}for(var C=0,k=Number(t[0].computedOffset),W=1;W<h;W++){var j=t[W].computedOffset;if(!Rn(j)&&!Rn(k)){for(var K=1;K<W-C;K++)t[C+K].computedOffset=k+(Number(j)-k)*K/(W-C);C=W,k=Number(j)}}}return n||o(),t}var QA="backwards|forwards|both|none".split("|"),JA="reverse|alternate|alternate-reverse".split("|");function qA(r,e){var t=new XA;return e&&(t.fill="both",t.duration="auto"),typeof r=="number"&&!isNaN(r)?t.duration=r:r!==void 0&&Object.keys(r).forEach(function(n){if(r[n]!==void 0&&r[n]!==null&&r[n]!=="auto"){if((typeof t[n]=="number"||n==="duration")&&(typeof r[n]!="number"||isNaN(r[n]))||n==="fill"&&QA.indexOf(r[n])===-1||n==="direction"&&JA.indexOf(r[n])===-1)return;t[n]=r[n]}}),t}function $A(r,e){return r=eC(r!=null?r:{duration:"auto"}),qA(r,e)}function eC(r){return typeof r=="number"&&(isNaN(r)?r={duration:"auto"}:r={duration:r}),r}var tC=function(){function r(e,t,n){var i=this;(0,b.Z)(this,r),this.composite="replace",this.iterationComposite="replace",this.target=e,this.timing=$A(n,!1),this.timing.effect=this,this.timing.activeDuration=NA(this.timing),this.timing.endTime=Math.max(0,this.timing.delay+this.timing.activeDuration+this.timing.endDelay),this.normalizedKeyframes=ky(t,this.timing),this.interpolations=GA(this.normalizedKeyframes,this.timing,this.target);var a=Ht.globalThis.Proxy;this.computedTiming=a?new a(this.timing,{get:function(o,l){return l==="duration"?o.duration==="auto"?0:o.duration:l==="fill"?o.fill==="auto"?"none":o.fill:l==="localTime"?i.animation&&i.animation.currentTime||null:l==="currentIteration"?!i.animation||i.animation.playState!=="running"?null:o.currentIteration||0:l==="progress"?!i.animation||i.animation.playState!=="running"?null:o.progress||0:o[l]},set:function(){return!0}}):this.timing}return(0,z.Z)(r,[{key:"applyInterpolations",value:function(){this.interpolations(this.target,Number(this.timeFraction))}},{key:"update",value:function(t){return t===null?!1:(this.timeFraction=jA(this.timing.activeDuration,t,this.timing),this.timeFraction!==null)}},{key:"getKeyframes",value:function(){return this.normalizedKeyframes}},{key:"setKeyframes",value:function(t){this.normalizedKeyframes=ky(t)}},{key:"getComputedTiming",value:function(){return this.computedTiming}},{key:"getTiming",value:function(){return this.timing}},{key:"updateTiming",value:function(t){var n=this;Object.keys(t||{}).forEach(function(i){n.timing[i]=t[i]})}}])}();function zy(r,e){return Number(r.id)-Number(e.id)}var nC=function(){function r(e){var t=this;(0,b.Z)(this,r),this.animations=[],this.ticking=!1,this.timelineTicking=!1,this.hasRestartedThisFrame=!1,this.animationsWithPromises=[],this.inTick=!1,this.pendingEffects=[],this.currentTime=null,this.rafId=0,this.rafCallbacks=[],this.webAnimationsNextTick=function(n){t.currentTime=n,t.discardAnimations(),t.animations.length===0?t.timelineTicking=!1:t.requestAnimationFrame(t.webAnimationsNextTick)},this.processRafCallbacks=function(n){var i=t.rafCallbacks;t.rafCallbacks=[],n<Number(t.currentTime)&&(n=Number(t.currentTime)),t.animations.sort(zy),t.animations=t.tick(n,!0,t.animations)[0],i.forEach(function(a){a[1](n)}),t.applyPendingEffects()},this.document=e}return(0,z.Z)(r,[{key:"getAnimations",value:function(){return this.discardAnimations(),this.animations.slice()}},{key:"isTicking",value:function(){return this.inTick}},{key:"play",value:function(t,n,i){var a=new tC(t,n,i),s=new yA(a,this);return this.animations.push(s),this.restartWebAnimationsNextTick(),s.updatePromises(),s.play(),s.updatePromises(),s}},{key:"applyDirtiedAnimation",value:function(t){var n=this;if(!this.inTick){t.markTarget();var i=t.targetAnimations();i.sort(zy);var a=this.tick(Number(this.currentTime),!1,i.slice())[1];a.forEach(function(s){var o=n.animations.indexOf(s);o!==-1&&n.animations.splice(o,1)}),this.applyPendingEffects()}}},{key:"restart",value:function(){return this.ticking||(this.ticking=!0,this.requestAnimationFrame(function(){}),this.hasRestartedThisFrame=!0),this.hasRestartedThisFrame}},{key:"destroy",value:function(){this.document.defaultView.cancelAnimationFrame(this.frameId)}},{key:"applyPendingEffects",value:function(){this.pendingEffects.forEach(function(t){t==null||t.applyInterpolations()}),this.pendingEffects=[]}},{key:"updateAnimationsPromises",value:function(){this.animationsWithPromises=this.animationsWithPromises.filter(function(t){return t.updatePromises()})}},{key:"discardAnimations",value:function(){this.updateAnimationsPromises(),this.animations=this.animations.filter(function(t){return t.playState!=="finished"&&t.playState!=="idle"})}},{key:"restartWebAnimationsNextTick",value:function(){this.timelineTicking||(this.timelineTicking=!0,this.requestAnimationFrame(this.webAnimationsNextTick))}},{key:"rAF",value:function(t){var n=this.rafId++;return this.rafCallbacks.length===0&&(this.frameId=this.document.defaultView.requestAnimationFrame(this.processRafCallbacks)),this.rafCallbacks.push([n,t]),n}},{key:"requestAnimationFrame",value:function(t){var n=this;return this.rAF(function(i){n.updateAnimationsPromises(),t(i),n.updateAnimationsPromises()})}},{key:"tick",value:function(t,n,i){var a=this,s,o;this.inTick=!0,this.hasRestartedThisFrame=!1,this.currentTime=t,this.ticking=!1;var l=[],c=[],h=[],p=[];return i.forEach(function(C){C.tick(t,n),C._inEffect?(c.push(C.effect),C.markTarget()):(l.push(C.effect),C.unmarkTarget()),C._needsTick&&(a.ticking=!0);var k=C._inEffect||C._needsTick;C._inTimeline=k,k?h.push(C):p.push(C)}),(s=this.pendingEffects).push.apply(s,l),(o=this.pendingEffects).push.apply(o,c),this.ticking&&this.requestAnimationFrame(function(){}),this.inTick=!1,[h,p]}}])}();Ht.EasingFunction=eg,Ht.AnimationTimeline=nC;var Fy=function(r){return Rn(r)?"":r.toString()},rC=function(r){var e=Fy(r);return e.charAt(0).toUpperCase()+e.substring(1)},Sh=rC,iC=function(r){return typeof r=="object"&&r!==null},ng=iC,aC=function(r){return r!==null&&typeof r!="function"&&isFinite(r.length)},Fc=aC,rg=function(r,e){if(r===e)return!0;if(!r||!e||dr(r)||dr(e))return!1;if(Fc(r)||Fc(e)){if(r.length!==e.length)return!1;for(var t=!0,n=0;n<r.length&&(t=rg(r[n],e[n]),!!t);n++);return t}if(ng(r)||ng(e)){var i=Object.keys(r),a=Object.keys(e);if(i.length!==a.length)return!1;for(var t=!0,n=0;n<i.length&&(t=rg(r[i[n]],e[i[n]]),!!t);n++);return t}return!1},si=rg;const sC={duration:500},oC={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},sF={CHANGE:"change"};var Gr;(function(r){r.NodeAdded="NodeAdded",r.NodeUpdated="NodeUpdated",r.NodeRemoved="NodeRemoved",r.EdgeAdded="EdgeAdded",r.EdgeUpdated="EdgeUpdated",r.EdgeRemoved="EdgeRemoved",r.ComboAdded="ComboAdded",r.ComboUpdated="ComboUpdated",r.ComboRemoved="ComboRemoved"})(Gr||(Gr={}));var _a;(function(r){r.DRAW="draw",r.COLLAPSE="collapse",r.EXPAND="expand",r.TRANSFORM="transform"})(_a||(_a={}));var js;(function(r){r.CLICK="canvas:click",r.DBLCLICK="canvas:dblclick",r.POINTER_OVER="canvas:pointerover",r.POINTER_LEAVE="canvas:pointerleave",r.POINTER_ENTER="canvas:pointerenter",r.POINTER_MOVE="canvas:pointermove",r.POINTER_OUT="canvas:pointerout",r.POINTER_DOWN="canvas:pointerdown",r.POINTER_UP="canvas:pointerup",r.CONTEXT_MENU="canvas:contextmenu",r.DRAG_START="canvas:dragstart",r.DRAG="canvas:drag",r.DRAG_END="canvas:dragend",r.DRAG_ENTER="canvas:dragenter",r.DRAG_OVER="canvas:dragover",r.DRAG_LEAVE="canvas:dragleave",r.DROP="canvas:drop",r.WHEEL="canvas:wheel"})(js||(js={}));var tl;(function(r){r.CLICK="combo:click",r.DBLCLICK="combo:dblclick",r.POINTER_OVER="combo:pointerover",r.POINTER_LEAVE="combo:pointerleave",r.POINTER_ENTER="combo:pointerenter",r.POINTER_MOVE="combo:pointermove",r.POINTER_OUT="combo:pointerout",r.POINTER_DOWN="combo:pointerdown",r.POINTER_UP="combo:pointerup",r.CONTEXT_MENU="combo:contextmenu",r.DRAG_START="combo:dragstart",r.DRAG="combo:drag",r.DRAG_END="combo:dragend",r.DRAG_ENTER="combo:dragenter",r.DRAG_OVER="combo:dragover",r.DRAG_LEAVE="combo:dragleave",r.DROP="combo:drop"})(tl||(tl={}));var Nt;(function(r){r.CLICK="click",r.DBLCLICK="dblclick",r.POINTER_OVER="pointerover",r.POINTER_LEAVE="pointerleave",r.POINTER_ENTER="pointerenter",r.POINTER_MOVE="pointermove",r.POINTER_OUT="pointerout",r.POINTER_DOWN="pointerdown",r.POINTER_UP="pointerup",r.CONTEXT_MENU="contextmenu",r.DRAG_START="dragstart",r.DRAG="drag",r.DRAG_END="dragend",r.DRAG_ENTER="dragenter",r.DRAG_OVER="dragover",r.DRAG_LEAVE="dragleave",r.DROP="drop",r.KEY_DOWN="keydown",r.KEY_UP="keyup",r.WHEEL="wheel",r.PINCH="pinch"})(Nt||(Nt={}));var Hl;(function(r){r.KEY_DOWN="keydown",r.KEY_UP="keyup"})(Hl||(Hl={}));var Th;(function(r){r.CLICK="edge:click",r.DBLCLICK="edge:dblclick",r.POINTER_OVER="edge:pointerover",r.POINTER_LEAVE="edge:pointerleave",r.POINTER_ENTER="edge:pointerenter",r.POINTER_MOVE="edge:pointermove",r.POINTER_OUT="edge:pointerout",r.POINTER_DOWN="edge:pointerdown",r.POINTER_UP="edge:pointerup",r.CONTEXT_MENU="edge:contextmenu",r.DRAG_ENTER="edge:dragenter",r.DRAG_OVER="edge:dragover",r.DRAG_LEAVE="edge:dragleave",r.DROP="edge:drop"})(Th||(Th={}));var qt;(function(r){r.BEFORE_CANVAS_INIT="beforecanvasinit",r.AFTER_CANVAS_INIT="aftercanvasinit",r.BEFORE_SIZE_CHANGE="beforesizechange",r.AFTER_SIZE_CHANGE="aftersizechange",r.BEFORE_ELEMENT_CREATE="beforeelementcreate",r.AFTER_ELEMENT_CREATE="afterelementcreate",r.BEFORE_ELEMENT_UPDATE="beforeelementupdate",r.AFTER_ELEMENT_UPDATE="afterelementupdate",r.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",r.AFTER_ELEMENT_DESTROY="afterelementdestroy",r.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",r.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",r.BEFORE_DRAW="beforedraw",r.AFTER_DRAW="afterdraw",r.BEFORE_RENDER="beforerender",r.AFTER_RENDER="afterrender",r.BEFORE_ANIMATE="beforeanimate",r.AFTER_ANIMATE="afteranimate",r.BEFORE_LAYOUT="beforelayout",r.AFTER_LAYOUT="afterlayout",r.BEFORE_STAGE_LAYOUT="beforestagelayout",r.AFTER_STAGE_LAYOUT="afterstagelayout",r.BEFORE_TRANSFORM="beforetransform",r.AFTER_TRANSFORM="aftertransform",r.BATCH_START="batchstart",r.BATCH_END="batchend",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.BEFORE_RENDERER_CHANGE="beforerendererchange",r.AFTER_RENDERER_CHANGE="afterrendererchange"})(qt||(qt={}));var ho;(function(r){r.UNDO="undo",r.REDO="redo",r.CANCEL="cancel",r.ADD="add",r.CLEAR="clear",r.CHANGE="change"})(ho||(ho={}));var Za;(function(r){r.CLICK="node:click",r.DBLCLICK="node:dblclick",r.POINTER_OVER="node:pointerover",r.POINTER_LEAVE="node:pointerleave",r.POINTER_ENTER="node:pointerenter",r.POINTER_MOVE="node:pointermove",r.POINTER_OUT="node:pointerout",r.POINTER_DOWN="node:pointerdown",r.POINTER_UP="node:pointerup",r.CONTEXT_MENU="node:contextmenu",r.DRAG_START="node:dragstart",r.DRAG="node:drag",r.DRAG_END="node:dragend",r.DRAG_ENTER="node:dragenter",r.DRAG_OVER="node:dragover",r.DRAG_LEAVE="node:dragleave",r.DROP="node:drop"})(Za||(Za={}));const Lr="combo",Ca="tree";var Uc;(function(r){r.NODE="node",r.EDGE="edge",r.COMBO="combo",r.THEME="theme",r.PALETTE="palette",r.LAYOUT="layout",r.BEHAVIOR="behavior",r.PLUGIN="plugin",r.ANIMATION="animation",r.TRANSFORM="transform",r.SHAPE="shape"})(Uc||(Uc={}));const ig={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function Gs(r,e){var t;const n=(t=ig[r])===null||t===void 0?void 0:t[e];if(n)return n}function oF(r){return EXTENSION_REGISTRY[r]}const lC="5.0.44",cC="G6";function Vs(r){return`[${cC} v${lC}] ${r}`}const Ea={mute:!1,debug:r=>{!Ea.mute&&console.debug(Vs(r))},info:r=>{!Ea.mute&&console.info(Vs(r))},warn:r=>{!Ea.mute&&console.warn(Vs(r))},error:r=>{!Ea.mute&&console.error(Vs(r))}};function Uy(r){const{theme:e}=r;if(!e)return{};const t=Gs(Uc.THEME,e);return t||(Ea.warn(`The theme of ${e} is not registered.`),{})}function ag(r,e){if(Array.isArray(r)&&r.length===0)return null;const t=Array.isArray(r)?r[0]:r,n=Array.isArray(r)?r.slice(1):e||[];return new Proxy(t,{get(i,a){return typeof i[a]=="function"&&!["onframe","onfinish"].includes(a)?(...s)=>{i[a](...s),n.forEach(o=>{var l;return(l=o[a])===null||l===void 0?void 0:l.call(o,...s)})}:a==="finished"?Promise.all([t.finished,...n.map(s=>s.finished)]):Reflect.get(i,a)},set(i,a,s){return["onframe","onfinish"].includes(a)||n.forEach(o=>{o[a]=s}),Reflect.set(i,a,s)}})}function sg(r){const e=r.reduce((n,i)=>(Object.entries(i).forEach(([a,s])=>{n[a]===void 0?n[a]=[s]:n[a].push(s)}),n),{});Object.entries(e).forEach(([n,i])=>{(i.length!==r.length||i.some(a=>Rn(a))||i.every(a=>!["sourceNode","targetNode","childrenNode"].includes(n)&&si(a,i[0])))&&delete e[n]});const t=Object.entries(e).reduce((n,[i,a])=>(a.forEach((s,o)=>{n[o]?n[o][i]=s:n[o]={[i]:s}}),n),[]);return r.length!==0&&t.length===0&&t.push({_:0},{_:0}),t}function Wc(r){switch(r){case"opacity":return 1;case"x":case"y":case"z":case"zIndex":return 0;case"visibility":return"visible";case"collapsed":return!1;case"states":return[];default:return}}function Wy(r,e){const{animation:t}=r;if(t===!1||e===!1)return!1;const n=Object.assign({},sC);return ii(t)&&Object.assign(n,t),ii(e)&&Object.assign(n,e),n}function uC(r){if(typeof r=="string"){const e=Gs(Uc.ANIMATION,r);return e||(Ea.warn(`The animation of ${r} is not registered.`),[])}return r}function hC(r,e,t,n){var i,a;const{animation:s}=r;if(s===!1||n===!1)return[];const o=(i=r==null?void 0:r[e])===null||i===void 0?void 0:i.animation;if(o===!1)return[];const l=o==null?void 0:o[t];if(l===!1)return[];const c=(a=Uy(r)[e])===null||a===void 0?void 0:a.animation,h=(C=[])=>uC(C).map(k=>Object.assign(Object.assign(Object.assign(Object.assign({},oC),ii(s)&&s),k),ii(n)&&n));if(l)return h(l);if(!c)return[];const p=c[t];return p===!1?[]:h(p)}function Hy(r,e,t,n=[]){if(!n&&r===0&&e===0&&t===0)return null;if(Array.isArray(n)){let a=-1;const s=[];for(let o=0;o<n.length;o++){const l=n[o];if(l[0]==="translate"){if(l[1]===r&&l[2]===e)return null;a=o,s.push(["translate",r,e])}else if(l[0]==="translate3d"){if(l[1]===r&&l[2]===e&&l[3]===t)return null;a=o,s.push(["translate3d",r,e,t!=null?t:0])}else s.push(l)}return a===-1&&s.splice(0,0,dn(t)?["translate3d",r,e,t!=null?t:0]:["translate",r,e]),s.length===0?null:s}const i=n?n.replace(/translate(3d)?\([^)]*\)/g,""):"";return t===0?`translate(${r}, ${e})${i}`:`translate3d(${r}, ${e}, ${t})${i}`}var fC=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const dC=(r,e,t)=>{if(!t.length)return null;const[n,i]=e,a=c=>{var h;if(c){const p=r.getShape(c);if(!p)return null;const C=`get${Sh(c)}Style`,k=((h=r==null?void 0:r[C])===null||h===void 0?void 0:h.bind(r))||(K=>K),W=(k==null?void 0:k(n))||{},j=(k==null?void 0:k(i))||{};return{shape:p,fromStyle:W,toStyle:j}}else return{shape:r,fromStyle:n,toStyle:i}};let s;const o=t.map(c=>{var{fields:h,shape:p,states:C}=c,k=fC(c,["fields","shape","states"]);const W=a(p);if(!W)return null;const{shape:j,fromStyle:K,toStyle:Q}=W,ee=[{},{}];if(h.forEach(ve=>{var he,pe;Object.assign(ee[0],{[ve]:(he=K[ve])!==null&&he!==void 0?he:Wc(ve)}),Object.assign(ee[1],{[ve]:(pe=Q[ve])!==null&&pe!==void 0?pe:Wc(ve)})}),ee.some(ve=>Object.keys(ve).some(he=>["x","y","z"].includes(he)))){const{x:ve=0,y:he=0,z:pe,transform:_e=""}=j.attributes||{};ee.forEach(Ee=>{var De,Be,Fe;Ee.transform=Hy((De=Ee.x)!==null&&De!==void 0?De:ve,(Be=Ee.y)!==null&&Be!==void 0?Be:he,(Fe=Ee.z)!==null&&Fe!==void 0?Fe:pe,_e)})}const re=j.animate(sg(ee),k);return p===void 0&&(s=re),re}).filter(Boolean),l=s||(o==null?void 0:o[0]);return l?ag(l,o.filter(c=>c!==c)):null},vC=[{fields:["opacity"]}],gC=[{fields:["x","y"]}],jy=[{fields:["x","y"]}],pC=jy,Gy=[{fields:["sourceNode","targetNode"]}],mC=Gy,Vy=[{fields:["childrenNode","x","y"]}],yC=Vy,lF=[{fields:["childrenNode","x","y"]}];var _C=Object.prototype.hasOwnProperty;function EC(r,e){if(!e||!Ma(r))return{};for(var t={},n=xn(e)?e:function(o){return o[e]},i,a=0;a<r.length;a++){var s=r[a];i=n(s),_C.call(t,i)?t[i].push(s):t[i]=[s]}return t}var Ah=EC,Zy=function(r,e,t){var n,i,a,s,o=0;t||(t={});var l=function(){o=t.leading===!1?0:Date.now(),n=null,s=r.apply(i,a),n||(i=a=null)},c=function(){var h=Date.now();!o&&t.leading===!1&&(o=h);var p=e-(h-o);return i=this,a=arguments,p<=0||p>e?(n&&(clearTimeout(n),n=null),o=h,s=r.apply(i,a),n||(i=a=null)):!n&&t.trailing!==!1&&(n=setTimeout(l,p)),s};return c.cancel=function(){clearTimeout(n),o=0,n=i=a=null},c},og=function(r){if(typeof r!="object"||r===null)return r;var e;if(Ma(r)){e=[];for(var t=0,n=r.length;t<n;t++)typeof r[t]=="object"&&r[t]!=null?e[t]=og(r[t]):e[t]=r[t]}else{e={};for(var i in r)typeof r[i]=="object"&&r[i]!=null?e[i]=og(r[i]):e[i]=r[i]}return e},jl=og;function xC(r){return"source"in r&&"target"in r}function bC(r){return r.length===2}function cF(r){return r.length===3}function Gl(r){return r instanceof Float32Array?!0:Array.isArray(r)&&(r.length===2||r.length===3)?r.every(e=>typeof e=="number"):!1}function Cs(r,e,t){return r>=e&&r<=t}function os(r=0){if(Array.isArray(r)){const[e=0,t=e,n=e,i=t]=r;return[e,t,n,i]}return[r,r,r,r]}function wC(r=0){const e=os(r);return e[0]+e[2]}function uF(r=0){const e=os(r);return e[1]+e[3]}function Os(r){return r.max[0]-r.min[0]}function Ps(r){return r.max[1]-r.min[1]}function fo(r){return[Os(r),Ps(r)]}function vo(r,e){const t=Gl(r)?lg(r):r.getShape("key").getBounds();return e?go(t,e):t}function lg(r){const[e,t,n=0]=r,i=new Nr;return i.setMinMax([e,t,n],[e,t,n]),i}function go(r,e){const[t,n,i,a]=os(e),[s,o,l]=r.min,[c,h,p]=r.max,C=new Nr;return C.setMinMax([s-a,o-t,l],[c+n,h+i,p]),C}function Hc(r){if(r.length===0)return new Nr;if(r.length===1)return r[0];const e=new Nr;e.setMinMax(r[0].min,r[0].max);for(let t=1;t<r.length;t++){const n=r[t];e.setMinMax([Math.min(e.min[0],n.min[0]),Math.min(e.min[1],n.min[1]),Math.min(e.min[2],n.min[2])],[Math.max(e.max[0],n.max[0]),Math.max(e.max[1],n.max[1]),Math.max(e.max[2],n.max[2])])}return e}function MC(r,e){const[t,n]=r.min,[i,a]=r.max,[s,o]=e.min,[l,c]=e.max;return t>=s&&i<=l&&n>=o&&a<=c}function ls(r,e){return Cs(r[0],e.min[0],e.max[0])&&Cs(r[1],e.min[1],e.max[1])}function Ky(r,e,t=!1){const{min:[n,i],max:[a,s]}=e,o=(r[1]===i||r[1]===s)&&(t||Cs(r[0],n,a)),l=(r[0]===n||r[0]===a)&&(t||Cs(r[1],i,s));return o||l}function SC(r,e){return!ls(r,e)}function Ch(r,e){const{center:t}=e;return r[0]===t[0]&&r[1]===t[1]}function jc(r,e){const[t,n]=r,[i,a]=e.min,[s,o]=e.max,l=t-i,c=s-t,h=n-a,p=o-n,C=Math.min(l,c,h,p);return C===l?"left":C===c?"right":C===h?"top":C===p?"bottom":"left"}function nl(r,e){const t=jl(r);if(ls(r,e))switch(jc(r,e)){case"left":t[0]=e.min[0];break;case"right":t[0]=e.max[0];break;case"top":t[1]=e.min[1];break;case"bottom":t[1]=e.max[1];break}else{const[n,i]=r,[a,s]=e.min,[o,l]=e.max;t[0]=Cs(n,a,o)?n:n<a?a:o,t[1]=Cs(i,s,l)?i:i<s?s:l}return t}function TC(r,e){const{center:t}=r,[n,i]=fo(r),a=e==="up"||e==="down"?t[0]:e==="right"?t[0]-n/6:t[0]+n/6,s=e==="left"||e==="right"?t[1]:e==="down"?t[1]-i/6:t[1]+i/6;return[a,s]}function AC(r,e){let[t,n]=fo(r);return[t,n]=e==="up"||e==="down"?[t,n]:[n,t],(Math.pow(n,2)-Math.pow(Math.sqrt(Math.pow(t/2,2)+Math.pow(n,2))-t/2,2))/(2*n)}function CC(r){const{min:[e,t],max:[n,i]}=r,a=[e,i],s=[n,i],o=[n,t],l=[e,t];return[[a,s],[s,o],[o,l],[l,a]]}var OC=function(e,t){var n=e.nodes,i=e.edges,a=[],s={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(o,l){s[o.id]=l;var c=[];a.push(c)}),i&&i.forEach(function(o){var l=o.source,c=o.target,h=s[l],p=s[c];!h&&h!==0||!p&&p!==0||(a[h][p]=1,t||(a[p][h]=1))}),a},Oh=OC,PC=function(e,t){return e===t},Xy=function(){function r(e,t){t===void 0&&(t=null),this.value=e,this.next=t}return r.prototype.toString=function(e){return e?e(this.value):"".concat(this.value)},r}(),DC=function(){function r(e){e===void 0&&(e=PC),this.head=null,this.tail=null,this.compare=e}return r.prototype.prepend=function(e){var t=new Xy(e,this.head);return this.head=t,this.tail||(this.tail=t),this},r.prototype.append=function(e){var t=new Xy(e);return this.head?(this.tail.next=t,this.tail=t,this):(this.head=t,this.tail=t,this)},r.prototype.delete=function(e){if(!this.head)return null;for(var t=null;this.head&&this.compare(this.head.value,e);)t=this.head,this.head=this.head.next;var n=this.head;if(n!==null)for(;n.next;)this.compare(n.next.value,e)?(t=n.next,n.next=n.next.next):n=n.next;return this.compare(this.tail.value,e)&&(this.tail=n),t},r.prototype.find=function(e){var t=e.value,n=t===void 0?void 0:t,i=e.callback,a=i===void 0?void 0:i;if(!this.head)return null;for(var s=this.head;s;){if(a&&a(s.value)||n!==void 0&&this.compare(s.value,n))return s;s=s.next}return null},r.prototype.deleteTail=function(){var e=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,e;for(var t=this.head;t.next;)t.next.next?t=t.next:t.next=null;return this.tail=t,e},r.prototype.deleteHead=function(){if(!this.head)return null;var e=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),e},r.prototype.fromArray=function(e){var t=this;return e.forEach(function(n){return t.append(n)}),this},r.prototype.toArray=function(){for(var e=[],t=this.head;t;)e.push(t),t=t.next;return e},r.prototype.reverse=function(){for(var e=this.head,t=null,n=null;e;)n=e.next,e.next=t,t=e,e=n;this.tail=this.head,this.head=t},r.prototype.toString=function(e){return e===void 0&&(e=void 0),this.toArray().map(function(t){return t.toString(e)}).toString()},r}(),Yy=DC,LC=function(){function r(){this.linkedList=new Yy}return r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},r.prototype.enqueue=function(e){this.linkedList.append(e)},r.prototype.dequeue=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toString=function(e){return this.linkedList.toString(e)},r}(),RC=LC,Ka=function(e,t,n){t===void 0&&(t=[]);var i=t.filter(function(l){return l.source===e||l.target===e});if(n==="target"){var a=function(c){return c.source===e};return i.filter(a).map(function(l){return l.target})}if(n==="source"){var s=function(c){return c.target===e};return i.filter(s).map(function(l){return l.source})}var o=function(c){return c.source===e?c.target:c.source};return i.map(o)},IC=function(e,t){return t.filter(function(n){return n.source===e})},Ph=function(e,t){return t.filter(function(n){return n.source===e||n.target===e})},Qy=function(e){e===void 0&&(e=0);var t="".concat(Math.random()).split(".")[1].substr(0,5),n="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(e,"-").concat(t).concat(n)};function NC(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var s=a.next,o=s;return i[o]?!1:(i[o]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}var BC=function(e,t,n,i){i===void 0&&(i=!0);var a=NC(n),s=new RC,o=e.edges,l=o===void 0?[]:o;s.enqueue(t);for(var c="",h=function(){var C=s.dequeue();a.enter({current:C,previous:c}),Ka(C,l,i?"target":void 0).forEach(function(k){a.allowTraversal({previous:c,current:C,next:k})&&s.enqueue(k)}),a.leave({current:C,previous:c}),c=C};!s.isEmpty();)h()},kC=BC,zC=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,s=[],o={},l=[],c=function k(W){l.push(W),o[W.id]=!0;for(var j=Ka(W.id,a),K=function(re){var ve=j[re];if(!o[ve]){var he=n.filter(function(pe){return pe.id===ve});he.length>0&&k(he[0])}},Q=0;Q<j.length;++Q)K(Q)},h=0;h<n.length;h++){var p=n[h];if(!o[p.id]){c(p);for(var C=[];l.length>0;)C.push(l.pop());s.push(C)}}return s},Jy=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,s=[],o={},l={},c={},h=[],p=0,C=function K(Q){l[Q.id]=p,c[Q.id]=p,p+=1,s.push(Q),o[Q.id]=!0;for(var ee=Ka(Q.id,a,"target").filter(function(_e){return n.map(function(Ee){return Ee.id}).indexOf(_e)>-1}),re=function(Ee){var De=ee[Ee];if(!l[De]&&l[De]!==0){var Be=n.filter(function(Fe){return Fe.id===De});Be.length>0&&K(Be[0]),c[Q.id]=Math.min(c[Q.id],c[De])}else o[De]&&(c[Q.id]=Math.min(c[Q.id],l[De]))},ve=0;ve<ee.length;ve++)re(ve);if(c[Q.id]===l[Q.id]){for(var he=[];s.length>0;){var pe=s.pop();if(o[pe.id]=!1,he.push(pe),pe===Q)break}he.length>0&&h.push(he)}},k=0,W=n;k<W.length;k++){var j=W[k];!l[j.id]&&l[j.id]!==0&&C(j)}return h};function qy(r,e){return e?Jy(r):zC(r)}var Gc=function(e){var t={},n=e.nodes,i=n===void 0?[]:n,a=e.edges,s=a===void 0?[]:a;return i.forEach(function(o){t[o.id]={degree:0,inDegree:0,outDegree:0}}),s.forEach(function(o){t[o.source].degree++,t[o.source].outDegree++,t[o.target].degree++,t[o.target].inDegree++}),t},cg=Gc,FC=function(e,t){var n=Gc(e);return n[t]?Gc(e)[t].inDegree:0},UC=function(e,t){var n=Gc(e);return n[t]?Gc(e)[t].outDegree:0};function WC(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var s=a.next;return i[s]?!1:(i[s]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}function $y(r,e,t,n,i){i===void 0&&(i=!0),n.enter({current:e,previous:t});var a=r.edges,s=a===void 0?[]:a;Ka(e,s,i?"target":void 0).forEach(function(o){n.allowTraversal({previous:t,current:e,next:o})&&$y(r,o,e,n,i)}),n.leave({current:e,previous:t})}function e1(r,e,t,n){n===void 0&&(n=!0),$y(r,e,"",WC(t),n)}var HC=function(e){var t=null,n=e.nodes,i=n===void 0?[]:n,a={},s={},o={},l={};i.forEach(function(p){s[p.id]=p});for(var c={enter:function(C){var k=C.current,W=C.previous;if(o[k]){t={};for(var j=k,K=W;K!==k;)t[j]=K,j=K,K=a[K];t[j]=K}else o[k]=k,delete s[k],a[k]=W},leave:function(C){var k=C.current;l[k]=k,delete o[k]},allowTraversal:function(C){var k=C.next;return t?!1:!l[k]}};Object.keys(s).length;){var h=Object.keys(s)[0];e1(e,h,c)}return t},t1=function(e,t,n){var i,a;n===void 0&&(n=!0);for(var s=[],o=qy(e,!1),l=0,c=o;l<c.length;l++){var h=c[l];if(h.length)for(var p=h[0],C=p.id,k=[p],W=(i={},i[C]=p,i),j=(a={},a[C]=new Set,a);k.length>0;)for(var K=k.pop(),Q=K.id,ee=Ka(Q,e.edges),re=function(pe){var _e,Ee=ee[pe],De=e.nodes.find(function(ht){return ht.id===Ee});if(Ee===Q)s.push((_e={},_e[Ee]=K,_e));else if(!(Ee in j))W[Ee]=K,k.push(De),j[Ee]=new Set([K]);else if(!j[Q].has(De)){for(var Be=!0,Fe=[De,K],Xe=W[Q];j[Ee].size&&!j[Ee].has(Xe)&&(Fe.push(Xe),Xe!==W[Xe.id]);)Xe=W[Xe.id];if(Fe.push(Xe),t&&n?(Be=!1,Fe.findIndex(function(ht){return t.indexOf(ht.id)>-1})>-1&&(Be=!0)):t&&!n&&Fe.findIndex(function(ht){return t.indexOf(ht.id)>-1})>-1&&(Be=!1),Be){for(var qe={},ct=1;ct<Fe.length;ct+=1)qe[Fe[ct-1].id]=Fe[ct];Fe.length&&(qe[Fe[Fe.length-1].id]=Fe[0]),s.push(qe)}j[Ee].add(K)}},ve=0;ve<ee.length;ve+=1)re(ve)}return s},n1=function(e,t,n){n===void 0&&(n=!0);for(var i=[],a=new Set,s=[],o=[],l={},c={},h=function(Xe){for(var qe=[Xe];qe.length>0;){var ct=qe.pop();a.has(ct)&&(a.delete(ct),s[ct.id].forEach(function(ht){qe.push(ht)}),s[ct.id].clear())}},p=function Fe(Xe,qe,ct){var ht=!1;if(t&&n===!1&&t.indexOf(Xe.id)>-1)return ht;i.push(Xe),a.add(Xe);for(var St=ct[Xe.id],bt=0;bt<St.length;bt+=1){var Et=l[St[bt]];if(Et===qe){for(var xt={},Dt=1;Dt<i.length;Dt+=1)xt[i[Dt-1].id]=i[Dt];i.length&&(xt[i[i.length-1].id]=i[0]),o.push(xt),ht=!0}else a.has(Et)||Fe(Et,qe,ct)&&(ht=!0)}if(ht)h(Xe);else for(var bt=0;bt<St.length;bt+=1){var Et=l[St[bt]];s[Et.id].has(Xe)||s[Et.id].add(Xe)}return i.pop(),ht},C=e.nodes,k=C===void 0?[]:C,W=0;W<k.length;W+=1){var j=k[W],K=j.id;c[K]=W,l[W]=j}if(t&&n)for(var Q=function(Xe){var qe=t[Xe];c[k[Xe].id]=c[qe],c[qe]=0,l[0]=k.find(function(ct){return ct.id===qe}),l[c[k[Xe].id]]=k[Xe]},W=0;W<t.length;W++)Q(W);for(var ee=function(Xe){for(var qe,ct,ht=1/0,St=0;St<Xe.length;St+=1)for(var bt=Xe[St],Et=0;Et<bt.length;Et++){var xt=c[bt[Et].id];xt<ht&&(ht=xt,ct=St)}for(var Dt=Xe[ct],Ut=[],St=0;St<Dt.length;St+=1){var Xt=Dt[St];Ut[Xt.id]=[];for(var an=0,gn=Ka(Xt.id,e.edges,"target").filter(function(zn){return Dt.map(function(Vn){return Vn.id}).indexOf(zn)>-1});an<gn.length;an++){var sn=gn[an];sn===Xt.id&&!(n===!1&&t.indexOf(Xt.id)>-1)?o.push((qe={},qe[Xt.id]=Xt,qe)):Ut[Xt.id].push(c[sn])}}return{component:Dt,adjList:Ut,minIdx:ht}},re=0;re<k.length;){var ve=k.filter(function(Fe){return c[Fe.id]>=re}),he=Jy({nodes:ve,edges:e.edges}).filter(function(Fe){return Fe.length>1});if(he.length===0)break;var pe=ee(he),_e=pe.minIdx,Ee=pe.adjList,De=pe.component;if(De.length>1){De.forEach(function(Fe){s[Fe.id]=new Set});var Be=l[_e];if(t&&n&&t.indexOf(Be.id)===-1)return o;p(Be,Be,Ee),re=_e+1}else break}return o},jC=function(e,t,n,i){return i===void 0&&(i=!0),t?n1(e,n,i):t1(e,n,i)},r1=HC,GC={}.toString,VC=function(r,e){return GC.call(r)==="[object "+e+"]"},Dh=VC,ug=function(r){return Dh(r,"Function")},hg=function(r){return Array.isArray?Array.isArray(r):Dh(r,"Array")},ZC=function(r){var e=typeof r;return r!==null&&e==="object"||e==="function"};function KC(r,e){if(r){var t;if(hg(r))for(var n=0,i=r.length;n<i&&(t=e(r[n],n),t!==!1);n++);else if(ZC(r)){for(var a in r)if(r.hasOwnProperty(a)&&(t=e(r[a],a),t===!1))break}}}var i1=KC,hF=Object.keys?function(r){return Object.keys(r)}:function(r){var e=[];return i1(r,function(t,n){ug(r)&&n==="prototype"||e.push(n)}),e},fF=null;function dF(r,e){var t=keys(e),n=t.length;if(isNil(r))return!n;for(var i=0;i<n;i+=1){var a=t[i];if(e[a]!==r[a]||!(a in r))return!1}return!0}var vF=null,gF=function(r){if(!isObjectLike(r)||!isType(r,"Object"))return!1;if(Object.getPrototypeOf(r)===null)return!0;for(var e=r;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e},pF=null;function mF(r,e){if(!isArray(r))return null;var t;if(isFunction(e)&&(t=e),isPlainObject(e)&&(t=function(i){return isMatch(i,e)}),t){for(var n=0;n<r.length;n+=1)if(t(r[n]))return r[n]}return null}var yF=null,_F=function(r,e){for(var t=null,n=0;n<r.length;n++){var i=r[n],a=i[e];if(!isNil(a)){isArray(a)?t=a[0]:t=a;break}}return t},EF=null,xF=function(r){if(!isArray(r))return[];for(var e=[],t=0;t<r.length;t++)e=e.concat(r[t]);return e},bF=null,XC=function(r,e){if(e===void 0&&(e=[]),!isArray(r))e.push(r);else for(var t=0;t<r.length;t+=1)XC(r[t],e);return e},wF=null,MF=function(r){if(isArray(r))return r.reduce(function(e,t){return Math.max(e,t)},r[0])},SF=function(r){if(isArray(r))return r.reduce(function(e,t){return Math.min(e,t)},r[0])},TF=function(r){var e=r.filter(function(s){return!isNaN(s)});if(!e.length)return{min:0,max:0};if(isArray(r[0])){for(var t=[],n=0;n<r.length;n++)t=t.concat(r[n]);e=t}var i=getMax(e),a=getMin(e);return{min:a,max:i}},AF=null,a1=Array.prototype,YC=a1.splice,QC=a1.indexOf,CF=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n++)for(var i=e[n],a=-1;(a=QC.call(r,i))>-1;)YC.call(r,a,1);return r},OF=null,JC=Array.prototype.splice,PF=function(e,t){if(!isArrayLike(e))return[];for(var n=e?t.length:0,i=n-1;n--;){var a=void 0,s=t[n];(n===i||s!==a)&&(a=s,JC.call(e,s,1))}return e},DF=null,LF=function(r,e,t){if(!isArray(r)&&!isPlainObject(r))return r;var n=t;return each(r,function(i,a){n=e(n,i,a)}),n},RF=null,IF=function(r,e){var t=[];if(!isArrayLike(r))return t;for(var n=-1,i=[],a=r.length;++n<a;){var s=r[n];e(s,n,r)&&(t.push(s),i.push(n))}return pullAt(r,i),t},NF=null,fg=function(r){return Dh(r,"String")};function BF(r,e){var t;if(isFunction(e))t=function(i,a){return e(i)-e(a)};else{var n=[];isString(e)?n.push(e):isArray(e)&&(n=e),t=function(i,a){for(var s=0;s<n.length;s+=1){var o=n[s];if(i[o]>a[o])return 1;if(i[o]<a[o])return-1}return 0}}return r.sort(t),r}var kF=null;function dg(r,e){e===void 0&&(e=new Map);var t=[];if(Array.isArray(r))for(var n=0,i=r.length;n<i;n++){var a=r[n];e.has(a)||(t.push(a),e.set(a,!0))}return t}var zF=function(r,e){for(var t=[],n={},i=0;i<r.length;i++){var a=r[i],s=a[e];if(!isNil(s)){isArray(s)||(s=[s]);for(var o=0;o<s.length;o++){var l=s[o];n[l]||(t.push(l),n[l]=!0)}}}return t};function FF(r,e){return isArray(r)||isString(r)?r[0]===e:!1}var UF=null;function WF(r,e){return isArray(r)||isString(r)?r[r.length-1]===e:!1}var HF=null,qC=Object.prototype.hasOwnProperty;function jF(r,e){if(!e||!isArray(r))return{};for(var t={},n=isFunction(e)?e:function(o){return o[e]},i,a=0;a<r.length;a++){var s=r[a];i=n(s),qC.call(t,i)?t[i].push(s):t[i]=[s]}return t}var GF=null;function VF(r,e){if(!e)return{0:r};if(!isFunction(e)){var t=isArray(e)?e:e.replace(/\s+/g,"").split("*");e=function(n){for(var i="_",a=0,s=t.length;a<s;a++)i+=n[t[a]]&&n[t[a]].toString();return i}}return groupBy(r,e)}var ZF=function(r,e){if(!e)return[r];var t=groupToMap(r,e),n=[];for(var i in t)n.push(t[i]);return n},s1={};function KF(r){var e=s1[r];if(!e){for(var t=r.toString(16),n=t.length;n<6;n++)t="0"+t;e="#"+t,s1[r]=e}return e}var XF=null;function YF(r){var e=0,t=0,n=0,i=0;return isArray(r)?r.length===1?e=t=n=i=r[0]:r.length===2?(e=n=r[0],t=i=r[1]):r.length===3?(e=r[0],t=i=r[1],n=r[2]):(e=r[0],t=r[1],n=r[2],i=r[3]):e=t=n=i=r,{r1:e,r2:t,r3:n,r4:i}}var QF=null,$C=function(r){return Dh(r,"Number")},eO=$C,JF=function(r){return isNumber(r)&&r%1!==0},qF=null,$F=function(r){return isNumber(r)&&r%2===0},e9=null,t9=Number.isInteger?Number.isInteger:function(r){return eO(r)&&r%1===0},n9=null,r9=function(r){return isNumber(r)&&r<0},i9=null,a9=function(r){return isNumber(r)&&r%2!==0},s9=null,o9=function(r){return isNumber(r)&&r>0},l9=null,c9=function(r,e){if(isArray(r)){for(var t,n=-1/0,i=0;i<r.length;i++){var a=r[i],s=isFunction(e)?e(a):a[e];s>n&&(t=a,n=s)}return t}},u9=function(r,e){if(isArray(r)){for(var t,n=1/0,i=0;i<r.length;i++){var a=r[i],s=isFunction(e)?e(a):a[e];s<n&&(t=a,n=s)}return t}},tO=180/Math.PI,h9=function(r){return tO*r},f9=null,nO=Math.PI/180,d9=function(r){return nO*r},v9=null,g9=null,rO=Object.values?function(r){return Object.values(r)}:function(r){var e=[];return i1(r,function(t,n){ug(r)&&n==="prototype"||e.push(t)}),e},iO=rO,p9=function(r,e){return contains(values(r),e)},aO={}.toString,m9=function(r){return aO.call(r).replace(/^\[object /,"").replace(/]$/,"")},y9=null,_9=function(r){return isType(r,"Arguments")},E9=null,x9=function(r){return isType(r,"Boolean")},b9=null,w9=function(r){return isType(r,"Date")},M9=null,S9=function(r){return isType(r,"Error")},T9=null;function A9(r){return isNumber(r)&&isFinite(r)}var sO=Object.prototype,C9=function(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||sO;return r===t},O9=null,P9=function(r){return isType(r,"RegExp")},D9=null,L9=function(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];for(var t=r[0],n=1;n<r.length;n++){var i=r[n];isFunction(i)&&(i=i.prototype),mix(t.prototype,i)}},R9=null,vg=function(r){if(typeof r!="object"||r===null)return r;var e;if(hg(r)){e=[];for(var t=0,n=r.length;t<n;t++)typeof r[t]=="object"&&r[t]!=null?e[t]=vg(r[t]):e[t]=r[t]}else{e={};for(var i in r)typeof r[i]=="object"&&r[i]!=null?e[i]=vg(r[i]):e[i]=r[i]}return e},Vc=vg,oO=function(r,e){if(!ug(r))throw new TypeError("Expected a function");var t=function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var a=e?e.apply(this,n):n[0],s=t.cache;if(s.has(a))return s.get(a);var o=r.apply(this,n);return s.set(a,o),o};return t.cache=new Map,t},lO=5;function o1(r,e,t,n){t=t||0,n=n||lO;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i];a!==null&&isPlainObject(a)?(isPlainObject(r[i])||(r[i]={}),t<n?o1(r[i],a,t+1,n):r[i]=e[i]):isArray(a)?(r[i]=[],r[i]=r[i].concat(a)):a!==void 0&&(r[i]=a)}}var I9=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)o1(r,e[n]);return r},N9=null,B9=function(r,e,t,n){isFunction(e)||(t=e,e=r,r=function(){});var i=Object.create?function(s,o){return Object.create(s,{constructor:{value:o}})}:function(s,o){function l(){}l.prototype=s;var c=new l;return c.constructor=o,c},a=i(e.prototype,r);return r.prototype=mix(a,r.prototype),r.superclass=i(e.prototype,e),mix(a,t),mix(r,n),r},k9=null,cO=Object.prototype.hasOwnProperty;function z9(r){if(isNil(r))return!0;if(isArrayLike(r))return!r.length;var e=getType(r);if(e==="Map"||e==="Set")return!r.size;if(isPrototype(r))return!Object.keys(r).length;for(var t in r)if(cO.call(r,t))return!1;return!0}var F9=null,uO=function(r){return typeof r=="object"&&r!==null},l1=uO,hO=function(r){return r!==null&&typeof r!="function"&&isFinite(r.length)},c1=hO,gg=function(r,e){if(r===e)return!0;if(!r||!e||fg(r)||fg(e))return!1;if(c1(r)||c1(e)){if(r.length!==e.length)return!1;for(var t=!0,n=0;n<r.length&&(t=gg(r[n],e[n]),!!t);n++);return t}if(l1(r)||l1(e)){var i=Object.keys(r),a=Object.keys(e);if(i.length!==a.length)return!1;for(var t=!0,n=0;n<i.length&&(t=gg(r[i[n]],e[i[n]]),!!t);n++);return t}return!1},fO=gg,U9=function(r,e,t){return isFunction(t)?!!t(r,e):isEqual(r,e)},W9=function(r,e,t){for(var n=0,i=isString(e)?e.split("."):e;r&&n<i.length;)r=r[i[n++]];return r===void 0||n<i.length?t:r},H9=function(r,e,t){var n=r,i=isString(e)?e.split("."):e;return i.forEach(function(a,s){s<i.length-1?(isObject(n[a])||(n[a]=isNumber(i[s+1])?[]:{}),n=n[a]):n[a]=t}),r},dO=Object.prototype.hasOwnProperty,j9=function(r,e){if(r===null||!isPlainObject(r))return{};var t={};return each(e,function(n){dO.call(r,n)&&(t[n]=r[n])}),t},G9=function(r,e){return reduce(r,function(t,n,i){return e.includes(i)||(t[i]=n),t},{})},Lh={},V9=function(r){return r=r||"g",Lh[r]?Lh[r]+=1:Lh[r]=1,r+Lh[r]},Rh,Z9=oO(function(r,e){e===void 0&&(e={});var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,s=e.fontVariant;return Rh||(Rh=document.createElement("canvas").getContext("2d")),Rh.font=[a,s,i,t+"px",n].join(" "),Rh.measureText(fg(r)?r:"").width},function(r,e){return e===void 0&&(e={}),(0,we.pr)([r],iO(e)).join("")}),K9=function(r,e,t,n){n===void 0&&(n="...");var i=16,a=measureTextWidth(n,t),s=isString(r)?r:toString(r),o=e,l=[],c,h;if(measureTextWidth(r,t)<=e)return r;for(;c=s.substr(0,i),h=measureTextWidth(c,t),!(h+a>o&&h>o);)if(l.push(c),o-=h,s=s.substr(i),!s)return l.join("");for(;c=s.substr(0,1),h=measureTextWidth(c,t),!(h+a>o);)if(l.push(c),o-=h,s=s.substr(1),!s)return l.join("");return""+l.join("")+n},X9=function(){function r(){this.map={}}return r.prototype.has=function(e){return this.map[e]!==void 0},r.prototype.get=function(e,t){var n=this.map[e];return n===void 0?t:n},r.prototype.set=function(e,t){this.map[e]=t},r.prototype.clear=function(){this.map={}},r.prototype.delete=function(e){delete this.map[e]},r.prototype.size=function(){return Object.keys(this.map).length},r}(),Y9=null,vO=function(e,t,n){for(var i=1/0,a,s=0;s<t.length;s++){var o=t[s].id;!n[o]&&e[o]<=i&&(i=e[o],a=t[s])}return a},gO=function(e,t,n,i){var a=e.nodes,s=a===void 0?[]:a,o=e.edges,l=o===void 0?[]:o,c=[],h={},p={},C={};s.forEach(function(re,ve){var he=re.id;c.push(he),p[he]=1/0,he===t&&(p[he]=0)});for(var k=s.length,W=function(ve){var he=vO(p,s,h),pe=he.id;if(h[pe]=!0,p[pe]===1/0)return"continue";var _e=[];n?_e=IC(pe,l):_e=Ph(pe,l),_e.forEach(function(Ee){var De=Ee.target,Be=Ee.source,Fe=De===pe?Be:De,Xe=i&&Ee[i]?Ee[i]:1;p[Fe]>p[he.id]+Xe?(p[Fe]=p[he.id]+Xe,C[Fe]=[he.id]):p[Fe]===p[he.id]+Xe&&C[Fe].push(he.id)})},j=0;j<k;j++)W(j);C[t]=[t];var K={};for(var Q in p)p[Q]!==1/0&&u1(t,Q,C,K);var ee={};for(var Q in K)ee[Q]=K[Q][0];return{length:p,path:ee,allPath:K}},Ih=gO;function u1(r,e,t,n){if(r===e)return[r];if(n[e])return n[e];for(var i=[],a=0,s=t[e];a<s.length;a++){var o=s[a],l=u1(r,o,t,n);if(!l)return;for(var c=0,h=l;c<h.length;c++){var p=h[c];hg(p)?i.push((0,we.ev)((0,we.ev)([],p,!0),[e],!1)):i.push([p,e])}}return n[e]=i,n[e]}var pg=function(e,t,n,i,a){var s=Ih(e,t,i,a),o=s.length,l=s.path,c=s.allPath;return{length:o[n],path:l[n],allPath:c[n]}},pO=function(e,t,n,i){var a;if(t===n)return[[t]];var s=e.edges,o=s===void 0?[]:s,l=[t],c=(a={},a[t]=!0,a),h=[],p=[],C=i?Ka(t,o,"target"):Ka(t,o);for(h.push(C);l.length>0&&h.length>0;){var k=h[h.length-1];if(k.length){var W=k.shift();W&&(l.push(W),c[W]=!0,C=i?Ka(W,o,"target"):Ka(W,o),h.push(C.filter(function(Q){return!c[Q]})))}else{var j=l.pop();c[j]=!1,h.pop();continue}if(l[l.length-1]===n){var K=l.map(function(ee){return ee});p.push(K);var j=l.pop();c[j]=!1,h.pop()}}return p},mO=function(e,t){for(var n=Oh(e,t),i=[],a=n.length,s=0;s<a;s+=1){i[s]=[];for(var o=0;o<a;o+=1)s===o?i[s][o]=0:n[s][o]===0||!n[s][o]?i[s][o]=1/0:i[s][o]=n[s][o]}for(var l=0;l<a;l+=1)for(var s=0;s<a;s+=1)for(var o=0;o<a;o+=1)i[s][o]>i[s][l]+i[l][o]&&(i[s][o]=i[s][l]+i[l][o]);return i},mg=mO,yO=function(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e3);var a=e.nodes,s=a===void 0?[]:a,o=e.edges,l=o===void 0?[]:o,c={},h={};s.forEach(function(ve,he){var pe=Qy();ve.clusterId=pe,c[pe]={id:pe,nodes:[ve]},h[ve.id]={node:ve,idx:he}});var p=Oh(e,t),C=[],k={};p.forEach(function(ve,he){var pe=0,_e=s[he].id;k[_e]={},ve.forEach(function(Ee,De){if(Ee){pe+=Ee;var Be=s[De].id;k[_e][Be]=Ee}}),C.push(pe)});for(var W=0,j=function(){var he=!1;if(s.forEach(function(pe){var _e={};Object.keys(k[pe.id]).forEach(function(ht){var St=k[pe.id][ht],bt=h[ht].node,Et=bt.clusterId;_e[Et]||(_e[Et]=0),_e[Et]+=St});var Ee=-1/0,De=[];if(Object.keys(_e).forEach(function(ht){Ee<_e[ht]?(Ee=_e[ht],De=[ht]):Ee===_e[ht]&&De.push(ht)}),!(De.length===1&&De[0]===pe.clusterId)){var Be=De.indexOf(pe.clusterId);if(Be>=0&&De.splice(Be,1),De&&De.length){he=!0;var Fe=c[pe.clusterId],Xe=Fe.nodes.indexOf(pe);Fe.nodes.splice(Xe,1);var qe=Math.floor(Math.random()*De.length),ct=c[De[qe]];ct.nodes.push(pe),pe.clusterId=ct.id}}}),!he)return"break";W++};W<i;){var K=j();if(K==="break")break}Object.keys(c).forEach(function(ve){var he=c[ve];(!he.nodes||!he.nodes.length)&&delete c[ve]});var Q=[],ee={};l.forEach(function(ve){var he=ve.source,pe=ve.target,_e=ve[n]||1,Ee=h[he].node.clusterId,De=h[pe].node.clusterId,Be="".concat(Ee,"---").concat(De);if(ee[Be])ee[Be].weight+=_e,ee[Be].count++;else{var Fe={source:Ee,target:De,weight:_e,count:1};ee[Be]=Fe,Q.push(Fe)}});var re=[];return Object.keys(c).forEach(function(ve){re.push(c[ve])}),{clusters:re,clusterEdges:Q}},_O=yO,EO=function(){function r(e){this.arr=e}return r.prototype.getArr=function(){return this.arr||[]},r.prototype.add=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length))return new r(n);if(!(n!=null&&n.length))return new r(this.arr);if(this.arr.length===n.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]+n[a];return new r(i)}},r.prototype.subtract=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length))return new r(n);if(!(n!=null&&n.length))return new r(this.arr);if(this.arr.length===n.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]-n[a];return new r(i)}},r.prototype.avg=function(e){var t=[];if(e!==0)for(var n in this.arr)t[n]=this.arr[n]/e;return new r(t)},r.prototype.negate=function(){var e=[];for(var t in this.arr)e[t]=-this.arr[t];return new r(e)},r.prototype.squareEuclideanDistance=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length)||!(n!=null&&n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-e.arr[a],2);return i}},r.prototype.euclideanDistance=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length)||!(n!=null&&n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-e.arr[a],2);return Math.sqrt(i)}else console.error("The two vectors are unequal in length.")},r.prototype.normalize=function(){var e=[],t=Vc(this.arr);t.sort(function(s,o){return s-o});var n=t[t.length-1],i=t[0];for(var a in this.arr)e[a]=(this.arr[a]-i)/(n-i);return new r(e)},r.prototype.norm2=function(){var e;if(!(!((e=this.arr)===null||e===void 0)&&e.length))return 0;var t=0;for(var n in this.arr)t+=Math.pow(this.arr[n],2);return Math.sqrt(t)},r.prototype.dot=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length)||!(n!=null&&n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=this.arr[a]*e.arr[a];return i}else console.error("The two vectors are unequal in length.")},r.prototype.equal=function(e){var t,n=e.arr;if(((t=this.arr)===null||t===void 0?void 0:t.length)!==(n==null?void 0:n.length))return!1;for(var i in this.arr)if(this.arr[i]!==n[i])return!1;return!0},r}(),Xa=EO,xO=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/,bO=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/,h1=function(e,t){e===void 0&&(e=[]),t===void 0&&(t=100);var n={};e.forEach(function(a){a.properties&&Object.keys(a.properties).forEach(function(s){if(s==="id"||!"".concat(a.properties[s]).match(xO)&&!"".concat(a.properties[s]).match(bO)&&isNaN(Number(a.properties[s]))){n.hasOwnProperty(s)&&delete n[s];return}n.hasOwnProperty(s)?n[s]+=1:n[s]=1})});var i=Object.keys(n).sort(function(a,s){return n[s]-n[a]});return i.length<t?i:i.slice(0,t)},wO=function(e,t){return t.map(function(n){return e.hasOwnProperty(n)?e[n]:0})},MO=function(e){for(var t=h1(e),n=[],i=0;i<e.length;i++)n[i]=wO(e[i].properties,t);return n},Nh=function(e,t){t===void 0&&(t=void 0);var n=[];return e.forEach(function(i){t===void 0&&n.push(i),i[t]!==void 0&&n.push(i[t])}),n},Q9={getAllSortProperties:h1,getPropertyWeight:MO,getAllProperties:Nh},cs;(function(r){r.EuclideanDistance="euclideanDistance"})(cs||(cs={}));var f1=function(e,t,n){var i=[];t!=null&&t.length?i=t:(e.forEach(function(s){i=i.concat(Object.keys(s))}),i=dg(i));var a={};return i.forEach(function(s){var o=[];e.forEach(function(l){l[s]!==void 0&&l[s]!==""&&o.push(l[s])}),o.length&&!(n!=null&&n.includes(s))&&(a[s]=dg(o))}),a},Bh=function(e,t,n){var i=f1(e,t,n),a=[];if(!Object.keys(i).length)return a;var s=Object.values(i),o=s.every(function(l){return l.every(function(c){return typeof c=="number"})});return e.forEach(function(l,c){var h=[];Object.keys(i).forEach(function(p){var C=l[p],k=i[p],W=k.findIndex(function(Q){return C===Q}),j=[];if(o)j.push(C);else for(var K=0;K<k.length;K++)K===W?j.push(1):j.push(0);h=h.concat(j)}),a[c]=h}),a},yg=function(e,t,n,i){n===void 0&&(n=cs.EuclideanDistance);var a=0;switch(n){case cs.EuclideanDistance:a=new Xa(e).euclideanDistance(new Xa(t));break;default:break}return a},J9={getAllKeyValueMap:f1,oneHot:Bh,getDistance:yg},d1=function(e,t,n,i){for(var a=t.length,s=2*i,o=0,l=0;l<a;l++)for(var c=e[l].clusterId,h=0;h<a;h++){var p=e[h].clusterId;if(c===p){var C=t[l][h]||0,k=n[l]||0,W=n[h]||0;o+=C-k*W/s}}return o*=1/s,o},_g=function(e,t){e===void 0&&(e=[]);for(var n=e.length,i=new Xa([]),a=0;a<n;a++)i=i.add(new Xa(t[a]));var s=i.avg(n);s.normalize();for(var o=0,a=0;a<n;a++){var l=new Xa(t[a]),c=l.squareEuclideanDistance(s);o+=c}var h=[];e.forEach(function(){h.push([])});for(var a=0;a<n;a++){var l=new Xa(t[a]);e[a].clusterInertial=0;for(var p=0;p<n;p++){if(a===p){h[a][p]=0;continue}var C=new Xa(t[p]);h[a][p]=l.squareEuclideanDistance(C),e[a].clusterInertial+=h[a][p]}}for(var k=0,W=2*n*o,a=0;a<n;a++)for(var j=e[a].clusterId,p=0;p<n;p++){var K=e[p].clusterId;if(!(a===p||j!==K)){var Q=e[a].clusterInertial*e[p].clusterInertial/Math.pow(W,2)-h[a][p]/W;k+=Q}}return Number(k.toFixed(4))},SO=function(e,t,n,i,a,s,o,l,c){t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e-4),a===void 0&&(a=!1),s===void 0&&(s=void 0),o===void 0&&(o=[]),l===void 0&&(l=["id"]),c===void 0&&(c=1);var h=e.nodes,p=h===void 0?[]:h,C=e.edges,k=C===void 0?[]:C,W=[];if(a){p.forEach(function(xt,Dt){xt.properties=xt.properties||{},xt.originIndex=Dt});var j=[];p.every(function(xt){return xt.hasOwnProperty("nodeType")})&&(j=Array.from(new Set(p.map(function(xt){return xt.nodeType}))),p.forEach(function(xt){xt.properties.nodeType=j.findIndex(function(Dt){return Dt===xt.nodeType})}));var K=Nh(p,s);W=Bh(K,o,l)}var Q=1,ee={},re={};p.forEach(function(xt,Dt){var Ut=String(Q++);xt.clusterId=Ut,ee[Ut]={id:Ut,nodes:[xt]},re[xt.id]={node:xt,idx:Dt}});var ve=Oh(e,t),he=[],pe={},_e=0;ve.forEach(function(xt,Dt){var Ut=0,Xt=p[Dt].id;pe[Xt]={},xt.forEach(function(an,gn){if(an){Ut+=an;var sn=p[gn].id;pe[Xt][sn]=an,_e+=an}}),he.push(Ut)}),_e/=2;for(var Ee=1/0,De=1/0,Be=0,Fe=[],Xe={};;){a&&p.every(function(xt){return xt.hasOwnProperty("properties")})?Ee=d1(p,ve,he,_e)+_g(p,W)*c:Ee=d1(p,ve,he,_e),Be===0&&(De=Ee,Fe=p,Xe=ee);var qe=Ee>0&&Ee>De&&Ee-De<i;if(Ee>De&&(Fe=p.map(function(xt){return{node:xt,clusterId:xt.clusterId}}),Xe=Vc(ee),De=Ee),qe||Be>100)break;Be++,Object.keys(ee).forEach(function(xt){var Dt=0;k.forEach(function(Ut){var Xt=Ut.source,an=Ut.target,gn=re[Xt].node.clusterId,sn=re[an].node.clusterId;(gn===xt&&sn!==xt||sn===xt&&gn!==xt)&&(Dt=Dt+(Ut[n]||1))}),ee[xt].sumTot=Dt}),p.forEach(function(xt,Dt){var Ut=ee[xt.clusterId],Xt=0,an,gn=he[Dt]/(2*_e),sn=0,Sn=Ut.nodes;Sn.forEach(function(Ui){var Di=re[Ui.id].idx;sn+=ve[Dt][Di]||0});var zn=sn-Ut.sumTot*gn,Vn=Sn.filter(function(Ui){return Ui.id!==xt.id}),ir=[];Vn.forEach(function(Ui,Di){ir[Di]=W[Ui.originIndex]});var hr=_g(Vn,W)*c,Ji=pe[xt.id];if(Object.keys(Ji).forEach(function(Ui){var Di=re[Ui].node,to=Di.clusterId;if(to!==xt.clusterId){var Wi=ee[to],ba=Wi.nodes;if(!(!ba||!ba.length)){var nr=0;ba.forEach(function(pr){var xr=re[pr.id].idx;nr+=ve[Dt][xr]||0});var Er=nr-Wi.sumTot*gn,rr=ba.concat([xt]),gr=[];rr.forEach(function(pr,xr){gr[xr]=W[pr.originIndex]});var wr=_g(rr,W)*c,wn=Er-zn;a&&(wn=Er+wr-(zn+hr)),wn>Xt&&(Xt=wn,an=Wi)}}}),Xt>0){an.nodes.push(xt);var _r=xt.clusterId;xt.clusterId=an.id;var Ba=Ut.nodes.indexOf(xt);Ut.nodes.splice(Ba,1);var qi=0,Ro=0;k.forEach(function(Ui){var Di=Ui.source,to=Ui.target,Wi=re[Di].node.clusterId,ba=re[to].node.clusterId;(Wi===an.id&&ba!==an.id||ba===an.id&&Wi!==an.id)&&(qi=qi+(Ui[n]||1)),(Wi===_r&&ba!==_r||ba===_r&&Wi!==_r)&&(Ro=Ro+(Ui[n]||1))}),an.sumTot=qi,Ut.sumTot=Ro}})}var ct={},ht=0;Object.keys(Xe).forEach(function(xt){var Dt=Xe[xt];if(!Dt.nodes||!Dt.nodes.length){delete Xe[xt];return}var Ut=String(ht+1);Ut!==xt&&(Dt.id=Ut,Dt.nodes=Dt.nodes.map(function(Xt){return{id:Xt.id,clusterId:Ut}}),Xe[Ut]=Dt,ct[xt]=Ut,delete Xe[xt],ht++)}),Fe.forEach(function(xt){var Dt=xt.node,Ut=xt.clusterId;Dt&&(Dt.clusterId=Ut,Dt.clusterId&&ct[Dt.clusterId]&&(Dt.clusterId=ct[Dt.clusterId]))});var St=[],bt={};k.forEach(function(xt){var Dt=xt.source,Ut=xt.target,Xt=xt[n]||1,an=re[Dt].node.clusterId,gn=re[Ut].node.clusterId;if(!(!an||!gn)){var sn="".concat(an,"---").concat(gn);if(bt[sn])bt[sn].weight+=Xt,bt[sn].count++;else{var Sn={source:an,target:gn,weight:Xt,count:1};bt[sn]=Sn,St.push(Sn)}}});var Et=[];return Object.keys(Xe).forEach(function(xt){Et.push(Xe[xt])}),{clusters:Et,clusterEdges:St}},v1=SO,TO=function(e,t,n,i,a,s,o,l){return t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e-4),a===void 0&&(a=void 0),s===void 0&&(s=[]),o===void 0&&(o=["id"]),l===void 0&&(l=1),v1(e,t,n,i,!0,a,s,o,l)},AO=TO,CO=function(e,t){var n;t===void 0&&(t=1);for(var i=Vc(e),a=i.nodes,s=a===void 0?[]:a,o=i.edges,l=o===void 0?[]:o,c=function(){var C=cg({nodes:s,edges:l}),k=Object.keys(C);k.sort(function(K,Q){var ee,re;return((ee=C[K])===null||ee===void 0?void 0:ee.degree)-((re=C[Q])===null||re===void 0?void 0:re.degree)});var W=k[0];if(!s.length||((n=C[W])===null||n===void 0?void 0:n.degree)>=t)return"break";var j=s.findIndex(function(K){return K.id===W});s.splice(j,1),l=l.filter(function(K){return!(K.source===W||K.target===W)})};;){var h=c();if(h==="break")break}return{nodes:s,edges:l}},OO=CO,g1=function(e,t,n){var i=[];switch(e){case cs.EuclideanDistance:i=t[n];break;default:i=[];break}return i},PO=function(e,t,n,i,a,s){t===void 0&&(t=3),n===void 0&&(n=void 0),i===void 0&&(i=[]),a===void 0&&(a=["id"]),s===void 0&&(s=cs.EuclideanDistance);var o=e.nodes,l=o===void 0?[]:o,c=e.edges,h=c===void 0?[]:c,p={clusters:[{id:"0",nodes:l}],clusterEdges:[]};if(s===cs.EuclideanDistance&&!l.every(function(Ut){return Ut.hasOwnProperty(n)}))return p;var C=[],k=[];if(s===cs.EuclideanDistance&&(C=Nh(l,n),k=Bh(C,i,a)),!k.length)return p;for(var W=dg(k.map(function(Ut){return Ut.join("")})),j=Math.min(t,l.length,W.length),K=0;K<l.length;K++)l[K].originIndex=K;for(var Q=[],ee=[],re=[],K=0;K<j;K++)if(K===0){var ve=Math.floor(Math.random()*l.length);switch(s){case cs.EuclideanDistance:Q[K]=k[ve];break;default:Q[K]=[];break}ee.push(ve),re[K]=[l[ve]],l[ve].clusterId=String(K)}else{for(var he=-1/0,pe=0,_e=function(an){if(!ee.includes(an)){for(var gn=0,sn=0;sn<Q.length;sn++){var Sn=0;switch(s){case cs.EuclideanDistance:Sn=yg(k[l[an].originIndex],Q[sn],s);break;default:break}gn+=Sn}var zn=gn/Q.length;zn>he&&!Q.find(function(Vn){return fO(Vn,g1(s,k,l[an].originIndex))})&&(he=zn,pe=an)}},Ee=0;Ee<l.length;Ee++)_e(Ee);Q[K]=g1(s,k,pe),ee.push(pe),re[K]=[l[pe]],l[pe].clusterId=String(K)}for(var De=0;;){for(var K=0;K<l.length;K++){var Be=0,Fe=1/0;if(!(De===0&&ee.includes(K))){for(var Xe=0;Xe<Q.length;Xe++){var qe=0;switch(s){case cs.EuclideanDistance:qe=yg(k[K],Q[Xe],s);break;default:break}qe<Fe&&(Fe=qe,Be=Xe)}if(l[K].clusterId!==void 0)for(var ct=re[Number(l[K].clusterId)].length-1;ct>=0;ct--)re[Number(l[K].clusterId)][ct].id===l[K].id&&re[Number(l[K].clusterId)].splice(ct,1);l[K].clusterId=String(Be),re[Be].push(l[K])}}for(var ht=!1,K=0;K<re.length;K++){for(var St=re[K],bt=new Xa([]),Xe=0;Xe<St.length;Xe++)bt=bt.add(new Xa(k[St[Xe].originIndex]));var Et=bt.avg(St.length);Et.equal(new Xa(Q[K]))||(ht=!0,Q[K]=Et.getArr())}if(De++,l.every(function(Ut){return Ut.clusterId!==void 0})&&ht||De>=1e3)break}var xt=[],Dt={};return h.forEach(function(Ut){var Xt,an,gn=Ut.source,sn=Ut.target,Sn=(Xt=l.find(function(hr){return hr.id===gn}))===null||Xt===void 0?void 0:Xt.clusterId,zn=(an=l.find(function(hr){return hr.id===sn}))===null||an===void 0?void 0:an.clusterId,Vn="".concat(Sn,"---").concat(zn);if(Dt[Vn])Dt[Vn].count++;else{var ir={source:Sn,target:zn,count:1};Dt[Vn]=ir,xt.push(ir)}}),{clusters:re,clusterEdges:xt}},DO=PO,LO=function(e,t){var n=new Xa(t),i=n.norm2(),a=new Xa(e),s=a.norm2(),o=n.dot(a),l=i*s,c=l?o/l:0;return c},p1=LO,RO=function(e,t,n,i,a){e===void 0&&(e=[]),n===void 0&&(n=void 0),i===void 0&&(i=[]),a===void 0&&(a=[]);var s=Vc(e.filter(function(C){return C.id!==t.id})),o=e.findIndex(function(C){return C.id===t.id}),l=Nh(e,n),c=Bh(l,i,a),h=c[o],p=[];return s.forEach(function(C,k){if(C.id!==t.id){var W=c[k],j=p1(W,h);p.push(j),C.cosineSimilarity=j}}),s.sort(function(C,k){return k.cosineSimilarity-C.cosineSimilarity}),{allCosineSimilarity:p,similarNodes:s}},IO=RO,NO=function(){function r(e){this.count=e.length,this.parent={};for(var t=0,n=e;t<n.length;t++){var i=n[t];this.parent[i]=i}}return r.prototype.find=function(e){for(;this.parent[e]!==e;)e=this.parent[e];return e},r.prototype.union=function(e,t){var n=this.find(e),i=this.find(t);n!==i&&(n<i?(this.parent[t]!==t&&this.union(this.parent[t],e),this.parent[t]=this.parent[e]):(this.parent[e]!==e&&this.union(this.parent[e],t),this.parent[e]=this.parent[t]))},r.prototype.connected=function(e,t){return this.find(e)===this.find(t)},r}(),BO=NO,kO=function(e,t){return e-t},zO=function(){function r(e){e===void 0&&(e=kO),this.compareFn=e,this.list=[]}return r.prototype.getLeft=function(e){return 2*e+1},r.prototype.getRight=function(e){return 2*e+2},r.prototype.getParent=function(e){return e===0?null:Math.floor((e-1)/2)},r.prototype.isEmpty=function(){return this.list.length<=0},r.prototype.top=function(){return this.isEmpty()?void 0:this.list[0]},r.prototype.delMin=function(){var e=this.top(),t=this.list.pop();return this.list.length>0&&(this.list[0]=t,this.moveDown(0)),e},r.prototype.insert=function(e){if(e!==null){this.list.push(e);var t=this.list.length-1;return this.moveUp(t),!0}return!1},r.prototype.moveUp=function(e){for(var t=this.getParent(e);e&&e>0&&this.compareFn(this.list[t],this.list[e])>0;){var n=this.list[t];this.list[t]=this.list[e],this.list[e]=n,e=t,t=this.getParent(e)}},r.prototype.moveDown=function(e){var t,n=e,i=this.getLeft(e),a=this.getRight(e),s=this.list.length;i!==null&&i<s&&this.compareFn(this.list[n],this.list[i])>0?n=i:a!==null&&a<s&&this.compareFn(this.list[n],this.list[a])>0&&(n=a),e!==n&&(t=[this.list[n],this.list[e]],this.list[e]=t[0],this.list[n]=t[1],this.moveDown(n))},r}(),FO=zO,UO=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,s=e.edges,o=s===void 0?[]:s;if(a.length===0)return n;var l=a[0],c=new Set;c.add(l);var h=function(K,Q){return t?K.weight-Q.weight:0},p=new FO(h);for(Ph(l.id,o).forEach(function(j){p.insert(j)});!p.isEmpty();){var C=p.delMin(),k=C.source,W=C.target;c.has(k)&&c.has(W)||(n.push(C),c.has(k)||(c.add(k),Ph(k,o).forEach(function(j){p.insert(j)})),c.has(W)||(c.add(W),Ph(W,o).forEach(function(j){p.insert(j)})))}return n},m1=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,s=e.edges,o=s===void 0?[]:s;if(a.length===0)return n;var l=o.map(function(k){return k});t&&l.sort(function(k,W){return k.weight-W.weight});for(var c=new BO(a.map(function(k){return k.id}));l.length>0;){var h=l.shift(),p=h.source,C=h.target;c.connected(p,C)||(n.push(h),c.union(p,C))}return n},WO=function(e,t,n){var i={prim:UO,kruskal:m1};return n?i[n](e,t):m1(e,t)},HO=WO,jO=function(e,t,n){typeof t!="number"&&(t=1e-6),typeof n!="number"&&(n=.85);for(var i=1,a=0,s=1e3,o=e.nodes,l=o===void 0?[]:o,c=e.edges,h=c===void 0?[]:c,p=l.length,C,k={},W={},j=0;j<p;++j){var K=l[j],Q=K.id;k[Q]=1/p,W[Q]=1/p}for(var ee=cg(e);s>0&&i>t;){a=0;for(var j=0;j<p;++j){var K=l[j],Q=K.id;if(C=0,ee[K.id].inDegree===0)k[Q]=0;else{for(var re=Ka(Q,h,"source"),ve=0;ve<re.length;++ve){var he=re[ve],pe=ee[he].outDegree;pe>0&&(C+=W[he]/pe)}k[Q]=n*C,a+=k[Q]}}a=(1-a)/p,i=0;for(var j=0;j<p;++j){var K=l[j],Q=K.id;C=k[Q]+a,i+=Math.abs(C-W[Q]),W[Q]=C}s-=1}return W},y1=jO,GO=-1,kh=-1,_1="-1",Ds="-1",E1=-1,q9="-1",x1=function(){function r(e,t,n,i){e===void 0&&(e=GO),t===void 0&&(t=kh),n===void 0&&(n=kh),i===void 0&&(i=_1),this.id=e,this.from=t,this.to=n,this.label=i}return r}(),VO=function(){function r(e,t){e===void 0&&(e=kh),t===void 0&&(t=Ds),this.id=e,this.label=t,this.edges=[],this.edgeMap={}}return r.prototype.addEdge=function(e){this.edges.push(e),this.edgeMap[e.id]=e},r}(),b1=function(){function r(e,t,n){e===void 0&&(e=kh),t===void 0&&(t=!0),n===void 0&&(n=!1),this.id=e,this.edgeIdAutoIncrease=t,this.edges=[],this.nodes=[],this.nodeMap={},this.edgeMap={},this.nodeLabelMap={},this.edgeLabelMap={},this.counter=0,this.directed=n}return r.prototype.getNodeNum=function(){return this.nodes.length},r.prototype.addNode=function(e,t){if(!this.nodeMap[e]){var n=new VO(e,t);this.nodes.push(n),this.nodeMap[e]=n,this.nodeLabelMap[t]||(this.nodeLabelMap[t]=[]),this.nodeLabelMap[t].push(e)}},r.prototype.addEdge=function(e,t,n,i){if((this.edgeIdAutoIncrease||e===void 0)&&(e=this.counter++),!(this.nodeMap[t]&&this.nodeMap[n]&&this.nodeMap[n].edgeMap[e])){var a=new x1(e,t,n,i);if(this.edges.push(a),this.edgeMap[e]=a,this.nodeMap[t].addEdge(a),this.edgeLabelMap[i]||(this.edgeLabelMap[i]=[]),this.edgeLabelMap[i].push(a),!this.directed){var s=new x1(e,n,t,i);this.nodeMap[n].addEdge(s),this.edgeLabelMap[i].push(s)}}},r}(),rl=function(){function r(e,t,n,i,a){this.fromNode=e,this.toNode=t,this.nodeEdgeNodeLabel={nodeLabel1:n||Ds,edgeLabel:i||_1,nodeLabel2:a||Ds}}return r.prototype.equalTo=function(e){return this.fromNode===e.formNode&&this.toNode===e.toNode&&this.nodeEdgeNodeLabel===e.nodeEdgeNodeLabel},r.prototype.notEqualTo=function(e){return!this.equalTo(e)},r}(),w1=function(){function r(){this.rmpath=[],this.dfsEdgeList=[]}return r.prototype.equalTo=function(e){var t=this.dfsEdgeList.length,n=e.length;if(t!==n)return!1;for(var i=0;i<t;i++)if(this.dfsEdgeList[i]!==e[i])return!1;return!0},r.prototype.notEqualTo=function(e){return!this.equalTo(e)},r.prototype.pushBack=function(e,t,n,i,a){return this.dfsEdgeList.push(new rl(e,t,n,i,a)),this.dfsEdgeList},r.prototype.toGraph=function(e,t){e===void 0&&(e=E1),t===void 0&&(t=!1);var n=new b1(e,!0,t);return this.dfsEdgeList.forEach(function(i){var a=i.fromNode,s=i.toNode,o=i.nodeEdgeNodeLabel,l=o.nodeLabel1,c=o.edgeLabel,h=o.nodeLabel2;l!==Ds&&n.addNode(a,l),h!==Ds&&n.addNode(s,h),l!==Ds&&h!==l&&n.addEdge(void 0,a,s,c)}),n},r.prototype.buildRmpath=function(){this.rmpath=[];for(var e=void 0,t=this.dfsEdgeList.length,n=t-1;n>=0;n--){var i=this.dfsEdgeList[n],a=i.fromNode,s=i.toNode;a<s&&(e===void 0||s===e)&&(this.rmpath.push(n),e=a)}return this.rmpath},r.prototype.getNodeNum=function(){var e={};return this.dfsEdgeList.forEach(function(t){e[t.fromNode]||(e[t.fromNode]=!0),e[t.toNode]||(e[t.toNode]=!0)}),Object.keys(e).length},r}(),zh=function(){function r(e){if(this.his={},this.nodesUsed={},this.edgesUsed={},this.edges=[],!!e){for(;e;){var t=e.edge;this.edges.push(t),this.nodesUsed[t.from]=1,this.nodesUsed[t.to]=1,this.edgesUsed[t.id]=1,e=e.preNode}this.edges=this.edges.reverse()}}return r.prototype.hasNode=function(e){return this.nodesUsed[e.id]===1},r.prototype.hasEdge=function(e){return this.edgesUsed[e.id]===1},r}(),ZO=function(){function r(e){var t=e.graphs,n=e.minSupport,i=n===void 0?2:n,a=e.minNodeNum,s=a===void 0?1:a,o=e.maxNodeNum,l=o===void 0?4:o,c=e.top,h=c===void 0?10:c,p=e.directed,C=p===void 0?!1:p,k=e.verbose,W=k===void 0?!1:k;this.graphs=t,this.dfsCode=new w1,this.support=0,this.frequentSize1Subgraphs=[],this.frequentSubgraphs=[],this.minSupport=i,this.top=h,this.directed=C,this.counter=0,this.maxNodeNum=l,this.minNodeNum=s,this.verbose=W,this.maxNodeNum<this.minNodeNum&&(this.maxNodeNum=this.minNodeNum),this.reportDF=[]}return r.prototype.findForwardRootEdges=function(e,t){var n=this,i=[],a=e.nodeMap;return t.edges.forEach(function(s){(n.directed||t.label<=a[s.to].label)&&i.push(s)}),i},r.prototype.findBackwardEdge=function(e,t,n,i){if(!this.directed&&t===n)return null;for(var a=e.nodeMap,s=a[n.to],o=s.edges,l=o.length,c=0;c<l;c++){var h=o[c];if(!(i.hasEdge(h)||h.to!==t.from)){if(this.directed){if(a[t.from].label<a[n.to].label||a[t.from].label===a[n.to].label&&t.label<=h.label)return h}else if(t.label<h.label||t.label===h.label&&a[t.to].label<=a[n.to].label)return h}}return null},r.prototype.findForwardPureEdges=function(e,t,n,i){for(var a=[],s=t.to,o=e.nodeMap[s].edges,l=o.length,c=0;c<l;c++){var h=o[c],p=e.nodeMap[h.to];n<=p.label&&!i.hasNode(p)&&a.push(h)}return a},r.prototype.findForwardRmpathEdges=function(e,t,n,i){for(var a=[],s=e.nodeMap,o=s[t.to].label,l=s[t.from],c=l.edges,h=c.length,p=0;p<h;p++){var C=c[p],k=s[C.to].label;t.to===C.to||n>k||i.hasNode(s[C.to])||(t.label<C.label||t.label===C.label&&o<=k)&&a.push(C)}return a},r.prototype.getSupport=function(e){var t={};return e.forEach(function(n){t[n.graphId]||(t[n.graphId]=!0)}),Object.keys(t).length},r.prototype.findMinLabel=function(e){var t=void 0;return Object.keys(e).forEach(function(n){var i=e[n],a=i.nodeLabel1,s=i.edgeLabel,o=i.nodeLabel2;if(!t){t={nodeLabel1:a,edgeLabel:s,nodeLabel2:o};return}(a<t.nodeLabel1||a===t.nodeLabel1&&s<t.edgeLabel||a===t.nodeLabel1&&s===t.edgeLabel&&o<t.nodeLabel2)&&(t={nodeLabel1:a,edgeLabel:s,nodeLabel2:o})}),t},r.prototype.isMin=function(){var e=this,t=this.dfsCode;if(this.verbose&&console.log("isMin checking",t),t.dfsEdgeList.length===1)return!0;var n=this.directed,i=t.toGraph(E1,n),a=i.nodeMap,s=new w1,o={};i.nodes.forEach(function(p){var C=e.findForwardRootEdges(i,p);C.forEach(function(k){var W=a[k.to],j="".concat(p.label,"-").concat(k.label,"-").concat(W.label);o[j]||(o[j]={projected:[],nodeLabel1:p.label,edgeLabel:k.label,nodeLabel2:W.label});var K={graphId:i.id,edge:k,preNode:null};o[j].projected.push(K)})});var l=this.findMinLabel(o);if(l){s.dfsEdgeList.push(new rl(0,1,l.nodeLabel1,l.edgeLabel,l.nodeLabel2));var c=function p(C){for(var k=s.buildRmpath(),W=s.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,j=s.dfsEdgeList[k[0]].toNode,K={},Q=!1,ee=0,re=n?-1:0,ve=function(bt){if(Q)return"break";C.forEach(function(Et){var xt=new zh(Et),Dt=e.findBackwardEdge(i,xt.edges[k[bt]],xt.edges[k[0]],xt);Dt&&(K[Dt.label]||(K[Dt.label]={projected:[],edgeLabel:Dt.label}),K[Dt.label].projected.push({graphId:i.id,edge:K,preNode:Et}),ee=s.dfsEdgeList[k[bt]].fromNode,Q=!0)})},he=k.length-1;he>re;he--){var pe=ve(he);if(pe==="break")break}if(Q){var _e=e.findMinLabel(K);s.dfsEdgeList.push(new rl(j,ee,Ds,_e.edgeLabel,Ds));var Ee=s.dfsEdgeList.length-1;return e.dfsCode.dfsEdgeList[Ee]!==s.dfsEdgeList[Ee]?!1:p(K[_e.edgeLabel].projected)}var De={};Q=!1;var Be=0;C.forEach(function(St){var bt=new zh(St),Et=e.findForwardPureEdges(i,bt.edges[k[0]],W,bt);Et.length>0&&(Q=!0,Be=j,Et.forEach(function(xt){var Dt="".concat(xt.label,"-").concat(a[xt.to].label);De[Dt]||(De[Dt]={projected:[],edgeLabel:xt.label,nodeLabel2:a[xt.to].label}),De[Dt].projected.push({graphId:i.id,edge:xt,preNode:St})}))});for(var Fe=k.length,Xe=function(bt){if(Q)return"break";var Et=k[bt];C.forEach(function(xt){var Dt=new zh(xt),Ut=e.findForwardRmpathEdges(i,Dt.edges[Et],W,Dt);Ut.length>0&&(Q=!0,Be=s.dfsEdgeList[Et].fromNode,Ut.forEach(function(Xt){var an="".concat(Xt.label,"-").concat(a[Xt.to].label);De[an]||(De[an]={projected:[],edgeLabel:Xt.label,nodeLabel2:a[Xt.to].label}),De[an].projected.push({graphId:i.id,edge:Xt,preNode:xt})}))})},he=0;he<Fe;he++){var qe=Xe(he);if(qe==="break")break}if(!Q)return!0;var ct=e.findMinLabel(De);s.dfsEdgeList.push(new rl(Be,j+1,Ds,ct.edgeLabel,ct.nodeLabel2));var ht=s.dfsEdgeList.length-1;return t.dfsEdgeList[ht]!==s.dfsEdgeList[ht]?!1:p(De["".concat(ct.edgeLabel,"-").concat(ct.nodeLabel2)].projected)},h="".concat(l.nodeLabel1,"-").concat(l.edgeLabel,"-").concat(l.nodeLabel2);return c(o[h].projected)}},r.prototype.report=function(){if(!(this.dfsCode.getNodeNum()<this.minNodeNum)){this.counter++;var e=this.dfsCode.toGraph(this.counter,this.directed);this.frequentSubgraphs.push(Vc(e))}},r.prototype.subGraphMining=function(e){var t=this,n=this.getSupport(e);if(!(n<this.minSupport)&&this.isMin()){this.report();var i=this.dfsCode.getNodeNum(),a=this.dfsCode.buildRmpath(),s=this.dfsCode.dfsEdgeList[a[0]].toNode,o=this.dfsCode.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,l={},c={};e.forEach(function(h){for(var p=t.graphs[h.graphId],C=p.nodeMap,k=new zh(h),W=a.length-1;W>=0;W--){var j=t.findBackwardEdge(p,k.edges[a[W]],k.edges[a[0]],k);if(j){var K="".concat(t.dfsCode.dfsEdgeList[a[W]].fromNode,"-").concat(j.label);c[K]||(c[K]={projected:[],toNodeId:t.dfsCode.dfsEdgeList[a[W]].fromNode,edgeLabel:j.label}),c[K].projected.push({graphId:h.graphId,edge:j,preNode:h})}}if(!(i>=t.maxNodeNum)){var Q=t.findForwardPureEdges(p,k.edges[a[0]],o,k);Q.forEach(function(re){var ve="".concat(s,"-").concat(re.label,"-").concat(C[re.to].label);l[ve]||(l[ve]={projected:[],fromNodeId:s,edgeLabel:re.label,nodeLabel2:C[re.to].label}),l[ve].projected.push({graphId:h.graphId,edge:re,preNode:h})});for(var ee=function(ve){var he=t.findForwardRmpathEdges(p,k.edges[a[ve]],o,k);he.forEach(function(pe){var _e="".concat(t.dfsCode.dfsEdgeList[a[ve]].fromNode,"-").concat(pe.label,"-").concat(C[pe.to].label);l[_e]||(l[_e]={projected:[],fromNodeId:t.dfsCode.dfsEdgeList[a[ve]].fromNode,edgeLabel:pe.label,nodeLabel2:C[pe.to].label}),l[_e].projected.push({graphId:h.graphId,edge:pe,preNode:h})})},W=0;W<a.length;W++)ee(W)}}),Object.keys(c).forEach(function(h){var p=c[h],C=p.toNodeId,k=p.edgeLabel;t.dfsCode.dfsEdgeList.push(new rl(s,C,"-1",k,"-1")),t.subGraphMining(c[h].projected),t.dfsCode.dfsEdgeList.pop()}),Object.keys(l).forEach(function(h){var p=l[h],C=p.fromNodeId,k=p.edgeLabel,W=p.nodeLabel2;t.dfsCode.dfsEdgeList.push(new rl(C,s+1,Ds,k,W)),t.subGraphMining(l[h].projected),t.dfsCode.dfsEdgeList.pop()})}},r.prototype.generate1EdgeFrequentSubGraphs=function(){var e=this.graphs,t=this.directed,n=this.minSupport,i=this.frequentSize1Subgraphs,a={},s={},o={},l={};return Object.keys(e).forEach(function(c){var h=e[c],p=h.nodeMap;h.nodes.forEach(function(C,k){var W=C.label,j="".concat(c,"-").concat(W);if(!o[j]){var K=a[W]||0;K++,a[W]=K}o[j]={graphKey:c,label:W},C.edges.forEach(function(Q){var ee=W,re=p[Q.to].label;if(!t&&ee>re){var ve=re;re=ee,ee=ve}var he=Q.label,pe="".concat(c,"-").concat(ee,"-").concat(he,"-").concat(re),_e="".concat(ee,"-").concat(he,"-").concat(re);if(!s[_e]){var Ee=s[_e]||0;Ee++,s[_e]=Ee}l[pe]={graphId:c,nodeLabel1:ee,edgeLabel:he,nodeLabel2:re}})})}),Object.keys(a).forEach(function(c){var h=a[c];if(!(h<n)){var p={nodes:[],edges:[]};p.nodes.push({id:"0",label:c}),i.push(p)}}),i},r.prototype.run=function(){var e=this;if(this.frequentSize1Subgraphs=this.generate1EdgeFrequentSubGraphs(),!(this.maxNodeNum<2)){var t=this.graphs,n=this.directed,i={};Object.keys(t).forEach(function(a){var s=t[a],o=s.nodeMap;s.nodes.forEach(function(l){var c=e.findForwardRootEdges(s,l);c.forEach(function(h){var p=o[h.to],C="".concat(l.label,"-").concat(h.label,"-").concat(p.label);i[C]||(i[C]={projected:[],nodeLabel1:l.label,edgeLabel:h.label,nodeLabel2:p.label});var k={graphId:a,edge:h,preNode:null};i[C].projected.push(k)})})}),Object.keys(i).forEach(function(a){var s=i[a],o=s.projected,l=s.nodeLabel1,c=s.edgeLabel,h=s.nodeLabel2;e.dfsCode.dfsEdgeList.push(new rl(0,1,l,c,h)),e.subGraphMining(o),e.dfsCode.dfsEdgeList.pop()})}},r}(),KO=function(e,t,n,i){var a={};return Object.keys(e).forEach(function(s,o){var l=e[s],c=new b1(o,!0,t),h={};l.nodes.forEach(function(p,C){c.addNode(C,p[n]),h[p.id]=C}),l.edges.forEach(function(p,C){var k=h[p.source],W=h[p.target];c.addEdge(-1,k,W,p[i])}),c&&c.getNodeNum()&&(a[c.id]=c)}),a},XO=function(e,t,n){var i=[];return e.forEach(function(a){var s={nodes:[],edges:[]};a.nodes.forEach(function(o){var l;s.nodes.push((l={id:"".concat(o.id)},l[t]=o.label,l))}),a.edges.forEach(function(o){var l;s.edges.push((l={source:"".concat(o.from),target:"".concat(o.to)},l[n]=o.label,l))}),i.push(s)}),i},M1="cluster",YO=function(e){var t=e.graphs,n=e.directed,i=n===void 0?!1:n,a=e.nodeLabelProp,s=a===void 0?M1:a,o=e.edgeLabelProp,l=o===void 0?M1:o,c=KO(t,i,s,l),h=e.minSupport,p=e.maxNodeNum,C=e.minNodeNum,k=e.verbose,W=e.top,j={graphs:c,minSupport:h,maxNodeNum:p,minNodeNum:C,top:W,verbose:k,directed:i},K=new ZO(j);K.run();var Q=XO(K.frequentSubgraphs,s,l);return Q},QO=YO,S1=function(e,t,n,i){n===void 0&&(n="cluster"),i===void 0&&(i=2);var a=[],s=e.nodes;return t.forEach(function(o,l){a.push(T1(s,o,l,n,i))}),a},T1=function(e,t,n,i,a){var s=[n],o=[],l={};return t.forEach(function(c,h){if(c<=a&&n!==h){s.push(h),o.push(e[h]);var p=e[h][i];l[p]?(l[p].count++,l[p].dists.push(c)):l[p]={count:1,dists:[c]}}}),Object.keys(l).forEach(function(c){l[c].dists=l[c].dists.sort(function(h,p){return h-p})}),{nodeIdx:n,nodeId:e[n].id,nodeIdxs:s,neighbors:o,neighborNum:s.length-1,nodeLabelCountMap:l}},JO=function(e,t,n,i,a){var s=Math.ceil(n/t),o={},l=0;return i.forEach(function(c,h){for(var p=0,C=0,k=c.nodeIdxs,W=c.neighborNum-1;p<s;){for(var j=k[1+Math.floor(Math.random()*W)],K=0;(o["".concat(h,"-").concat(j)]||o["".concat(j,"-").concat(h)])&&(j=Math.floor(Math.random()*t),K++,!(K>2*t)););if(K<2*t&&(o["".concat(h,"-").concat(j)]={start:h,end:j,distance:a[h][j]},p++,l++,l>=n))return o;if(C++,C>2*t)break}if(p<s){var Q=s-p;s=(s+Q)/(t-h-1)}}),o},Fh=function(e,t,n,i){var a=n.nodes;return i||(i={}),Object.keys(e).forEach(function(s){var o,l;if(!(i&&i[s])){i[s]={nodes:[],edges:[]};var c=e[s],h=(o=t[c.start])===null||o===void 0?void 0:o.nodeIdxs,p=(l=t[c.end])===null||l===void 0?void 0:l.nodeIdxs;if(!(!h||!p)){var C=new Set(p),k=h.filter(function(ee){return C.has(ee)});if(!(!k||!k.length)){for(var W={},j=k.length,K=0;K<j;K++){var Q=a[k[K]];i[s].nodes.push(Q),W[Q.id]=!0}n.edges.forEach(function(ee){W[ee.source]&&W[ee.target]&&i[s].edges.push(ee)})}}}}),i},Uh=function(e,t,n,i){var a,s,o={};e.nodes.forEach(function(c){o[c.id]=c});var l=0;return!(!((a=t==null?void 0:t.edges)===null||a===void 0)&&a.length)||((s=t==null?void 0:t.nodes)===null||s===void 0?void 0:s.length)<2?0:(e.edges.forEach(function(c){var h=o[c.source][n],p=o[c.target][n],C=t==null?void 0:t.nodes[0][n],k=t==null?void 0:t.nodes[1][n],W=t==null?void 0:t.edges[0][i];c[i]===W&&(h===C&&p===k||h===k&&p===C)&&l++}),l)},qO=function(e,t,n){for(var i=1/0,a=0,s=function(c){var h=e[c],p=Object.keys(h).sort(function(ee,re){return h[ee]-h[re]}),C=10,k=[];p.forEach(function(ee,re){k[re%C]||(k[re%C]={graphs:[],totalCount:0,aveCount:0}),k[re%C].graphs.push(ee),k[re%C].totalCount+=h[ee]});var W=0,j=[];k.forEach(function(ee){var re=ee.totalCount/ee.graphs.length;ee.aveCount=re,j.push(re);var ve=0,he=ee.length;ee.graphs.forEach(function(pe,_e){var Ee=h[pe];ee.graphs.forEach(function(De,Be){_e!==Be&&(ve+=Math.abs(Ee-h[De]))})}),ve/=he*(he-1)/2,W+=ve}),W/=k.length;var K=0;j.forEach(function(ee,re){j.forEach(function(ve,he){re!==he&&(K+=Math.abs(ee-ve))}),K/=j.length*(j.length-1)/2});var Q=K-W;i<Q&&(i=Q,a=c)},o=0;o<t;o++)s(o);return{structure:n[a],structureCountMap:e[a]}},A1=function(e,t){var n={},i={};return e.forEach(function(a,s){n[a.id]={idx:s,node:a,degree:0,inDegree:0,outDegree:0};var o=a[t];i[o]||(i[o]=[]),i[o].push(a)}),{nodeMap:n,nodeLabelMap:i}},C1=function(e,t,n){var i={},a={};return e.forEach(function(s,o){i["".concat(Qy)]={idx:o,edge:s};var l=s[t];a[l]||(a[l]=[]),a[l].push(s);var c=n[s.source];c&&(c.degree++,c.outDegree++);var h=n[s.target];h&&(h.degree++,h.inDegree++)}),{edgeMap:i,edgeLabelMap:a}},O1=function(e,t,n){var i=t.length,a={};return t.forEach(function(s,o){for(var l=n?0:o+1,c=e[o].id,h=l;h<i;h++)if(o!==h){var p=e[h].id,C=s[h];a["".concat(c,"-").concat(p)]=C,n||(a["".concat(p,"-").concat(c)]=C)}}),a},$O=function(e,t,n,i,a,s,o,l,c,h,p){var C,k="".concat(t.id,"-").concat(n.id);if(h&&h[k])return h[k];var W=p?p[k]:void 0;if(!W){var j=(C={},C[k]={start:i[t.id].idx,end:i[n.id].idx,distance:a},C);p=Fh(j,s,e,p),W=p[k]}return Uh(W,o,l,c)},P1=function(e,t,n,i){var a,s,o,l=(a=e[t])===null||a===void 0?void 0:a.degree,c=(s=e[t])===null||s===void 0?void 0:s.inDegree,h=(o=e[t])===null||o===void 0?void 0:o.outDegree;return e[t]===void 0&&(l=1/0,c=1/0,h=1/0,i[t].forEach(function(p){var C=n[p.id].degree;l>C&&(l=C);var k=n[p.id].inDegree;c>k&&(c=k);var W=n[p.id].outDegree;h>W&&(h=W)}),e[t]={degree:l,inDegree:c,outDegree:h}),{minPatternNodeLabelDegree:l,minPatternNodeLabelInDegree:c,minPatternNodeLabelOutDegree:h}},eP=function(e,t,n,i,a,s,o){var l;if(n===void 0&&(n=!1),s===void 0&&(s="cluster"),o===void 0&&(o="cluster"),!(!e||!e.nodes)){var c=e.nodes.length;if(c){var h=mg(e,n),p=mg(t,n),C=O1(e.nodes,h,n),k=O1(t.nodes,p,n),W=A1(e.nodes,s),j=W.nodeMap,K=W.nodeLabelMap,Q=A1(t.nodes,s),ee=Q.nodeMap,re=Q.nodeLabelMap;C1(e.edges,o,j);var ve=C1(t.edges,o,ee).edgeLabelMap,he=[];p==null||p.forEach(function(nr){he=he.concat(nr)}),a||(a=Math.max.apply(Math,(0,we.ev)((0,we.ev)([],he,!1),[2],!1))),i||(i=a);var pe=S1(e,h,s,i),_e=S1(t,p,s,i),Ee=Math.min(100,c*(c-1)/2),De=JO(i,c,Ee,pe,h),Be=Fh(De,pe,e),Fe=10,Xe=1,qe=1,ct=4,ht={graphs:Be,nodeLabelProp:s,edgeLabelProp:o,minSupport:Xe,minNodeNum:qe,maxNodeNum:ct,directed:n},St=QO(ht).slice(0,Fe),bt=St.length,Et=[];St.forEach(function(nr,Er){Et[Er]={},Object.keys(Be).forEach(function(rr){var gr=Be[rr],wr=Uh(gr,nr,s,o);Et[Er][rr]=wr})});var xt=qO(Et,bt,St),Dt=xt.structure,Ut=xt.structureCountMap,Xt=t.nodes[0],an=[],gn=(l=t.nodes[0])===null||l===void 0?void 0:l[s],sn=-1/0;t.nodes.forEach(function(nr){var Er=nr[s],rr=K[Er];(rr==null?void 0:rr.length)>sn&&(sn=rr.length,an=rr,gn=Er,Xt=nr)});var Sn={},zn={},Vn={},ir={},hr={},Ji={};Object.keys(re).forEach(function(nr,Er){hr[nr]=[],n&&(Ji[nr]=[]);var rr=-1/0,gr=re[nr],wr={};gr.forEach(function(br){var mr=k["".concat(Xt.id,"-").concat(br.id)];if(mr&&hr[nr].push(mr),rr<mr&&(rr=mr),wr["".concat(Xt.id,"-").concat(br.id)]={start:0,end:ee[br.id].idx,distance:mr},n){var ni=k["".concat(br.id,"-").concat(Xt.id)];ni&&Ji[nr].push(ni)}}),hr[nr]=hr[nr].sort(function(br,mr){return br-mr}),n&&(Ji[nr]=Ji[nr].sort(function(br,mr){return br-mr})),zn=Fh(wr,_e,t,zn);var wn=[];if(Object.keys(wr).forEach(function(br){if(Vn[br]){wn.push(Vn[br]);return}var mr=zn[br];Vn[br]=Uh(mr,Dt,s,o),wn.push(Vn[br])}),wn=wn.sort(function(br,mr){return mr-br}),ir["".concat(Xt.id,"-").concat(nr)]=wn,nr!==gn)for(var pr=(an==null?void 0:an.length)||0,xr=function(mr){var ni=an[mr],ka=pe[j[ni.id].idx],ui=ka.nodeLabelCountMap[nr],bl=re[nr].length;if(!ui||ui.count<bl)return an.splice(mr,1),"continue";for(var dc=!1,ua=0;ua<bl;ua++)if(ui.dists[ua]>hr[nr][ua]){dc=!0;break}if(dc)return an.splice(mr,1),"continue";var qa={};ka.neighbors.forEach(function(ha){var ys=C["".concat(ni.id,"-").concat(ha.id)];qa["".concat(ni.id,"-").concat(ha.id)]={start:j[ni.id].idx,end:j[ha.id].idx,distance:ys}}),Be=Fh(qa,pe,e,Be);var Ns=[];Object.keys(qa).forEach(function(ha){if(Ut[ha]){Ns.push(Ut[ha]);return}var ys=Be[ha];Ut[ha]=Uh(ys,Dt,s,o),Ns.push(Ut[ha])}),Ns=Ns.sort(function(ha,ys){return ys-ha});for(var Io=!1,ua=0;ua<bl;ua++)if(Ns[ua]<wn[ua]){Io=!0;break}if(Io)return an.splice(mr,1),"continue"},yi=pr-1;yi>=0;yi--)xr(yi)});var _r=[];an==null||an.forEach(function(nr){for(var Er=j[nr.id].idx,rr=T1(e.nodes,h[Er],Er,s,a),gr=rr.neighbors,wr=gr.length,wn=!1,pr=wr-1;pr>=0;pr--){if(gr.length+1<t.nodes.length){wn=!0;return}var xr=gr[pr],yi=xr[s];if(!re[yi]||!re[yi].length){gr.splice(pr,1);continue}if(!hr[yi]||!hr[yi].length){gr.splice(pr,1);continue}var br="".concat(nr.id,"-").concat(xr.id),mr=C[br],ni=hr[yi].length-1,ka=hr[yi][ni];if(mr>ka){gr.splice(pr,1);continue}if(n){var ui="".concat(xr.id,"-").concat(nr.id),bl=C[ui];ni=Ji[yi].length-1;var dc=Ji[yi][ni];if(bl>dc){gr.splice(pr,1);continue}}var ua=Ut[br]?Ut[br]:$O(e,nr,xr,j,mr,pe,Dt,s,o,Ut,Be),qa="".concat(Xt.id,"-").concat(yi),Ns=ir[qa][ir[qa].length-1];if(ua<Ns){gr.splice(pr,1);continue}var Io=P1(Sn,yi,ee,re),ha=Io.minPatternNodeLabelDegree,ys=Io.minPatternNodeLabelInDegree,no=Io.minPatternNodeLabelOutDegree;if(j[xr.id].degree<ha){gr.splice(pr,1);continue}}wn||_r.push({nodes:[nr].concat(gr)})});var Ba=Ih(t,Xt.id,!1).length,qi={};n?(Object.keys(Ba).forEach(function(nr){var Er=ee[nr].node[s];qi[Er]?qi[Er].push(Ba[nr]):qi[Er]=[Ba[nr]]}),Object.keys(qi).forEach(function(nr){qi[nr].sort(function(Er,rr){return Er-rr})})):qi=hr;for(var Ro=_r.length,Ui=function(Er){var rr=_r[Er],gr=rr.nodes[0],wr={},wn={};rr.nodes.forEach(function(Wr,za){wn[Wr.id]={idx:za,node:Wr,degree:0,inDegree:0,outDegree:0};var Mi=Wr[s];wr[Mi]?wr[Mi]++:wr[Mi]=1});var pr=[],xr={};e.edges.forEach(function(Wr){wn[Wr.source]&&wn[Wr.target]&&(pr.push(Wr),xr[Wr[o]]?xr[Wr[o]]++:xr[Wr[o]]=1,wn[Wr.source].degree++,wn[Wr.target].degree++,wn[Wr.source].outDegree++,wn[Wr.target].inDegree++)});for(var yi=Object.keys(ve).length,br=!1,mr=0;mr<yi;mr++){var ni=Object.keys(ve)[mr];if(!xr[ni]||xr[ni]<ve[ni].length){br=!0;break}}if(br)return _r.splice(Er,1),"continue";var ka=pr.length;if(ka<t.edges.length)return _r.splice(Er,1),"break";for(var ui=!1,bl=function(za){var Mi=pr[za],Bs=Mi[o],wl=ve[Bs];if(!wl||!wl.length)return xr[Bs]--,wl&&xr[Bs]<wl.length?(ui=!0,"break"):(pr.splice(za,1),wn[Mi.source].degree--,wn[Mi.target].degree--,wn[Mi.source].outDegree--,wn[Mi.target].inDegree--,"continue");var _2=wn[Mi.source].node[s],E2=wn[Mi.target].node[s],E0=!1;if(wl.forEach(function(x2){var b2=ee[x2.source].node,w2=ee[x2.target].node;b2[s]===_2&&w2[s]===E2&&(E0=!0),!n&&b2[s]===E2&&w2[s]===_2&&(E0=!0)}),!E0)return xr[Bs]--,wl&&xr[Bs]<wl.length?(ui=!0,"break"):(pr.splice(za,1),wn[Mi.source].degree--,wn[Mi.target].degree--,wn[Mi.source].outDegree--,wn[Mi.target].inDegree--,"continue")},mr=ka-1;mr>=0;mr--){var dc=bl(mr);if(dc==="break")break}if(ui)return _r.splice(Er,1),"continue";rr.edges=pr;var ua=Ih(rr,rr.nodes[0].id,!1).length;if(Object.keys(ua).reverse().forEach(function(Wr){if(!(Wr===rr.nodes[0].id||ui)){if(ua[Wr]===1/0){var za=wn[Wr].node[s];if(wr[za]--,wr[za]<re[za].length){ui=!0;return}var Mi=rr.nodes.indexOf(wn[Wr].node);rr.nodes.splice(Mi,1),wn[Wr]=void 0;return}var Bs=j[Wr].node[s];if(!qi[Bs]||!qi[Bs].length||ua[Wr]>qi[Bs][qi[Bs].length-1]){var za=wn[Wr].node[s];if(wr[za]--,wr[za]<re[za].length){ui=!0;return}var Mi=rr.nodes.indexOf(wn[Wr].node);rr.nodes.splice(Mi,1),wn[Wr]=void 0}}}),ui)return _r.splice(Er,1),"continue";for(var qa=!0,Ns=0;qa&&!ui;){qa=!1;var Io=n?wn[gr.id].degree<ee[Xt.id].degree||wn[gr.id].inDegree<ee[Xt.id].inDegree||wn[gr.id].outDegree<ee[Xt.id].outDegree:wn[gr.id].degree<ee[Xt.id].degree;if(Io){ui=!0;break}if(wr[gr[s]]<re[gr[s]].length){ui=!0;break}for(var ha=rr.nodes.length,ys=ha-1;ys>=0;ys--){var no=rr.nodes[ys],m2=wn[no.id].degree,C6=wn[no.id].inDegree,O6=wn[no.id].outDegree,P6=no[s],_0=P1(Sn,P6,ee,re),y2=_0.minPatternNodeLabelDegree,D6=_0.minPatternNodeLabelInDegree,L6=_0.minPatternNodeLabelOutDegree,R6=n?m2<y2||C6<D6||O6<L6:m2<y2;if(R6){if(wr[no[s]]--,wr[no[s]]<re[no[s]].length){ui=!0;break}rr.nodes.splice(ys,1),wn[no.id]=void 0,qa=!0}}if(ui||!qa&&Ns!==0)break;ka=pr.length;for(var Zd=ka-1;Zd>=0;Zd--){var ro=pr[Zd];if(!wn[ro.source]||!wn[ro.target]){pr.splice(Zd,1);var Kd=ro[o];if(xr[Kd]--,wn[ro.source]&&(wn[ro.source].degree--,wn[ro.source].outDegree--),wn[ro.target]&&(wn[ro.target].degree--,wn[ro.target].inDegree--),ve[Kd]&&xr[Kd]<ve[Kd].length){ui=!0;break}qa=!0}}Ns++}if(ui||ui||rr.nodes.length<t.nodes.length||pr.length<t.edges.length)return _r.splice(Er,1),"continue"},Di=Ro-1;Di>=0;Di--){var to=Ui(Di);if(to==="break")break}for(var Wi=_r.length,ba=function(Er){var rr=_r[Er],gr={};rr.edges.forEach(function(pr){var xr="".concat(pr.source,"-").concat(pr.target,"-").concat(pr.label);gr[xr]?gr[xr]++:gr[xr]=1});for(var wr=function(xr){var yi=_r[xr],br={};yi.edges.forEach(function(ni){var ka="".concat(ni.source,"-").concat(ni.target,"-").concat(ni.label);br[ka]?br[ka]++:br[ka]=1});var mr=!0;Object.keys(br).length!==Object.keys(gr).length?mr=!1:Object.keys(gr).forEach(function(ni){br[ni]!==gr[ni]&&(mr=!1)}),mr&&_r.splice(xr,1)},wn=Wi-1;wn>Er;wn--)wr(wn);Wi=_r.length},Di=0;Di<=Wi-1;Di++)ba(Di);return _r}}},tP=eP,nP=function(){function r(e){e===void 0&&(e=10),this.linkedList=new Yy,this.maxStep=e}return Object.defineProperty(r.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},r.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},r.prototype.push=function(e){this.linkedList.prepend(e),this.length>this.maxStep&&this.linkedList.deleteTail()},r.prototype.pop=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toArray=function(){return this.linkedList.toArray().map(function(e){return e.value})},r.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},r}(),rP=nP,iP=r1,$9={getAdjMatrix:Oh,breadthFirstSearch:kC,connectedComponent:qy,getDegree:cg,getInDegree:FC,getOutDegree:UC,detectCycle:r1,detectDirectedCycle:iP,detectAllCycles:jC,detectAllDirectedCycle:n1,detectAllUndirectedCycle:t1,depthFirstSearch:e1,dijkstra:Ih,findAllPath:pO,findShortestPath:pg,floydWarshall:mg,labelPropagation:_O,louvain:v1,iLouvain:AO,kCore:OO,kMeans:DO,cosineSimilarity:p1,nodesCosineSimilarity:IO,minimumSpanningTree:HO,pageRank:y1,getNeighbors:Ka,Stack:rP,GADDI:tP};function Mt(r){if(r.id!==void 0)return r.id;if(r.source!==void 0&&r.target!==void 0)return`${r.source}-${r.target}`;throw new Error(Vs("The datum does not have available id."))}function Wh(r){return r.combo}function D1(r,e){const t={nodes:(r.nodes||[]).map(Mt),edges:(r.edges||[]).map(Mt),combos:(r.combos||[]).map(Mt)};return e?Object.values(t).flat():t}const L1=(r,e,t)=>{var n;switch(t.type){case"degree":{const i=new Map;return(n=r.nodes)===null||n===void 0||n.forEach(a=>{const s=e(Mt(a),t.direction).length;i.set(Mt(a),s)}),i}case"betweenness":return aP(r,t.directed,t.weightPropertyName);case"closeness":return sP(r,t.directed,t.weightPropertyName);case"eigenvector":return lP(r,t.directed);case"pagerank":return oP(r,t.epsilon,t.linkProb);default:return R1(r)}},R1=r=>{var e;const t=new Map;return(e=r.nodes)===null||e===void 0||e.forEach(n=>{t.set(Mt(n),0)}),t},aP=(r,e,t)=>{const n=R1(r),{nodes:i=[]}=r;return i.forEach(a=>{i.forEach(s=>{if(a!==s){const{allPath:o}=pg(r,Mt(a),Mt(s),e,t),l=o.length;o.flat().forEach(c=>{c!==Mt(a)&&c!==Mt(s)&&n.set(c,n.get(c)+1/l)})}})}),n},sP=(r,e,t)=>{const n=new Map,{nodes:i=[]}=r;return i.forEach(a=>{const s=i.reduce((o,l)=>{if(a!==l){const{length:c}=pg(r,Mt(a),Mt(l),e,t);o+=c}return o},0);n.set(Mt(a),1/s)}),n},oP=(r,e,t)=>{var n;const i=new Map,a=y1(r,e,t);return(n=r.nodes)===null||n===void 0||n.forEach(s=>{i.set(Mt(s),a[Mt(s)])}),i},lP=(r,e)=>{const{nodes:t=[]}=r,n=cP(r,e),i=uP(n,t.length),a=new Map;return t.forEach((s,o)=>{a.set(Mt(s),i[o])}),a},cP=(r,e)=>{const{nodes:t=[],edges:n=[]}=r,i=Array(t.length).fill(null).map(()=>Array(t.length).fill(0));return n.forEach(({source:a,target:s})=>{const o=t.findIndex(c=>Mt(c)===a),l=t.findIndex(c=>Mt(c)===s);e?i[o][l]=1:(i[o][l]=1,i[l][o]=1)}),i},uP=(r,e,t=100,n=1e-6)=>{let i=Array(e).fill(1),a=1/0;for(let s=0;s<t&&a>n;s++){const o=Array(e).fill(0);for(let c=0;c<e;c++)for(let h=0;h<e;h++)o[c]+=r[c][h]*i[h];const l=Math.sqrt(o.reduce((c,h)=>c+h*h,0));for(let c=0;c<e;c++)o[c]/=l;a=Math.sqrt(o.reduce((c,h,p)=>c+(h-i[p])*h,0)),i=o}return i};function po(r,e,t,n=si){const i=new Map(r.map(C=>[t(C),C])),a=new Map(e.map(C=>[t(C),C])),s=new Set(i.keys()),o=new Set(a.keys()),l=[],c=[],h=[],p=[];return o.forEach(C=>{s.has(C)?n(i.get(C),a.get(C))?p.push(a.get(C)):c.push(a.get(C)):l.push(a.get(C))}),s.forEach(C=>{o.has(C)||h.push(i.get(C))}),{enter:l,exit:h,keep:p,update:c}}function il(r,e,t){const n=i=>{t&&!t(i)||(i.style.visibility=e)};r.forEach(i=>{n(i)})}function hP(r,e,t){const n={},i=a=>(a in n||(n[a]=0),`${e}-${a}-${n[a]++}`);return t.map(a=>typeof a=="string"?{type:a,key:i(a)}:typeof a=="function"?a.call(r):a.key?a:Object.assign(Object.assign({},a),{key:i(a.type)}))}class Eg{constructor(e){this.extensions=[],this.extensionMap={},this.context=e}setExtensions(e){const t=hP(this.context.graph,this.category,e),{enter:n,update:i,exit:a,keep:s}=po(this.extensions,t,o=>o.key);this.createExtensions(n),this.updateExtensions([...i,...s]),this.destroyExtensions(a),this.extensions=t}createExtension(e){const{category:t}=this,{key:n,type:i}=e,a=Gs(t,i);if(!a)return Ea.warn(`The extension ${i} of ${t} is not registered.`);const s=new a(this.context,e);this.extensionMap[n]=s}createExtensions(e){e.forEach(t=>this.createExtension(t))}updateExtension(e){const{key:t}=e,n=this.extensionMap[t];n&&n.update(e)}updateExtensions(e){e.forEach(t=>this.updateExtension(t))}destroyExtension(e){const t=this.extensionMap[e];t&&(t.destroy(),delete this.extensionMap[e])}destroyExtensions(e){e.forEach(({key:t})=>this.destroyExtension(t))}destroy(){Object.values(this.extensionMap).forEach(e=>e.destroy()),this.context={},this.extensions=[],this.extensionMap={}}}class xg{constructor(e,t){this.events=[],this.destroyed=!1,this.context=e,this.options=t}update(e){this.options=Object.assign(this.options,e)}destroy(){this.context={},this.options={},this.destroyed=!0}}class Oa extends xg{}class Hh extends Oa{constructor(e,t){super(e,Object.assign({},Hh.defaultOptions,t)),this.isOverlapping=(n,i)=>i.some(a=>n.intersects(a)),this.occupiedBounds=[],this.detectLabelCollision=n=>{const i=this.context.viewport,a={show:[],hide:[]};return this.occupiedBounds=[],n.forEach(s=>{const o=s.getShape("label").getRenderBounds();i.isInViewport(o,!0)&&!this.isOverlapping(o,this.occupiedBounds)?(a.show.push(s),this.occupiedBounds.push(go(o,this.options.padding))):a.hide.push(s)}),a},this.hideLabelIfExceedViewport=(n,i)=>{const{exit:a}=po(n,i,s=>s.id);a==null||a.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(n,i)=>{const{model:a}=this.context,s=a.getData(),o=a.getRelatedEdgesData.bind(a);return n.map(c=>(this.nodeCentralities.has(c.id)||(this.nodeCentralities=L1(s,o,i)),{node:c,centrality:this.nodeCentralities.get(c.id)})).sort((c,h)=>h.centrality-c.centrality).map(c=>c.node)},this.sortLabelElementsInView=n=>{const{sort:i,sortNode:a,sortCombo:s,sortEdge:o}=this.options,{model:l}=this.context;if(xn(i))return n.sort((j,K)=>i(l.getElementDataById(j.id),l.getElementDataById(K.id)));const{node:c=[],edge:h=[],combo:p=[]}=Ah(n,j=>j.type),C=xn(s)?p.sort((j,K)=>s(...l.getComboData([j.id,K.id]))):p,k=xn(a)?c.sort((j,K)=>a(...l.getNodeData([j.id,K.id]))):this.sortNodesByCentrality(c,a),W=xn(o)?h.sort((j,K)=>o(...l.getEdgeData([j.id,K.id]))):h;return[...C,...k,...W]},this.labelElementsInView=[],this.isFirstRender=!0,this.onToggleVisibility=n=>{var i;if(((i=n.data)===null||i===void 0?void 0:i.stage)==="zIndex")return;if(!this.validate(n)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const a=this.isFirstRender?this.getLabelElements():this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,a),this.labelElementsInView=a;const s=this.sortLabelElementsInView(this.labelElementsInView),{show:o,hide:l}=this.detectLabelCollision(s);for(let c=o.length-1;c>=0;c--)this.showLabel(o[c]);l.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=n=>{const i=n.getShape("label");i&&il(i,"hidden"),this.hiddenElements.set(n.id,n)},this.showLabel=n=>{const i=n.getShape("label");i&&il(i,"visible"),n.toFront(),this.hiddenElements.delete(n.id)},this.onTransform=Zy(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.enableToggle=!0,this.toggle=n=>{this.enableToggle&&this.onToggleVisibility(n)},this.onBeforeRender=()=>{this.enableToggle=!1},this.onAfterRender=n=>{this.onToggleVisibility(n),this.enableToggle=!0},this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents(),this.onToggleVisibility({})}getLabelElements(){const{elementMap:e}=this.context.element,t=[];for(const n in e){const i=e[n];i.isVisible()&&i.getShape("label")&&t.push(i)}return t}getLabelElementsInView(){const e=this.context.viewport;return this.getLabelElements().filter(t=>e.isInViewport(t.getShape("key").getRenderBounds()))}bindEvents(){const{graph:e}=this.context;e.on(qt.BEFORE_RENDER,this.onBeforeRender),e.on(qt.AFTER_RENDER,this.onAfterRender),e.on(qt.AFTER_DRAW,this.toggle),e.on(qt.AFTER_LAYOUT,this.toggle),e.on(qt.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:e}=this.context;e.off(qt.BEFORE_RENDER,this.onBeforeRender),e.off(qt.AFTER_RENDER,this.onAfterRender),e.off(qt.AFTER_DRAW,this.toggle),e.off(qt.AFTER_LAYOUT,this.toggle),e.off(qt.AFTER_TRANSFORM,this.onTransform)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}Hh.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var fP=function(r){if(!ng(r)||!H0(r,"Object"))return!1;if(Object.getPrototypeOf(r)===null)return!0;for(var e=r;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e},Vl=fP,dP=5;function vP(r,e){if(Object.hasOwn)return Object.hasOwn(r,e);if(r==null)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(r),e)}function I1(r,e,t,n){t=t||0,n=n||dP;for(var i in e)if(vP(e,i)){var a=e[i];a!==null&&Vl(a)?(Vl(r[i])||(r[i]={}),t<n?I1(r[i],a,t+1,n):r[i]=e[i]):Ma(a)?(r[i]=[],r[i]=r[i].concat(a)):a!==void 0&&(r[i]=a)}}var gP=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)I1(r,e[n]);return r},ia=gP;const N1=[0,0,0];function Jn(r,e){return r.map((t,n)=>t+e[n])}function Or(r,e){return r.map((t,n)=>t-e[n])}function Zs(r,e){return typeof e=="number"?r.map(t=>t*e):r.map((t,n)=>t*e[n])}function us(r,e){return typeof e=="number"?r.map(t=>t/e):r.map((t,n)=>t/e[n])}function pP(r,e){return r.reduce((t,n,i)=>t+n*e[i],0)}function mP(r,e){const t=Zc(r),n=Zc(e);return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function mo(r,e){return r.map(t=>t*e)}function Ur(r,e){return Math.sqrt(r.reduce((t,n,i)=>t+Math.pow(n-e[i]||0,2),0))}function jh(r,e){return r.reduce((t,n,i)=>t+Math.abs(n-e[i]),0)}function Ks(r){const e=r.reduce((t,n)=>t+Math.pow(n,2),0);return r.map(t=>t/Math.sqrt(e))}function bg(r,e,t=!1){const n=r[0]*e[1]-r[1]*e[0];let i=Math.acos(Zs(r,e).reduce((a,s)=>a+s,0)/(Ur(r,N1)*Ur(e,N1)));return t&&n<0&&(i=2*Math.PI-i),i}function eU(r,e){return r.every((t,n)=>t===e[n])}function Gh(r,e=!0){return e?[-r[1],r[0]]:[r[1],-r[0]]}function yP(r,e){return r.map(t=>t%e)}function al(r){return[r[0],r[1]]}function Zc(r){return bC(r)?[r[0],r[1],0]:r}function B1(r){const[e,t]=r;return!e&&!t?0:Math.atan2(t,e)}function k1(r,e){const[t,n]=r,[i,a]=e,s=Or(t,n),o=Or(i,a);return mP(s,o).every(l=>l===0)}function wg(r,e,t=!1){if(k1(r,e))return;const[n,i]=r,[a,s]=e,o=((n[0]-a[0])*(a[1]-s[1])-(n[1]-a[1])*(a[0]-s[0]))/((n[0]-i[0])*(a[1]-s[1])-(n[1]-i[1])*(a[0]-s[0])),l=s[0]-a[0]?(n[0]-a[0]+o*(i[0]-n[0]))/(s[0]-a[0]):(n[1]-a[1]+o*(i[1]-n[1]))/(s[1]-a[1]);if(!(!t&&(!Cs(o,0,1)||!Cs(l,0,1))))return[n[0]+o*(i[0]-n[0]),n[1]+o*(i[1]-n[1])]}function z1(r){if(Array.isArray(r))return Cs(r[0],0,1)&&Cs(r[1],0,1)?r:[.5,.5];const e=r.split("-"),t=e.includes("left")?0:e.includes("right")?1:.5,n=e.includes("top")?0:e.includes("bottom")?1:.5;return[t,n]}function xi(r){const{x:e=0,y:t=0,z:n=0}=r.style||{};return[+e,+t,+n]}function _P(r){const{x:e,y:t,z:n}=r.style||{};return e!==void 0||t!==void 0||n!==void 0}function F1(r,e){const[t,n]=e,{min:i,max:a}=r;return[i[0]+t*(a[0]-i[0]),i[1]+n*(a[1]-i[1])]}function Xs(r,e="center"){const t=z1(e);return F1(r,t)}function tU(r,e){const t=parseAnchor(e);return F1(r,t)}const nU=r=>{const[e,t]=r;return{left:Math.min(e[0],t[0]),right:Math.max(e[0],t[0]),top:Math.min(e[1],t[1]),bottom:Math.max(e[1],t[1])}};function Ni(r){var e;return[r.x,r.y,(e=r.z)!==null&&e!==void 0?e:0]}function hs(r){var e;return{x:r[0],y:r[1],z:(e=r[2])!==null&&e!==void 0?e:0}}function rU(r){return r.sort((e,t)=>e[0]-t[0]||e[1]-t[1])}function iU(r){const e=new Set;return r.filter(t=>{const n=t.join(",");return e.has(n)?!1:(e.add(n),!0)})}function Kc(r,e=0){return r.map(t=>parseFloat(t.toFixed(e)))}function yo(r,e,t,n=!1){if(si(r,e))return r;const i=n?Or(r,e):Or(e,r),a=Ks(i),s=[a[0]*t,a[1]*t];return Jn(al(r),s)}function U1(r,e){return r[1]===e[1]}function EP(r,e){return r[0]===e[0]}function xP(r,e){return U1(r,e)||EP(r,e)}function W1(r,e,t){return k1([r,e],[e,t])}function H1(r,e){return[2*e[0]-r[0],2*e[1]-r[1]]}function j1(r,e,t,n=!0,i=!1){for(let a=0;a<t.length;a++){let s=t[a],o=t[(a+1)%t.length];n&&(s=Jn(e,s),o=Jn(e,o));const l=i?H1(r,e):r,c=wg([e,l],[s,o]);if(c)return{point:c,line:[s,o]}}return{point:e,line:void 0}}function bP(r,e,t,n){const i=r[0],a=r[1];let s=!1;t===void 0&&(t=0),n===void 0&&(n=e.length);const o=n-t;for(let l=0,c=o-1;l<o;c=l++){const h=e[l+t][0],p=e[l+t][1],C=e[c+t][0],k=e[c+t][1];p>a!=k>a&&i<(C-h)*(a-p)/(k-p)+h&&(s=!s)}return s}function wP(r,e,t=!1){const n=Xs(e,"center"),i=[Xs(e,"left-top"),Xs(e,"right-top"),Xs(e,"right-bottom"),Xs(e,"left-bottom")];return j1(r,n,i,!1,t).point}function Vh(r,e,t=!1){const n=e.center,i=t?H1(r,n):r,a=Or(i,e.center),s=Math.atan2(a[1],a[0]);if(isNaN(s))return n;const o=Os(e)/2,l=Ps(e)/2,c=n[0]+o*Math.cos(s),h=n[1]+l*Math.sin(s);return[c,h]}function MP(r,e){let t=1/0,n=[r[0],e[0]];return r.forEach(i=>{e.forEach(a=>{const s=Ur(i,a);s<t&&(t=s,n=[i,a])})}),n}function SP(r,e){let t=1/0,n=[[0,0],[0,0]];return e.forEach(i=>{const a=TP(r,i);a<t&&(t=a,n=i)}),n}function TP(r,e){const t=G1(r,e);return Ur(r,t)}function G1(r,e){const[t,n]=e[0],[i,a]=e[1],[s,o]=r,l=i-t,c=a-n;if(l===0&&c===0)return[t,n];let h=((s-t)*l+(o-n)*c)/(l*l+c*c);h>1?h=1:h<0&&(h=0);const p=t+h*l,C=n+h*c;return[p,C]}function AP(r){const e=r.reduce((t,n)=>Jn(t,n),[0,0]);return us(e,r.length)}function Mg(r,e=!0){const t=AP(r);return r.sort(([n,i],[a,s])=>{const o=Math.atan2(i-t[1],n-t[0]),l=Math.atan2(s-t[1],a-t[0]);return e?l-o:o-l})}function V1(r,e){return[r,[r[0],e[1]],e,[e[0],r[1]]]}class oi{constructor(e,t,n){if(this.phase=t,this.pointerByTouch=[],this.initialDistance=null,this.emitter=e,oi.instance)return oi.callbacks[this.phase].push(n),oi.instance;this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.bindEvents(),oi.instance=this,oi.callbacks[this.phase].push(n)}bindEvents(){const{emitter:e}=this;e.on(Nt.POINTER_DOWN,this.onPointerDown),e.on(Nt.POINTER_MOVE,this.onPointerMove),e.on(Nt.POINTER_UP,this.onPointerUp)}updatePointerPosition(e,t,n){const i=this.pointerByTouch.findIndex(a=>a.pointerId===e);i>=0&&(this.pointerByTouch[i]={x:t,y:n,pointerId:e})}onPointerDown(e){const{x:t,y:n}=e.client||{};if(!(t===void 0||n===void 0)&&(this.pointerByTouch.push({x:t,y:n,pointerId:e.pointerId}),e.pointerType==="touch"&&this.pointerByTouch.length===2)){oi.isPinching=!0;const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y;this.initialDistance=Math.sqrt(i*i+a*a),oi.callbacks.pinchstart.forEach(s=>s(e,{scale:0}))}}onPointerMove(e){if(this.pointerByTouch.length!==2||this.initialDistance===null)return;const{x:t,y:n}=e.client||{};if(t===void 0||n===void 0)return;this.updatePointerPosition(e.pointerId,t,n);const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y,o=Math.sqrt(i*i+a*a)/this.initialDistance;oi.callbacks.pinchmove.forEach(l=>l(e,{scale:(o-1)*5}))}onPointerUp(e){var t;oi.callbacks.pinchend.forEach(n=>n(e,{scale:0})),oi.isPinching=!1,this.initialDistance=null,this.pointerByTouch=[],(t=oi.instance)===null||t===void 0||t.tryDestroy()}destroy(){this.emitter.off(Nt.POINTER_DOWN,this.onPointerDown),this.emitter.off(Nt.POINTER_MOVE,this.onPointerMove),this.emitter.off(Nt.POINTER_UP,this.onPointerUp),oi.instance=null}off(e,t){const n=oi.callbacks[e].indexOf(t);n>-1&&oi.callbacks[e].splice(n,1),this.tryDestroy()}tryDestroy(){Object.values(oi.callbacks).every(e=>e.length===0)&&this.destroy()}}oi.isPinching=!1,oi.instance=null,oi.callbacks={pinchstart:[],pinchmove:[],pinchend:[]};const Z1=r=>r.map(e=>dr(e)?e.toLocaleLowerCase():e);class Zl{constructor(e){this.map=new Map,this.boundHandlePinch=()=>{},this.recordKey=new Set,this.onKeyDown=t=>{t!=null&&t.key&&(this.recordKey.add(t.key),this.trigger(t))},this.onKeyUp=t=>{t!=null&&t.key&&this.recordKey.delete(t.key)},this.onWheel=t=>{this.triggerExtendKey(Nt.WHEEL,t)},this.onDrag=t=>{this.triggerExtendKey(Nt.DRAG,t)},this.handlePinch=(t,n)=>{this.triggerExtendKey(Nt.PINCH,Object.assign(Object.assign({},t),n))},this.onFocus=()=>{this.recordKey.clear()},this.emitter=e,this.bindEvents()}bind(e,t){e.length!==0&&(e.includes(Nt.PINCH)&&!this.pinchHandler&&(this.boundHandlePinch=this.handlePinch.bind(this),this.pinchHandler=new oi(this.emitter,"pinchmove",this.boundHandlePinch)),this.map.set(e,t))}unbind(e,t){this.map.forEach((n,i)=>{si(i,e)&&(!t||t===n)&&this.map.delete(i)})}unbindAll(){this.map.clear()}match(e){const t=Z1(Array.from(this.recordKey)).sort(),n=Z1(e).sort();return si(t,n)}bindEvents(){var e;const{emitter:t}=this;t.on(Nt.KEY_DOWN,this.onKeyDown),t.on(Nt.KEY_UP,this.onKeyUp),t.on(Nt.WHEEL,this.onWheel),t.on(Nt.DRAG,this.onDrag),(e=globalThis.addEventListener)===null||e===void 0||e.call(globalThis,"focus",this.onFocus)}trigger(e){this.map.forEach((t,n)=>{this.match(n)&&t(e)})}triggerExtendKey(e,t){this.map.forEach((n,i)=>{i.includes(e)&&si(Array.from(this.recordKey),i.filter(a=>a!==e))&&n(t)})}destroy(){var e,t;this.unbindAll(),this.emitter.off(Nt.KEY_DOWN,this.onKeyDown),this.emitter.off(Nt.KEY_UP,this.onKeyUp),this.emitter.off(Nt.WHEEL,this.onWheel),this.emitter.off(Nt.DRAG,this.onDrag),(e=this.pinchHandler)===null||e===void 0||e.off("pinchmove",this.boundHandlePinch),(t=globalThis.removeEventListener)===null||t===void 0||t.call(globalThis,"blur",this.onFocus)}}class Xc extends Oa{constructor(e,t){super(e,ia({},Xc.defaultOptions,t)),this.shortcut=new Zl(e.graph),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.clearStates=this.clearStates.bind(this),this.bindEvents()}onPointerDown(e){if(!this.validate(e)||!this.isKeydown()||this.startPoint)return;const{canvas:t,graph:n}=this.context,i=Object.assign({},this.options.style);this.options.style.lineWidth&&(i.lineWidth=+this.options.style.lineWidth/n.getZoom()),this.rectShape=new Ii({id:"g6-brush-select",style:i}),t.appendChild(this.rectShape),this.startPoint=[e.canvas.x,e.canvas.y]}onPointerMove(e){var t;if(!this.startPoint)return;const{immediately:n,mode:i}=this.options;this.endPoint=Zh(e),(t=this.rectShape)===null||t===void 0||t.attr({x:Math.min(this.endPoint[0],this.startPoint[0]),y:Math.min(this.endPoint[1],this.startPoint[1]),width:Math.abs(this.endPoint[0]-this.startPoint[0]),height:Math.abs(this.endPoint[1]-this.startPoint[1])}),n&&i==="default"&&this.updateElementsStates(V1(this.startPoint,this.endPoint))}onPointerUp(e){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=Zh(e),this.updateElementsStates(V1(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:e}=this.context,t=Object.values(e.getData()).reduce((n,i)=>Object.assign({},n,i.reduce((a,s)=>(a[Mt(s)]=[],a),{})),{});e.setElementState(t,this.options.animation)}updateElementsStates(e){const{graph:t}=this.context,{enableElements:n,state:i,mode:a,onSelect:s}=this.options,o=this.selector(t,e,n);let l={};switch(a){case"union":o.forEach(c=>{l[c]=[...t.getElementState(c),i]});break;case"diff":o.forEach(c=>{const h=t.getElementState(c);l[c]=h.includes(i)?h.filter(p=>p!==i):[...h,i]});break;case"intersect":o.forEach(c=>{const h=t.getElementState(c);l[c]=h.includes(i)?[i]:[]});break;case"default":default:o.forEach(c=>{l[c]=[i]});break}xn(s)&&(l=s(l)),t.setElementState(l,this.options.animation)}selector(e,t,n){if(!n||n.length===0)return[];const i=[],a=e.getData();if(n.forEach(s=>{a[`${s}s`].forEach(o=>{const l=Mt(o);e.getElementVisibility(l)!=="hidden"&&bP(e.getElementPosition(l),t)&&i.push(l)})}),n.includes("edge")){const s=a.edges;s==null||s.forEach(o=>{const{source:l,target:c}=o;i.includes(l)&&i.includes(c)&&i.push(Mt(o))})}return i}clearBrush(){var e;(e=this.rectShape)===null||e===void 0||e.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:e}=this.options,t=Array.isArray(e)?e:[e];return this.shortcut.match(t.filter(n=>n!=="drag"))}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}bindEvents(){const{graph:e}=this.context;e.on(Nt.POINTER_DOWN,this.onPointerDown),e.on(Nt.POINTER_MOVE,this.onPointerMove),e.on(Nt.POINTER_UP,this.onPointerUp),e.on(js.CLICK,this.clearStates)}unbindEvents(){const{graph:e}=this.context;e.off(Nt.POINTER_DOWN,this.onPointerDown),e.off(Nt.POINTER_MOVE,this.onPointerMove),e.off(Nt.POINTER_UP,this.onPointerUp),e.off(js.CLICK,this.clearStates)}update(e){this.unbindEvents(),this.options=ia(this.options,e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}Xc.defaultOptions={animation:!1,enable:!0,enableElements:["node","combo","edge"],immediately:!1,mode:"default",state:"selected",trigger:["shift"],style:{width:0,height:0,lineWidth:1,fill:"#1677FF",stroke:"#1677FF",fillOpacity:.1,zIndex:2,pointerEvents:"none"}};const Zh=r=>[r.canvas.x,r.canvas.y],Ys=.8,sl=["node","edge","combo"];function ol(r,e,t,n,i=0){n==="TB"&&e(r,i);const a=t(r);if(a)for(const s of a)ol(s,e,t,n,i+1);n==="BT"&&e(r,i)}function CP(r,e,t){const n=[[r,0]];for(;n.length;){const[i,a]=n.shift();e(i,a);const s=t(i);if(s)for(const o of s)n.push([o,a+1])}}function K1(r,e,t,n,i="both"){if(e==="combo"||e==="node")return Sg(r,t,n,i);const a=r.getEdgeData(t);if(!a)return[];const s=Sg(r,a.source,n-1,i),o=Sg(r,a.target,n-1,i);return Array.from(new Set([...s,...o,t]))}function Sg(r,e,t,n="both"){const i=new Set,a=new Set,s=new Set;return CP(e,(o,l)=>{l>t||(s.add(o),r.getRelatedEdgesData(o,n).forEach(c=>{const h=Mt(c);!a.has(h)&&l<t&&(s.add(h),a.add(h))}))},o=>r.getRelatedEdgesData(o,n).map(l=>l.source===o?l.target:l.source).filter(l=>i.has(l)?!1:(i.add(l),!0))),Array.from(s)}function Tg(r){return r.states||[]}var Kh=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Xh extends Oa{constructor(e,t){super(e,Object.assign({},Xh.defaultOptions,t)),this.onClickSelect=n=>Kh(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.updateState(n),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.onClickCanvas=n=>Kh(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.clearState(),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.shortcut=new Zl(e.graph),this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),sl.forEach(t=>{e.on(`${t}:${Nt.CLICK}`,this.onClickSelect)}),e.on(js.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:e,trigger:t}=this.options;return e&&this.shortcut.match(t)}getNeighborIds(e){const{target:t,targetType:n}=e,{graph:i}=this.context,{degree:a}=this.options;return K1(i,n,t.id,typeof a=="function"?a(e):a).filter(s=>s!==t.id)}updateState(e){return Kh(this,void 0,void 0,function*(){const{state:t,unselectedState:n,neighborState:i,animation:a}=this.options;if(!t&&!i&&!n)return;const{target:s}=e,{graph:o}=this.context,l=o.getElementData(s.id),c=Tg(l).includes(t)?"unselect":"select",h={},p=this.isMultipleSelect,C=[s.id],k=this.getNeighborIds(e);if(p)if(Object.assign(h,this.getDataStates()),c==="select"){const W=(j,K)=>{j.forEach(Q=>{const ee=new Set(o.getElementState(Q));ee.add(K),ee.delete(n),h[Q]=Array.from(ee)})};W(C,t),W(k,i),n&&Object.keys(h).forEach(j=>{const K=h[j];!K.includes(t)&&!K.includes(i)&&!K.includes(n)&&h[j].push(n)})}else{const W=h[s.id];h[s.id]=W.filter(j=>j!==t&&j!==i),W.includes(n)||h[s.id].push(n),k.forEach(j=>{h[j]=h[j].filter(K=>K!==i),h[j].includes(t)||h[j].push(n)})}else if(c==="select"){Object.assign(h,this.getClearStates(!!n));const W=(j,K)=>{j.forEach(Q=>{h[Q]||(h[Q]=o.getElementState(Q)),h[Q].push(K)})};W(C,t),W(k,i),n&&Object.keys(h).forEach(j=>{!C.includes(j)&&!k.includes(j)&&h[j].push(n)})}else Object.assign(h,this.getClearStates());yield o.setElementState(h,a)})}getDataStates(){const{graph:e}=this.context,{nodes:t,edges:n,combos:i}=e.getData(),a={};return[...t,...n,...i].forEach(s=>{a[Mt(s)]=Tg(s)}),a}getClearStates(e=!1){const{graph:t}=this.context,{state:n,unselectedState:i,neighborState:a}=this.options,s=new Set([n,i,a]),{nodes:o,edges:l,combos:c}=t.getData(),h={};return[...o,...l,...c].forEach(p=>{const C=Tg(p),k=C.filter(W=>!s.has(W));(e||k.length!==C.length)&&(h[Mt(p)]=k)}),h}clearState(){return Kh(this,void 0,void 0,function*(){const{graph:e}=this.context;yield e.setElementState(this.getClearStates(),this.options.animation)})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;sl.forEach(t=>{e.off(`${t}:${Nt.CLICK}`,this.onClickSelect)}),e.off(js.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}Xh.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function xa(r){var e;return!!(!((e=r.style)===null||e===void 0)&&e.collapsed)}var aa=function(r,e,t){for(var n=0,i=dr(e)?e.split("."):e;r&&n<i.length;)r=r[i[n++]];return r===void 0||n<i.length?t:r},Yc=function(r,e,t){var n=r,i=dr(e)?e.split("."):e;return i.forEach(function(a,s){s<i.length-1?(ii(n[a])||(n[a]=dn(i[s+1])?[]:{}),n=n[a]):n[a]=t}),r},OP=function(r){var e=Fy(r);return e.charAt(0).toLowerCase()+e.substring(1)},PP=OP;function Qc(r,e){if(!r.startsWith(e))return!1;const t=r[e.length];return t>="A"&&t<="Z"}function X1(r,e){return`${e}${Sh(r)}`}function Y1(r,e,t=!0){if(!e||!Qc(r,e))return r;const n=r.slice(e.length);return t?PP(n):n}function gi(r,e){const t=Object.entries(r).reduce((n,[i,a])=>(i==="className"||i==="class"||Qc(i,e)&&Object.assign(n,{[Y1(i,e)]:a}),n),{});if("opacity"in r){const n=X1("opacity",e),i=r.opacity;if(n in r){const a=r[n];Object.assign(t,{opacity:i*a})}else Object.assign(t,{opacity:i})}return t}function Ag(r,e){const t=e.length;return Object.keys(r).reduce((n,i)=>{if(i.startsWith(e)){const a=i.slice(t);n[a]=r[i]}return n},{})}function Q1(r,e){const t=typeof e=="string"?[e]:e,n={};return Object.keys(r).forEach(i=>{t.find(a=>i.startsWith(a))||(n[i]=r[i])}),n}function aU(r,e,t){return Object.entries(r).reduce((n,[i,a])=>(Qc(i,e)?n[X1(Y1(i,e,!1),t)]=a:n[i]=a,n),{})}function Pa(r=0){if(typeof r=="number")return[r,r,r];const[e,t=e,n=e]=r;return[e,t,n]}var DP=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function J1(r,e){const{datum:t,graph:n}=e;return typeof r=="function"?r.call(n,t):Object.fromEntries(Object.entries(r).map(([i,a])=>typeof a=="function"?[i,a.call(n,t)]:[i,a]))}function Ai(r,e){const t=(r==null?void 0:r.style)||{},n=(e==null?void 0:e.style)||{};for(const i in t)i in n||(n[i]=t[i]);return Object.assign({},r,e,{style:n})}function LP(r){const{x:e,y:t,z:n,class:i,className:a,transform:s,transformOrigin:o,zIndex:l,visibility:c}=r;return DP(r,["x","y","z","class","className","transform","transformOrigin","zIndex","visibility"])}function RP(r,e){const t=Pa(r);let n={};return e.text&&!e.fontSize&&(n={fontSize:Math.min(...t)*.5}),e.src&&(!e.width||!e.height)&&(n={width:t[0]*.5,height:t[1]*.5}),n}function q1(r){if(r)return typeof r=="string"||typeof r=="function"||Array.isArray(r)?{type:"group",field:e=>e.id,color:r,invert:!1}:r}function IP(r,e){if(!e)return{};const{type:t,color:n,field:i,invert:a}=e,s=l=>{const c=typeof n=="string"?Gs("palette",n):n;if(typeof c=="function"){const h={};return l.forEach(([p,C])=>{h[p]=c(a?1-C:C)}),h}else if(Array.isArray(c)){const h=a?[...c].reverse():c,p={};return l.forEach(([C,k])=>{p[C]=h[k%c.length]}),p}return{}},o=(l,c)=>{var h;return typeof l=="string"?(h=c.data)===null||h===void 0?void 0:h[l]:l==null?void 0:l(c)};if(t==="group"){const l=Ah(r,C=>{if(!i)return"default";const k=o(i,C);return k?String(k):"default"}),c=Object.keys(l),h=s(c.map((C,k)=>[C,k])),p={};return Object.entries(l).forEach(([C,k])=>{k.forEach(W=>{p[Mt(W)]=h[C]})}),p}else if(t==="value"){const[l,c]=r.reduce(([p,C],k)=>{const W=o(i,k);if(typeof W!="number")throw new Error(Vs(`Palette field ${i} is not a number`));return[Math.min(p,W),Math.max(C,W)]},[1/0,-1/0]),h=c-l;return s(r.map(p=>[p.id,(o(i,p)-l)/h]))}}function $1(r){const e=typeof r=="string"?Gs("palette",r):r;if(typeof e!="function")return e}function e_(r,e){let t=2*r;return typeof e=="string"?t=r*Number(e.replace("%",""))/100:typeof e=="number"&&(t=e),isNaN(t)&&(t=2*r),t}function t_(r,e,t=1,n=!1){const i=n?t:1,a=(r.max[0]-r.min[0])*i;return e_(a,e)}function NP(r,e,t=1){const n=Ur(r[0],r[1])*t;return e_(n,e)}var BP={}.toString,kP=function(r){return BP.call(r).replace(/^\[object /,"").replace(/]$/,"")},zP=kP,FP=Object.prototype,UP=function(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||FP;return r===t},WP=UP,HP=Object.prototype.hasOwnProperty;function jP(r){if(Rn(r))return!0;if(Fc(r))return!r.length;var e=zP(r);if(e==="Map"||e==="Set")return!r.size;if(WP(r))return!Object.keys(r).length;for(var t in r)if(HP.call(r,t))return!1;return!0}var Ls=jP;class Jc extends Gv{constructor(e){n_(e.style),super(e),this.shapeMap={},this.animateMap={},this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(e,t,n,i,a){var s,o,l,c,h,p,C,k;const W=this.shapeMap[e];if(n===!1){W&&((s=a==null?void 0:a.beforeDestroy)===null||s===void 0||s.call(a,W),i.removeChild(W),delete this.shapeMap[e],(o=a==null?void 0:a.afterDestroy)===null||o===void 0||o.call(a,W));return}const j=typeof t=="string"?Gs(Uc.SHAPE,t):t;if(!j)throw new Error(Vs(`Shape ${t} not found`));if(!W||W.destroyed||!(W instanceof j)){W&&((l=a==null?void 0:a.beforeDestroy)===null||l===void 0||l.call(a,W),W==null||W.destroy(),(c=a==null?void 0:a.afterDestroy)===null||c===void 0||c.call(a,W)),(h=a==null?void 0:a.beforeCreate)===null||h===void 0||h.call(a);const K=new j({className:e,style:n});return i.appendChild(K),this.shapeMap[e]=K,(p=a==null?void 0:a.afterCreate)===null||p===void 0||p.call(a,K),K}return(C=a==null?void 0:a.beforeUpdate)===null||C===void 0||C.call(a,W),Yg(W,n),(k=a==null?void 0:a.afterUpdate)===null||k===void 0||k.call(a,W),W}update(e={}){const t=Object.assign({},this.attributes,e);n_(t),VL(this,t),this.render(t,this),this.setVisibility()}bindEvents(){}getGraphicStyle(e){return LP(e)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(e,t){if(e.length===0)return null;const n=[];if(e[0].x!==void 0||e[0].y!==void 0||e[0].z!==void 0){const{x:a=0,y:s=0,z:o=0}=this.attributes;e.forEach(l=>{const{x:c=a,y:h=s,z:p=o}=l;Object.assign(l,{transform:p?[["translate3d",c,h,p]]:[["translate",c,h]]})})}const i=super.animate(e,t);if(i&&(Cg(this,i),n.push(i)),Array.isArray(e)&&e.length>0){const a=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(e[0]).some(s=>!a.includes(s))){Object.entries(this.shapeMap).forEach(([o,l])=>{const c=`get${Sh(o)}Style`,h=this[c];if(xn(h)){const p=e.map(k=>h.call(this,Object.assign(Object.assign({},this.attributes),k))),C=l.animate(sg(p),t);C&&(Cg(l,C),n.push(C))}});const s=(o,l)=>{if(!Ls(o)){const c=`get${Sh(l)}Style`,h=this[c];if(xn(h)){const p=e.map(C=>h.call(this,Object.assign(Object.assign({},this.attributes),C)));Object.entries(p[0]).map(([C])=>{const k=p.map(j=>j[C]),W=o[C];if(W){const j=W.animate(sg(k),t);j&&(Cg(W,j),n.push(j))}})}}};this.compositeShapes.forEach(([o,l])=>{const c=Ag(this.shapeMap,l);s(c,o)})}}return ag(n)}getShape(e){return this.shapeMap[e]}setVisibility(){const{visibility:e}=this.attributes;il(this,e)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function Cg(r,e){e==null||e.finished.then(()=>{const t=r.activeAnimations.findIndex(n=>n===e);t>-1&&r.activeAnimations.splice(t,1)})}function n_(r){if(!r)return{};if("x"in r||"y"in r||"z"in r){const{x:e=0,y:t=0,z:n,transform:i}=r,a=Hy(e,t,n,i);a&&(r.transform=a)}return r}var GP=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class _o extends Jc{constructor(e){super(Ai({style:_o.defaultStyleProps},e))}isTextStyle(e){return Qc(e,"label")}isBackgroundStyle(e){return Qc(e,"background")}getTextStyle(e){const t=this.getGraphicStyle(e),{padding:n}=t,i=GP(t,["padding"]);return Q1(i,"background")}getBackgroundStyle(e){if(e.background===!1)return!1;const t=this.getGraphicStyle(e),{wordWrap:n,wordWrapWidth:i,padding:a}=t,s=gi(t,"background"),{min:[o,l],center:[c,h],halfExtents:[p,C]}=this.shapeMap.text.getGeometryBounds(),[k,W,j,K]=os(a),Q=p*2+K+W,{width:ee,height:re}=s;ee&&re?Object.assign(s,{x:c-Number(ee)/2,y:h-Number(re)/2}):Object.assign(s,{x:o-K,y:l-k,width:n?Math.min(Q,i+K+W):Q,height:C*2+k+j});const{radius:ve}=s;if(typeof ve=="string"&&ve.endsWith("%")){const he=Number(ve.replace("%",""))/100;s.radius=Math.min(+s.width,+s.height)*he}return s}render(e=this.parsedAttributes,t=this){this.upsert("text",el,this.getTextStyle(e),t),this.upsert("background",Ii,this.getBackgroundStyle(e),t)}getGeometryBounds(){return(this.getShape("background")||this.getShape("text")).getGeometryBounds()}}_o.defaultStyleProps={padding:0,fontSize:12,fontFamily:"system-ui, sans-serif",wordWrap:!0,maxLines:1,wordWrapWidth:128,textOverflow:"...",textBaseline:"middle",backgroundOpacity:.75,backgroundZIndex:-1,backgroundLineWidth:0};class Kl extends Jc{constructor(e){super(Ai({style:Kl.defaultStyleProps},e))}getBadgeStyle(e){return this.getGraphicStyle(e)}render(e=this.parsedAttributes,t=this){this.upsert("label",_o,this.getBadgeStyle(e),t)}getGeometryBounds(){const e=this.getShape("label");return(e.getShape("background")||e.getShape("text")).getGeometryBounds()}}Kl.defaultStyleProps={padding:[2,4,2,4],fontSize:10,wordWrap:!1,backgroundRadius:"50%",backgroundOpacity:1};function VP(r,e=!0){const t=[];return r.forEach((n,i)=>{t.push([i===0?"M":"L",...n])}),e&&t.push(["Z"]),t}const r_={M:["x","y"],m:["dx","dy"],H:["x"],h:["dx"],V:["y"],v:["dy"],L:["x","y"],l:["dx","dy"],Z:[],z:[],C:["x1","y1","x2","y2","x","y"],c:["dx1","dy1","dx2","dy2","dx","dy"],S:["x2","y2","x","y"],s:["dx2","dy2","dx","dy"],Q:["x1","y1","x","y"],q:["dx1","dy1","dx","dy"],T:["x","y"],t:["dx","dy"],A:["rx","ry","rotation","large-arc","sweep","x","y"],a:["rx","ry","rotation","large-arc","sweep","dx","dy"]};function ZP(r){const e=r.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),t=[];let n="",i={};for(;e.length>0;){let a=e.shift();a in r_?n=a:e.unshift(a),i={type:n},r_[n].forEach(l=>{a=e.shift(),i[l]=a}),n==="M"?n="L":n==="m"&&(n="l");const[s,...o]=Object.values(i);t.push([s,...o.map(Number)])}return t}function KP(r){const e=[];return(typeof r=="string"?ZP(r):r).forEach(n=>{const i=n[0];if(i==="Z"){e.push(e[0]);return}if(i!=="A")for(let a=1;a<n.length;a=a+2)e.push([n[a],n[a+1],0]);else{const a=n.length;e.push([n[a-2],n[a-1],0])}}),e}const i_=r=>{if(r.length<2)return[["M",0,0],["L",0,0]];const e=r[0],t=r[1],n=r[r.length-1],i=r[r.length-2];r.unshift(i,n),r.push(e,t);const a=[["M",n[0],n[1]]];for(let s=1;s<r.length-2;s+=1){const[o,l]=r[s-1],[c,h]=r[s],[p,C]=r[s+1],[k,W]=s!==r.length-2?r[s+2]:[p,C],j=c+(p-o)/6,K=h+(C-l)/6,Q=p-(k-c)/6,ee=C-(W-h)/6;a.push(["C",j,K,Q,ee,p,C])}return a};function XP(r,e,t,n,i,a,s){const[o,l]=Xs(r,e),c={textAlign:e==="left"?"right":e==="right"?"left":"center",textBaseline:e==="top"?"bottom":e==="bottom"?"top":"middle",transform:[["translate",o+t,l+n]]};if(e==="center"||!i)return c;const h=KP(a);if(!h||h.length<=3)return c;const p=h.map((W,j)=>{const K=W,Q=h[(j+1)%h.length];return si(K,Q)?null:[K,Q]}).filter(Boolean),C=SP([o,l],p),k=G1([o,l],C);if(k&&C&&(c.transform=[["translate",k[0]+t,k[1]+n]],s)){const W=Math.atan((C[0][1]-C[1][1])/(C[0][0]-C[1][0]));c.transform.push(["rotate",W/Math.PI*180]),c.textAlign="center",(e==="right"||e==="left")&&(W>0?c.textBaseline=e==="right"?"bottom":"top":c.textBaseline=e==="right"?"top":"bottom")}return c}var YP=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class qc extends Jc{constructor(e){super(Ai({style:qc.defaultStyleProps},e))}getLabelStyle(e){if(!e.label||!e.d||e.d.length===0)return!1;const t=gi(this.getGraphicStyle(e),"label"),{maxWidth:n,offsetX:i,offsetY:a,autoRotate:s,placement:o,closeToPath:l}=t,c=YP(t,["maxWidth","offsetX","offsetY","autoRotate","placement","closeToPath"]),h=this.shapeMap.key,p=h==null?void 0:h.getRenderBounds();return Object.assign(XP(p,o,i,a,l,e.d,s),{wordWrapWidth:t_(p,n)},c)}getKeyStyle(e){return this.getGraphicStyle(e)}render(e,t){this.upsert("key",Ta,this.getKeyStyle(e),t),this.upsert("label",_o,this.getLabelStyle(e),t)}}qc.defaultStyleProps={label:!0,labelPlacement:"bottom",labelCloseToPath:!0,labelAutoRotate:!0,labelOffsetX:0,labelOffsetY:0};function QP(r){const e=[],t=n=>{n!=null&&n.children.length&&n.children.forEach(i=>{e.push(i),t(i)})};return t(r),e}function JP(r){const e=[];let t=r.parentNode;for(;t;)e.push(t),t=t.parentNode;return e}class Og extends Bc{constructor(e){super(e),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},Xl=this,this.isMutationObserved=!0,this.addEventListener(tr.MOUNTED,this.onMounted),this.addEventListener(tr.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:e,clipPath:t,width:n=0,height:i=0}=this.attributes;if(e&&n&&i){const[a,s]=this.getBounds().min,o={x:a,y:s,radius:e,width:n,height:i};if(t)Object.assign(this.parsedStyle.clipPath.style,o);else{const l=new Ii({style:o});this.style.clipPath=l}}else t&&(this.style.clipPath=null)}}const Pg=new WeakMap;let Xl=null;const Dg=r=>{if(Xl&&JP(Xl).includes(r)){const e=Pg.get(r);e?e.includes(Xl)||e.push(Xl):Pg.set(r,[Xl])}},Lg=r=>{const e=Pg.get(r);e&&e.forEach(t=>t.handleRadius())};class a_ extends Jc{constructor(e){super(e)}isImage(){const{src:e}=this.attributes;return!!e}getIconStyle(e=this.attributes){const{width:t=0,height:n=0}=e,i=this.getGraphicStyle(e);return this.isImage()?Object.assign({x:-t/2,y:-n/2},i):Object.assign({textBaseline:"middle",textAlign:"center"},i)}render(e=this.attributes,t=this){this.upsert("icon",this.isImage()?Og:el,this.getIconStyle(e),t)}}class s_ extends Jc{get context(){return this.config.context}get parsedAttributes(){return this.attributes}onframe(){}animate(e,t){const n=super.animate(e,t);return n&&(n.onframe=()=>this.onframe(),n.finished.then(()=>this.onframe())),n}}var Yh=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class fs extends s_{constructor(e){super(Ai({style:fs.defaultStyleProps},e)),this.type="node"}getSize(e=this.attributes){const{size:t}=e;return Pa(t)}getKeyStyle(e){const t=this.getGraphicStyle(e);return Object.assign(Q1(t,["label","halo","icon","badge","port"]))}getLabelStyle(e){if(e.label===!1||!e.labelText)return!1;const t=gi(this.getGraphicStyle(e),"label"),{placement:n,maxWidth:i,offsetX:a,offsetY:s}=t,o=Yh(t,["placement","maxWidth","offsetX","offsetY"]),l=this.getShape("key").getLocalBounds();return Object.assign(F_(l,n,a,s),{wordWrapWidth:t_(l,i)},o)}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getKeyStyle(e),{fill:n}=t,i=Yh(t,["fill"]),a=gi(this.getGraphicStyle(e),"halo");return Object.assign(Object.assign(Object.assign({},i),{stroke:n}),a)}getIconStyle(e){if(e.icon===!1||!e.iconText&&!e.iconSrc)return!1;const t=gi(this.getGraphicStyle(e),"icon");return Object.assign(RP(e.size,t),t)}getBadgesStyle(e){var t;const n=Ag(this.shapeMap,"badge-"),i={};if(Object.keys(n).forEach(p=>{i[p]=!1}),e.badge===!1||!(!((t=e.badges)===null||t===void 0)&&t.length))return i;const{badges:a=[],badgePalette:s,opacity:o=1}=e,l=Yh(e,["badges","badgePalette","opacity"]),c=$1(s),h=gi(this.getGraphicStyle(l),"badge");return a.forEach((p,C)=>{i[C]=Object.assign(Object.assign({backgroundFill:c?c[C%(c==null?void 0:c.length)]:void 0,opacity:o},h),this.getBadgeStyle(p))}),i}getBadgeStyle(e){const t=this.getShape("key"),{placement:n="top",offsetX:i,offsetY:a}=e,s=Yh(e,["placement","offsetX","offsetY"]),o=F_(t.getLocalBounds(),n,i,a,!0);return Object.assign(Object.assign({},o),s)}getPortsStyle(e){var t;const n=this.getPorts(),i={};if(Object.keys(n).forEach(o=>{i[o]=!1}),e.port===!1||!(!((t=e.ports)===null||t===void 0)&&t.length))return i;const a=gi(this.getGraphicStyle(e),"port"),{ports:s=[]}=e;return s.forEach((o,l)=>{const c=o.key||l,h=Object.assign(Object.assign({},a),o);if(B_(h))i[c]=!1;else{const[p,C]=this.getPortXY(e,o);i[c]=Object.assign({transform:[["translate",p,C]]},h)}}),i}getPortXY(e,t){const{placement:n="left"}=t,i=this.getShape("key");return Zg(qP(this.context,i),n)}getPorts(){return Ag(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return wP(e,n,t)}drawHaloShape(e,t){const n=this.getHaloStyle(e),i=this.getShape("key");this.upsert("halo",i.constructor,n,t)}drawIconShape(e,t){const n=this.getIconStyle(e);this.upsert("icon",a_,n,t),Dg(this)}drawBadgeShapes(e,t){const n=this.getBadgesStyle(e);Object.keys(n).forEach(i=>{const a=n[i];this.upsert(`badge-${i}`,Kl,a,t)})}drawPortShapes(e,t){const n=this.getPortsStyle(e);Object.keys(n).forEach(i=>{const a=n[i],s=`port-${i}`;this.upsert(s,Ws,a,t)})}drawLabelShape(e,t){const n=this.getLabelStyle(e);this.upsert("label",_o,n,t)}_drawKeyShape(e,t){return this.drawKeyShape(e,t)}render(e=this.parsedAttributes,t=this){this._drawKeyShape(e,t),this.getShape("key")&&(this.drawHaloShape(e,t),this.drawIconShape(e,t),this.drawBadgeShapes(e,t),this.drawLabelShape(e,t),this.drawPortShapes(e,t))}update(e){super.update(e),e&&("x"in e||"y"in e||"z"in e)&&Lg(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}fs.defaultStyleProps={x:0,y:0,size:32,droppable:!0,draggable:!0,port:!0,ports:[],portZIndex:2,portLinkToCenter:!1,badge:!0,badges:[],badgeZIndex:3,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloStrokeOpacity:.25,haloPointerEvents:"none",haloZIndex:-1,icon:!0,iconZIndex:1,label:!0,labelIsBillboard:!0,labelMaxWidth:"200%",labelPlacement:"bottom",labelWordWrap:!1,labelZIndex:0};function qP(r,e){if(!r)return e.getLocalBounds();const t=r.canvas.getLayer(),n=e.cloneNode();il(n,"hidden"),t.appendChild(n);const i=n.getLocalBounds();return n.destroy(),i}class ll extends fs{constructor(e){super(Ai({style:ll.defaultStyleProps},e))}drawKeyShape(e,t){return this.upsert("key",Ws,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e);return Object.assign(Object.assign({},t),{r:Math.min(...this.getSize(e))/2})}getIconStyle(e){const t=super.getIconStyle(e),{r:n}=this.getShape("key").attributes,i=n*2*Ys;return t?Object.assign({width:i,height:i},t):!1}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Vh(e,n,t)}}ll.defaultStyleProps={size:32};class Qh extends fs{constructor(e){super(e)}get parsedAttributes(){return this.attributes}drawKeyShape(e,t){return this.upsert("key",$o,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e);return Object.assign(Object.assign({},t),{points:this.getPoints(e)})}getIntersectPoint(e,t=!1){var n,i;const{points:a}=this.getShape("key").attributes,s=[+(((n=this.attributes)===null||n===void 0?void 0:n.x)||0),+(((i=this.attributes)===null||i===void 0?void 0:i.y)||0)];return j1(e,s,a,!0,t).point}}class $P extends Qh{constructor(e){super(e)}getPoints(e){const[t,n]=this.getSize(e);return jL(t,n)}}var eD=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Jh extends ll{constructor(e){super(Ai({style:Jh.defaultStyleProps},e))}parseOuterR(){const{size:e}=this.parsedAttributes;return Math.min(...Pa(e))/2}parseInnerR(){const{innerR:e}=this.parsedAttributes;return dr(e)?parseInt(e)/100*this.parseOuterR():e}drawDonutShape(e,t){const{donuts:n}=e;if(!(n!=null&&n.length))return;const i=n.map(p=>dn(p)?{value:p}:p),a=gi(this.getGraphicStyle(e),"donut"),s=$1(e.donutPalette);if(!s)return;const o=i.reduce((p,C)=>{var k;return p+((k=C.value)!==null&&k!==void 0?k:0)},0),l=this.parseOuterR(),c=this.parseInnerR();let h=0;i.forEach((p,C)=>{const{value:k=0,color:W=s[C%s.length]}=p,j=eD(p,["value","color"]),K=(o===0?1/i.length:k/o)*360;this.upsert(`round${C}`,Ta,Object.assign(Object.assign(Object.assign({},a),{d:rD(l,c,h,h+K),fill:W}),j),t),h+=K})}render(e,t=this){super.render(e,t),this.drawDonutShape(e,t)}}Jh.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const qh=(r,e,t,n)=>[r+Math.sin(n)*t,e-Math.cos(n)*t],tD=(r,e,t,n)=>n<=0||t<=n?[["M",r-t,e],["A",t,t,0,1,1,r+t,e],["A",t,t,0,1,1,r-t,e],["Z"]]:[["M",r-t,e],["A",t,t,0,1,1,r+t,e],["A",t,t,0,1,1,r-t,e],["Z"],["M",r+n,e],["A",n,n,0,1,0,r-n,e],["A",n,n,0,1,0,r+n,e],["Z"]],nD=(r,e,t,n,i,a)=>{const[s,o]=[i/360*2*Math.PI,a/360*2*Math.PI],l=[qh(r,e,n,s),qh(r,e,t,s),qh(r,e,t,o),qh(r,e,n,o)],c=o-s>Math.PI?1:0;return[["M",l[0][0],l[0][1]],["L",l[1][0],l[1][1]],["A",t,t,0,c,1,l[2][0],l[2][1]],["L",l[3][0],l[3][1]],["A",n,n,0,c,0,l[0][0],l[0][1]],["Z"]]},rD=(r=0,e=0,t,n)=>{const[i,a]=[0,0];return Math.abs(t-n)%360<1e-6?tD(i,a,r,e):nD(i,a,r,e,t,n)};class $h extends fs{constructor(e){super(Ai({style:$h.defaultStyleProps},e))}drawKeyShape(e,t){return this.upsert("key",Ic,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e),[n,i]=this.getSize(e);return Object.assign(Object.assign({},t),{rx:n/2,ry:i/2})}getIconStyle(e){const t=super.getIconStyle(e),{rx:n,ry:i}=this.getShape("key").attributes,a=Math.min(+n,+i)*2*Ys;return t?Object.assign({width:a,height:a},t):!1}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Vh(e,n,t)}}$h.defaultStyleProps={size:[45,35]};class iD extends Qh{constructor(e){super(e)}getOuterR(e){return e.outerR||Math.min(...this.getSize(e))/2}getPoints(e){return ZL(this.getOuterR(e))}getIconStyle(e){const t=super.getIconStyle(e),n=this.getOuterR(e)*Ys;return t?Object.assign({width:n,height:n},t):!1}}function aD(r,e){var t=e.cx,n=t===void 0?0:t,i=e.cy,a=i===void 0?0:i,s=e.r;r.arc(n,a,s,0,Math.PI*2,!1)}function sD(r,e){var t=e.cx,n=t===void 0?0:t,i=e.cy,a=i===void 0?0:i,s=e.rx,o=e.ry;if(r.ellipse)r.ellipse(n,a,s,o,0,0,Math.PI*2,!1);else{var l=s>o?s:o,c=s>o?1:s/o,h=s>o?o/s:1;r.save(),r.scale(c,h),r.arc(n,a,l,0,Math.PI*2)}}function oD(r,e){var t=e.x1,n=e.y1,i=e.x2,a=e.y2,s=e.markerStart,o=e.markerEnd,l=e.markerStartOffset,c=e.markerEndOffset,h=0,p=0,C=0,k=0,W=0,j,K;s&&vr(s)&&l&&(j=i-t,K=a-n,W=Math.atan2(K,j),h=Math.cos(W)*(l||0),p=Math.sin(W)*(l||0)),o&&vr(o)&&c&&(j=t-i,K=n-a,W=Math.atan2(K,j),C=Math.cos(W)*(c||0),k=Math.sin(W)*(c||0)),r.moveTo(t+h,n+p),r.lineTo(i+C,a+k)}function lD(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.d,o=s.absolutePath,l=s.segments,c=0,h=0,p=0,C=0,k=0,W,j;if(t&&vr(t)&&i){var K=t.parentNode.getStartTangent(),Q=(0,m.Z)(K,2),ee=Q[0],re=Q[1];W=ee[0]-re[0],j=ee[1]-re[1],k=Math.atan2(j,W),c=Math.cos(k)*(i||0),h=Math.sin(k)*(i||0)}if(n&&vr(n)&&a){var ve=n.parentNode.getEndTangent(),he=(0,m.Z)(ve,2),pe=he[0],_e=he[1];W=pe[0]-_e[0],j=pe[1]-_e[1],k=Math.atan2(j,W),p=Math.cos(k)*(a||0),C=Math.sin(k)*(a||0)}for(var Ee=0;Ee<o.length;Ee++){var De=o[Ee],Be=De[0],Fe=o[Ee+1],Xe=Ee===0&&(c!==0||h!==0),qe=(Ee===o.length-1||Fe&&(Fe[0]==="M"||Fe[0]==="Z"))&&p!==0&&C!==0,ct=Xe?[c,h]:[0,0],ht=(0,m.Z)(ct,2),St=ht[0],bt=ht[1],Et=qe?[p,C]:[0,0],xt=(0,m.Z)(Et,2),Dt=xt[0],Ut=xt[1];switch(Be){case"M":r.moveTo(De[1]+St,De[2]+bt);break;case"L":r.lineTo(De[1]+Dt,De[2]+Ut);break;case"Q":r.quadraticCurveTo(De[1],De[2],De[3]+Dt,De[4]+Ut);break;case"C":r.bezierCurveTo(De[1],De[2],De[3],De[4],De[5]+Dt,De[6]+Ut);break;case"A":{var Xt=l[Ee].arcParams,an=Xt.cx,gn=Xt.cy,sn=Xt.rx,Sn=Xt.ry,zn=Xt.startAngle,Vn=Xt.endAngle,ir=Xt.xRotation,hr=Xt.sweepFlag;if(r.ellipse)r.ellipse(an,gn,sn,Sn,ir,zn,Vn,!!(1-hr));else{var Ji=sn>Sn?sn:Sn,_r=sn>Sn?1:sn/Sn,Ba=sn>Sn?Sn/sn:1;r.translate(an,gn),r.rotate(ir),r.scale(_r,Ba),r.arc(0,0,Ji,zn,Vn,!!(1-hr)),r.scale(1/_r,1/Ba),r.rotate(-ir),r.translate(-an,-gn)}qe&&r.lineTo(De[6]+p,De[7]+C);break}case"Z":r.closePath();break}}}function cD(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.points.points,o=s.length,l=s[0][0],c=s[0][1],h=s[o-1][0],p=s[o-1][1],C=0,k=0,W=0,j=0,K=0,Q,ee;t&&vr(t)&&i&&(Q=s[1][0]-s[0][0],ee=s[1][1]-s[0][1],K=Math.atan2(ee,Q),C=Math.cos(K)*(i||0),k=Math.sin(K)*(i||0)),n&&vr(n)&&a&&(Q=s[o-1][0]-s[0][0],ee=s[o-1][1]-s[0][1],K=Math.atan2(ee,Q),W=Math.cos(K)*(a||0),j=Math.sin(K)*(a||0)),r.moveTo(l+(C||W),c+(k||j));for(var re=1;re<o-1;re++){var ve=s[re];r.lineTo(ve[0],ve[1])}r.lineTo(h,p)}function uD(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.points.points,o=s.length,l=s[0][0],c=s[0][1],h=s[o-1][0],p=s[o-1][1],C=0,k=0,W=0,j=0,K=0,Q,ee;t&&vr(t)&&i&&(Q=s[1][0]-s[0][0],ee=s[1][1]-s[0][1],K=Math.atan2(ee,Q),C=Math.cos(K)*(i||0),k=Math.sin(K)*(i||0)),n&&vr(n)&&a&&(Q=s[o-2][0]-s[o-1][0],ee=s[o-2][1]-s[o-1][1],K=Math.atan2(ee,Q),W=Math.cos(K)*(a||0),j=Math.sin(K)*(a||0)),r.moveTo(l+C,c+k);for(var re=1;re<o-1;re++){var ve=s[re];r.lineTo(ve[0],ve[1])}r.lineTo(h+W,p+j)}function hD(r,e){var t=e.x,n=t===void 0?0:t,i=e.y,a=i===void 0?0:i,s=e.radius,o=e.width,l=e.height,c=o,h=l,p=s&&s.some(function(he){return he!==0});if(!p)r.rect(n,a,c,h);else{var C=o>0?1:-1,k=l>0?1:-1,W=C+k===0,j=s.map(function(he){return Yr(he,0,Math.min(Math.abs(c)/2,Math.abs(h)/2))}),K=(0,m.Z)(j,4),Q=K[0],ee=K[1],re=K[2],ve=K[3];r.moveTo(C*Q+n,a),r.lineTo(c-C*ee+n,a),ee!==0&&r.arc(c-C*ee+n,k*ee+a,ee,-k*Math.PI/2,C>0?0:Math.PI,W),r.lineTo(c+n,h-k*re+a),re!==0&&r.arc(c-C*re+n,h-k*re+a,re,C>0?0:Math.PI,k>0?Math.PI/2:1.5*Math.PI,W),r.lineTo(C*ve+n,h+a),ve!==0&&r.arc(C*ve+n,h-k*ve+a,ve,k>0?Math.PI/2:-Math.PI/2,C>0?Math.PI:0,W),r.lineTo(n,k*Q+a),Q!==0&&r.arc(C*Q+n,k*Q+a,Q,C>0?Math.PI:0,k>0?Math.PI*1.5:Math.PI/2,W)}}var fD=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.name="canvas-path-generator",t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"init",value:function(){var n,i=(n={},(0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)(n,Rt.CIRCLE,aD),Rt.ELLIPSE,sD),Rt.RECT,hD),Rt.LINE,oD),Rt.POLYLINE,uD),Rt.POLYGON,cD),Rt.PATH,lD),Rt.TEXT,void 0),Rt.GROUP,void 0),Rt.IMAGE,void 0),(0,mn.Z)((0,mn.Z)((0,mn.Z)(n,Rt.HTML,void 0),Rt.MESH,void 0),Rt.FRAGMENT,void 0));this.context.pathGeneratorFactory=i}},{key:"destroy",value:function(){delete this.context.pathGeneratorFactory}}])}(oo);var dD=f(),vD=f(),gD=f(),pD=ut(),o_=function(){function r(){var e=this;(0,b.Z)(this,r),this.isHit=function(t,n,i,a){var s=e.context.pointInPathPickerFactory[t.nodeName];if(s){var o=Ct(pD,i),l=Ke(vD,F(gD,n[0],n[1],0),o);if(s(t,new Ri(l[0],l[1]),a,e.isPointInPath,e.context,e.runtime))return!0}return!1},this.isPointInPath=function(t,n){var i=e.runtime.offscreenCanvasCreator.getOrCreateContext(e.context.config.offscreenCanvas),a=e.context.pathGeneratorFactory[t.nodeName];return a&&(i.beginPath(),a(i,t.parsedStyle),i.closePath()),i.isPointInPath(n.x,n.y)}}return(0,z.Z)(r,[{key:"apply",value:function(t,n){var i,a=this,s=t.renderingService,o=t.renderingContext;this.context=t,this.runtime=n;var l=(i=o.root)===null||i===void 0?void 0:i.ownerDocument;s.hooks.pick.tapPromise(r.tag,function(){var c=(0,so.Z)((0,Ki.Z)().mark(function h(p){return(0,Ki.Z)().wrap(function(k){for(;;)switch(k.prev=k.next){case 0:return k.abrupt("return",a.pick(l,p));case 1:case"end":return k.stop()}},h)}));return function(h){return c.apply(this,arguments)}}()),s.hooks.pickSync.tap(r.tag,function(c){return a.pick(l,c)})}},{key:"pick",value:function(t,n){var i=n.topmost,a=n.position,s=a.x,o=a.y,l=F(dD,s,o,0),c=t.elementsFromBBox(l[0],l[1],l[0],l[1]),h=[],p=Ho(c),C;try{for(p.s();!(C=p.n()).done;){var k=C.value,W=k.getWorldTransform(),j=this.isHit(k,l,W,!1);if(j){var K=qm(k);if(K){var Q=K.parsedStyle.clipPath,ee=this.isHit(Q,l,Q.getWorldTransform(),!0);if(ee){if(i)return n.picked=[k],n;h.push(k)}}else{if(i)return n.picked=[k],n;h.push(k)}}}}catch(re){p.e(re)}finally{p.f()}return n.picked=h,n}}])}();o_.tag="CanvasPicker";function mD(r,e,t){var n=r.parsedStyle,i=n.cx,a=i===void 0?0:i,s=n.cy,o=s===void 0?0:s,l=n.r,c=n.fill,h=n.stroke,p=n.lineWidth,C=p===void 0?1:p,k=n.increasedLineWidthForHitTesting,W=k===void 0?0:k,j=n.pointerEvents,K=j===void 0?"auto":j,Q=(C+W)/2,ee=Zi(a,o,e.x,e.y),re=Yo(K,c,h),ve=(0,m.Z)(re,2),he=ve[0],pe=ve[1];return he&&pe||t?ee<=l+Q:he?ee<=l:pe?ee>=l-Q&&ee<=l+Q:!1}function ef(r,e,t,n){return r/(t*t)+e/(n*n)}function yD(r,e,t){var n=r.parsedStyle,i=n.cx,a=i===void 0?0:i,s=n.cy,o=s===void 0?0:s,l=n.rx,c=n.ry,h=n.fill,p=n.stroke,C=n.lineWidth,k=C===void 0?1:C,W=n.increasedLineWidthForHitTesting,j=W===void 0?0:W,K=n.pointerEvents,Q=K===void 0?"auto":K,ee=e.x,re=e.y,ve=Yo(Q,h,p),he=(0,m.Z)(ve,2),pe=he[0],_e=he[1],Ee=(k+j)/2,De=(ee-a)*(ee-a),Be=(re-o)*(re-o);return pe&&_e||t?ef(De,Be,l+Ee,c+Ee)<=1:pe?ef(De,Be,l,c)<=1:_e?ef(De,Be,l-Ee,c-Ee)>=1&&ef(De,Be,l+Ee,c+Ee)<=1:!1}function cl(r,e,t,n,i,a){return i>=r&&i<=r+t&&a>=e&&a<=e+n}function _D(r,e,t,n,i,a,s){var o=i/2;return cl(r-o,e-o,t,i,a,s)||cl(r+t-o,e-o,i,n,a,s)||cl(r+o,e+n-o,t,i,a,s)||cl(r-o,e+o,i,n,a,s)}function tf(r,e,t,n,i,a,s,o){var l=(Math.atan2(o-e,s-r)+Math.PI*2)%(Math.PI*2),c={x:r+t*Math.cos(l),y:e+t*Math.sin(l)};return Zi(c.x,c.y,s,o)<=a/2}function Eo(r,e,t,n,i,a,s){var o=Math.min(r,t),l=Math.max(r,t),c=Math.min(e,n),h=Math.max(e,n),p=i/2;return a>=o-p&&a<=l+p&&s>=c-p&&s<=h+p?Q0(r,e,t,n,a,s)<=i/2:!1}function l_(r,e,t,n,i){var a=r.length;if(a<2)return!1;for(var s=0;s<a-1;s++){var o=r[s][0],l=r[s][1],c=r[s+1][0],h=r[s+1][1];if(Eo(o,l,c,h,e,t,n))return!0}if(i){var p=r[0],C=r[a-1];if(Eo(p[0],p[1],C[0],C[1],e,t,n))return!0}return!1}var ED=1e-6;function Rg(r){return Math.abs(r)<ED?0:r<0?-1:1}function xD(r,e,t){return(t[0]-r[0])*(e[1]-r[1])===(e[0]-r[0])*(t[1]-r[1])&&Math.min(r[0],e[0])<=t[0]&&t[0]<=Math.max(r[0],e[0])&&Math.min(r[1],e[1])<=t[1]&&t[1]<=Math.max(r[1],e[1])}function c_(r,e,t){var n=!1,i=r.length;if(i<=2)return!1;for(var a=0;a<i;a++){var s=r[a],o=r[(a+1)%i];if(xD(s,o,[e,t]))return!0;Rg(s[1]-t)>0!=Rg(o[1]-t)>0&&Rg(e-(t-s[1])*(s[0]-o[0])/(s[1]-o[1])-s[0])<0&&(n=!n)}return n}function u_(r,e,t){for(var n=!1,i=0;i<r.length;i++){var a=r[i];if(n=c_(a,e,t),n)break}return n}function bD(r,e,t){var n=r.parsedStyle,i=n.x1,a=n.y1,s=n.x2,o=n.y2,l=n.lineWidth,c=l===void 0?1:l,h=n.increasedLineWidthForHitTesting,p=h===void 0?0:h,C=n.pointerEvents,k=C===void 0?"auto":C,W=n.fill,j=n.stroke,K=Yo(k,W,j),Q=(0,m.Z)(K,2),ee=Q[1];return!ee&&!t||!c?!1:Eo(i,a,s,o,c+p,e.x,e.y)}function wD(r,e,t,n,i){for(var a=!1,s=e/2,o=0;o<r.length;o++){var l=r[o],c=l.currentPoint,h=l.params,p=l.prePoint,C=l.box;if(!(C&&!cl(C.x-s,C.y-s,C.width+e,C.height+e,t,n)))switch(l.command){case"L":case"Z":if(a=Eo(p[0],p[1],c[0],c[1],e,t,n),a)return!0;break;case"Q":var k=Iw(p[0],p[1],h[1],h[2],h[3],h[4],t,n);if(a=k<=e/2,a)return!0;break;case"C":var W=$0(p[0],p[1],h[1],h[2],h[3],h[4],h[5],h[6],t,n,i);if(a=W<=e/2,a)return!0;break;case"A":l.cubicParams||(l.cubicParams=av(p[0],p[1],h[1],h[2],h[3],h[4],h[5],h[6],h[7],void 0));for(var j=l.cubicParams,K=p,Q=0;Q<j.length;Q+=6){var ee=$0(K[0],K[1],j[Q],j[Q+1],j[Q+2],j[Q+3],j[Q+4],j[Q+5],t,n,i);if(K=[j[Q+4],j[Q+5]],a=ee<=e/2,a)return!0}break}}return a}function MD(r,e,t,n,i,a){var s=r.parsedStyle,o=s.lineWidth,l=o===void 0?1:o,c=s.increasedLineWidthForHitTesting,h=c===void 0?0:c,p=s.stroke,C=s.fill,k=s.d,W=s.pointerEvents,j=W===void 0?"auto":W,K=k.segments,Q=k.hasArc,ee=k.polylines,re=k.polygons,ve=Yo(j,(re==null?void 0:re.length)&&C,p),he=(0,m.Z)(ve,2),pe=he[0],_e=he[1],Ee=Tv(r),De=!1;return pe||t?(Q?De=n(r,e):De=u_(re,e.x,e.y)||u_(ee,e.x,e.y),De):((_e||t)&&(De=wD(K,l+h,e.x,e.y,Ee)),De)}function SD(r,e,t){var n=r.parsedStyle,i=n.stroke,a=n.fill,s=n.lineWidth,o=s===void 0?1:s,l=n.increasedLineWidthForHitTesting,c=l===void 0?0:l,h=n.points,p=n.pointerEvents,C=p===void 0?"auto":p,k=Yo(C,a,i),W=(0,m.Z)(k,2),j=W[0],K=W[1],Q=!1;return(K||t)&&(Q=l_(h.points,o+c,e.x,e.y,!0)),!Q&&(j||t)&&(Q=c_(h.points,e.x,e.y)),Q}function TD(r,e,t){var n=r.parsedStyle,i=n.lineWidth,a=i===void 0?1:i,s=n.increasedLineWidthForHitTesting,o=s===void 0?0:s,l=n.points,c=n.pointerEvents,h=c===void 0?"auto":c,p=n.fill,C=n.stroke,k=Yo(h,p,C),W=(0,m.Z)(k,2),j=W[1];return!j&&!t||!a?!1:l_(l.points,a+o,e.x,e.y,!1)}function AD(r,e,t,n,i){var a=r.parsedStyle,s=a.radius,o=a.fill,l=a.stroke,c=a.lineWidth,h=c===void 0?1:c,p=a.increasedLineWidthForHitTesting,C=p===void 0?0:p,k=a.x,W=k===void 0?0:k,j=a.y,K=j===void 0?0:j,Q=a.width,ee=a.height,re=a.pointerEvents,ve=re===void 0?"auto":re,he=Yo(ve,o,l),pe=(0,m.Z)(he,2),_e=pe[0],Ee=pe[1],De=s&&s.some(function(qe){return qe!==0}),Be=h+C;if(De){var Xe=!1;return(Ee||t)&&(Xe=CD(W,K,Q,ee,s.map(function(qe){return Yr(qe,0,Math.min(Math.abs(Q)/2,Math.abs(ee)/2))}),Be,e.x,e.y)),!Xe&&(_e||t)&&(Xe=n(r,e)),Xe}else{var Fe=Be/2;if(_e&&Ee||t)return cl(W-Fe,K-Fe,Q+Fe,ee+Fe,e.x,e.y);if(_e)return cl(W,K,Q,ee,e.x,e.y);if(Ee)return _D(W,K,Q,ee,Be,e.x,e.y)}return!1}function CD(r,e,t,n,i,a,s,o){var l=(0,m.Z)(i,4),c=l[0],h=l[1],p=l[2],C=l[3];return Eo(r+c,e,r+t-h,e,a,s,o)||Eo(r+t,e+h,r+t,e+n-p,a,s,o)||Eo(r+t-p,e+n,r+C,e+n,a,s,o)||Eo(r,e+n-C,r,e+c,a,s,o)||tf(r+t-h,e+h,h,1.5*Math.PI,2*Math.PI,a,s,o)||tf(r+t-p,e+n-p,p,0,.5*Math.PI,a,s,o)||tf(r+C,e+n-C,C,.5*Math.PI,Math.PI,a,s,o)||tf(r+c,e+c,c,Math.PI,1.5*Math.PI,a,s,o)}function OD(r,e,t,n,i,a){var s=r.parsedStyle,o=s.pointerEvents,l=o===void 0?"auto":o,c=s.x,h=c===void 0?0:c,p=s.y,C=p===void 0?0:p,k=s.width,W=s.height;if(l==="non-transparent-pixel"){var j=i.config.offscreenCanvas,K=a.offscreenCanvasCreator.getOrCreateCanvas(j),Q=a.offscreenCanvasCreator.getOrCreateContext(j,{willReadFrequently:!0});K.width=k,K.height=W,i.defaultStyleRendererFactory[Rt.IMAGE].render(Q,(0,H.Z)((0,H.Z)({},r.parsedStyle),{},{x:0,y:0}),r,void 0,void 0,void 0);var ee=Q.getImageData(e.x-h,e.y-C,1,1).data;return ee.every(function(re){return re!==0})}return!0}function PD(r,e,t,n){var i=r.getGeometryBounds();return e.x>=i.min[0]&&e.y>=i.min[1]&&e.x<=i.max[0]&&e.y<=i.max[1]}var DD=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.name="canvas-picker",t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"init",value:function(){var n,i=(n={},(0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)(n,Rt.CIRCLE,mD),Rt.ELLIPSE,yD),Rt.RECT,AD),Rt.LINE,bD),Rt.POLYLINE,TD),Rt.POLYGON,SD),Rt.PATH,MD),Rt.TEXT,PD),Rt.GROUP,null),Rt.IMAGE,OD),(0,mn.Z)((0,mn.Z)(n,Rt.HTML,null),Rt.MESH,null));this.context.pointInPathPickerFactory=i,this.addRenderingPlugin(new o_)}},{key:"destroy",value:function(){delete this.context.pointInPathPickerFactory,this.removeAllRenderingPlugins()}}])}(oo);function Rs(r,e){if(!{}.hasOwnProperty.call(r,e))throw new TypeError("attempted to use private field on non-instance");return r}var LD=0;function RD(r){return"__private_"+LD+++"_"+r}var ID=function(){function r(){(0,b.Z)(this,r),this.cacheStore=new Map}return(0,z.Z)(r,[{key:"onRefAdded",value:function(t){}},{key:"has",value:function(t){return this.cacheStore.has(t)}},{key:"put",value:function(t,n,i){return this.cacheStore.has(t)?!1:(this.cacheStore.set(t,{value:n,counter:new Set([i])}),this.onRefAdded(i),!0)}},{key:"get",value:function(t,n){var i=this.cacheStore.get(t);return i?(i.counter.has(n)||(i.counter.add(n),this.onRefAdded(n)),i.value):null}},{key:"update",value:function(t,n,i){var a=this.cacheStore.get(t);return a?(a.value=(0,H.Z)((0,H.Z)({},a.value),n),a.counter.has(i)||(a.counter.add(i),this.onRefAdded(i)),!0):!1}},{key:"release",value:function(t,n){var i=this.cacheStore.get(t);return i?(i.counter.delete(n),i.counter.size<=0&&this.cacheStore.delete(t),!0):!1}},{key:"releaseRef",value:function(t){var n=this;Array.from(this.cacheStore.keys()).forEach(function(i){n.release(i,t)})}},{key:"getSize",value:function(){return this.cacheStore.size}},{key:"clear",value:function(){this.cacheStore.clear()}}])}(),Ig=[],Ng=[],Bg=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,null,[{key:"stop",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r.api;r.rafId&&(t.cancelAnimationFrame(r.rafId),r.rafId=null)}},{key:"executeTask",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r.api;Ig.length<=0&&Ng.length<=0||(Ng.forEach(function(n){return n()}),Ng=Ig.splice(0,r.TASK_NUM_PER_FRAME),r.rafId=t.requestAnimationFrame(function(){r.executeTask(t)}))}},{key:"sliceImage",value:function(t,n,i,a){for(var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:r.api,l=t.naturalWidth||t.width,c=t.naturalHeight||t.height,h=n-s,p=i-s,C=Math.ceil(l/h),k=Math.ceil(c/p),W={tileSize:[n,i],gridSize:[k,C],tiles:Array(k).fill(null).map(function(){return Array(C).fill(null)})},j=function(ee){for(var re=function(pe){Ig.push(function(){var _e=pe*h,Ee=ee*p,De=[Math.min(n,l-_e),Math.min(i,c-Ee)],Be=De[0],Fe=De[1],Xe=o.createCanvas();Xe.width=n,Xe.height=i;var qe=Xe.getContext("2d");qe.drawImage(t,_e,Ee,Be,Fe,0,0,Be,Fe),W.tiles[ee][pe]={x:_e,y:Ee,tileX:pe,tileY:ee,data:Xe},a()})},ve=0;ve<C;ve++)re(ve)},K=0;K<k;K++)j(K);return r.stop(),r.executeTask(),W}}])}();Bg.TASK_NUM_PER_FRAME=10;var Da=new ID;Da.onRefAdded=function(e){var t=this;e.addEventListener(tr.DESTROY,function(){t.releaseRef(e)},{once:!0})};var kg=function(){function r(e,t){(0,b.Z)(this,r),this.gradientCache={},this.patternCache={},this.context=e,this.runtime=t}return(0,z.Z)(r,[{key:"getImageSync",value:function(t,n,i){var a=dr(t)?t:t.src;if(Da.has(a)){var s=Da.get(a,n);if(s.img.complete)return i==null||i(s),s}return this.getOrCreateImage(t,n).then(function(o){i==null||i(o)}).catch(function(o){console.error(o)}),null}},{key:"getOrCreateImage",value:function(t,n){var i=this,a=dr(t)?t:t.src;if(!dr(t)&&!Da.has(a)){var s={img:t,size:[t.naturalWidth||t.width,t.naturalHeight||t.height],tileSize:nf(t)};Da.put(a,s,n)}if(Da.has(a)){var o=Da.get(a,n);return o.img.complete?Promise.resolve(o):new Promise(function(l,c){o.img.addEventListener("load",function(){o.size=[o.img.naturalWidth||o.img.width,o.img.naturalHeight||o.img.height],o.tileSize=nf(o.img),l(o)}),o.img.addEventListener("error",function(h){c(h)})})}return new Promise(function(l,c){var h=i.context.config.createImage();if(h){var p={img:h,size:[0,0],tileSize:nf(h)};Da.put(a,p,n),h.onload=function(){p.size=[h.naturalWidth||h.width,h.naturalHeight||h.height],p.tileSize=nf(p.img),l(p)},h.onerror=function(C){c(C)},h.crossOrigin="Anonymous",h.src=a}})}},{key:"createDownSampledImage",value:function(){var e=(0,so.Z)((0,Ki.Z)().mark(function n(i,a){var s,o,l,c,h,p,C,k,W,j,K,Q,ee,re;return(0,Ki.Z)().wrap(function(he){for(;;)switch(he.prev=he.next){case 0:return he.next=2,this.getOrCreateImage(i,a);case 2:if(s=he.sent,typeof s.downSamplingRate=="undefined"){he.next=5;break}return he.abrupt("return",s);case 5:if(o=this.context.config.enableLargeImageOptimization,l=typeof o=="boolean"?{}:o,c=l.maxDownSampledImageSize,h=c===void 0?2048:c,p=l.downSamplingRateThreshold,C=p===void 0?.5:p,k=this.runtime.globalThis.createImageBitmap,W=(0,m.Z)(s.size,2),j=W[0],K=W[1],Q=s.img,ee=Math.min((h+h)/(j+K),Math.max(.01,Math.min(C,.5))),re=(0,H.Z)((0,H.Z)({},s),{},{downSamplingRate:ee}),Da.update(s.img.src,re,a),!k){he.next=25;break}return he.prev=14,he.next=17,k(s.img,{resizeWidth:j*ee,resizeHeight:K*ee});case 17:Q=he.sent,he.next=23;break;case 20:he.prev=20,he.t0=he.catch(14),ee=1;case 23:he.next=26;break;case 25:ee=1;case 26:return re=(0,H.Z)((0,H.Z)({},this.getImageSync(i,a)),{},{downSampled:Q,downSamplingRate:ee}),Da.update(s.img.src,re,a),he.abrupt("return",re);case 29:case"end":return he.stop()}},n,this,[[14,20]])}));function t(n,i){return e.apply(this,arguments)}return t}()},{key:"createImageTiles",value:function(){var e=(0,so.Z)((0,Ki.Z)().mark(function n(i,a,s,o){var l,c,h,p,C;return(0,Ki.Z)().wrap(function(W){for(;;)switch(W.prev=W.next){case 0:return W.next=2,this.getOrCreateImage(i,o);case 2:return l=W.sent,c=o.ownerDocument.defaultView,h=c.requestAnimationFrame,p=c.cancelAnimationFrame,Bg.api={requestAnimationFrame:h,cancelAnimationFrame:p,createCanvas:function(){return Uv.createCanvas()}},C=(0,H.Z)((0,H.Z)({},l),Bg.sliceImage(l.img,l.tileSize[0],l.tileSize[0],s)),Da.update(l.img.src,C,o),W.abrupt("return",C);case 8:case"end":return W.stop()}},n,this)}));function t(n,i,a,s){return e.apply(this,arguments)}return t}()},{key:"releaseImage",value:function(t,n){Da.release(dr(t)?t:t.src,n)}},{key:"releaseImageRef",value:function(t){Da.releaseRef(t)}},{key:"getOrCreatePatternSync",value:function(t,n,i,a,s,o,l){var c=this.generatePatternKey(n);if(c&&this.patternCache[c])return this.patternCache[c];var h=n.image,p=n.repetition,C=n.transform,k,W=!1;if(dr(h)){var j=this.getImageSync(h,t,l);k=j==null?void 0:j.img}else a?(k=a,W=!0):k=h;var K=k&&i.createPattern(k,p);if(K){var Q;C?Q=sy(Vm(C),new Fr({})):Q=kt(ut()),W&&Lt(Q,Q,[1/s,1/s,1]),K.setTransform({a:Q[0],b:Q[1],c:Q[4],d:Q[5],e:Q[12]+o[0],f:Q[13]+o[1]})}return c&&K&&(this.patternCache[c]=K),K}},{key:"getOrCreateGradient",value:function(t,n){var i=this.generateGradientKey(t),a=t.type,s=t.steps,o=t.min,l=t.width,c=t.height,h=t.angle,p=t.cx,C=t.cy,k=t.size;if(this.gradientCache[i])return this.gradientCache[i];var W=null;if(a===lo.LinearGradient){var j=PM(o,l,c,h),K=j.x1,Q=j.y1,ee=j.x2,re=j.y2;W=n.createLinearGradient(K,Q,ee,re)}else if(a===lo.RadialGradient){var ve=DM(o,l,c,p,C,k),he=ve.x,pe=ve.y,_e=ve.r;W=n.createRadialGradient(he,pe,0,he,pe,_e)}return W&&(s.forEach(function(Ee){var De=Ee.offset,Be=Ee.color;if(De.unit===nn.kPercentage){var Fe;(Fe=W)===null||Fe===void 0||Fe.addColorStop(De.value/100,Be.toString())}}),this.gradientCache[i]=W),this.gradientCache[i]}},{key:"generateGradientKey",value:function(t){var n=t.type,i=t.min,a=t.width,s=t.height,o=t.steps,l=t.angle,c=t.cx,h=t.cy,p=t.size;return"gradient-".concat(n,"-").concat((l==null?void 0:l.toString())||0,"-").concat((c==null?void 0:c.toString())||0,"-").concat((h==null?void 0:h.toString())||0,"-").concat((p==null?void 0:p.toString())||0,"-").concat(i[0],"-").concat(i[1],"-").concat(a,"-").concat(s,"-").concat(o.map(function(C){var k=C.offset,W=C.color;return"".concat(k).concat(W)}).join("-"))}},{key:"generatePatternKey",value:function(t){var n=t.image,i=t.repetition;if(dr(n))return"pattern-".concat(n,"-").concat(i);if(n.nodeName==="rect")return"pattern-".concat(n.entity,"-").concat(i)}}])}();kg.isSupportTile=!!Uv.createCanvas();function nf(r){if(!r.complete)return[0,0];var e=r.naturalWidth||r.width,t=r.naturalHeight||r.height,n=256;return[256,512].forEach(function(i){var a=Math.ceil(t/i),s=Math.ceil(e/i);a*s<1e3&&(n=i)}),[n,n]}var h_=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"apply",value:function(t){var n=t.renderingService,i=t.renderingContext,a=t.imagePool,s=i.root.ownerDocument.defaultView,o=function(p,C,k){var W=p.parsedStyle,j=W.width,K=W.height;j&&!K?p.setAttribute("height",k/C*j):!j&&K&&p.setAttribute("width",C/k*K)},l=function(p){var C=p.target,k=C.nodeName,W=C.attributes;if(k===Rt.IMAGE){var j=W.src,K=W.keepAspectRatio;a.getImageSync(j,C,function(Q){var ee=Q.img,re=ee.width,ve=ee.height;K&&o(C,re,ve),C.renderable.dirty=!0,n.dirtify()})}},c=function(p){var C=p.target,k=p.attrName,W=p.prevValue,j=p.newValue;C.nodeName!==Rt.IMAGE||k!=="src"||(W!==j&&a.releaseImage(W,C),dr(j)&&a.getOrCreateImage(j,C).then(function(K){var Q=K.img,ee=Q.width,re=Q.height;C.attributes.keepAspectRatio&&o(C,ee,re),C.renderable.dirty=!0,n.dirtify()}).catch(function(){}))};n.hooks.init.tap(r.tag,function(){s.addEventListener(tr.MOUNTED,l),s.addEventListener(tr.ATTR_MODIFIED,c)}),n.hooks.destroy.tap(r.tag,function(){s.removeEventListener(tr.MOUNTED,l),s.removeEventListener(tr.ATTR_MODIFIED,c)})}}])}();h_.tag="LoadImage";var ND=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.name="image-loader",t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"init",value:function(n){this.context.imagePool=new kg(this.context,n),this.addRenderingPlugin(new h_)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(oo);var li=RD("renderState"),f_=function(){function r(e){(0,b.Z)(this,r),this.removedRBushNodeAABBs=[],this.renderQueue=[],Object.defineProperty(this,li,{writable:!0,value:{restoreStack:[],prevObject:null,currentContext:new Map}}),this.clearFullScreenLastFrame=!1,this.clearFullScreen=!1,this.vpMatrix=ut(),this.dprMatrix=ut(),this.tmpMat4=ut(),this.vec3a=f(),this.vec3b=f(),this.vec3c=f(),this.vec3d=f(),this.canvasRendererPluginOptions=e}return(0,z.Z)(r,[{key:"apply",value:function(t,n){var i=this;this.context=t;var a=this.context,s=a.config,o=a.camera,l=a.renderingService,c=a.renderingContext,h=a.rBushRoot,p=a.pathGeneratorFactory,C=s.renderer.getConfig().enableRenderingOptimization;s.renderer.getConfig().enableDirtyCheck=!1,s.renderer.getConfig().enableDirtyRectangleRendering=!1,this.rBush=h,this.pathGeneratorFactory=p;var k=t.contextService,W=c.root.ownerDocument.defaultView,j=function(re){var ve=re.target,he=ve.rBushNode;he.aabb&&i.removedRBushNodeAABBs.push(he.aabb)},K=function(re){var ve=re.target,he=ve.rBushNode;he.aabb&&i.removedRBushNodeAABBs.push(he.aabb)};l.hooks.init.tap(r.tag,function(){W.addEventListener(tr.UNMOUNTED,j),W.addEventListener(tr.CULLED,K);var ee=k.getDPR(),re=s.width,ve=s.height,he=k.getContext();i.clearRect(he,0,0,re*ee,ve*ee,s.background)}),l.hooks.destroy.tap(r.tag,function(){W.removeEventListener(tr.UNMOUNTED,j),W.removeEventListener(tr.CULLED,K),i.renderQueue=[],i.removedRBushNodeAABBs=[],Rs(i,li)[li]={restoreStack:[],prevObject:null,currentContext:null}}),l.hooks.beginFrame.tap(r.tag,function(){var ee,re=k.getContext(),ve=k.getDPR(),he=s.width,pe=s.height,_e=i.canvasRendererPluginOptions,Ee=_e.dirtyObjectNumThreshold,De=_e.dirtyObjectRatioThreshold,Be=l.getStats(),Fe=Be.total,Xe=Be.rendered,qe=Xe/Fe;i.clearFullScreen=i.clearFullScreenLastFrame||!((ee=W.context.renderingPlugins[1])!==null&&ee!==void 0&&ee.isFirstTimeRenderingFinished)||l.disableDirtyRectangleRendering()||Xe>Ee&&qe>De,re&&(typeof re.resetTransform=="function"?re.resetTransform():re.setTransform(1,0,0,1,0,0),i.clearFullScreen&&i.clearRect(re,0,0,he*ve,pe*ve,s.background))});var Q=function(re,ve){for(var he=[re];he.length>0;){var pe=he.pop();pe.isVisible()&&!pe.isCulled()&&(C?i.renderDisplayObjectOptimized(pe,ve,i.context,Rs(i,li)[li],n):i.renderDisplayObject(pe,ve,i.context,Rs(i,li)[li],n));for(var _e=pe.sortable.sorted||pe.childNodes,Ee=_e.length-1;Ee>=0;Ee--)he.push(_e[Ee])}};l.hooks.endFrame.tap(r.tag,function(){if(c.root.childNodes.length===0){i.clearFullScreenLastFrame=!0;return}C=s.renderer.getConfig().enableRenderingOptimization,Rs(i,li)[li]={restoreStack:[],prevObject:null,currentContext:Rs(i,li)[li].currentContext},Rs(i,li)[li].currentContext.clear(),i.clearFullScreenLastFrame=!1;var ee=k.getContext(),re=k.getDPR();if(_n(i.dprMatrix,[re,re,1]),lt(i.vpMatrix,i.dprMatrix,o.getOrthoMatrix()),i.clearFullScreen)C?(ee.save(),Q(c.root,ee),ee.restore()):Q(c.root,ee),i.removedRBushNodeAABBs=[];else{var ve=i.safeMergeAABB.apply(i,[i.mergeDirtyAABBs(i.renderQueue)].concat((0,P.Z)(i.removedRBushNodeAABBs.map(function(sn){var Sn=sn.minX,zn=sn.minY,Vn=sn.maxX,ir=sn.maxY,hr=new Nr;return hr.setMinMax([Sn,zn,0],[Vn,ir,0]),hr}))));if(i.removedRBushNodeAABBs=[],Nr.isEmpty(ve)){i.renderQueue=[];return}var he=i.convertAABB2Rect(ve),pe=he.x,_e=he.y,Ee=he.width,De=he.height,Be=Ke(i.vec3a,[pe,_e,0],i.vpMatrix),Fe=Ke(i.vec3b,[pe+Ee,_e,0],i.vpMatrix),Xe=Ke(i.vec3c,[pe,_e+De,0],i.vpMatrix),qe=Ke(i.vec3d,[pe+Ee,_e+De,0],i.vpMatrix),ct=Math.min(Be[0],Fe[0],qe[0],Xe[0]),ht=Math.min(Be[1],Fe[1],qe[1],Xe[1]),St=Math.max(Be[0],Fe[0],qe[0],Xe[0]),bt=Math.max(Be[1],Fe[1],qe[1],Xe[1]),Et=Math.floor(ct),xt=Math.floor(ht),Dt=Math.ceil(St-ct),Ut=Math.ceil(bt-ht);ee.save(),i.clearRect(ee,Et,xt,Dt,Ut,s.background),ee.beginPath(),ee.rect(Et,xt,Dt,Ut),ee.clip(),ee.setTransform(i.vpMatrix[0],i.vpMatrix[1],i.vpMatrix[4],i.vpMatrix[5],i.vpMatrix[12],i.vpMatrix[13]);var Xt=s.renderer.getConfig(),an=Xt.enableDirtyRectangleRenderingDebug;an&&W.dispatchEvent(new vi(Aa.DIRTY_RECTANGLE,{dirtyRect:{x:Et,y:xt,width:Dt,height:Ut}}));var gn=i.searchDirtyObjects(ve);gn.sort(function(sn,Sn){return sn.sortable.renderOrder-Sn.sortable.renderOrder}).forEach(function(sn){sn&&sn.isVisible()&&!sn.isCulled()&&i.renderDisplayObject(sn,ee,i.context,Rs(i,li)[li],n)}),ee.restore(),i.renderQueue.forEach(function(sn){i.saveDirtyAABB(sn)}),i.renderQueue=[]}Rs(i,li)[li].restoreStack.forEach(function(){ee.restore()}),Rs(i,li)[li].restoreStack=[]}),l.hooks.render.tap(r.tag,function(ee){i.clearFullScreen||i.renderQueue.push(ee)})}},{key:"clearRect",value:function(t,n,i,a,s,o){t.clearRect(n,i,a,s),o&&(t.fillStyle=o,t.fillRect(n,i,a,s))}},{key:"renderDisplayObjectOptimized",value:function(t,n,i,a,s){var o=t.nodeName,l=!1,c=!1,h=this.context.styleRendererFactory[o],p=this.pathGeneratorFactory[o],C=t.parsedStyle.clipPath;if(C){l=!a.prevObject||!Wn(C.getWorldTransform(),a.prevObject.getWorldTransform()),l&&(this.applyWorldTransform(n,C),a.prevObject=null);var k=this.pathGeneratorFactory[C.nodeName];k&&(n.save(),c=!0,n.beginPath(),k(n,C.parsedStyle),n.closePath(),n.clip())}if(h){l=!a.prevObject||!Wn(t.getWorldTransform(),a.prevObject.getWorldTransform()),l&&this.applyWorldTransform(n,t);var W=!a.prevObject;if(!W){var j=a.prevObject.nodeName;o===Rt.TEXT?W=j!==Rt.TEXT:o===Rt.IMAGE?W=j!==Rt.IMAGE:W=j===Rt.TEXT||j===Rt.IMAGE}h.applyStyleToContext(n,t,W,a),a.prevObject=t}p&&(n.beginPath(),p(n,t.parsedStyle),o!==Rt.LINE&&o!==Rt.PATH&&o!==Rt.POLYLINE&&n.closePath()),h&&h.drawToContext(n,t,Rs(this,li)[li],this,s),c&&n.restore(),t.renderable.dirty=!1}},{key:"renderDisplayObject",value:function(t,n,i,a,s){var o=t.nodeName,l=a.restoreStack[a.restoreStack.length-1];l&&!(t.compareDocumentPosition(l)&Kr.DOCUMENT_POSITION_CONTAINS)&&(n.restore(),a.restoreStack.pop());var c=this.context.styleRendererFactory[o],h=this.pathGeneratorFactory[o],p=t.parsedStyle.clipPath;if(p){this.applyWorldTransform(n,p);var C=this.pathGeneratorFactory[p.nodeName];C&&(n.save(),a.restoreStack.push(t),n.beginPath(),C(n,p.parsedStyle),n.closePath(),n.clip())}c&&(this.applyWorldTransform(n,t),n.save(),this.applyAttributesToContext(n,t)),h&&(n.beginPath(),h(n,t.parsedStyle),o!==Rt.LINE&&o!==Rt.PATH&&o!==Rt.POLYLINE&&n.closePath()),c&&(c.render(n,t.parsedStyle,t,i,this,s),n.restore()),t.renderable.dirty=!1}},{key:"applyAttributesToContext",value:function(t,n){var i=n.parsedStyle,a=i.stroke,s=i.fill,o=i.opacity,l=i.lineDash,c=i.lineDashOffset;l&&t.setLineDash(l),Rn(c)||(t.lineDashOffset=c),Rn(o)||(t.globalAlpha*=o),!Rn(a)&&!Array.isArray(a)&&!a.isNone&&(t.strokeStyle=n.attributes.stroke),!Rn(s)&&!Array.isArray(s)&&!s.isNone&&(t.fillStyle=n.attributes.fill)}},{key:"convertAABB2Rect",value:function(t){var n=t.getMin(),i=t.getMax(),a=Math.floor(n[0]),s=Math.floor(n[1]),o=Math.ceil(i[0]),l=Math.ceil(i[1]),c=o-a,h=l-s;return{x:a,y:s,width:c,height:h}}},{key:"mergeDirtyAABBs",value:function(t){var n=new Nr;return t.forEach(function(i){var a=i.getRenderBounds();n.add(a);var s=i.renderable.dirtyRenderBounds;s&&n.add(s)}),n}},{key:"searchDirtyObjects",value:function(t){var n=t.getMin(),i=(0,m.Z)(n,2),a=i[0],s=i[1],o=t.getMax(),l=(0,m.Z)(o,2),c=l[0],h=l[1],p=this.rBush.search({minX:a,minY:s,maxX:c,maxY:h});return p.map(function(C){var k=C.displayObject;return k})}},{key:"saveDirtyAABB",value:function(t){var n=t.renderable;n.dirtyRenderBounds||(n.dirtyRenderBounds=new Nr);var i=t.getRenderBounds();i&&n.dirtyRenderBounds.update(i.center,i.halfExtents)}},{key:"applyWorldTransform",value:function(t,n,i){i?(at(this.tmpMat4,n.getLocalTransform()),lt(this.tmpMat4,i,this.tmpMat4),lt(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(at(this.tmpMat4,n.getWorldTransform()),lt(this.tmpMat4,this.vpMatrix,this.tmpMat4)),t.setTransform(this.tmpMat4[0],this.tmpMat4[1],this.tmpMat4[4],this.tmpMat4[5],this.tmpMat4[12],this.tmpMat4[13])}},{key:"safeMergeAABB",value:function(){for(var t=new Nr,n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return i.forEach(function(s){t.add(s)}),t}}])}();f_.tag="CanvasRenderer";function rf(r,e,t,n,i,a,s){var o,l;if(r.image.nodeName==="rect"){var c=r.image.parsedStyle,h=c.width,p=c.height;l=n.contextService.getDPR();var C=n.config.offscreenCanvas;o=a.offscreenCanvasCreator.getOrCreateCanvas(C),o.width=h*l,o.height=p*l;var k=a.offscreenCanvasCreator.getOrCreateContext(C),W={restoreStack:[],prevObject:null,currentContext:new Map};r.image.forEach(function(K){i.renderDisplayObject(K,k,n,W,a)}),W.restoreStack.forEach(function(){k.restore()})}var j=s.getOrCreatePatternSync(e,r,t,o,l,e.getGeometryBounds().min,function(){e.renderable.dirty=!0,n.renderingService.dirtify()});return j}function af(r,e,t,n){var i;if(r.type===lo.LinearGradient||r.type===lo.RadialGradient){var a=e.getGeometryBounds(),s=a&&a.halfExtents[0]*2||1,o=a&&a.halfExtents[1]*2||1,l=a&&a.min||[0,0];i=n.getOrCreateGradient((0,H.Z)((0,H.Z)({type:r.type},r.value),{},{min:l,width:s,height:o}),t)}return i}var sf=["shadowBlur","shadowOffsetX","shadowOffsetY"],d_=["lineCap","lineJoin","miterLimit"],pi={globalAlpha:1,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",filter:"none",globalCompositeOperation:"source-over",strokeStyle:"#000",strokeOpacity:1,lineWidth:1,lineDash:[],lineDashOffset:0,lineCap:"butt",lineJoin:"miter",miterLimit:10,fillStyle:"#000",fillOpacity:1},v_={};function Jr(r,e,t,n){var i=n.has(e)?n.get(e):pi[e];return i!==t&&(e==="lineDash"?r.setLineDash(t):r[e]=t,n.set(e,t)),i}var BD=function(){function r(e){(0,b.Z)(this,r),this.imagePool=e}return(0,z.Z)(r,[{key:"applyAttributesToContext",value:function(t,n){}},{key:"render",value:function(t,n,i,a,s,o){}},{key:"applyCommonStyleToContext",value:function(t,n,i,a){var s=i?v_:a.prevObject.parsedStyle,o=n.parsedStyle;(i||o.opacity!==s.opacity)&&Jr(t,"globalAlpha",Rn(o.opacity)?pi.globalAlpha:o.opacity,a.currentContext),(i||o.blend!==s.blend)&&Jr(t,"globalCompositeOperation",Rn(o.blend)?pi.globalCompositeOperation:o.blend,a.currentContext)}},{key:"applyStrokeFillStyleToContext",value:function(t,n,i,a){var s=i?v_:a.prevObject.parsedStyle,o=n.parsedStyle,l=o.lineWidth,c=l===void 0?pi.lineWidth:l,h=o.fill&&!o.fill.isNone,p=o.stroke&&!o.stroke.isNone&&c>0;if(p){if(i||n.attributes.stroke!==a.prevObject.attributes.stroke){var C=!Rn(o.stroke)&&!Array.isArray(o.stroke)&&!o.stroke.isNone?n.attributes.stroke:pi.strokeStyle;Jr(t,"strokeStyle",C,a.currentContext)}(i||o.lineWidth!==s.lineWidth)&&Jr(t,"lineWidth",Rn(o.lineWidth)?pi.lineWidth:o.lineWidth,a.currentContext),(i||o.lineDash!==s.lineDash)&&Jr(t,"lineDash",o.lineDash||pi.lineDash,a.currentContext),(i||o.lineDashOffset!==s.lineDashOffset)&&Jr(t,"lineDashOffset",Rn(o.lineDashOffset)?pi.lineDashOffset:o.lineDashOffset,a.currentContext);for(var k=0;k<d_.length;k++){var W=d_[k];(i||o[W]!==s[W])&&Jr(t,W,Rn(o[W])?pi[W]:o[W],a.currentContext)}}if(h&&(i||n.attributes.fill!==a.prevObject.attributes.fill)){var j=!Rn(o.fill)&&!Array.isArray(o.fill)&&!o.fill.isNone?n.attributes.fill:pi.fillStyle;Jr(t,"fillStyle",j,a.currentContext)}}},{key:"applyStyleToContext",value:function(t,n,i,a){var s=n.nodeName;this.applyCommonStyleToContext(t,n,i,a),s===Rt.IMAGE||this.applyStrokeFillStyleToContext(t,n,i,a)}},{key:"applyShadowAndFilterStyleToContext",value:function(t,n,i,a){var s=n.parsedStyle;if(i){Jr(t,"shadowColor",s.shadowColor.toString(),a.currentContext);for(var o=0;o<sf.length;o++){var l=sf[o];Jr(t,l,s[l]||pi[l],a.currentContext)}}s.filter&&s.filter.length&&Jr(t,"filter",n.attributes.filter,a.currentContext)}},{key:"clearShadowAndFilterStyleForContext",value:function(t,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(n){Jr(t,"shadowColor",pi.shadowColor,a.currentContext);for(var o=0;o<sf.length;o++){var l=sf[o];Jr(t,l,pi[l],a.currentContext)}}if(i)if(n&&s){var c=t.filter;!Rn(c)&&c.indexOf("drop-shadow")>-1&&Jr(t,"filter",c.replace(/drop-shadow\([^)]*\)/,"").trim()||pi.filter,a.currentContext)}else Jr(t,"filter",pi.filter,a.currentContext)}},{key:"fillToContext",value:function(t,n,i,a,s){var o=this,l=n.parsedStyle,c=l.fill,h=l.fillRule,p=null;if(Array.isArray(c)&&c.length>0)c.forEach(function(k){var W=Jr(t,"fillStyle",af(k,n,t,o.imagePool),i.currentContext);p=p!=null?p:W,h?t.fill(h):t.fill()});else{if(Ko(c)){var C=rf(c,n,t,n.ownerDocument.defaultView.context,a,s,this.imagePool);C&&(t.fillStyle=C,p=!0)}h?t.fill(h):t.fill()}p!==null&&Jr(t,"fillStyle",p,i.currentContext)}},{key:"strokeToContext",value:function(t,n,i,a,s){var o=this,l=n.parsedStyle.stroke,c=null;if(Array.isArray(l)&&l.length>0)l.forEach(function(C){var k=Jr(t,"strokeStyle",af(C,n,t,o.imagePool),i.currentContext);c=c!=null?c:k,t.stroke()});else{if(Ko(l)){var h=rf(l,n,t,n.ownerDocument.defaultView.context,a,s,this.imagePool);if(h){var p=Jr(t,"strokeStyle",h,i.currentContext);c=c!=null?c:p}}t.stroke()}c!==null&&Jr(t,"strokeStyle",c,i.currentContext)}},{key:"drawToContext",value:function(t,n,i,a,s){var o,l=n.nodeName,c=n.parsedStyle,h=c.opacity,p=h===void 0?pi.globalAlpha:h,C=c.fillOpacity,k=C===void 0?pi.fillOpacity:C,W=c.strokeOpacity,j=W===void 0?pi.strokeOpacity:W,K=c.lineWidth,Q=K===void 0?pi.lineWidth:K,ee=c.fill&&!c.fill.isNone,re=c.stroke&&!c.stroke.isNone&&Q>0;if(!(!ee&&!re)){var ve=!Rn(c.shadowColor)&&c.shadowBlur>0,he=c.shadowType==="inner",pe=((o=c.fill)===null||o===void 0?void 0:o.alpha)===0,_e=!!(c.filter&&c.filter.length),Ee=ve&&re&&(l===Rt.PATH||l===Rt.LINE||l===Rt.POLYLINE||pe||he),De=null;if(ee){Ee||this.applyShadowAndFilterStyleToContext(t,n,ve,i);var Be=p*k;De=Jr(t,"globalAlpha",Be,i.currentContext),this.fillToContext(t,n,i,a,s),Ee||this.clearShadowAndFilterStyleForContext(t,ve,_e,i)}if(re){var Fe=!1,Xe=p*j,qe=Jr(t,"globalAlpha",Xe,i.currentContext);if(De=ee?De:qe,Ee&&(this.applyShadowAndFilterStyleToContext(t,n,ve,i),Fe=!0,he)){var ct=t.globalCompositeOperation;t.globalCompositeOperation="source-atop",this.strokeToContext(t,n,i,a,s),t.globalCompositeOperation=ct,this.clearShadowAndFilterStyleForContext(t,ve,_e,i,!0)}this.strokeToContext(t,n,i,a,s),Fe&&this.clearShadowAndFilterStyleForContext(t,ve,_e,i)}De!==null&&Jr(t,"globalAlpha",De,i.currentContext)}}}])}(),zg=function(r){function e(){return(0,b.Z)(this,e),_(this,e,arguments)}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"render",value:function(n,i,a,s,o,l){var c=i.fill,h=i.fillRule,p=i.opacity,C=p===void 0?1:p,k=i.fillOpacity,W=k===void 0?1:k,j=i.stroke,K=i.strokeOpacity,Q=K===void 0?1:K,ee=i.lineWidth,re=ee===void 0?1:ee,ve=i.lineCap,he=i.lineJoin,pe=i.shadowType,_e=i.shadowColor,Ee=i.shadowBlur,De=i.filter,Be=i.miterLimit,Fe=c&&!c.isNone,Xe=j&&!j.isNone&&re>0,qe=(c==null?void 0:c.alpha)===0,ct=!!(De&&De.length),ht=!Rn(_e)&&Ee>0,St=a.nodeName,bt=pe==="inner",Et=Xe&&ht&&(St===Rt.PATH||St===Rt.LINE||St===Rt.POLYLINE||qe||bt);Fe&&(n.globalAlpha=C*W,Et||of(a,n,ht),g_(n,a,c,h,s,o,l,this.imagePool),Et||this.clearShadowAndFilter(n,ct,ht)),Xe&&(n.globalAlpha=C*Q,n.lineWidth=re,Rn(Be)||(n.miterLimit=Be),Rn(ve)||(n.lineCap=ve),Rn(he)||(n.lineJoin=he),Et&&(bt&&(n.globalCompositeOperation="source-atop"),of(a,n,!0),bt&&(Fg(n,a,j,s,o,l,this.imagePool),n.globalCompositeOperation=pi.globalCompositeOperation,this.clearShadowAndFilter(n,ct,!0))),Fg(n,a,j,s,o,l,this.imagePool))}},{key:"clearShadowAndFilter",value:function(n,i,a){if(a&&(n.shadowColor="transparent",n.shadowBlur=0),i){var s=n.filter;!Rn(s)&&s.indexOf("drop-shadow")>-1&&(n.filter=s.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(BD);function of(r,e,t){var n=r.parsedStyle,i=n.filter,a=n.shadowColor,s=n.shadowBlur,o=n.shadowOffsetX,l=n.shadowOffsetY;i&&i.length&&(e.filter=r.style.filter),t&&(e.shadowColor=a.toString(),e.shadowBlur=s||0,e.shadowOffsetX=o||0,e.shadowOffsetY=l||0)}function g_(r,e,t,n,i,a,s,o){var l=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(t)?t.forEach(function(c){r.fillStyle=af(c,e,r,o),l||(n?r.fill(n):r.fill())}):(Ko(t)&&(r.fillStyle=rf(t,e,r,i,a,s,o)),l||(n?r.fill(n):r.fill()))}function Fg(r,e,t,n,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(t)?t.forEach(function(l){r.strokeStyle=af(l,e,r,s),o||r.stroke()}):(Ko(t)&&(r.strokeStyle=rf(t,e,r,n,i,a,s)),o||r.stroke())}function kD(r,e){var t=(0,m.Z)(r,4),n=t[0],i=t[1],a=t[2],s=t[3],o=(0,m.Z)(e,4),l=o[0],c=o[1],h=o[2],p=o[3],C=Math.max(n,l),k=Math.max(i,c),W=Math.min(n+a,l+h),j=Math.min(i+s,c+p);return W<=C||j<=k?null:[C,k,W-C,j-k]}function zD(r,e){var t=Ke(f(),[r[0],r[1],0],e),n=Ke(f(),[r[0]+r[2],r[1],0],e),i=Ke(f(),[r[0],r[1]+r[3],0],e),a=Ke(f(),[r[0]+r[2],r[1]+r[3],0],e);return[Math.min(t[0],n[0],i[0],a[0]),Math.min(t[1],n[1],i[1],a[1]),Math.max(t[0],n[0],i[0],a[0])-Math.min(t[0],n[0],i[0],a[0]),Math.max(t[1],n[1],i[1],a[1])-Math.min(t[1],n[1],i[1],a[1])]}var FD=function(r){function e(){return(0,b.Z)(this,e),_(this,e,arguments)}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"renderDownSampled",value:function(n,i,a,s){var o=s.src,l=s.imageCache;if(!l.downSampled){this.imagePool.createDownSampledImage(o,a).then(function(){a.ownerDocument&&(a.renderable.dirty=!0,a.ownerDocument.defaultView.context.renderingService.dirtify())}).catch(function(c){console.error(c)});return}n.drawImage(l.downSampled,Math.floor(s.drawRect[0]),Math.floor(s.drawRect[1]),Math.ceil(s.drawRect[2]),Math.ceil(s.drawRect[3]))}},{key:"renderTile",value:function(n,i,a,s){var o=s.src,l=s.imageCache,c=s.imageRect,h=s.drawRect,p=l.size,C=n.getTransform(),k=C.a,W=C.b,j=C.c,K=C.d,Q=C.e,ee=C.f;if(n.resetTransform(),!(l!=null&&l.gridSize)){this.imagePool.createImageTiles(o,[],function(){a.ownerDocument&&(a.renderable.dirty=!0,a.ownerDocument.defaultView.context.renderingService.dirtify())},a).catch(function(ht){console.error(ht)});return}for(var re=[p[0]/c[2],p[1]/c[3]],ve=[l.tileSize[0]/re[0],l.tileSize[1]/re[1]],he=[Math.floor((h[0]-c[0])/ve[0]),Math.ceil((h[0]+h[2]-c[0])/ve[0])],pe=he[0],_e=he[1],Ee=[Math.floor((h[1]-c[1])/ve[1]),Math.ceil((h[1]+h[3]-c[1])/ve[1])],De=Ee[0],Be=Ee[1],Fe=De;Fe<=Be;Fe++)for(var Xe=pe;Xe<=_e;Xe++){var qe=l.tiles[Fe][Xe];if(qe){var ct=[Math.floor(c[0]+qe.tileX*ve[0]),Math.floor(c[1]+qe.tileY*ve[1]),Math.ceil(ve[0]),Math.ceil(ve[1])];n.drawImage(qe.data,ct[0],ct[1],ct[2],ct[3])}}n.setTransform(k,W,j,K,Q,ee)}},{key:"render",value:function(n,i,a){var s=i.x,o=s===void 0?0:s,l=i.y,c=l===void 0?0:l,h=i.width,p=i.height,C=i.src,k=i.shadowColor,W=i.shadowBlur,j=this.imagePool.getImageSync(C,a),K=j==null?void 0:j.img,Q=h,ee=p;if(K){Q||(Q=K.width),ee||(ee=K.height);var re=!Rn(k)&&W>0;of(a,n,re);try{var ve=a.ownerDocument.defaultView.getContextService().getDomElement(),he=ve.width,pe=ve.height,_e=n.getTransform(),Ee=_e.a,De=_e.b,Be=_e.c,Fe=_e.d,Xe=_e.e,qe=_e.f,ct=vt(Ee,Be,0,0,De,Fe,0,0,0,0,1,0,Xe,qe,0,1),ht=zD([o,c,Q,ee],ct),St=kD([0,0,he,pe],ht);if(!St)return;if(!a.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){e.renderFull(n,i,a,{image:K,drawRect:[o,c,Q,ee]});return}var bt=ht[2]/j.size[0];if(bt<(j.downSamplingRate||.5)){this.renderDownSampled(n,i,a,{src:C,imageCache:j,drawRect:[o,c,Q,ee]});return}if(!kg.isSupportTile){e.renderFull(n,i,a,{image:K,drawRect:[o,c,Q,ee]});return}this.renderTile(n,i,a,{src:C,imageCache:j,imageRect:ht,drawRect:St})}catch(Et){}}}},{key:"drawToContext",value:function(n,i,a,s,o){this.render(n,i.parsedStyle,i)}}],[{key:"renderFull",value:function(n,i,a,s){n.drawImage(s.image,Math.floor(s.drawRect[0]),Math.floor(s.drawRect[1]),Math.ceil(s.drawRect[2]),Math.ceil(s.drawRect[3]))}}])}(zg),UD=function(r){function e(){return(0,b.Z)(this,e),_(this,e,arguments)}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"render",value:function(n,i,a,s,o,l){a.getBounds();var c=i.lineWidth,h=c===void 0?1:c,p=i.textAlign,C=p===void 0?"start":p,k=i.textBaseline,W=k===void 0?"alphabetic":k,j=i.lineJoin,K=j===void 0?"miter":j,Q=i.miterLimit,ee=Q===void 0?10:Q,re=i.letterSpacing,ve=re===void 0?0:re,he=i.stroke,pe=i.fill,_e=i.fillRule,Ee=i.fillOpacity,De=Ee===void 0?1:Ee,Be=i.strokeOpacity,Fe=Be===void 0?1:Be,Xe=i.opacity,qe=Xe===void 0?1:Xe,ct=i.metrics,ht=i.x,St=ht===void 0?0:ht,bt=i.y,Et=bt===void 0?0:bt,xt=i.dx,Dt=i.dy,Ut=i.shadowColor,Xt=i.shadowBlur,an=ct.font,gn=ct.lines,sn=ct.height,Sn=ct.lineHeight,zn=ct.lineMetrics;n.font=an,n.lineWidth=h,n.textAlign=C==="middle"?"center":C;var Vn=W;Vn==="alphabetic"&&(Vn="bottom"),n.lineJoin=K,Rn(ee)||(n.miterLimit=ee);var ir=Et;W==="middle"?ir+=-sn/2-Sn/2:W==="bottom"||W==="alphabetic"||W==="ideographic"?ir+=-sn:(W==="top"||W==="hanging")&&(ir+=-Sn);var hr=St+(xt||0);ir+=Dt||0,gn.length===1&&(Vn==="bottom"?(Vn="middle",ir-=.5*sn):Vn==="top"&&(Vn="middle",ir+=.5*sn)),n.textBaseline=Vn;var Ji=!Rn(Ut)&&Xt>0;of(a,n,Ji);for(var _r=0;_r<gn.length;_r++){var Ba=h/2+hr;ir+=Sn,!Rn(he)&&!he.isNone&&h&&this.drawLetterSpacing(n,a,gn[_r],zn[_r],C,Ba,ir,ve,pe,_e,De,he,Fe,qe,!0,s,o,l),Rn(pe)||this.drawLetterSpacing(n,a,gn[_r],zn[_r],C,Ba,ir,ve,pe,_e,De,he,Fe,qe,!1,s,o,l)}}},{key:"drawLetterSpacing",value:function(n,i,a,s,o,l,c,h,p,C,k,W,j,K,Q,ee,re,ve){if(h===0){Q?this.strokeText(n,i,a,l,c,W,j,ee,re,ve):this.fillText(n,i,a,l,c,p,C,k,K,ee,re,ve);return}var he=n.textAlign;n.textAlign="left";var pe=l;o==="center"||o==="middle"?pe=l-s.width/2:(o==="right"||o==="end")&&(pe=l-s.width);for(var _e=Array.from(a),Ee=n.measureText(a).width,De=0,Be=0;Be<_e.length;++Be){var Fe=_e[Be];Q?this.strokeText(n,i,Fe,pe,c,W,j,ee,re,ve):this.fillText(n,i,Fe,pe,c,p,C,k,K,ee,re,ve),De=n.measureText(a.substring(Be+1)).width,pe+=Ee-De+h,Ee=De}n.textAlign=he}},{key:"fillText",value:function(n,i,a,s,o,l,c,h,p,C,k,W){g_(n,i,l,c,C,k,W,this.imagePool,!0);var j,K=!Rn(h)&&h!==1;K&&(j=n.globalAlpha,n.globalAlpha=h*p),n.fillText(a,s,o),K&&(n.globalAlpha=j)}},{key:"strokeText",value:function(n,i,a,s,o,l,c,h,p,C){Fg(n,i,l,h,p,C,this.imagePool,!0);var k,W=!Rn(c)&&c!==1;W&&(k=n.globalAlpha,n.globalAlpha=c),n.strokeText(a,s,o),W&&(n.globalAlpha=k)}},{key:"drawToContext",value:function(n,i,a,s,o){this.render(n,i.parsedStyle,i,i.ownerDocument.defaultView.context,s,o)}}])}(zg),WD=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,b.Z)(this,e),t=_(this,e),t.name="canvas-renderer",t.options=n,t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"init",value:function(){var n,i=(0,H.Z)({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),a=this.context.imagePool,s=new zg(a),o=(n={},(0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)((0,mn.Z)(n,Rt.CIRCLE,s),Rt.ELLIPSE,s),Rt.RECT,s),Rt.IMAGE,new FD(a)),Rt.TEXT,new UD(a)),Rt.LINE,s),Rt.POLYLINE,s),Rt.POLYGON,s),Rt.PATH,s),Rt.GROUP,void 0),(0,mn.Z)((0,mn.Z)((0,mn.Z)(n,Rt.HTML,void 0),Rt.MESH,void 0),Rt.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=o,this.context.styleRendererFactory=o,this.addRenderingPlugin(new f_(i))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(oo);var p_=function(){function r(){(0,b.Z)(this,r)}return(0,z.Z)(r,[{key:"apply",value:function(t,n){var i=this,a=t.renderingService,s=t.renderingContext,o=t.config;this.context=t;var l=s.root.ownerDocument.defaultView,c=function(Ee){a.hooks.pointerMove.call(Ee)},h=function(Ee){a.hooks.pointerUp.call(Ee)},p=function(Ee){a.hooks.pointerDown.call(Ee)},C=function(Ee){a.hooks.pointerOver.call(Ee)},k=function(Ee){a.hooks.pointerOut.call(Ee)},W=function(Ee){a.hooks.pointerCancel.call(Ee)},j=function(Ee){a.hooks.pointerWheel.call(Ee)},K=function(Ee){a.hooks.click.call(Ee)},Q=function(Ee){n.globalThis.document.addEventListener("pointermove",c,!0),Ee.addEventListener("pointerdown",p,!0),Ee.addEventListener("pointerleave",k,!0),Ee.addEventListener("pointerover",C,!0),n.globalThis.addEventListener("pointerup",h,!0),n.globalThis.addEventListener("pointercancel",W,!0)},ee=function(Ee){Ee.addEventListener("touchstart",p,!0),Ee.addEventListener("touchend",h,!0),Ee.addEventListener("touchmove",c,!0),Ee.addEventListener("touchcancel",W,!0)},re=function(Ee){n.globalThis.document.addEventListener("mousemove",c,!0),Ee.addEventListener("mousedown",p,!0),Ee.addEventListener("mouseout",k,!0),Ee.addEventListener("mouseover",C,!0),n.globalThis.addEventListener("mouseup",h,!0)},ve=function(Ee){n.globalThis.document.removeEventListener("pointermove",c,!0),Ee.removeEventListener("pointerdown",p,!0),Ee.removeEventListener("pointerleave",k,!0),Ee.removeEventListener("pointerover",C,!0),n.globalThis.removeEventListener("pointerup",h,!0),n.globalThis.removeEventListener("pointercancel",W,!0)},he=function(Ee){Ee.removeEventListener("touchstart",p,!0),Ee.removeEventListener("touchend",h,!0),Ee.removeEventListener("touchmove",c,!0),Ee.removeEventListener("touchcancel",W,!0)},pe=function(Ee){n.globalThis.document.removeEventListener("mousemove",c,!0),Ee.removeEventListener("mousedown",p,!0),Ee.removeEventListener("mouseout",k,!0),Ee.removeEventListener("mouseover",C,!0),n.globalThis.removeEventListener("mouseup",h,!0)};a.hooks.init.tap(r.tag,function(){var _e=i.context.contextService.getDomElement();n.globalThis.navigator.msPointerEnabled?(_e.style.msContentZooming="none",_e.style.msTouchAction="none"):l.supportsPointerEvents&&(_e.style.touchAction="none"),l.supportsPointerEvents?Q(_e):re(_e),l.supportsTouchEvents&&ee(_e),o.useNativeClickEvent&&_e.addEventListener("click",K,!0),_e.addEventListener("wheel",j,{passive:!0,capture:!0})}),a.hooks.destroy.tap(r.tag,function(){var _e=i.context.contextService.getDomElement();n.globalThis.navigator.msPointerEnabled?(_e.style.msContentZooming="",_e.style.msTouchAction=""):l.supportsPointerEvents&&(_e.style.touchAction=""),l.supportsPointerEvents?ve(_e):pe(_e),l.supportsTouchEvents&&he(_e),o.useNativeClickEvent&&_e.removeEventListener("click",K,!0),_e.removeEventListener("wheel",j,!0)})}}])}();p_.tag="DOMInteraction";var HD=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.name="dom-interaction",t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"init",value:function(){this.addRenderingPlugin(new p_)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(oo);var jD="g-canvas-camera",m_=function(){function r(){(0,b.Z)(this,r),this.displayObjectHTMLElementMap=new WeakMap}return(0,z.Z)(r,[{key:"joinTransformMatrix",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([t[0],t[1],t[4],t[5],t[12]+n[0],t[13]+n[1]].join(","),")")}},{key:"apply",value:function(t,n){var i=this,a=t.camera,s=t.renderingContext,o=t.renderingService;this.context=t;var l=s.root.ownerDocument.defaultView,c=l.context.eventService.nativeHTMLMap,h=function(Q,ee){ee.style.transform=i.joinTransformMatrix(Q.getWorldTransform(),Q.getOrigin())},p=function(Q){var ee=Q.target;if(ee.nodeName===Rt.HTML){i.$camera||(i.$camera=i.createCamera(a));var re=i.getOrCreateEl(ee);i.$camera.appendChild(re),Object.keys(ee.attributes).forEach(function(ve){i.updateAttribute(ve,ee)}),h(ee,re),c.set(re,ee)}},C=function(Q){var ee=Q.target;if(ee.nodeName===Rt.HTML&&i.$camera){var re=i.getOrCreateEl(ee);re&&(re.remove(),c.delete(re))}},k=function(Q){var ee=Q.target;if(ee.nodeName===Rt.HTML){var re=Q.attrName;i.updateAttribute(re,ee)}},W=function(Q){var ee=Q.target,re=ee.nodeName===Rt.FRAGMENT?ee.childNodes:[ee];re.forEach(function(ve){if(ve.nodeName===Rt.HTML){var he=i.getOrCreateEl(ve);h(ve,he)}})},j=function(){if(i.$camera){var Q=i.context.config,ee=Q.width,re=Q.height;i.$camera.parentElement.style.width="".concat(ee||0,"px"),i.$camera.parentElement.style.height="".concat(re||0,"px")}};o.hooks.init.tap(r.tag,function(){l.addEventListener(Aa.RESIZE,j),l.addEventListener(tr.MOUNTED,p),l.addEventListener(tr.UNMOUNTED,C),l.addEventListener(tr.ATTR_MODIFIED,k),l.addEventListener(tr.BOUNDS_CHANGED,W)}),o.hooks.endFrame.tap(r.tag,function(){i.$camera&&s.renderReasons.has(Ul.CAMERA_CHANGED)&&(i.$camera.style.transform=i.joinTransformMatrix(a.getOrthoMatrix()))}),o.hooks.destroy.tap(r.tag,function(){i.$camera&&i.$camera.remove(),l.removeEventListener(Aa.RESIZE,j),l.removeEventListener(tr.MOUNTED,p),l.removeEventListener(tr.UNMOUNTED,C),l.removeEventListener(tr.ATTR_MODIFIED,k),l.removeEventListener(tr.BOUNDS_CHANGED,W)})}},{key:"createCamera",value:function(t){var n=this.context.config,i=n.document,a=n.width,s=n.height,o=this.context.contextService.getDomElement(),l=o.parentNode;if(l){var c=jD,h=l.querySelector("#".concat(c));if(!h){var p=(i||document).createElement("div");p.style.overflow="hidden",p.style.pointerEvents="none",p.style.position="absolute",p.style.left="0px",p.style.top="0px",p.style.width="".concat(a||0,"px"),p.style.height="".concat(s||0,"px");var C=(i||document).createElement("div");h=C,C.id=c,C.style.position="absolute",C.style.left="".concat(o.offsetLeft||0,"px"),C.style.top="".concat(o.offsetTop||0,"px"),C.style.transformOrigin="left top",C.style.transform=this.joinTransformMatrix(t.getOrthoMatrix()),C.style.pointerEvents="none",C.style.width="100%",C.style.height="100%",p.appendChild(C),l.appendChild(p)}return h}return null}},{key:"getOrCreateEl",value:function(t){var n=this.context.config.document,i=this.displayObjectHTMLElementMap.get(t);return i||(i=(n||document).createElement("div"),t.parsedStyle.$el=i,this.displayObjectHTMLElementMap.set(t,i),t.id&&(i.id=t.id),t.name&&i.setAttribute("name",t.name),t.className&&(i.className=t.className),i.style.position="absolute",i.style["will-change"]="transform",i.style.transform=this.joinTransformMatrix(t.getWorldTransform(),t.getOrigin())),i}},{key:"updateAttribute",value:function(t,n){var i=this.getOrCreateEl(n);switch(t){case"innerHTML":var a=n.parsedStyle.innerHTML;dr(a)?i.innerHTML=a:(i.innerHTML="",i.appendChild(a));break;case"x":i.style.left="".concat(n.parsedStyle.x,"px");break;case"y":i.style.top="".concat(n.parsedStyle.y,"px");break;case"transformOrigin":var s=n.parsedStyle.transformOrigin;i.style["transform-origin"]="".concat(s[0].buildCSSText(null,null,"")," ").concat(s[1].buildCSSText(null,null,""));break;case"width":var o=n.parsedStyle.width;i.style.width=dn(o)?"".concat(o,"px"):o.toString();break;case"height":var l=n.parsedStyle.height;i.style.height=dn(l)?"".concat(l,"px"):l.toString();break;case"zIndex":var c=n.parsedStyle.zIndex;i.style["z-index"]="".concat(c);break;case"visibility":var h=n.parsedStyle.visibility;i.style.visibility=h;break;case"pointerEvents":var p=n.parsedStyle.pointerEvents,C=p===void 0?"auto":p;i.style.pointerEvents=C;break;case"opacity":var k=n.parsedStyle.opacity;i.style.opacity="".concat(k);break;case"fill":var W=n.parsedStyle.fill,j="";Qu(W)?W.isNone?j="transparent":j=n.getAttribute("fill"):Array.isArray(W)?j=n.getAttribute("fill"):Ko(W),i.style.background=j;break;case"stroke":var K=n.parsedStyle.stroke,Q="";Qu(K)?K.isNone?Q="transparent":Q=n.getAttribute("stroke"):Array.isArray(K)?Q=n.getAttribute("stroke"):Ko(K),i.style["border-color"]=Q,i.style["border-style"]="solid";break;case"lineWidth":var ee=n.parsedStyle.lineWidth;i.style["border-width"]="".concat(ee||0,"px");break;case"lineDash":i.style["border-style"]="dashed";break;case"filter":var re=n.style.filter;i.style.filter=re;break;default:!Rn(n.style[t])&&n.style[t]!==""&&(i.style[t]=n.style[t])}}}])}();m_.tag="HTMLRendering";var GD=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.name="html-renderer",t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"init",value:function(){this.addRenderingPlugin(new m_)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(oo);var VD=function(){function r(e){(0,b.Z)(this,r),this.renderingContext=e.renderingContext,this.canvasConfig=e.config}return(0,z.Z)(r,[{key:"init",value:function(){var t=this.canvasConfig,n=t.container,i=t.canvas;if(i)this.$canvas=i,n&&i.parentElement!==n&&n.appendChild(i),this.$container=i.parentElement,this.canvasConfig.container=this.$container;else if(n&&(this.$container=dr(n)?document.getElementById(n):n,this.$container)){var a=document.createElement("canvas");this.$container.appendChild(a),this.$container.style.position||(this.$container.style.position="relative"),this.$canvas=a}this.context=this.$canvas.getContext("2d"),this.resize(this.canvasConfig.width,this.canvasConfig.height)}},{key:"getContext",value:function(){return this.context}},{key:"getDomElement",value:function(){return this.$canvas}},{key:"getDPR",value:function(){return this.dpr}},{key:"getBoundingClientRect",value:function(){if(this.$canvas.getBoundingClientRect)return this.$canvas.getBoundingClientRect()}},{key:"destroy",value:function(){this.$container&&this.$canvas&&this.$canvas.parentNode&&this.$container.removeChild(this.$canvas)}},{key:"resize",value:function(t,n){var i=this.canvasConfig.devicePixelRatio;this.dpr=i,this.$canvas&&(this.$canvas.width=this.dpr*t,this.$canvas.height=this.dpr*n,jS(this.$canvas,t,n)),this.renderingContext.renderReasons.add(Ul.CAMERA_CHANGED)}},{key:"applyCursorStyle",value:function(t){this.$container&&this.$container.style&&(this.$container.style.cursor=t)}},{key:"toDataURL",value:function(){var e=(0,so.Z)((0,Ki.Z)().mark(function n(){var i,a,s,o=arguments;return(0,Ki.Z)().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return i=o.length>0&&o[0]!==void 0?o[0]:{},a=i.type,s=i.encoderOptions,c.abrupt("return",this.context.canvas.toDataURL(a,s));case 3:case"end":return c.stop()}},n,this)}));function t(){return e.apply(this,arguments)}return t}()}])}(),ZD=function(r){function e(){var t;(0,b.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=_(this,e,[].concat(i)),t.name="canvas-context-register",t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"init",value:function(){this.context.ContextService=VD}},{key:"destroy",value:function(){delete this.context.ContextService}}])}(oo),$c=function(r){function e(t){var n;return(0,b.Z)(this,e),n=_(this,e,[t]),n.registerPlugin(new ZD),n.registerPlugin(new ND),n.registerPlugin(new fD),n.registerPlugin(new WD),n.registerPlugin(new HD),n.registerPlugin(new DD),n.registerPlugin(new GD),n}return(0,g.Z)(e,r),(0,z.Z)(e)}(zw);function KD(r,e){if(r){var t;if(Ma(r))for(var n=0,i=r.length;n<i&&(t=e(r[n],n),t!==!1);n++);else if(ii(r)){for(var a in r)if(r.hasOwnProperty(a)&&(t=e(r[a],a),t===!1))break}}}var y_=KD,XD=Object.prototype.hasOwnProperty,ul=function(r,e){if(r===null||!Vl(r))return{};var t={};return y_(e,function(n){XD.call(r,n)&&(t[n]=r[n])}),t},YD=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class lf extends fs{constructor(e){super(Object.assign(Object.assign({},e),{style:Object.assign({},lf.defaultStyleProps,e.style)})),this.rootPointerEvent=new nh(null),this.forwardEvents=t=>{const n=this.context.canvas,i=n.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(t,i).forEach(s=>{const o=this.bootstrapEvent(this.rootPointerEvent,s,i,t);Yc(n.context.eventService,"mappingTable.pointerupoutside",[]),n.context.eventService.mapEvent(o)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[Nt.CLICK,Nt.POINTER_DOWN,Nt.POINTER_MOVE,Nt.POINTER_UP,Nt.POINTER_OVER,Nt.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}render(e=this.parsedAttributes,t=this){this.drawKeyShape(e,t),this.drawPortShapes(e,t)}getKeyStyle(e){const t=ul(e,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:n=0,dy:i=0}=t,a=YD(t,["dx","dy"]),[s,o]=this.getSize(e);return Object.assign(Object.assign({x:n,y:i},a),{width:s,height:o})}drawKeyShape(e,t){const n=this.getKeyStyle(e),{x:i,y:a,width:s=0,height:o=0}=n,l=this.upsert("key-container",Ii,{x:i,y:a,width:s,height:o,opacity:0},t);return this.upsert("key",Nc,n,l)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof $c))return;const n=this.getDomElement();this.events.forEach(i=>{n.addEventListener(i,this.forwardEvents)})}attributeChangedCallback(e,t,n){e==="zIndex"&&t!==n&&(this.getDomElement().style.zIndex=n)}destroy(){const e=this.getDomElement();this.events.forEach(t=>{e.removeEventListener(t,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(e,t){const n=[];if(t.isTouchEvent(e))for(let i=0;i<e.changedTouches.length;i++){const a=e.changedTouches[i];Gn(a.button)&&(a.button=0),Gn(a.buttons)&&(a.buttons=1),Gn(a.isPrimary)&&(a.isPrimary=e.touches.length===1&&e.type==="touchstart"),Gn(a.width)&&(a.width=a.radiusX||1),Gn(a.height)&&(a.height=a.radiusY||1),Gn(a.tiltX)&&(a.tiltX=0),Gn(a.tiltY)&&(a.tiltY=0),Gn(a.pointerType)&&(a.pointerType="touch"),Gn(a.pointerId)&&(a.pointerId=a.identifier||0),Gn(a.pressure)&&(a.pressure=a.force||.5),Gn(a.twist)&&(a.twist=0),Gn(a.tangentialPressure)&&(a.tangentialPressure=0),a.isNormalized=!0,a.type=e.type,n.push(a)}else if(t.isMouseEvent(e)){const i=e;Gn(i.isPrimary)&&(i.isPrimary=!0),Gn(i.width)&&(i.width=1),Gn(i.height)&&(i.height=1),Gn(i.tiltX)&&(i.tiltX=0),Gn(i.tiltY)&&(i.tiltY=0),Gn(i.pointerType)&&(i.pointerType="mouse"),Gn(i.pointerId)&&(i.pointerId=1),Gn(i.pressure)&&(i.pressure=.5),Gn(i.twist)&&(i.twist=0),Gn(i.tangentialPressure)&&(i.tangentialPressure=0),i.isNormalized=!0,n.push(i)}else n.push(e);return n}transferMouseData(e,t){e.isTrusted=t.isTrusted,e.srcElement=t.srcElement,e.timeStamp=performance.now(),e.type=t.type,e.altKey=t.altKey,e.metaKey=t.metaKey,e.shiftKey=t.shiftKey,e.ctrlKey=t.ctrlKey,e.button=t.button,e.buttons=t.buttons,e.client.x=t.clientX,e.client.y=t.clientY,e.movement.x=t.movementX,e.movement.y=t.movementY,e.page.x=t.pageX,e.page.y=t.pageY,e.screen.x=t.screenX,e.screen.y=t.screenY,e.relatedTarget=null}bootstrapEvent(e,t,n,i){e.view=n,e.originalEvent=null,e.nativeEvent=i,e.pointerId=t.pointerId,e.width=t.width,e.height=t.height,e.isPrimary=t.isPrimary,e.pointerType=t.pointerType,e.pressure=t.pressure,e.tangentialPressure=t.tangentialPressure,e.tiltX=t.tiltX,e.tiltY=t.tiltY,e.twist=t.twist,this.transferMouseData(e,t);const{x:a,y:s}=this.getViewportXY(t);e.viewport.x=a,e.viewport.y=s;const[o,l]=this.context.canvas.getCanvasByViewport([a,s]);return e.canvas.x=o,e.canvas.y=l,e.global.copyFrom(e.canvas),e.offset.copyFrom(e.canvas),e.isTrusted=i.isTrusted,e.type==="pointerleave"&&(e.type="pointerout"),e}getViewportXY(e){let t,n;const{offsetX:i,offsetY:a,clientX:s,clientY:o}=e;if(!Rn(i)&&!Rn(a))t=i,n=a;else{const l=this.eventService.client2Viewport({x:s,y:o});t=l.x,n=l.y}return{x:t,y:n}}onframe(){super.onframe();const{opacity:e}=this.attributes;this.getDomElement().style.opacity=`${e}`}}lf.defaultStyleProps={size:[160,80],halo:!1,icon:!1,label:!1,pointerEvents:"auto"};var __=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class cf extends fs{constructor(e){super(Ai({style:cf.defaultStyleProps},e))}getKeyStyle(e){const[t,n]=this.getSize(e),i=super.getKeyStyle(e),{fillOpacity:a,opacity:s=a}=i,o=__(i,["fillOpacity","opacity"]);return Object.assign(Object.assign({opacity:s},o),{width:t,height:n,x:-t/2,y:-n/2})}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getShape("key").attributes,{fill:n,stroke:i}=t,a=__(t,["fill","stroke"]),s=gi(this.getGraphicStyle(e),"halo"),o=Number(s.lineWidth),[l,c]=Jn(this.getSize(e),[o,o]);return Object.assign(Object.assign({},s),{width:l,height:c,fill:"transparent",x:-l/2,y:-c/2})}getIconStyle(e){const t=super.getIconStyle(e),[n,i]=this.getSize(e);return t?Object.assign({width:n*Ys,height:i*Ys},t):!1}drawKeyShape(e,t){const n=this.upsert("key",Og,this.getKeyStyle(e),t);return Dg(this),n}drawHaloShape(e,t){this.upsert("halo",Ii,this.getHaloStyle(e),t)}update(e){super.update(e),e&&("x"in e||"y"in e||"z"in e)&&Lg(this)}}cf.defaultStyleProps={size:32};class QD extends fs{constructor(e){super(e)}getKeyStyle(e){const[t,n]=this.getSize(e);return Object.assign(Object.assign({},super.getKeyStyle(e)),{width:t,height:n,x:-t/2,y:-n/2})}getIconStyle(e){const t=super.getIconStyle(e),{width:n,height:i}=this.getShape("key").attributes;return t?Object.assign({width:n*Ys,height:i*Ys},t):!1}drawKeyShape(e,t){return this.upsert("key",Ii,this.getKeyStyle(e),t)}}class JD extends Qh{constructor(e){super(e)}getInnerR(e){return e.innerR||this.getOuterR(e)*3/8}getOuterR(e){return Math.min(...this.getSize(e))/2}getPoints(e){return FL(this.getOuterR(e),this.getInnerR(e))}getIconStyle(e){const t=super.getIconStyle(e),n=this.getInnerR(e)*2*Ys;return t?Object.assign({width:n,height:n},t):!1}getPortXY(e,t){const{placement:n="top"}=t,i=this.getShape("key").getLocalBounds(),a=UL(this.getOuterR(e),this.getInnerR(e));return Zg(i,n,a,!1)}}class uf extends Qh{constructor(e){super(Ai({style:uf.defaultStyleProps},e))}getPoints(e){const{direction:t}=e,[n,i]=this.getSize(e);return WL(n,i,t)}getPortXY(e,t){const{direction:n}=e,{placement:i="top"}=t,a=this.getShape("key").getLocalBounds(),[s,o]=this.getSize(e),l=HL(s,o,n);return Zg(a,i,l,!1)}getIconStyle(e){const{icon:t,iconText:n,iconSrc:i,direction:a}=e;if(t===!1||Ls(n||i))return!1;const s=gi(this.getGraphicStyle(e),"icon"),o=this.getShape("key").getLocalBounds(),[l,c]=TC(o,a),h=AC(o,a)*2*Ys;return Object.assign({x:l,y:c,width:h,height:h},s)}}uf.defaultStyleProps={size:40,direction:"up"};var E_=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Yl extends fs{constructor(e){super(Ai({style:Yl.defaultStyleProps},e)),this.type="combo",this.updateComboPosition(this.parsedAttributes)}getKeySize(e){const{collapsed:t,childrenNode:n=[]}=e;return n.length===0?this.getEmptyKeySize(e):t?this.getCollapsedKeySize(e):this.getExpandedKeySize(e)}getEmptyKeySize(e){const{padding:t,collapsedSize:n}=e,[i,a,s,o]=os(t);return Jn(Pa(n),[o+a,i+s,0])}getCollapsedKeySize(e){return Pa(e.collapsedSize)}getExpandedKeySize(e){const t=this.getContentBBox(e);return[Os(t),Ps(t),0]}getContentBBox(e){const{childrenNode:t=[],padding:n}=e,i=t.map(s=>this.context.element.getElement(s)).filter(Boolean);if(i.length===0){const s=new Nr,{x:o=0,y:l=0,size:c}=e,[h,p]=Pa(c);return s.setMinMax([o-h/2,l-p/2,0],[o+h/2,l+p/2,0]),s}const a=Hc(i.map(s=>s.getBounds()));return n?go(a,n):a}drawCollapsedMarkerShape(e,t){const n=this.getCollapsedMarkerStyle(e);this.upsert("collapsed-marker",a_,n,t),Dg(this)}getCollapsedMarkerStyle(e){if(!e.collapsed||!e.collapsedMarker)return!1;const t=gi(this.getGraphicStyle(e),"collapsedMarker"),{type:n}=t,i=E_(t,["type"]),a=this.getShape("key"),[s,o]=Xs(a.getLocalBounds(),"center"),l=Object.assign(Object.assign({},i),{x:s,y:o});if(n){const c=this.getCollapsedMarkerText(n,e);Object.assign(l,{text:c})}return l}getCollapsedMarkerText(e,t){const{childrenData:n=[]}=t,{model:i}=this.context;return e==="descendant-count"?i.getDescendantsData(this.id).length.toString():e==="child-count"?n.length.toString():e==="node-count"?i.getDescendantsData(this.id).filter(a=>i.getElementType(Mt(a))==="node").length.toString():xn(e)?e(n):""}getComboPosition(e){const{x:t=0,y:n=0,collapsed:i,childrenData:a=[]}=e;if(a.length===0)return[+t,+n,0];if(i){const{model:s}=this.context,o=s.getDescendantsData(this.id).filter(l=>!s.isCombo(Mt(l)));if(o.length>0&&o.some(_P)){const l=o.reduce((c,h)=>Jn(c,xi(h)),[0,0,0]);return us(l,o.length)}return[+t,+n,0]}return this.getContentBBox(e).center}getComboStyle(e){const[t,n]=this.getComboPosition(e);return{x:t,y:n,transform:[["translate",t,n]]}}updateComboPosition(e){const t=this.getComboStyle(e);Object.assign(this.style,t);const{x:n,y:i}=t;this.context.model.syncNodeLikeDatum({id:this.id,style:{x:n,y:i}}),Lg(this)}render(e,t=this){super.render(e,t),this.drawCollapsedMarkerShape(e,t)}update(e={}){super.update(e),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(e,t){const n=super.animate(this.attributes.collapsed?e:e.map(i=>{var{x:a,y:s,z:o,transform:l}=i,c=E_(i,["x","y","z","transform"]);return c}),t);return n&&new Proxy(n,{set:(i,a,s)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,s))})}}Yl.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class qD extends Yl{constructor(e){super(e)}drawKeyShape(e,t){return this.upsert("key",Ws,this.getKeyStyle(e),t)}getKeyStyle(e){const{collapsed:t}=e,n=super.getKeyStyle(e),[i]=this.getKeySize(e);return Object.assign(Object.assign(Object.assign({},n),t&&gi(n,"collapsed")),{r:i/2})}getCollapsedKeySize(e){const[t,n]=Pa(e.collapsedSize),i=Math.max(t,n)/2;return[i*2,i*2,0]}getExpandedKeySize(e){const t=this.getContentBBox(e),[n,i]=fo(t),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2))/2;return[a*2,a*2,0]}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Vh(e,n,t)}}class $D extends Yl{constructor(e){super(e)}drawKeyShape(e,t){return this.upsert("key",Ii,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e),[n,i]=this.getKeySize(e);return Object.assign(Object.assign(Object.assign({},t),e.collapsed&&gi(t,"collapsed")),{width:n,height:i,x:-n/2,y:-i/2})}}var eL=function(r,e){if(!Fc(r))return r;for(var t=[],n=0;n<r.length;n++){var i=r[n];e(i,n)&&t.push(i)}return t},tL=eL,nL=function(r,e){return Fc(r)?r.indexOf(e)>-1:!1},rL=nL,iL=function(r,e){return e===void 0&&(e=[]),tL(r,function(t){return!rL(e,t)})},aL=iL;const sL={padding:10};function x_(r,e,t,n,i,a){const{padding:s}=Object.assign(sL,a),o=vo(t,s),l=vo(n,s),c=[r,...i,e];let h=null;const p=[];for(let C=0,k=c.length;C<k-1;C++){const W=C+1,j=c[C],K=c[W],Q=xP(j,K);let ee=null;if(C===0)if(W===k-1)if(o.intersects(l))ee=Wg(j,K,o,l);else if(!Ch(j,o)&&!Ch(K,l)){const re=nl(j,o),ve=nl(K,l);ee=w_(re,ve,sa(re,ve)),ee.points.unshift(re),ee.points.push(ve)}else Q||(ee=lL(j,K,o,l));else ls(K,o)?ee=Wg(j,K,o,vo(K,s),h):Q||(ee=hf(j,K,o));else W===k-1?ls(j,l)?ee=Wg(j,K,vo(j,s),l,h):Q||(ee=M_(j,K,l,h)):Q||(ee=w_(j,K,h));ee?(p.push(...ee.points),h=ee.direction):h=sa(j,K),W<k-1&&p.push(K)}return p.map(al)}const oL={N:"S",S:"N",W:"E",E:"W"},b_={N:-Math.PI/2,S:Math.PI/2,E:0,W:Math.PI};function sa(r,e){const[t,n]=r,[i,a]=e;return t===i?n>a?"N":"S":n===a?t>i?"W":"E":null}function Ug(r,e){return e==="N"||e==="S"?Ps(r):Os(r)}function w_(r,e,t){const n=[r[0],e[1]],i=[e[0],r[1]],a=sa(r,n),s=sa(r,i),o=t?oL[t]:null,l=a===t||a!==o&&s!==t?n:i;return{points:[l],direction:sa(l,e)}}function hf(r,e,t){if(Ch(r,t)){const n=eu(r,e,t);return{points:[n],direction:sa(n,e)}}else{const n=nl(r,t),a=["left","right"].includes(jc(r,t))?[e[0],n[1]]:[n[0],e[1]];return{points:[a],direction:sa(a,e)}}}function M_(r,e,t,n){const i=Ch(e,t)?e:nl(e,t),a=[[i[0],r[1]],[r[0],i[1]]],s=a.filter(l=>SC(l,t)&&!Ky(l,t,!0)),o=s.filter(l=>sa(l,r)!==n);if(o.length>0){const l=o.find(c=>sa(r,c)===n)||o[0];return{points:[l],direction:sa(l,e)}}else{const l=aL(a,s)[0],c=yo(e,l,Ug(t,n)/2);return{points:[eu(c,r,t),c],direction:sa(c,e)}}}function lL(r,e,t,n){let i=hf(r,e,t);const a=Zc(i.points[0]);if(ls(a,n)){i=hf(e,r,n);const s=Zc(i.points[0]);if(ls(s,t)){const o=yo(r,a,Ug(t,sa(r,a))/2),l=yo(e,s,Ug(n,sa(e,s))/2),c=[(o[0]+l[0])/2,(o[1]+l[1])/2],h=hf(r,c,t),p=M_(c,e,n,h.direction);i.points=[h.points[0],p.points[0]],i.direction=p.direction}}return i}function Wg(r,e,t,n,i){const s=Hc([t,n]),o=Ur(e,s.center)>Ur(r,s.center),[l,c]=o?[e,r]:[r,e],h=Ps(s)+Os(s);let p;if(i){const W=[l[0]+h*Math.cos(b_[i]),l[1]+h*Math.sin(b_[i])];p=yo(nl(W,s),W,.01)}else p=yo(nl(l,s),l,-.01);let C=eu(p,c,s),k=[Kc(p,2),Kc(C,2)];if(si(Kc(p),Kc(C))){const W=bg(Or(p,l),[1,0,0])+Math.PI/2;C=[c[0]+h*Math.cos(W),c[1]+h*Math.sin(W),0],C=Kc(yo(nl(C,s),c,-.01),2);const j=eu(p,C,s);k=[p,j,C]}return{points:o?k.reverse():k,direction:sa(o?p:C,e)}}function eu(r,e,t){let n=[r[0],e[1]];return ls(n,t)&&(n=[e[0],r[1]]),n}function S_(r,e,t,n,i){let l=typeof e=="number"?e:.5;e==="start"&&(l=0),e==="end"&&(l=.99);const c=Ni(r.getPoint(l)),h=Ni(r.getPoint(l+.01));let p=e==="start"?"left":e==="end"?"right":"center";if(U1(c,h)||!t){const[Q,ee]=T_(r,l,n,i);return{transform:[["translate",Q,ee]],textAlign:p}}let C=Math.atan2(h[1]-c[1],h[0]-c[0]);h[0]<c[0]&&(p=p==="center"?p:p==="left"?"right":"left",n*=-1,C+=Math.PI);const[W,j]=T_(r,l,n,i,C),K=[["translate",W,j],["rotate",C/Math.PI*180]];return{textAlign:p,transform:K}}function cL(r,e,t,n,i){var a,s;const o=((a=r.badge)===null||a===void 0?void 0:a.getGeometryBounds().halfExtents[0])*2||0,l=((s=r.label)===null||s===void 0?void 0:s.getGeometryBounds().halfExtents[0])*2||0;return S_(r.key,t,!0,(l?(l/2+o/2)*(e==="suffix"?1:-1):0)+n,i)}function T_(r,e,t,n,i){const[a,s]=Ni(r.getPoint(e));let o=t,l=n;return i&&(o=t*Math.cos(i)-n*Math.sin(i),l=t*Math.sin(i)+n*Math.cos(i)),[a+o,s+l]}function Hg(r,e,t,n){if(si(r,e))return r;const i=Or(e,r),a=[r[0]+t*i[0],r[1]+t*i[1]],s=Ks(Gh(i,!1));return a[0]+=n*s[0],a[1]+=n*s[1],a}function uL(r){return dn(r)?[r,-r]:r}function hL(r){return dn(r)?[r,1-r]:r}function fL(r,e,t){return[["M",r[0],r[1]],["Q",t[0],t[1],e[0],e[1]]]}function A_(r,e,t){return[["M",r[0],r[1]],["C",t[0][0],t[0][1],t[1][0],t[1][1],e[0],e[1]]]}function jg(r,e=0,t=!1){const n=r[0],i=r[r.length-1],a=r.slice(1,r.length-1),s=[["M",n[0],n[1]]];return a.forEach((o,l)=>{const c=a[l-1]||n,h=a[l+1]||i;if(!W1(c,o,h)&&e){const[p,C]=dL(c,o,h,e);s.push(["L",p[0],p[1]],["Q",o[0],o[1],C[0],C[1]],["L",C[0],C[1]])}else s.push(["L",o[0],o[1]])}),s.push(["L",i[0],i[1]]),t&&s.push(["Z"]),s}function dL(r,e,t,n){const i=jh(r,e),a=jh(t,e),s=Math.min(n,Math.min(i,a)/2),o=[e[0]-s/i*(e[0]-r[0]),e[1]-s/i*(e[1]-r[1])],l=[e[0]-s/a*(e[0]-t[0]),e[1]-s/a*(e[1]-t[1])];return[o,l]}const vL=r=>{const e=Math.PI/2,t=Ps(r)/2,n=Os(r)/2,i=Math.atan2(t,n)/2,a=Math.atan2(n,t)/2;return{top:[-e-a,-e+a],"top-right":[-e+a,-i],"right-top":[-e+a,-i],right:[-i,i],"bottom-right":[i,e-a],"right-bottom":[i,e-a],bottom:[e-a,e+a],"bottom-left":[e+a,Math.PI-i],"left-bottom":[e+a,Math.PI-i],left:[Math.PI-i,Math.PI+i],"top-left":[Math.PI+i,-e-a],"left-top":[Math.PI+i,-e-a]}};function C_(r,e,t,n,i){const a=vo(r),s=r.getCenter();let o=n&&bo(n),l=i&&bo(i);if(!o||!l){const c=vL(a),h=c[e][0],p=c[e][1],[C,k]=fo(a),W=Math.max(C,k),j=Jn(s,[W*Math.cos(h),W*Math.sin(h),0]),K=Jn(s,[W*Math.cos(p),W*Math.sin(p),0]);o=Xg(r,j),l=Xg(r,K),t||([o,l]=[l,o])}return[o,l]}function gL(r,e,t,n,i,a){const s=r.getPorts()[i||a],o=r.getPorts()[a||i];let[l,c]=C_(r,e,t,s,o);const h=pL(r,l,c,n);return s&&(l=nu(s,h[0])),o&&(c=nu(o,h[h.length-1])),A_(l,c,h)}function pL(r,e,t,n){const i=r.getCenter();if(si(e,t)){const a=Or(e,i),s=[n*Math.sign(a[0])||n/2,n*Math.sign(a[1])||-n/2,0];return[Jn(e,s),Jn(t,Zs(s,[1,-1,1]))]}return[yo(i,e,Ur(i,e)+n),yo(i,t,Ur(i,t)+n)]}function mL(r,e,t,n,i,a,s){const o=Kg(r),l=o[a||s],c=o[s||a];let[h,p]=C_(r,t,n,l,c);const C=yL(r,h,p,i);return l&&(h=nu(l,C[0])),c&&(p=nu(c,C[C.length-1])),jg([h,...C,p],e)}function yL(r,e,t,n){const i=[],a=vo(r);if(si(e,t))switch(jc(e,a)){case"left":i.push([e[0]-n,e[1]]),i.push([e[0]-n,e[1]+n]),i.push([e[0],e[1]+n]);break;case"right":i.push([e[0]+n,e[1]]),i.push([e[0]+n,e[1]+n]),i.push([e[0],e[1]+n]);break;case"top":i.push([e[0],e[1]-n]),i.push([e[0]+n,e[1]-n]),i.push([e[0]+n,e[1]]);break;case"bottom":i.push([e[0],e[1]+n]),i.push([e[0]+n,e[1]+n]),i.push([e[0]+n,e[1]]);break}else{const s=jc(e,a),o=jc(t,a);if(s===o){const l=s;let c,h;switch(l){case"left":c=Math.min(e[0],t[0])-n,i.push([c,e[1]]),i.push([c,t[1]]);break;case"right":c=Math.max(e[0],t[0])+n,i.push([c,e[1]]),i.push([c,t[1]]);break;case"top":h=Math.min(e[1],t[1])-n,i.push([e[0],h]),i.push([t[0],h]);break;case"bottom":h=Math.max(e[1],t[1])+n,i.push([e[0],h]),i.push([t[0],h]);break}}else{const l=(C,k)=>({left:[k[0]-n,k[1]],right:[k[0]+n,k[1]],top:[k[0],k[1]-n],bottom:[k[0],k[1]+n]})[C],c=l(s,e),h=l(o,t),p=eu(c,h,a);i.push(c,p,h)}}return i}function Gg(r,e){const t=new Set,n=new Set,i=new Set;return r.forEach(a=>{e(a).forEach(o=>{t.add(o),r.includes(o.source)&&r.includes(o.target)?n.add(o):i.add(o)})}),{edges:Array.from(t),internal:Array.from(n),external:Array.from(i)}}function O_(r,e){const t=[];let n=r;for(;n;){t.push(n);const i=e(Mt(n));if(i)n=i;else break}if(t.some(i=>{var a;return(a=i.style)===null||a===void 0?void 0:a.collapsed})){const i=t.reverse().findIndex(xa);return t[i]||t.at(-1)}return r}function _L(r,e){return e||(r<4?10:r===4?12:r*2.5)}const EL=(r,e)=>{const t=Math.max(r,e)/2;return[["M",-r/2,0],["A",t,t,0,1,0,2*t-r/2,0],["A",t,t,0,1,0,-r/2,0],["Z"]]},P_=(r,e)=>[["M",-r/2,0],["L",r/2,-e/2],["L",r/2,e/2],["Z"]],xL=(r,e)=>[["M",-r/2,0],["L",0,-e/2],["L",r/2,0],["L",0,e/2],["Z"]],bL=(r,e)=>[["M",-r/2,0],["L",r/2,-e/2],["L",4*r/5-r/2,0],["L",r/2,e/2],["Z"]],wL=(r,e)=>[["M",-r/2,-e/2],["L",r/2,-e/2],["L",r/2,e/2],["L",-r/2,e/2],["Z"]],ML=(r,e)=>{const t=r/2,n=r/7,i=r-n;return[["M",-t,0],["L",0,-e/2],["L",0,e/2],["Z"],["M",i-t,-e/2],["L",i+n-t,-e/2],["L",i+n-t,e/2],["L",i-t,e/2],["Z"]]},SL=(r,e)=>[["M",r/2,-e/2],["L",-r/2,0],["L",r/2,0],["L",-r/2,0],["L",r/2,e/2]];var ff=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class xo extends s_{constructor(e){super(Ai({style:xo.defaultStyleProps},e)),this.type="edge"}get sourceNode(){const{sourceNode:e}=this.parsedAttributes;return this.context.element.getElement(e)}get targetNode(){const{targetNode:e}=this.parsedAttributes;return this.context.element.getElement(e)}getKeyStyle(e){const t=this.getGraphicStyle(e),{loop:n}=t,i=ff(t,["loop"]),{sourceNode:a,targetNode:s}=this,l={d:n&&NL(a,s)?this.getLoopPath(e):this.getKeyPath(e)};return Ta.PARSED_STYLE_LIST.forEach(c=>{c in i&&(l[c]=i[c])}),l}getLoopPath(e){const{sourcePort:t,targetPort:n}=e,i=this.sourceNode,a=vo(i),s=Math.max(Os(a),Ps(a)),{placement:o,clockwise:l,dist:c=s}=gi(this.getGraphicStyle(e),"loop");return gL(i,o,l,c,t,n)}getEndpoints(e,t=!0,n=[]){const{sourcePort:i,targetPort:a}=e,{sourceNode:s,targetNode:o}=this,[l,c]=kL(s,o,i,a);if(!t){const k=l?bo(l):s.getCenter(),W=c?bo(c):o.getCenter();return[k,W]}const h=typeof n=="function"?n():n,p=z_(l||s,h[0]||c||o),C=z_(c||o,h[h.length-1]||l||s);return[p,C]}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getKeyStyle(e),n=gi(this.getGraphicStyle(e),"halo");return Object.assign(Object.assign({},t),n)}getLabelStyle(e){if(e.label===!1||!e.labelText)return!1;const t=gi(this.getGraphicStyle(e),"label"),{placement:n,offsetX:i,offsetY:a,autoRotate:s,maxWidth:o}=t,l=ff(t,["placement","offsetX","offsetY","autoRotate","maxWidth"]),c=S_(this.shapeMap.key,n,s,i,a),h=this.shapeMap.key.getLocalBounds(),p=NP([h.min,h.max],o);return Object.assign({wordWrapWidth:p},c,l)}getBadgeStyle(e){if(e.badge===!1||!e.badgeText)return!1;const t=gi(e,"badge"),{offsetX:n,offsetY:i,placement:a}=t,s=ff(t,["offsetX","offsetY","placement"]);return Object.assign(s,cL(this.shapeMap,a,e.labelPlacement,n,i))}drawArrow(e,t){var n;const i=t==="start",s=e[t==="start"?"startArrow":"endArrow"],o=this.shapeMap.key;if(s){const l=this.getArrowStyle(e,i),[c,h,p]=i?["markerStart","markerStartOffset","startArrowOffset"]:["markerEnd","markerEndOffset","endArrowOffset"],C=o.parsedStyle[c];if(C)C.attr(l);else{const k=l.src?Bc:Ta,W=new k({style:l});o.style[c]=W}o.style[h]=e[p]||l.width/2+ +l.lineWidth}else{const l=i?"markerStart":"markerEnd";(n=o.style[l])===null||n===void 0||n.destroy(),o.style[l]=null}}getArrowStyle(e,t){const n=this.getShape("key").attributes,i=t?"startArrow":"endArrow",a=gi(this.getGraphicStyle(e),i),{size:s,type:o}=a,l=ff(a,["size","type"]),[c,h]=Pa(_L(n.lineWidth,s)),C=(xn(o)?o:q[o]||P_)(c,h);return Object.assign(ul(n,["stroke","strokeOpacity","fillOpacity"]),{width:c,height:h},Object.assign({},C&&{d:C,fill:o==="simple"?"":n.stroke}),l)}drawLabelShape(e,t){const n=this.getLabelStyle(e);this.upsert("label",_o,n,t)}drawHaloShape(e,t){const n=this.getHaloStyle(e);this.upsert("halo",Ta,n,t)}drawBadgeShape(e,t){const n=this.getBadgeStyle(e);this.upsert("badge",Kl,n,t)}drawSourceArrow(e){this.drawArrow(e,"start")}drawTargetArrow(e){this.drawArrow(e,"end")}drawKeyShape(e,t){const n=this.getKeyStyle(e);return this.upsert("key",Ta,n,t)}render(e=this.parsedAttributes,t=this){this.drawKeyShape(e,t),this.getShape("key")&&(this.drawSourceArrow(e),this.drawTargetArrow(e),this.drawLabelShape(e,t),this.drawHaloShape(e,t),this.drawBadgeShape(e,t))}onframe(){this.drawKeyShape(this.parsedAttributes,this),this.drawSourceArrow(this.parsedAttributes),this.drawTargetArrow(this.parsedAttributes),this.drawHaloShape(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this),this.drawBadgeShape(this.parsedAttributes,this)}animate(e,t){const n=super.animate(e,t);return n&&new Proxy(n,{set:(i,a,s)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,s))})}}xo.defaultStyleProps={badge:!0,badgeOffsetX:0,badgeOffsetY:0,badgePlacement:"suffix",isBillboard:!0,label:!0,labelAutoRotate:!0,labelIsBillboard:!0,labelMaxWidth:"80%",labelOffsetX:4,labelOffsetY:0,labelPlacement:"center",labelTextBaseline:"middle",labelWordWrap:!1,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloPointerEvents:"none",haloStrokeOpacity:.25,haloZIndex:-1,loop:!0,startArrow:!1,startArrowLineDash:0,startArrowLineJoin:"round",startArrowLineWidth:1,startArrowTransformOrigin:"center",startArrowType:"vee",endArrow:!1,endArrowLineDash:0,endArrowLineJoin:"round",endArrowLineWidth:1,endArrowTransformOrigin:"center",endArrowType:"vee",loopPlacement:"top",loopClockwise:!0};class hl extends xo{constructor(e){super(Ai({style:hl.defaultStyleProps},e))}getKeyPath(e){const[t,n]=this.getEndpoints(e),{controlPoints:i,curvePosition:a,curveOffset:s}=e,o=this.getControlPoints(t,n,hL(a),uL(s),i);return A_(t,n,o)}getControlPoints(e,t,n,i,a){return(a==null?void 0:a.length)===2?a:[Hg(e,t,n[0],i[0]),Hg(e,t,n[1],i[1])]}}hl.defaultStyleProps={curvePosition:.5,curveOffset:20};class df extends hl{constructor(e){super(Ai({style:df.defaultStyleProps},e))}getControlPoints(e,t,n,i){const a=t[0]-e[0];return[[e[0]+a*n[0]+i[0],e[1]],[t[0]-a*n[1]+i[1],t[1]]]}}df.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class vf extends hl{constructor(e){super(Ai({style:vf.defaultStyleProps},e))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(e){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(e);const t=xi(this.ref),n=this.sourceNode.getIntersectPoint(t,!0),i=this.targetNode.getIntersectPoint(t);return[n,i]}toRadialCoordinate(e){const t=xi(this.ref),n=Ur(e,t),i=B1(Or(e,t));return[n,i]}getControlPoints(e,t,n,i){const[a,s]=this.toRadialCoordinate(e),[o]=this.toRadialCoordinate(t),l=o-a;return[[e[0]+(l*n[0]+i[0])*Math.cos(s),e[1]+(l*n[0]+i[0])*Math.sin(s)],[t[0]-(l*n[1]-i[0])*Math.cos(s),t[1]-(l*n[1]-i[0])*Math.sin(s)]]}}vf.defaultStyleProps={curvePosition:.5,curveOffset:20};class gf extends hl{constructor(e){super(Ai({style:gf.defaultStyleProps},e))}getControlPoints(e,t,n,i){const a=t[1]-e[1];return[[e[0],e[1]+a*n[0]+i[0]],[t[0],t[1]-a*n[1]+i[1]]]}}gf.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class pf extends xo{constructor(e){super(Ai({style:pf.defaultStyleProps},e))}getKeyPath(e){const[t,n]=this.getEndpoints(e);return[["M",t[0],t[1]],["L",n[0],n[1]]]}}pf.defaultStyleProps={};const TL={enableObstacleAvoidance:!1,offset:10,maxAllowedDirectionChange:Math.PI/2,maximumLoops:3e3,gridSize:5,startDirections:["top","right","bottom","left"],endDirections:["top","right","bottom","left"],directionMap:{right:{stepX:1,stepY:0},left:{stepX:-1,stepY:0},bottom:{stepX:0,stepY:1},top:{stepX:0,stepY:-1}},penalties:{0:0,90:0},distFunc:jh},Qs=r=>`${Math.round(r[0])}|||${Math.round(r[1])}`;function fl(r,e){const t=n=>Math.round(n/e);return dn(r)?t(r):r.map(t)}function AL(r,e){const t=Math.abs(r-e);return t>Math.PI?2*Math.PI-t:t}function D_(r,e){const t=e[0]-r[0],n=e[1]-r[1];return!t&&!n?0:Math.atan2(n,t)}function L_(r,e,t,n){const i=D_(r,e),a=t[Qs(r)],o=D_(a||n,r);return AL(o,i)}const CL=(r,e)=>{const{offset:t,gridSize:n}=e,i={};return r.forEach(a=>{if(!a||a.destroyed||!a.isVisible())return;const s=go(a.getRenderBounds(),t);for(let o=fl(s.min[0],n);o<=fl(s.max[0],n);o+=1)for(let l=fl(s.min[1],n);l<=fl(s.max[1],n);l+=1)i[`${o}|||${l}`]=!0}),i};function R_(r,e,t){return Math.min(...e.map(n=>t(r,n)))}function OL(r,e,t){let n=r[0],i=t(r[0],e);for(let a=0;a<r.length;a++){const s=r[a],o=t(s,e);o<i&&(n=s,i=o)}return n}const I_=(r,e,t,n)=>{if(!e)return[r];const{directionMap:i,offset:a}=n,s=go(e.getRenderBounds(),a),o=Object.keys(i).reduce((l,c)=>{if(t.includes(c)){const h=i[c],[p,C]=fo(s),k=[r[0]+h.stepX*p,r[1]+h.stepY*C],W=CC(s);for(let j=0;j<W.length;j++){const K=wg([r,k],W[j]);K&&Ky(K,s)&&l.push(K)}}return l},[]);return ls(r,s)||o.push(r),o.map(l=>fl(l,n.gridSize))},PL=(r,e,t,n,i,a,s)=>{const o=[];let l=[a[0]===n[0]?n[0]:r[0]*s,a[1]===n[1]?n[1]:r[1]*s];o.unshift(l);let c=r,h=e[Qs(c)];for(;h;){const k=h,W=c;L_(k,W,e,t)&&(l=[k[0]===W[0]?l[0]:k[0]*s,k[1]===W[1]?l[1]:k[1]*s],o.unshift(l)),h=e[Qs(k)],c=k}const p=i.map(k=>[k[0]*s,k[1]*s]),C=OL(p,l,jh);return o.unshift(C),o};function DL(r,e,t,n){const i=al(r.getCenter()),a=al(e.getCenter()),s=Object.assign(TL,n),{gridSize:o}=s,l=s.enableObstacleAvoidance?t:[r,e],c=CL(l,s),h=fl(i,o),p=fl(a,o),C=I_(i,r,s.startDirections,s),k=I_(a,e,s.endDirections,s);C.forEach(Ee=>delete c[Qs(Ee)]),k.forEach(Ee=>delete c[Qs(Ee)]);const W={},j={},K={},Q={},ee={},re=new LL;for(let Ee=0;Ee<C.length;Ee++){const De=C[Ee],Be=Qs(De);W[Be]=De,Q[Be]=0,ee[Be]=R_(De,k,s.distFunc),re.add({id:Be,value:ee[Be]})}const ve=k.map(Ee=>Qs(Ee));let he=s.maximumLoops,pe,_e=1/0;for(const[Ee,De]of Object.entries(W))ee[Ee]<=_e&&(_e=ee[Ee],pe=De);for(;Object.keys(W).length>0&&he>0;){const Ee=re.minId(!1);if(Ee)pe=W[Ee];else break;const De=Qs(pe);if(ve.includes(De))return PL(pe,K,h,a,C,p,o);delete W[De],re.remove(De),j[De]=!0;for(const Be of Object.values(s.directionMap)){const Fe=Jn(pe,[Be.stepX,Be.stepY]),Xe=Qs(Fe);if(j[Xe])continue;const qe=L_(pe,Fe,K,h);if(qe>s.maxAllowedDirectionChange||c[Xe])continue;W[Xe]||(W[Xe]=Fe);const ct=s.penalties[qe],ht=s.distFunc(pe,Fe)+(isNaN(ct)?o:ct),St=Q[De]+ht,bt=Q[Xe];bt&&St>=bt||(K[Xe]=pe,Q[Xe]=St,ee[Xe]=St+R_(Fe,k,s.distFunc),re.add({id:Xe,value:ee[Xe]}))}he-=1}return[]}class LL{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(e,t){let n=0,i=t-1;for(;i-n>1;){const a=Math.floor((n+i)/2);if(this.arr[a].value>e.value)i=a;else if(this.arr[a].value<e.value)n=a;else{this.arr.splice(a,0,e),this.map[e.id]=!0;return}}this.arr.splice(i,0,e),this.map[e.id]=!0}add(e){delete this.map[e.id];const t=this.arr.length;if(!t||this.arr[t-1].value<e.value){this.arr.push(e),this.map[e.id]=!0;return}this._innerAdd(e,t)}remove(e){this.map[e]&&delete this.map[e]}_clearAndGetMinId(){let e;for(let t=this.arr.length-1;t>=0;t--)this.map[this.arr[t].id]?e=this.arr[t].id:this.arr.splice(t,1);return e}_findFirstId(){for(;this.arr.length;){const e=this.arr.shift();if(this.map[e.id])return e.id}}minId(e){return e?this._clearAndGetMinId():this._findFirstId()}}class mf extends xo{constructor(e){super(Ai({style:mf.defaultStyleProps},e))}getControlPoints(e){const{router:t}=e,{sourceNode:n,targetNode:i}=this,[a,s]=this.getEndpoints(e,!1);let o=[];if(!t)o=e.controlPoints;else if(t.type==="shortest-path"){const l=this.context.element.getNodes();o=DL(n,i,l,t),o.length||(o=x_(a,s,n,i,e.controlPoints,{padding:t.offset}))}else t.type==="orth"&&(o=x_(a,s,n,i,e.controlPoints,t));return o}getPoints(e){const t=this.getControlPoints(e),[n,i]=this.getEndpoints(e,!0,t);return[n,...t,i]}getKeyPath(e){const t=this.getPoints(e);return jg(t,e.radius)}getLoopPath(e){const{sourcePort:t,targetPort:n,radius:i}=e,a=this.sourceNode,s=vo(a),o=Math.max(Os(s),Ps(s))/4,{placement:l,clockwise:c,dist:h=o}=gi(this.getGraphicStyle(e),"loop");return mL(a,i,l,c,h,t,n)}}mf.defaultStyleProps={radius:0,controlPoints:[],router:!1};class yf extends xo{constructor(e){super(Ai({style:yf.defaultStyleProps},e))}getKeyPath(e){const{curvePosition:t,curveOffset:n}=e,[i,a]=this.getEndpoints(e),s=e.controlPoint||Hg(i,a,t,n);return fL(i,a,s)}}yf.defaultStyleProps={curvePosition:.5,curveOffset:30};var RL=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function tu(r){return r instanceof fs&&r.type==="node"}function N_(r){return r instanceof xo}function Vg(r){return r instanceof Yl}function IL(r){return tu(r)||N_(r)||Vg(r)}function NL(r,e){return!r||!e?!1:r===e}const BL={top:[.5,0],right:[1,.5],bottom:[.5,1],left:[0,.5],default:[.5,.5]};function Zg(r,e,t=BL,n=!0){const i=[.5,.5],a=dr(e)?aa(t,e.toLocaleLowerCase(),i):e;if(!n&&dr(e))return a;const[s,o]=a||i;return[r.min[0]+Os(r)*s,r.min[1]+Ps(r)*o]}function Kg(r){if(!r)return{};const e=r.getPorts();return(r.attributes.ports||[]).forEach((n,i)=>{var a;const{key:s,placement:o}=n;B_(n)&&(e[a=s||i]||(e[a]=Xs(r.getShape("key").getBounds(),o)))}),e}function B_(r){const{r:e}=r;return!e||Number(e)===0}function bo(r){return Gl(r)?r:r.getPosition()}function kL(r,e,t,n){const i=k_(r,e,t,n),a=k_(e,r,n,t);return[i,a]}function k_(r,e,t,n){const i=Kg(r);if(t)return i[t];const a=Object.values(i);if(a.length===0)return;const s=a.map(c=>bo(c)),o=zL(e,n),[l]=MP(s,o);return a.find(c=>bo(c)===l)}function zL(r,e){const t=Kg(r);if(e)return[bo(t[e])];const n=Object.values(t);return n.length>0?n.map(i=>bo(i)):[r.getCenter()]}function z_(r,e){return Vg(r)||tu(r)?Xg(r,e):nu(r,e)}function nu(r,e){if(!r||!e)return[0,0,0];if(Gl(r))return r;if(r.attributes.linkToCenter)return r.getPosition();const t=Gl(e)?e:tu(e)?e.getCenter():e.getPosition();return Vh(t,r.getBounds())}function Xg(r,e){if(!r||!e)return[0,0,0];const t=Gl(e)?e:tu(e)?e.getCenter():e.getPosition();return r.getIntersectPoint(t)||r.getCenter()}function F_(r,e="bottom",t=0,n=0,i=!1){const a=e.split("-"),[s,o]=Xs(r,e),l=a.includes("left")?"right":a.includes("right")?"left":"center";let c=a.includes("top")?"bottom":a.includes("bottom")?"top":"middle";return i&&(c=c==="top"?"bottom":c==="bottom"?"top":c),{transform:[["translate",s+t,o+n]],textBaseline:c,textAlign:l}}function FL(r,e){return[[0,-r],[e*Math.cos(3*Math.PI/10),-e*Math.sin(3*Math.PI/10)],[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[e*Math.cos(Math.PI/10),e*Math.sin(Math.PI/10)],[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[0,e],[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[-e*Math.cos(Math.PI/10),e*Math.sin(Math.PI/10)],[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[-e*Math.cos(3*Math.PI/10),-e*Math.sin(3*Math.PI/10)]]}function UL(r,e){const t={};return t.top=[0,-r],t.left=[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],t["left-bottom"]=[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],t.bottom=[0,e],t["right-bottom"]=[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],t.right=t.default=[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],t}function WL(r,e,t){const n=e/2,i=r/2,a={up:[[-i,n],[i,n],[0,-n]],left:[[-i,0],[i,n],[i,-n]],right:[[-i,n],[-i,-n],[i,0]],down:[[-i,-n],[i,-n],[0,n]]};return a[t]||a.up}function HL(r,e,t){const n=e/2,i=r/2,a={};return t==="down"?(a.bottom=a.default=[0,n],a.right=[i,-n],a.left=[-i,-n]):t==="left"?(a.top=[i,-n],a.bottom=[i,n],a.left=a.default=[-i,0]):t==="right"?(a.top=[-i,-n],a.bottom=[-i,n],a.right=a.default=[i,0]):(a.left=[-i,n],a.top=a.default=[0,-n],a.right=[i,n]),a}function sU(r,e){return[[r/2,-e/2],[r/2,e/2],[-r/2,e/2],[-r/2,-e/2]]}function jL(r,e){return[[0,-e/2],[r/2,0],[0,e/2],[-r/2,0]]}function GL(r){return aa(r,["style","visibility"])!=="hidden"}function VL(r,e){const{zIndex:t,transform:n,transformOrigin:i,visibility:a,cursor:s,clipPath:o,component:l}=e,c=RL(e,["zIndex","transform","transformOrigin","visibility","cursor","clipPath","component"]);Object.assign(r.attributes,c),n&&r.setAttribute("transform",n),dn(t)&&r.setAttribute("zIndex",t),i&&r.setAttribute("transformOrigin",i),a&&r.setAttribute("visibility",a),s&&r.setAttribute("cursor",s),o&&r.setAttribute("clipPath",o),l&&r.setAttribute("component",l)}function Yg(r,e){"update"in r?r.update(e):r.attr(e)}function ZL(r){return[[0,r],[r*Math.sqrt(3)/2,r/2],[r*Math.sqrt(3)/2,-r/2],[0,-r],[-r*Math.sqrt(3)/2,-r/2],[-r*Math.sqrt(3)/2,r/2]]}function KL(r){Yc(r,"__to_be_destroyed__",!0)}function _f(r){return aa(r,"__to_be_destroyed__",!1)}var XL=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Ef extends Oa{constructor(e,t){super(e,Object.assign({},Ef.defaultOptions,t)),this.onCollapseExpand=n=>XL(this,void 0,void 0,function*(){if(!this.validate(n))return;const{target:i}=n;if(!IL(i))return;const a=i.id,{model:s,graph:o}=this.context,l=s.getElementDataById(a);if(!l)return!1;const{onCollapse:c,onExpand:h,animation:p,align:C}=this.options;xa(l)?(yield o.expandElement(a,{animation:p,align:C}),h==null||h(a)):(yield o.collapseElement(a,{animation:p,align:C}),c==null||c(a))}),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.on(`node:${t}`,this.onCollapseExpand),e.on(`combo:${t}`,this.onCollapseExpand)}unbindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.off(`node:${t}`,this.onCollapseExpand),e.off(`combo:${t}`,this.onCollapseExpand)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}Ef.defaultOptions={enable:!0,animation:!0,trigger:Nt.DBLCLICK,align:!0};var xf={},YL=function(r){return r=r||"g",xf[r]?xf[r]+=1:xf[r]=1,r+xf[r]},bf=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};const QL="g6-create-edge-assist-edge-id",wf="g6-create-edge-assist-node-id";class Mf extends Oa{constructor(e,t){super(e,Object.assign({},Mf.defaultOptions,t)),this.drop=n=>bf(this,void 0,void 0,function*(){const{targetType:i}=n;["combo","node"].includes(i)&&this.source?yield this.handleCreateEdge(n):yield this.cancelEdge()}),this.handleCreateEdge=n=>bf(this,void 0,void 0,function*(){var i,a,s;if(!this.validate(n))return;const{graph:o,canvas:l,batch:c,element:h}=this.context,{style:p}=this.options;if(this.source){this.createEdge(n),yield this.cancelEdge();return}c.startBatch(),l.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([n.target.id])[0];const C=o.getElementData(this.source);o.addNodeData([{id:wf,style:{visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(i=C.style)===null||i===void 0?void 0:i.x,y:(a=C.style)===null||a===void 0?void 0:a.y}}]),o.addEdgeData([{id:QL,source:this.source,target:wf,style:Object.assign({pointerEvents:"none"},p)}]),yield(s=h.draw({animation:!1}))===null||s===void 0?void 0:s.finished}),this.updateAssistEdge=n=>bf(this,void 0,void 0,function*(){var i;if(!this.source)return;const{model:a,element:s}=this.context;a.translateNodeTo(wf,[n.canvas.x,n.canvas.y]),yield(i=s.draw({animation:!1,silence:!0}))===null||i===void 0?void 0:i.finished}),this.createEdge=n=>{var i,a;const{graph:s}=this.context,{style:o,onFinish:l,onCreate:c}=this.options;if(((i=n.target)===null||i===void 0?void 0:i.id)===void 0||this.source===void 0)return;const p=(a=this.getSelectedNodeIDs([n.target.id]))===null||a===void 0?void 0:a[0],C=`${this.source}-${p}-${YL()}`,k=c({id:C,source:this.source,target:p,style:o});s.addEdgeData([k]),l(k)},this.cancelEdge=()=>bf(this,void 0,void 0,function*(){var n;if(!this.source)return;const{graph:i,element:a,batch:s}=this.context;i.removeNodeData([wf]),this.source=void 0,yield(n=a.draw({animation:!1}))===null||n===void 0?void 0:n.finished,s.endBatch()}),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;this.unbindEvents(),t==="click"?(e.on(Za.CLICK,this.handleCreateEdge),e.on(tl.CLICK,this.handleCreateEdge),e.on(js.CLICK,this.cancelEdge),e.on(Th.CLICK,this.cancelEdge)):(e.on(Za.DRAG_START,this.handleCreateEdge),e.on(tl.DRAG_START,this.handleCreateEdge),e.on(Nt.POINTER_UP,this.drop)),e.on(Nt.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(e){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(t=>t.id).concat(e)))}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;e.off(Za.CLICK,this.handleCreateEdge),e.off(tl.CLICK,this.handleCreateEdge),e.off(js.CLICK,this.cancelEdge),e.off(Th.CLICK,this.cancelEdge),e.off(Za.DRAG_START,this.handleCreateEdge),e.off(tl.DRAG_START,this.handleCreateEdge),e.off(Nt.POINTER_UP,this.drop),e.off(Nt.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}Mf.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:r=>r,onFinish:()=>{}};function JL(r,e,t){var n;return function(){var i=this,a=arguments,s=function(){n=null,t||r.apply(i,a)},o=t&&!n;clearTimeout(n),n=setTimeout(s,e),o&&r.apply(i,a)}}var ru=JL,U_=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Sf extends Oa{constructor(e,t){super(e,Object.assign({},Sf.defaultOptions,t)),this.isDragging=!1,this.onDragStart=n=>{this.validate(n)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=n=>{var i,a,s,o;if(!this.isDragging||oi.isPinching)return;const l=(a=(i=n.movement)===null||i===void 0?void 0:i.x)!==null&&a!==void 0?a:n.dx,c=(o=(s=n.movement)===null||s===void 0?void 0:s.y)!==null&&o!==void 0?o:n.dy;l|c&&this.translate([l,c],!1)},this.onDragEnd=()=>{var n,i;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},this.invokeOnFinish=ru(()=>{var n,i;(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},300),this.shortcut=new Zl(e.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{trigger:e}=this.options;if(ii(e)){const{up:t=[],down:n=[],left:i=[],right:a=[]}=e;this.shortcut.bind(t,s=>this.onTranslate([0,1],s)),this.shortcut.bind(n,s=>this.onTranslate([0,-1],s)),this.shortcut.bind(i,s=>this.onTranslate([1,0],s)),this.shortcut.bind(a,s=>this.onTranslate([-1,0],s))}else{const{graph:t}=this.context;t.on(Nt.DRAG_START,this.onDragStart),t.on(Nt.DRAG,this.onDrag),t.on(Nt.DRAG_END,this.onDragEnd)}}onTranslate(e,t){return U_(this,void 0,void 0,function*(){if(!this.validate(t))return;const{sensitivity:n}=this.options,i=n*-1;yield this.translate(Zs(e,i),this.options.animation),this.invokeOnFinish()})}translate(e,t){return U_(this,void 0,void 0,function*(){e=this.clampByDirection(e),e=this.clampByRange(e),yield this.context.graph.translateBy(e,t)})}clampByDirection([e,t]){const{direction:n}=this.options;return n==="x"?t=0:n==="y"&&(e=0),[e,t]}clampByRange([e,t]){const{viewport:n,canvas:i}=this.context,[a,s]=i.getSize(),[o,l,c,h]=os(this.options.range),p=[s*o,a*l,s*c,a*h],C=go(lg(n.getCanvasCenter()),p),k=Or(n.getViewportCenter(),[e,t,0]);if(!ls(k,C)){const{min:[W,j],max:[K,Q]}=C;(k[0]<W&&e>0||k[0]>K&&e<0)&&(e=0),(k[1]<j&&t>0||k[1]>Q&&t<0)&&(t=0)}return[e,t]}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return typeof t=="function"?t(e):!!t}unbindEvents(){this.shortcut.unbindAll();const{graph:e}=this.context;e.off(Nt.DRAG_START,this.onDragStart),e.off(Nt.DRAG,this.onDrag),e.off(Nt.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}Sf.defaultOptions={enable:r=>"targetType"in r?r.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var W_=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class iu extends Oa{constructor(e,t){super(e,Object.assign({},iu.defaultOptions,t)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=n=>W_(this,void 0,void 0,function*(){var i;if(this.options.dropEffect!=="link")return;const{model:a,element:s}=this.context,o=n.target.id;this.target.forEach(l=>{const c=a.getParentData(l,Lr);c&&Mt(c)===o&&a.refreshComboData(o),a.setParent(l,o,Lr)}),yield(i=s==null?void 0:s.draw({animation:!0}))===null||i===void 0?void 0:i.finished}),this.setCursor=n=>{if(this.isDragging)return;const{type:i}=n,{canvas:a}=this.context,{cursor:s}=this.options;i===Nt.POINTER_ENTER?a.setCursor((s==null?void 0:s.grab)||"grab"):a.setCursor((s==null?void 0:s.default)||"default")},this.onDragStart=this.onDragStart.bind(this),this.onDrag=this.onDrag.bind(this),this.onDragEnd=this.onDragEnd.bind(this),this.onDrop=this.onDrop.bind(this),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{graph:e,canvas:t}=this.context,n=t.getLayer().getContextService().$canvas;n&&(n.addEventListener("blur",this.onDragEnd),n.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{e.on(`${i}:${Nt.DRAG_START}`,this.onDragStart),e.on(`${i}:${Nt.DRAG}`,this.onDrag),e.on(`${i}:${Nt.DRAG_END}`,this.onDragEnd),e.on(`${i}:${Nt.POINTER_ENTER}`,this.setCursor),e.on(`${i}:${Nt.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(e.on(tl.DROP,this.onDrop),e.on(js.DROP,this.onDrop))}getSelectedNodeIDs(e){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(t=>t.id).concat(e)))}getDelta(e){const t=this.context.graph.getZoom();return us([e.dx,e.dy],t)}onDragStart(e){var t;if(this.enable=this.validate(e),!this.enable)return;const{batch:n,canvas:i,graph:a}=this.context;i.setCursor(((t=this.options.cursor)===null||t===void 0?void 0:t.grabbing)||"grabbing"),this.isDragging=!0,n.startBatch();const s=e.target.id;a.getElementState(s).includes(this.options.state)?this.target=this.getSelectedNodeIDs([s]):this.target=[s],this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(e){if(!this.enable)return;const t=this.getDelta(e);this.options.shadow?this.moveShadow(t):this.moveElement(this.target,t)}onDragEnd(){var e,t,n;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:s=0,y:o=0}=this.shadow.attributes,[l,c]=Or([+s,+o],this.shadowOrigin);this.moveElement(this.target,[l,c])}this.showEdges(),(t=(e=this.options).onFinish)===null||t===void 0||t.call(e,this.target);const{batch:i,canvas:a}=this.context;i.endBatch(),a.setCursor(((n=this.options.cursor)===null||n===void 0?void 0:n.grab)||"grab"),this.isDragging=!1,this.target=[]}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}moveElement(e,t){return W_(this,void 0,void 0,function*(){const{graph:n,model:i}=this.context,{dropEffect:a}=this.options;a==="move"&&e.forEach(s=>i.refreshComboData(s)),n.translateElementBy(Object.fromEntries(e.map(s=>[s,t])),!1)})}moveShadow(e){if(!this.shadow)return;const{x:t=0,y:n=0}=this.shadow.attributes,[i,a]=e;this.shadow.attr({x:+t+i,y:+n+a})}createShadow(e){const t=gi(this.options,"shadow"),n=Hc(e.map(c=>this.context.element.getElement(c).getBounds())),[i,a]=n.min;this.shadowOrigin=[i,a];const[s,o]=fo(n),l={width:s,height:o,x:i,y:a};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},t),l),{visibility:"visible"})):(this.shadow=new Ii({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},t),l),{pointerEvents:"none"})}),this.context.canvas.appendChild(this.shadow))}showEdges(){this.options.shadow||this.hiddenEdges.length===0||(this.context.graph.showElement(this.hiddenEdges),this.hiddenEdges=[])}hideEdge(){const{hideEdge:e,shadow:t}=this.options;if(e==="none"||t)return;const{graph:n}=this.context;e==="all"?this.hiddenEdges=n.getEdgeData().map(Mt):this.hiddenEdges=Array.from(new Set(this.target.map(i=>n.getRelatedEdgesData(i,e).map(Mt)).flat())),n.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:e,canvas:t}=this.context,n=t.getLayer().getContextService().$canvas;n&&(n.removeEventListener("blur",this.onDragEnd),n.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{e.off(`${i}:${Nt.DRAG_START}`,this.onDragStart),e.off(`${i}:${Nt.DRAG}`,this.onDrag),e.off(`${i}:${Nt.DRAG_END}`,this.onDragEnd),e.off(`${i}:${Nt.POINTER_ENTER}`,this.setCursor),e.off(`${i}:${Nt.POINTER_LEAVE}`,this.setCursor)}),e.off(`combo:${Nt.DROP}`,this.onDrop),e.off(`canvas:${Nt.DROP}`,this.onDrop)}destroy(){var e;this.unbindEvents(),(e=this.shadow)===null||e===void 0||e.destroy(),super.destroy()}}iu.defaultOptions={animation:!0,enable:r=>["node","combo"].includes(r.targetType),dropEffect:"move",state:"selected",hideEdge:"none",shadow:!1,shadowZIndex:100,shadowFill:"#F3F9FF",shadowFillOpacity:.5,shadowStroke:"#1890FF",shadowStrokeOpacity:.9,shadowLineDash:[5,5],cursor:{default:"default",grab:"grab",grabbing:"grabbing"}};var qL="*",$L=function(){function r(){this._events={}}return r.prototype.on=function(e,t,n){return this._events[e]||(this._events[e]=[]),this._events[e].push({callback:t,once:!!n}),this},r.prototype.once=function(e,t){return this.on(e,t,!0)},r.prototype.emit=function(e){for(var t=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];var a=this._events[e]||[],s=this._events[qL]||[],o=function(l){for(var c=l.length,h=0;h<c;h++)if(l[h]){var p=l[h],C=p.callback,k=p.once;k&&(l.splice(h,1),l.length===0&&delete t._events[e],c--,h--),C.apply(t,n)}};o(a),o(s)},r.prototype.off=function(e,t){if(!e)this._events={};else if(!t)delete this._events[e];else{for(var n=this._events[e]||[],i=n.length,a=0;a<i;a++)n[a].callback===t&&(n.splice(a,1),i--,a--);n.length===0&&delete this._events[e]}return this},r.prototype.getEvents=function(){return this._events},r}(),Tf=$L;function Qg(r,e,t,n){for(;r.length;){const i=r.shift();if(t(i))return!0;e.add(i.id),n(i.id).forEach(s=>{e.has(s.id)||(e.add(s.id),r.push(s))})}return!1}function Af(r,e,t,n){if(t(r))return!0;e.add(r.id);for(const a of n(r.id))if(!e.has(a.id)&&Af(a,e,t,n))return!0;return!1}const H_=()=>!0;class eR{constructor(e){Xr(this,"graph");Xr(this,"nodeFilter");Xr(this,"edgeFilter");Xr(this,"cacheEnabled");Xr(this,"inEdgesMap",new Map);Xr(this,"outEdgesMap",new Map);Xr(this,"bothEdgesMap",new Map);Xr(this,"allNodesMap",new Map);Xr(this,"allEdgesMap",new Map);Xr(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});Xr(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(e=>e.id))});Xr(this,"updateCache",e=>{const t=new Set;e.forEach(n=>{const i=this.bothEdgesMap.get(n);if(i&&i.forEach(a=>t.add(a.id)),!this.hasNode(n))this.inEdgesMap.delete(n),this.outEdgesMap.delete(n),this.bothEdgesMap.delete(n),this.allNodesMap.delete(n);else{const a=this.graph.getRelatedEdges(n,"in").filter(this.edgeFilter),s=this.graph.getRelatedEdges(n,"out").filter(this.edgeFilter),o=Array.from(new Set([...a,...s]));o.forEach(l=>t.add(l.id)),this.inEdgesMap.set(n,a),this.outEdgesMap.set(n,s),this.bothEdgesMap.set(n,o),this.allNodesMap.set(n,this.graph.getNode(n))}}),t.forEach(n=>{this.hasEdge(n)?this.allEdgesMap.set(n,this.graph.getEdge(n)):this.allEdgesMap.delete(n)})});Xr(this,"handleGraphChanged",e=>{const t=new Set;e.changes.forEach(n=>{switch(n.type){case"NodeAdded":t.add(n.value.id);break;case"NodeDataUpdated":t.add(n.id);break;case"EdgeAdded":t.add(n.value.source),t.add(n.value.target);break;case"EdgeUpdated":(n.propertyName==="source"||n.propertyName==="target")&&(t.add(n.oldValue),t.add(n.newValue));break;case"EdgeDataUpdated":if(e.graph.hasEdge(n.id)){const i=e.graph.getEdge(n.id);t.add(i.source),t.add(i.target)}break;case"EdgeRemoved":t.add(n.value.source),t.add(n.value.target);break;case"NodeRemoved":t.add(n.value.id);break;default:break}}),this.updateCache(t)});this.graph=e.graph;const t=e.nodeFilter||H_,n=e.edgeFilter||H_;this.nodeFilter=t,this.edgeFilter=i=>{const{source:a,target:s}=this.graph.getEdgeDetail(i.id);return!t(a)||!t(s)?!1:n(i,a,s)},e.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):e.cache==="manual"?this.cacheEnabled=!0:this.cacheEnabled=!1}startAutoCache(){this.refreshCache(),this.graph.on("changed",this.handleGraphChanged)}stopAutoCache(){this.graph.off("changed",this.handleGraphChanged)}checkNodeExistence(e){this.getNode(e)}hasNode(e){if(!this.graph.hasNode(e))return!1;const t=this.graph.getNode(e);return this.nodeFilter(t)}areNeighbors(e,t){return this.checkNodeExistence(e),this.getNeighbors(t).some(n=>n.id===e)}getNode(e){const t=this.graph.getNode(e);if(!this.nodeFilter(t))throw new Error("Node not found for id: "+e);return t}getRelatedEdges(e,t){return this.checkNodeExistence(e),this.cacheEnabled?t==="in"?this.inEdgesMap.get(e):t==="out"?this.outEdgesMap.get(e):this.bothEdgesMap.get(e):this.graph.getRelatedEdges(e,t).filter(this.edgeFilter)}getDegree(e,t){return this.getRelatedEdges(e,t).length}getSuccessors(e){const n=this.getRelatedEdges(e,"out").map(i=>this.getNode(i.target));return Array.from(new Set(n))}getPredecessors(e){const n=this.getRelatedEdges(e,"in").map(i=>this.getNode(i.source));return Array.from(new Set(n))}getNeighbors(e){const t=this.getPredecessors(e),n=this.getSuccessors(e);return Array.from(new Set([...t,...n]))}hasEdge(e){if(!this.graph.hasEdge(e))return!1;const t=this.graph.getEdge(e);return this.edgeFilter(t)}getEdge(e){const t=this.graph.getEdge(e);if(!this.edgeFilter(t))throw new Error("Edge not found for id: "+e);return t}getEdgeDetail(e){const t=this.getEdge(e);return{edge:t,source:this.getNode(t.source),target:this.getNode(t.target)}}hasTreeStructure(e){return this.graph.hasTreeStructure(e)}getRoots(e){return this.graph.getRoots(e).filter(this.nodeFilter)}getChildren(e,t){return this.checkNodeExistence(e),this.graph.getChildren(e,t).filter(this.nodeFilter)}getParent(e,t){this.checkNodeExistence(e);const n=this.graph.getParent(e,t);return!n||!this.nodeFilter(n)?null:n}getAllNodes(){return this.cacheEnabled?Array.from(this.allNodesMap.values()):this.graph.getAllNodes().filter(this.nodeFilter)}getAllEdges(){return this.cacheEnabled?Array.from(this.allEdgesMap.values()):this.graph.getAllEdges().filter(this.edgeFilter)}bfs(e,t,n="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[n];Qg([this.getNode(e)],new Set,t,i)}dfs(e,t,n="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[n];Af(this.getNode(e),new Set,t,i)}}class ci extends Tf{constructor(t){super();Xr(this,"nodeMap",new Map);Xr(this,"edgeMap",new Map);Xr(this,"inEdgesMap",new Map);Xr(this,"outEdgesMap",new Map);Xr(this,"bothEdgesMap",new Map);Xr(this,"treeIndices",new Map);Xr(this,"changes",[]);Xr(this,"batchCount",0);Xr(this,"onChanged",()=>{});Xr(this,"batch",t=>{this.batchCount+=1,t(),this.batchCount-=1,this.batchCount||this.commit()});t&&(t.nodes&&this.addNodes(t.nodes),t.edges&&this.addEdges(t.edges),t.tree&&this.addTree(t.tree),t.onChanged&&(this.onChanged=t.onChanged))}commit(){const t=this.changes;this.changes=[];const n={graph:this,changes:t};this.emit("changed",n),this.onChanged(n)}reduceChanges(t){let n=[];return t.forEach(i=>{switch(i.type){case"NodeRemoved":{let a=!1;n=n.filter(s=>{if(s.type==="NodeAdded"){const o=s.value.id===i.value.id;return o&&(a=!0),!o}else{if(s.type==="NodeDataUpdated")return s.id!==i.value.id;if(s.type==="TreeStructureChanged")return s.nodeId!==i.value.id}return!0}),a||n.push(i);break}case"EdgeRemoved":{let a=!1;n=n.filter(s=>{if(s.type==="EdgeAdded"){const o=s.value.id===i.value.id;return o&&(a=!0),!o}else if(s.type==="EdgeDataUpdated"||s.type==="EdgeUpdated")return s.id!==i.value.id;return!0}),a||n.push(i);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const a=n.findIndex(o=>o.type===i.type&&o.id===i.id&&(i.propertyName===void 0||o.propertyName===i.propertyName)),s=n[a];s?i.propertyName!==void 0?s.newValue=i.newValue:(n.splice(a,1),n.push(i)):n.push(i);break}case"TreeStructureDetached":{n=n.filter(a=>a.type==="TreeStructureAttached"||a.type==="TreeStructureChanged"?a.treeKey!==i.treeKey:!0),n.push(i);break}case"TreeStructureChanged":{const a=n.find(s=>s.type==="TreeStructureChanged"&&s.treeKey===i.treeKey&&s.nodeId===i.nodeId);a?a.newParentId=i.newParentId:n.push(i);break}default:n.push(i);break}}),n}checkNodeExistence(t){this.getNode(t)}hasNode(t){return this.nodeMap.has(t)}areNeighbors(t,n){return this.getNeighbors(n).some(i=>i.id===t)}getNode(t){const n=this.nodeMap.get(t);if(!n)throw new Error("Node not found for id: "+t);return n}getRelatedEdges(t,n){if(this.checkNodeExistence(t),n==="in"){const i=this.inEdgesMap.get(t);return Array.from(i)}else if(n==="out"){const i=this.outEdgesMap.get(t);return Array.from(i)}else{const i=this.bothEdgesMap.get(t);return Array.from(i)}}getDegree(t,n){return this.getRelatedEdges(t,n).length}getSuccessors(t){const i=this.getRelatedEdges(t,"out").map(a=>this.getNode(a.target));return Array.from(new Set(i))}getPredecessors(t){const i=this.getRelatedEdges(t,"in").map(a=>this.getNode(a.source));return Array.from(new Set(i))}getNeighbors(t){const n=this.getPredecessors(t),i=this.getSuccessors(t);return Array.from(new Set([...n,...i]))}doAddNode(t){if(this.hasNode(t.id))throw new Error("Node already exists: "+t.id);this.nodeMap.set(t.id,t),this.inEdgesMap.set(t.id,new Set),this.outEdgesMap.set(t.id,new Set),this.bothEdgesMap.set(t.id,new Set),this.treeIndices.forEach(n=>{n.childrenMap.set(t.id,new Set)}),this.changes.push({type:"NodeAdded",value:t})}addNodes(t){this.batch(()=>{for(const n of t)this.doAddNode(n)})}addNode(t){this.addNodes([t])}doRemoveNode(t){const n=this.getNode(t),i=this.bothEdgesMap.get(t);i==null||i.forEach(a=>this.doRemoveEdge(a.id)),this.nodeMap.delete(t),this.treeIndices.forEach(a=>{var o,l;(o=a.childrenMap.get(t))==null||o.forEach(c=>{a.parentMap.delete(c.id)});const s=a.parentMap.get(t);s&&((l=a.childrenMap.get(s.id))==null||l.delete(n)),a.parentMap.delete(t),a.childrenMap.delete(t)}),this.bothEdgesMap.delete(t),this.inEdgesMap.delete(t),this.outEdgesMap.delete(t),this.changes.push({type:"NodeRemoved",value:n})}removeNodes(t){this.batch(()=>{t.forEach(n=>this.doRemoveNode(n))})}removeNode(t){this.removeNodes([t])}updateNodeDataProperty(t,n,i){const a=this.getNode(t);this.batch(()=>{const s=a.data[n],o=i;a.data[n]=o,this.changes.push({type:"NodeDataUpdated",id:t,propertyName:n,oldValue:s,newValue:o})})}mergeNodeData(t,n){this.batch(()=>{Object.entries(n).forEach(([i,a])=>{this.updateNodeDataProperty(t,i,a)})})}updateNodeData(...t){const n=t[0],i=this.getNode(n);if(typeof t[1]=="string"){this.updateNodeDataProperty(n,t[1],t[2]);return}let a;if(typeof t[1]=="function"){const s=t[1];a=s(i.data)}else typeof t[1]=="object"&&(a=t[1]);this.batch(()=>{const s=i.data,o=a;i.data=a,this.changes.push({type:"NodeDataUpdated",id:n,oldValue:s,newValue:o})})}checkEdgeExistence(t){if(!this.hasEdge(t))throw new Error("Edge not found for id: "+t)}hasEdge(t){return this.edgeMap.has(t)}getEdge(t){return this.checkEdgeExistence(t),this.edgeMap.get(t)}getEdgeDetail(t){const n=this.getEdge(t);return{edge:n,source:this.getNode(n.source),target:this.getNode(n.target)}}doAddEdge(t){if(this.hasEdge(t.id))throw new Error("Edge already exists: "+t.id);this.checkNodeExistence(t.source),this.checkNodeExistence(t.target),this.edgeMap.set(t.id,t);const n=this.inEdgesMap.get(t.target),i=this.outEdgesMap.get(t.source),a=this.bothEdgesMap.get(t.source),s=this.bothEdgesMap.get(t.target);n.add(t),i.add(t),a.add(t),s.add(t),this.changes.push({type:"EdgeAdded",value:t})}addEdges(t){this.batch(()=>{for(const n of t)this.doAddEdge(n)})}addEdge(t){this.addEdges([t])}doRemoveEdge(t){const n=this.getEdge(t),i=this.outEdgesMap.get(n.source),a=this.inEdgesMap.get(n.target),s=this.bothEdgesMap.get(n.source),o=this.bothEdgesMap.get(n.target);i.delete(n),a.delete(n),s.delete(n),o.delete(n),this.edgeMap.delete(t),this.changes.push({type:"EdgeRemoved",value:n})}removeEdges(t){this.batch(()=>{t.forEach(n=>this.doRemoveEdge(n))})}removeEdge(t){this.removeEdges([t])}updateEdgeSource(t,n){const i=this.getEdge(t);this.checkNodeExistence(n);const a=i.source,s=n;this.outEdgesMap.get(a).delete(i),this.bothEdgesMap.get(a).delete(i),this.outEdgesMap.get(s).add(i),this.bothEdgesMap.get(s).add(i),i.source=n,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:t,propertyName:"source",oldValue:a,newValue:s})})}updateEdgeTarget(t,n){const i=this.getEdge(t);this.checkNodeExistence(n);const a=i.target,s=n;this.inEdgesMap.get(a).delete(i),this.bothEdgesMap.get(a).delete(i),this.inEdgesMap.get(s).add(i),this.bothEdgesMap.get(s).add(i),i.target=n,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:t,propertyName:"target",oldValue:a,newValue:s})})}updateEdgeDataProperty(t,n,i){const a=this.getEdge(t);this.batch(()=>{const s=a.data[n],o=i;a.data[n]=o,this.changes.push({type:"EdgeDataUpdated",id:t,propertyName:n,oldValue:s,newValue:o})})}updateEdgeData(...t){const n=t[0],i=this.getEdge(n);if(typeof t[1]=="string"){this.updateEdgeDataProperty(n,t[1],t[2]);return}let a;if(typeof t[1]=="function"){const s=t[1];a=s(i.data)}else typeof t[1]=="object"&&(a=t[1]);this.batch(()=>{const s=i.data,o=a;i.data=a,this.changes.push({type:"EdgeDataUpdated",id:n,oldValue:s,newValue:o})})}mergeEdgeData(t,n){this.batch(()=>{Object.entries(n).forEach(([i,a])=>{this.updateEdgeDataProperty(t,i,a)})})}checkTreeExistence(t){if(!this.hasTreeStructure(t))throw new Error("Tree structure not found for treeKey: "+t)}hasTreeStructure(t){return this.treeIndices.has(t)}attachTreeStructure(t){this.treeIndices.has(t)||(this.treeIndices.set(t,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:t})}))}detachTreeStructure(t){this.checkTreeExistence(t),this.treeIndices.delete(t),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:t})})}addTree(t,n){this.batch(()=>{this.attachTreeStructure(n);const i=[],a=Array.isArray(t)?t:[t];for(;a.length;){const s=a.shift();i.push(s),s.children&&a.push(...s.children)}this.addNodes(i),i.forEach(s=>{var o;(o=s.children)==null||o.forEach(l=>{this.setParent(l.id,s.id,n)})})})}getRoots(t){return this.checkTreeExistence(t),this.getAllNodes().filter(n=>!this.getParent(n.id,t))}getChildren(t,n){this.checkNodeExistence(t),this.checkTreeExistence(n);const a=this.treeIndices.get(n).childrenMap.get(t);return Array.from(a||[])}getParent(t,n){return this.checkNodeExistence(t),this.checkTreeExistence(n),this.treeIndices.get(n).parentMap.get(t)||null}getAncestors(t,n){const i=[];let a=this.getNode(t),s;for(;s=this.getParent(a.id,n);)i.push(s),a=s;return i}setParent(t,n,i){var h,p;this.checkTreeExistence(i);const a=this.treeIndices.get(i);if(!a)return;const s=this.getNode(t),o=a.parentMap.get(t);if((o==null?void 0:o.id)===n)return;if(n==null){o&&((h=a.childrenMap.get(o.id))==null||h.delete(s)),a.parentMap.delete(t);return}const l=this.getNode(n);a.parentMap.set(t,l),o&&((p=a.childrenMap.get(o.id))==null||p.delete(s));let c=a.childrenMap.get(l.id);c||(c=new Set,a.childrenMap.set(l.id,c)),c.add(s),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:i,nodeId:t,oldParentId:o==null?void 0:o.id,newParentId:l.id})})}dfsTree(t,n,i){const a=s=>this.getChildren(s,i);return Af(this.getNode(t),new Set,n,a)}bfsTree(t,n,i){const a=s=>this.getChildren(s,i);return Qg([this.getNode(t)],new Set,n,a)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(t,n,i="out"){const a={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return Qg([this.getNode(t)],new Set,n,a)}dfs(t,n,i="out"){const a={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return Af(this.getNode(t),new Set,n,a)}clone(){const t=this.getAllNodes().map(a=>b0(vc({},a),{data:vc({},a.data)})),n=this.getAllEdges().map(a=>b0(vc({},a),{data:vc({},a.data)})),i=new ci({nodes:t,edges:n});return this.treeIndices.forEach(({parentMap:a,childrenMap:s},o)=>{const l=new Map;a.forEach((h,p)=>{l.set(p,i.getNode(h.id))});const c=new Map;s.forEach((h,p)=>{c.set(p,new Set(Array.from(h).map(C=>i.getNode(C.id))))}),i.treeIndices.set(o,{parentMap:l,childrenMap:c})}),i}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(t){return new eR(vc({graph:this},t))}}class Cf{constructor(e,t){this.context=e,this.options=t||{}}}var tR=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})},nR=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function oU(r){const{type:e}=r;return!!(["comboCombined","comboForce"].includes(e)||e==="antv-dagre"&&r.sortByCombo)}function rR(r){const{type:e}=r;return["compact-box","mindmap","dendrogram","indented"].includes(e)}function lU(r){return isNumber(r.x)&&isNumber(r.y)}function iR(r){return!Array.isArray(r)&&(r==null?void 0:r.preLayout)}function Of(r){const{nodes:e,edges:t}=r,n={nodes:[],edges:[],combos:[]};return e.forEach(i=>{const a=i.data._isCombo?n.combos:n.nodes,{x:s,y:o,z:l=0}=i.data;a==null||a.push({id:i.id,style:{x:s,y:o,z:l}})}),t.forEach(i=>{const{id:a,source:s,target:o,data:{points:l=[],controlPoints:c=l.slice(1,l.length-1)}}=i;n.edges.push({id:a,source:s,target:o,style:Object.assign({},c!=null&&c.length?{controlPoints:c.map(Ni)}:{})})}),n}function aR(r,e){class t extends Cf{constructor(i,a){if(super(i,a),this.instance=new r({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const s=this.instance;this.stop=s.stop.bind(s),this.tick=o=>{const l=s.tick(o);return Of(l)}}}execute(i,a){return tR(this,void 0,void 0,function*(){return Of(yield this.instance.execute(this.graphData2LayoutModel(i),this.transformOptions(ia({},this.options,a))))})}transformOptions(i){const{onTick:a}=i;return a&&(i.onTick=s=>a(Of(s))),i}graphData2LayoutModel(i){const{nodes:a=[],edges:s=[],combos:o=[]}=i,l=a.map(k=>{const W=Mt(k),{data:j,style:K,combo:Q}=k,ee=nR(k,["data","style","combo"]),re={id:W,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},j),{data:j}),Q?{parentId:Q}:{}),{style:K}),ee)};return K!=null&&K.x&&Object.assign(re.data,{x:K.x}),K!=null&&K.y&&Object.assign(re.data,{y:K.y}),K!=null&&K.z&&Object.assign(re.data,{z:K.z}),re}),c=new Map(l.map(k=>[k.id,k])),h=s.filter(k=>{const{source:W,target:j}=k;return c.has(W)&&c.has(j)}).map(k=>{const{source:W,target:j,data:K,style:Q}=k;return{id:Mt(k),source:W,target:j,data:Object.assign({},K),style:Object.assign({},Q)}}),p=o.map(k=>({id:Mt(k),data:Object.assign({_isCombo:!0},k.data),style:Object.assign({},k.style)})),C=new ci({nodes:[...l,...p],edges:h});return e.model.model.hasTreeStructure(Lr)&&(C.attachTreeStructure(Lr),l.forEach(k=>{const W=e.model.model.getParent(k.id,Lr);W&&C.hasNode(W.id)&&C.setParent(k.id,W.id,Lr)})),C}}return t}function Jg(r,e,...t){if(e in r)return r[e](...t);if("instance"in r){const n=r.instance;if(e in n)return n[e](...t)}return null}function j_(r,e){if(e in r)return r[e];if("instance"in r){const t=r.instance;if(e in t)return t[e]}return null}var sR=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class oR extends iu{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(e=>["d3-force","d3-force-3d"].includes(e==null?void 0:e.id))}validate(e){return this.context.layout?this.forceLayoutInstance?super.validate(e):(Ea.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(e,t){return sR(this,void 0,void 0,function*(){const n=this.forceLayoutInstance;this.context.graph.getNodeData(e).forEach((i,a)=>{const{x:s=0,y:o=0}=i.style||{};n&&Jg(n,"setFixedPosition",e[a],[...Jn([+s,+o],t)])})})}onDragStart(e){if(this.enable=this.validate(e),!this.enable)return;this.target=this.getSelectedNodeIDs([e.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const t=this.forceLayoutInstance;t&&j_(t,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(n=>{const{x:i=0,y:a=0}=n.style||{};t&&Jg(t,"setFixedPosition",Mt(n),[+i,+a])})}onDrag(e){if(!this.enable)return;const t=this.getDelta(e);this.moveElement(this.target,t)}onDragEnd(){const e=this.forceLayoutInstance;e&&j_(e,"simulation").alphaTarget(0),!this.options.fixed&&this.context.graph.getNodeData(this.target).forEach(t=>{e&&Jg(e,"setFixedPosition",Mt(t),[null,null,null])})}}var G_=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Pf extends Oa{constructor(e,t){super(e,Object.assign({},Pf.defaultOptions,t)),this.isZoomEvent=n=>!!(n.data&&"scale"in n.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=n=>G_(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context,{state:a,nodeFilter:s,edgeFilter:o,comboFilter:l}=this.options,c=(a?i.getElementDataByState("node",a):i.getNodeData()).filter(s),h=(a?i.getElementDataByState("edge",a):i.getEdgeData()).filter(o),p=(a?i.getElementDataByState("combo",a):i.getComboData()).filter(l),C=this.isZoomEvent(n)?this.zoom=Math.max(.01,Math.min(n.data.scale,10)):this.zoom,k=[...c,...p];k.length>0&&k.forEach(W=>this.fixNodeLike(W,C)),this.updateRelatedEdges(),h.length>0&&h.forEach(W=>this.fixEdge(W,C))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(n,i,a)=>{var s;const o=this.cachedStyles.get(n)||[],l=((s=o.find(c=>c.shape===i))===null||s===void 0?void 0:s.style)||{};return a in l||(l[a]=i.attributes[a],this.cachedStyles.set(n,[...o.filter(c=>c.shape!==i),{shape:i,style:l}])),l[a]},this.scaleEntireElement=(n,i,a)=>{i.setLocalScale(1/a);const s=this.cachedStyles.get(n)||[];s.push({shape:i}),this.cachedStyles.set(n,s)},this.scaleSpecificShapes=(n,i,a)=>{const s=QP(n);(Array.isArray(a)?a:[a]).forEach(l=>{const{shape:c,fields:h}=l,p=typeof c=="function"?c(s):n.getShape(c);if(p){if(!h){this.scaleEntireElement(n.id,p,i);return}h.forEach(C=>{const k=this.getOriginalFieldValue(n.id,p,C);dn(k)&&(p.style[C]=k/i)})}})},this.skipIfExceedViewport=n=>{const{viewport:i}=this.context;return!(i!=null&&i.isInViewport(n.getRenderBounds(),!1,30))},this.fixNodeLike=(n,i)=>{const a=Mt(n),{element:s,model:o}=this.context,l=s.getElement(a);if(!l||this.skipIfExceedViewport(l))return;o.getRelatedEdgesData(a).forEach(p=>this.relatedEdgeToUpdate.add(Mt(p)));const h=this.options[l.type];if(!h){this.scaleEntireElement(a,l,i);return}this.scaleSpecificShapes(l,i,h)},this.fixEdge=(n,i)=>{const a=Mt(n),s=this.context.element.getElement(a);if(!s||this.skipIfExceedViewport(s))return;const o=this.options.edge;if(!o){s.style.transformOrigin="center",this.scaleEntireElement(a,s,i);return}this.scaleSpecificShapes(s,i,o)},this.updateRelatedEdges=()=>{const{element:n}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(i=>{const a=n.getElement(i);a==null||a.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=n=>G_(this,void 0,void 0,function*(){var i;!((i=n.data)===null||i===void 0)&&i.firstRender||(this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}}))}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(i=>{i.forEach(({shape:a,style:s})=>{if(Ls(s))a.setLocalScale(1);else{if(this.options.state)return;Object.entries(s).forEach(([o,l])=>a.style[o]=l)}})});const{graph:e,element:t}=this.context,n=Object.keys(Object.fromEntries(this.cachedStyles)).filter(i=>i&&e.getElementType(i)==="node");if(n.length>0){const i=new Set;n.forEach(a=>{e.getRelatedEdgesData(a).forEach(s=>i.add(Mt(s)))}),i.forEach(a=>{const s=t==null?void 0:t.getElement(a);s==null||s.update({})})}}}bindEvents(){const{graph:e}=this.context;e.on(qt.AFTER_DRAW,this.resetTransform),e.on(qt.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:e}=this.context;e.off(qt.AFTER_DRAW,this.resetTransform),e.off(qt.AFTER_TRANSFORM,this.fixElementSize)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}Pf.defaultOptions={enable:r=>r.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var lR=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Df extends Oa{constructor(e,t){super(e,Object.assign({},Df.defaultOptions,t)),this.focus=n=>lR(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context;yield i.focusElement(n.target.id,this.options.animation)}),this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),sl.forEach(t=>{e.on(`${t}:${Nt.CLICK}`,this.focus)})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;sl.forEach(t=>{e.off(`${t}:${Nt.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),super.destroy()}}Df.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0};class Lf extends Oa{constructor(e,t){super(e,Object.assign({},Lf.defaultOptions,t)),this.isFrozen=!1,this.toggleFrozen=n=>{this.isFrozen=n.type==="dragstart"},this.hoverElement=n=>{if(!this.validate(n))return;const i=n.type===Nt.POINTER_ENTER;this.updateElementsState(n,i);const{onHover:a,onHoverEnd:s}=this.options;i?a==null||a(n):s==null||s(n)},this.updateElementsState=(n,i)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:a}=this.context,{state:s,animation:o,inactiveState:l}=this.options,c=this.getActiveIds(n),h={};if(s&&Object.assign(h,this.getElementsState(c,s,i)),l){const p=D1(a.getData(),!0).filter(C=>!c.includes(C));Object.assign(h,this.getElementsState(p,l,i))}a.setElementState(h,o)},this.getElementsState=(n,i,a)=>{const{graph:s}=this.context,o={};return n.forEach(l=>{const c=s.getElementState(l);a?o[l]=c.includes(i)?c:[...c,i]:o[l]=c.filter(h=>h!==i)}),o},this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),sl.forEach(n=>{e.on(`${n}:${Nt.POINTER_ENTER}`,this.hoverElement),e.on(`${n}:${Nt.POINTER_LEAVE}`,this.hoverElement)});const t=this.context.canvas.document;t.addEventListener(`${Nt.DRAG_START}`,this.toggleFrozen),t.addEventListener(`${Nt.DRAG_END}`,this.toggleFrozen)}getActiveIds(e){const{graph:t}=this.context,{degree:n,direction:i}=this.options,a=e.target.id;return n?K1(t,e.targetType,a,typeof n=="function"?n(e):n,i):[a]}validate(e){if(this.destroyed||this.isFrozen||_f(e.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;sl.forEach(n=>{e.off(`${n}:${Nt.POINTER_ENTER}`,this.hoverElement),e.off(`${n}:${Nt.POINTER_LEAVE}`,this.hoverElement)});const t=this.context.canvas.document;t.removeEventListener(`${Nt.DRAG_START}`,this.toggleFrozen),t.removeEventListener(`${Nt.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}Lf.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class cR extends Xc{onPointerDown(e){if(!super.validate(e)||!super.isKeydown()||this.points)return;const{canvas:t}=this.context;this.pathShape=new Ta({id:"g6-lasso-select",style:this.options.style}),t.appendChild(this.pathShape),this.points=[Zh(e)]}onPointerMove(e){var t;if(!this.points)return;const{immediately:n,mode:i}=this.options;this.points.push(Zh(e)),(t=this.pathShape)===null||t===void 0||t.setAttribute("d",VP(this.points)),n&&i==="default"&&this.points.length>2&&super.updateElementsStates(this.points)}onPointerUp(){if(this.points){if(this.points.length<2){this.clearLasso();return}super.updateElementsStates(this.points),this.clearLasso()}}clearLasso(){var e;(e=this.pathShape)===null||e===void 0||e.remove(),this.pathShape=void 0,this.points=void 0}}class Rf extends Oa{constructor(e,t){super(e,Object.assign({},Rf.defaultOptions,t)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(n,i,a)=>{n.filter(Boolean).forEach(s=>{i==="hidden"&&!s.isVisible()?this.hiddenShapes.push(s):i==="visible"&&this.hiddenShapes.includes(s)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(s),1):il(s,i,a)})},this.filterShapes=(n,i)=>{if(xn(i))return s=>!i(n,s);const a=i==null?void 0:i[n];return s=>s.className?!(a!=null&&a.includes(s.className)):!0},this.hideShapes=n=>{if(!this.validate(n)||!this.isVisible)return;const{element:i}=this.context,{shapes:a={}}=this.options;this.setElementsVisibility(i.getNodes(),"hidden",this.filterShapes("node",a)),this.setElementsVisibility(i.getEdges(),"hidden",this.filterShapes("edge",a)),this.setElementsVisibility(i.getCombos(),"hidden",this.filterShapes("combo",a)),this.isVisible=!1},this.showShapes=ru(n=>{if(!this.validate(n)||this.isVisible)return;const{element:i}=this.context;this.setElementsVisibility(i.getNodes(),"visible"),this.setElementsVisibility(i.getEdges(),"visible"),this.setElementsVisibility(i.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:e}=this.context;e.on(qt.BEFORE_TRANSFORM,this.hideShapes),e.on(qt.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:e}=this.context;e.off(qt.BEFORE_TRANSFORM,this.hideShapes),e.off(qt.AFTER_TRANSFORM,this.showShapes)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}Rf.defaultOptions={enable:!0,debounce:200,shapes:r=>r==="node"};var V_=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class If extends Oa{constructor(e,t){super(e,Object.assign({},If.defaultOptions,t)),this.onWheel=n=>V_(this,void 0,void 0,function*(){this.options.preventDefault&&n.preventDefault();const i=n.deltaX,a=n.deltaY;yield this.scroll([-i,-a],n)}),this.shortcut=new Zl(e.graph),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){var e,t;const{trigger:n}=this.options;if(this.shortcut.unbindAll(),ii(n)){(e=this.graphDom)===null||e===void 0||e.removeEventListener(Nt.WHEEL,this.onWheel);const{up:i=[],down:a=[],left:s=[],right:o=[]}=n;this.shortcut.bind(i,l=>this.scroll([0,-10],l)),this.shortcut.bind(a,l=>this.scroll([0,10],l)),this.shortcut.bind(s,l=>this.scroll([-10,0],l)),this.shortcut.bind(o,l=>this.scroll([10,0],l))}else(t=this.graphDom)===null||t===void 0||t.addEventListener(Nt.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(e){const{sensitivity:t}=this.options;return e=Zs(e,t),e=this.clampByDirection(e),e=this.clampByRange(e),e}clampByDirection([e,t]){const{direction:n}=this.options;return n==="x"?t=0:n==="y"&&(e=0),[e,t]}clampByRange([e,t]){const{viewport:n,canvas:i}=this.context,[a,s]=i.getSize(),[o,l,c,h]=os(this.options.range),p=[s*o,a*l,s*c,a*h],C=go(lg(n.getCanvasCenter()),p),k=Or(n.getViewportCenter(),[e,t,0]);if(!ls(k,C)){const{min:[W,j],max:[K,Q]}=C;(k[0]<W&&e>0||k[0]>K&&e<0)&&(e=0),(k[1]<j&&t>0||k[1]>Q&&t<0)&&(t=0)}return[e,t]}scroll(e,t){return V_(this,void 0,void 0,function*(){if(!this.validate(t))return;const{onFinish:n}=this.options,i=this.context.graph,a=this.formatDisplacement(e);yield i.translateBy(a,!1),n==null||n()})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}destroy(){var e;this.shortcut.destroy(),(e=this.graphDom)===null||e===void 0||e.removeEventListener(Nt.WHEEL,this.onWheel),super.destroy()}}If.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var Z_=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Nf extends Oa{constructor(e,t){super(e,Object.assign({},Nf.defaultOptions,t)),this.zoom=(n,i,a)=>Z_(this,void 0,void 0,function*(){if(!this.validate(i))return;const{graph:s}=this.context;let o;"viewport"in i&&(o=Ni(i.viewport));const{sensitivity:l,onFinish:c}=this.options,h=1+Yr(n,-50,50)*l/100,p=s.getZoom();yield s.zoomTo(p*h,a,o),c==null||c()}),this.onReset=()=>Z_(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=n=>{this.options.preventDefault&&n.preventDefault()},this.shortcut=new Zl(e.graph),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){const{trigger:e}=this.options;if(this.shortcut.unbindAll(),Array.isArray(e))if(e.includes(Nt.PINCH))this.shortcut.bind([Nt.PINCH],t=>{this.zoom(t.scale,t,!1)});else{const t=this.context.canvas.getContainer();t==null||t.addEventListener(Nt.WHEEL,this.preventDefault),this.shortcut.bind([...e,Nt.WHEEL],n=>{const{deltaX:i,deltaY:a}=n;this.zoom(-(a!=null?a:i),n,!1)})}if(typeof e=="object"){const{zoomIn:t=[],zoomOut:n=[],reset:i=[]}=e;this.shortcut.bind(t,a=>this.zoom(10,a,this.options.animation)),this.shortcut.bind(n,a=>this.zoom(-10,a,this.options.animation)),this.shortcut.bind(i,this.onReset)}}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return xn(t)?t(e):!!t}destroy(){var e;this.shortcut.destroy(),(e=this.context.canvas.getContainer())===null||e===void 0||e.removeEventListener(Nt.WHEEL,this.preventDefault),super.destroy()}}Nf.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};var Bf=Z(13722);const uR=(r,e)=>{if(r!=="next"&&r!=="prev")return e},K_=r=>{r.prev.next=r.next,r.next.prev=r.prev,delete r.next,delete r.prev};class hR{constructor(){const e={};e.prev=e,e.next=e.prev,this.shortcut=e}dequeue(){const e=this.shortcut,t=e.prev;if(t&&t!==e)return K_(t),t}enqueue(e){const t=this.shortcut;e.prev&&e.next&&K_(e),e.next=t.next,t.next.prev=e,t.next=e,e.prev=t}toString(){const e=[],t=this.shortcut;let n=t.prev;for(;n!==t;)e.push(JSON.stringify(n,uR)),n=n==null?void 0:n.prev;return`[${e.join(", ")}]`}}class fR extends hR{}const dR=()=>1,vR=(r,e)=>{var t;if(r.getAllNodes().length<=1)return[];const n=pR(r,e||dR);return(t=gR(n.graph,n.buckets,n.zeroIdx).map(a=>r.getRelatedEdges(a.v,"out").filter(({target:s})=>s===a.w)))===null||t===void 0?void 0:t.flat()},gR=(r,e,t)=>{let n=[];const i=e[e.length-1],a=e[0];let s;for(;r.getAllNodes().length;){for(;s=a.dequeue();)qg(r,e,t,s);for(;s=i.dequeue();)qg(r,e,t,s);if(r.getAllNodes().length){for(let o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(qg(r,e,t,s,!0));break}}}return n},qg=(r,e,t,n,i)=>{var a,s;const o=[];return r.hasNode(n.v)&&((a=r.getRelatedEdges(n.v,"in"))===null||a===void 0||a.forEach(l=>{const c=l.data.weight,h=r.getNode(l.source);i&&o.push({v:l.source,w:l.target,in:0,out:0}),h.data.out===void 0&&(h.data.out=0),h.data.out-=c,$g(e,t,Object.assign({v:h.id},h.data))}),(s=r.getRelatedEdges(n.v,"out"))===null||s===void 0||s.forEach(l=>{const c=l.data.weight,h=l.target,p=r.getNode(h);p.data.in===void 0&&(p.data.in=0),p.data.in-=c,$g(e,t,Object.assign({v:p.id},p.data))}),r.removeNode(n.v)),i?o:void 0},pR=(r,e)=>{const t=new ci;let n=0,i=0;r.getAllNodes().forEach(l=>{t.addNode({id:l.id,data:{v:l.id,in:0,out:0}})}),r.getAllEdges().forEach(l=>{const c=t.getRelatedEdges(l.source,"out").find(p=>p.target===l.target),h=(e==null?void 0:e(l))||1;c?t.updateEdgeData(c==null?void 0:c.id,Object.assign(Object.assign({},c.data),{weight:c.data.weight+h})):t.addEdge({id:l.id,source:l.source,target:l.target,data:{weight:h}}),i=Math.max(i,t.getNode(l.source).data.out+=h),n=Math.max(n,t.getNode(l.target).data.in+=h)});const a=[],s=i+n+3;for(let l=0;l<s;l++)a.push(new fR);const o=n+1;return t.getAllNodes().forEach(l=>{$g(a,o,Object.assign({v:l.id},t.getNode(l.id).data))}),{buckets:a,zeroIdx:o,graph:t}},$g=(r,e,t)=>{t.out?t.in?r[t.out-t.in+e].enqueue(t):r[r.length-1].enqueue(t):r[0].enqueue(t)},mR=(r,e)=>{const n=e==="greedy"?vR(r,(i=>a=>a.data.weight||1)(r)):yR(r);n==null||n.forEach(i=>{const a=i.data;r.removeEdge(i.id),a.forwardName=i.data.name,a.reversed=!0,r.addEdge({id:i.id,source:i.target,target:i.source,data:Object.assign({},a)})})},yR=r=>{const e=[],t={},n={},i=a=>{n[a]||(n[a]=!0,t[a]=!0,r.getRelatedEdges(a,"out").forEach(s=>{t[s.target]?e.push(s):i(s.target)}),delete t[a])};return r.getAllNodes().forEach(a=>i(a.id)),e},_R=r=>{r.getAllEdges().forEach(e=>{const t=e.data;if(t.reversed){r.removeEdge(e.id);const n=t.forwardName;delete t.reversed,delete t.forwardName,r.addEdge({id:e.id,source:e.target,target:e.source,data:Object.assign(Object.assign({},t),{forwardName:n})})}})},ER=(r,e)=>Number(r)-Number(e),Ql=(r,e,t,n)=>{let i;do i=`${n}${Math.random()}`;while(r.hasNode(i));return t.dummy=e,r.addNode({id:i,data:t}),i},xR=r=>{const e=new ci;return r.getAllNodes().forEach(t=>{e.addNode(Object.assign({},t))}),r.getAllEdges().forEach(t=>{const n=e.getRelatedEdges(t.source,"out").find(i=>i.target===t.target);n?e.updateEdgeData(n==null?void 0:n.id,Object.assign(Object.assign({},n.data),{weight:n.data.weight+t.data.weight||0,minlen:Math.max(n.data.minlen,t.data.minlen||1)})):e.addEdge({id:t.id,source:t.source,target:t.target,data:{weight:t.data.weight||0,minlen:t.data.minlen||1}})}),e},X_=r=>{const e=new ci;return r.getAllNodes().forEach(t=>{r.getChildren(t.id).length||e.addNode(Object.assign({},t))}),r.getAllEdges().forEach(t=>{e.addEdge(t)}),e},Y_=(r,e)=>r==null?void 0:r.reduce((t,n,i)=>(t[n]=e[i],t),{}),cU=r=>{const e={};return r.getAllNodes().forEach(t=>{const n={};r.getRelatedEdges(t.id,"out").forEach(i=>{n[i.target]=(n[i.target]||0)+(i.data.weight||0)}),e[t.id]=n}),e},uU=r=>{const e=r.getAllNodes(),t=e.map(n=>{const i={};return r.getRelatedEdges(n.id,"in").forEach(a=>{i[a.source]=(i[a.source]||0)+a.data.weight}),i});return Y_(e.map(n=>n.id),t)},Q_=(r,e)=>{const t=Number(r.x),n=Number(r.y),i=Number(e.x)-t,a=Number(e.y)-n;let s=Number(r.width)/2,o=Number(r.height)/2;if(!i&&!a)return{x:0,y:0};let l,c;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,c=o):(i<0&&(s=-s),l=s,c=s*a/i),{x:t+l,y:n+c}},au=r=>{const e=[],t=q_(r)+1;for(let n=0;n<t;n++)e.push([]);r.getAllNodes().forEach(n=>{const i=n.data.rank;i!==void 0&&e[i]&&e[i].push(n.id)});for(let n=0;n<t;n++)e[n]=e[n].sort((i,a)=>ER(r.getNode(i).data.order,r.getNode(a).data.order));return e},bR=r=>{const e=r.getAllNodes().filter(n=>n.data.rank!==void 0).map(n=>n.data.rank),t=Math.min(...e);r.getAllNodes().forEach(n=>{n.data.hasOwnProperty("rank")&&t!==1/0&&(n.data.rank-=t)})},wR=(r,e=0)=>{const t=r.getAllNodes(),n=t.filter(o=>o.data.rank!==void 0).map(o=>o.data.rank),i=Math.min(...n),a=[];t.forEach(o=>{const l=(o.data.rank||0)-i;a[l]||(a[l]=[]),a[l].push(o.id)});let s=0;for(let o=0;o<a.length;o++){const l=a[o];l===void 0?o%e!==0&&(s-=1):s&&(l==null||l.forEach(c=>{const h=r.getNode(c);h&&(h.data.rank=h.data.rank||0,h.data.rank+=s)}))}},J_=(r,e,t,n)=>{const i={width:0,height:0};return dn(t)&&dn(n)&&(i.rank=t,i.order=n),Ql(r,"border",i,e)},q_=r=>{let e;return r.getAllNodes().forEach(t=>{const n=t.data.rank;n!==void 0&&(e===void 0||n>e)&&(e=n)}),e||(e=0),e},MR=(r,e)=>{const t={lhs:[],rhs:[]};return r==null||r.forEach(n=>{e(n)?t.lhs.push(n):t.rhs.push(n)}),t},ep=(r,e)=>r.reduce((t,n)=>{const i=e(t),a=e(n);return i>a?n:t}),$_=(r,e,t,n,i,a)=>{n.includes(e.id)||(n.push(e.id),t||a.push(e.id),i(e.id).forEach(s=>$_(r,s,t,n,i,a)),t&&a.push(e.id))},eE=(r,e,t,n)=>{const i=Array.isArray(e)?e:[e],a=l=>n?r.getSuccessors(l):r.getNeighbors(l),s=[],o=[];return i.forEach(l=>{if(r.hasNode(l.id))$_(r,l,t==="post",o,a,s);else throw new Error(`Graph does not have node: ${l}`)}),s},SR=r=>{const e=t=>{const n=r.getChildren(t),i=r.getNode(t);if(n!=null&&n.length&&n.forEach(a=>e(a.id)),i.data.hasOwnProperty("minRank")){i.data.borderLeft=[],i.data.borderRight=[];for(let a=i.data.minRank,s=i.data.maxRank+1;a<s;a+=1)tE(r,"borderLeft","_bl",t,i,a),tE(r,"borderRight","_br",t,i,a)}};r.getRoots().forEach(t=>e(t.id))},tE=(r,e,t,n,i,a)=>{const s={rank:a,borderType:e,width:0,height:0},o=i.data[e][a-1],l=Ql(r,"border",s,t);i.data[e][a]=l,r.setParent(l,n),o&&r.addEdge({id:`e${Math.random()}`,source:o,target:l,data:{weight:1}})},TR=(r,e)=>{const t=e.toLowerCase();(t==="lr"||t==="rl")&&nE(r)},AR=(r,e)=>{const t=e.toLowerCase();(t==="bt"||t==="rl")&&CR(r),(t==="lr"||t==="rl")&&(OR(r),nE(r))},nE=r=>{r.getAllNodes().forEach(e=>{rE(e)}),r.getAllEdges().forEach(e=>{rE(e)})},rE=r=>{const e=r.data.width;r.data.width=r.data.height,r.data.height=e},CR=r=>{r.getAllNodes().forEach(e=>{tp(e.data)}),r.getAllEdges().forEach(e=>{var t;(t=e.data.points)===null||t===void 0||t.forEach(n=>tp(n)),e.data.hasOwnProperty("y")&&tp(e.data)})},tp=r=>{r!=null&&r.y&&(r.y=-r.y)},OR=r=>{r.getAllNodes().forEach(e=>{np(e.data)}),r.getAllEdges().forEach(e=>{var t;(t=e.data.points)===null||t===void 0||t.forEach(n=>np(n)),e.data.hasOwnProperty("x")&&np(e.data)})},np=r=>{const e=r.x;r.x=r.y,r.y=e},PR=r=>{const e=Ql(r,"root",{},"_root"),t=DR(r);let n=Math.max(...Object.values(t));Math.abs(n)===1/0&&(n=1);const i=n-1,a=2*i+1;r.getAllEdges().forEach(o=>{o.data.minlen*=a});const s=LR(r)+1;return r.getRoots().forEach(o=>{iE(r,e,a,s,i,t,o.id)}),{nestingRoot:e,nodeRankFactor:a}},iE=(r,e,t,n,i,a,s)=>{const o=r.getChildren(s);if(!(o!=null&&o.length)){s!==e&&r.addEdge({id:`e${Math.random()}`,source:e,target:s,data:{weight:0,minlen:t}});return}const l=J_(r,"_bt"),c=J_(r,"_bb"),h=r.getNode(s);r.setParent(l,s),h.data.borderTop=l,r.setParent(c,s),h.data.borderBottom=c,o==null||o.forEach(p=>{iE(r,e,t,n,i,a,p.id);const C=p.data.borderTop?p.data.borderTop:p.id,k=p.data.borderBottom?p.data.borderBottom:p.id,W=p.data.borderTop?n:2*n,j=C!==k?1:i-a[s]+1;r.addEdge({id:`e${Math.random()}`,source:l,target:C,data:{minlen:j,weight:W,nestingEdge:!0}}),r.addEdge({id:`e${Math.random()}`,source:k,target:c,data:{minlen:j,weight:W,nestingEdge:!0}})}),r.getParent(s)||r.addEdge({id:`e${Math.random()}`,source:e,target:l,data:{weight:0,minlen:i+a[s]}})},DR=r=>{const e={},t=(n,i)=>{const a=r.getChildren(n);a==null||a.forEach(s=>t(s.id,i+1)),e[n]=i};return r.getRoots().forEach(n=>t(n.id,1)),e},LR=r=>{let e=0;return r.getAllEdges().forEach(t=>{e+=t.data.weight}),e},RR=(r,e)=>{e&&r.removeNode(e),r.getAllEdges().forEach(t=>{t.data.nestingEdge&&r.removeEdge(t.id)})},IR="edge",aE="edge-label",NR=(r,e)=>{r.getAllEdges().forEach(t=>BR(r,t,e))},BR=(r,e,t)=>{let n=e.source,i=r.getNode(n).data.rank;const a=e.target,s=r.getNode(a).data.rank,o=e.data.labelRank;if(s===i+1)return;r.removeEdge(e.id);let l,c,h;for(h=0,++i;i<s;++h,++i)e.data.points=[],c={originalEdge:e,width:0,height:0,rank:i},l=Ql(r,IR,c,"_d"),i===o&&(c.width=e.data.width,c.height=e.data.height,c.dummy=aE,c.labelpos=e.data.labelpos),r.addEdge({id:`e${Math.random()}`,source:n,target:l,data:{weight:e.data.weight}}),h===0&&t.push(l),n=l;r.addEdge({id:`e${Math.random()}`,source:n,target:a,data:{weight:e.data.weight}})},kR=(r,e)=>{e.forEach(t=>{let n=r.getNode(t);const{data:i}=n,a=i.originalEdge;let s;a&&r.addEdge(a);let o=t;for(;n.data.dummy;)s=r.getSuccessors(o)[0],r.removeNode(o),a.data.points.push({x:n.data.x,y:n.data.y}),n.data.dummy===aE&&(a.data.x=n.data.x,a.data.y=n.data.y,a.data.width=n.data.width,a.data.height=n.data.height),o=s.id,n=r.getNode(o)})},zR=(r,e,t)=>{const n={};let i;t==null||t.forEach(a=>{let s=r.getParent(a),o,l;for(;s;){if(o=r.getParent(s.id),o?(l=n[o.id],n[o.id]=s.id):(l=i,i=s.id),l&&l!==s.id){e.hasNode(l)||e.addNode({id:l,data:{}}),e.hasNode(s.id)||e.addNode({id:s.id,data:{}}),e.hasEdge(`e${l}-${s.id}`)||e.addEdge({id:`e${l}-${s.id}`,source:l,target:s.id,data:{}});return}s=o}})},FR=(r,e,t)=>{const n=UR(r),i=new ci({tree:[{id:n,children:[],data:{}}]});return r.getAllNodes().forEach(a=>{const s=r.getParent(a.id);(a.data.rank===e||a.data.minRank<=e&&e<=a.data.maxRank)&&(i.hasNode(a.id)||i.addNode(Object.assign({},a)),s!=null&&s.id&&!i.hasNode(s==null?void 0:s.id)&&i.addNode(Object.assign({},s)),i.setParent(a.id,(s==null?void 0:s.id)||n),r.getRelatedEdges(a.id,t).forEach(o=>{const l=o.source===a.id?o.target:o.source;i.hasNode(l)||i.addNode(Object.assign({},r.getNode(l)));const c=i.getRelatedEdges(l,"out").find(({target:p})=>p===a.id),h=c!==void 0?c.data.weight:0;c?i.updateEdgeData(c.id,Object.assign(Object.assign({},c.data),{weight:o.data.weight+h})):i.addEdge({id:o.id,source:l,target:a.id,data:{weight:o.data.weight+h}})}),a.data.hasOwnProperty("minRank")&&i.updateNodeData(a.id,Object.assign(Object.assign({},a.data),{borderLeft:a.data.borderLeft[e],borderRight:a.data.borderRight[e]})))}),i},UR=r=>{let e;for(;r.hasNode(e=`_root${Math.random()}`););return e},WR=(r,e,t)=>{const n=Y_(t,t.map((h,p)=>p)),a=e.map(h=>{const p=r.getRelatedEdges(h,"out").map(C=>({pos:n[C.target]||0,weight:C.data.weight}));return p==null?void 0:p.sort((C,k)=>C.pos-k.pos)}).flat().filter(h=>h!==void 0);let s=1;for(;s<t.length;)s<<=1;const o=2*s-1;s-=1;const l=Array(o).fill(0,0,o);let c=0;return a==null||a.forEach(h=>{if(h){let p=h.pos+s;l[p]+=h.weight;let C=0;for(;p>0;)p%2&&(C+=l[p+1]),p=p-1>>1,l[p]+=h.weight;c+=h.weight*C}}),c},sE=(r,e)=>{let t=0;for(let n=1;n<(e==null?void 0:e.length);n+=1)t+=WR(r,e[n-1],e[n]);return t},oE=r=>{const e={},t=r.getAllNodes(),n=t.map(c=>{var h;return(h=c.data.rank)!==null&&h!==void 0?h:-1/0}),i=Math.max(...n),a=[];for(let c=0;c<i+1;c++)a.push([]);const s=t.sort((c,h)=>r.getNode(c.id).data.rank-r.getNode(h.id).data.rank),l=s.filter(c=>r.getNode(c.id).data.fixorder!==void 0).sort((c,h)=>r.getNode(c.id).data.fixorder-r.getNode(h.id).data.fixorder);return l==null||l.forEach(c=>{isNaN(r.getNode(c.id).data.rank)||a[r.getNode(c.id).data.rank].push(c.id),e[c.id]=!0}),s==null||s.forEach(c=>r.dfsTree(c.id,h=>{if(e.hasOwnProperty(h.id))return!0;e[h.id]=!0,isNaN(h.data.rank)||a[h.data.rank].push(h.id)})),a},HR=(r,e)=>e.map(t=>{const n=r.getRelatedEdges(t,"in");if(!(n!=null&&n.length))return{v:t};const i={sum:0,weight:0};return n==null||n.forEach(a=>{const s=r.getNode(a.source);i.sum+=a.data.weight*s.data.order,i.weight+=a.data.weight}),{v:t,barycenter:i.sum/i.weight,weight:i.weight}}),jR=(r,e)=>{var t,n,i;const a={};r==null||r.forEach((o,l)=>{a[o.v]={i:l,indegree:0,in:[],out:[],vs:[o.v]};const c=a[o.v];o.barycenter!==void 0&&(c.barycenter=o.barycenter,c.weight=o.weight)}),(t=e.getAllEdges())===null||t===void 0||t.forEach(o=>{const l=a[o.source],c=a[o.target];l!==void 0&&c!==void 0&&(c.indegree++,l.out.push(a[o.target]))});const s=(i=(n=Object.values(a)).filter)===null||i===void 0?void 0:i.call(n,o=>!o.indegree);return GR(s)},GR=r=>{var e,t;const n=[],i=l=>c=>{c.merged||(c.barycenter===void 0||l.barycenter===void 0||c.barycenter>=l.barycenter)&&VR(l,c)},a=l=>c=>{c.in.push(l),--c.indegree===0&&r.push(c)};for(;r!=null&&r.length;){const l=r.pop();n.push(l),(e=l.in.reverse())===null||e===void 0||e.forEach(c=>i(l)(c)),(t=l.out)===null||t===void 0||t.forEach(c=>a(l)(c))}const s=n.filter(l=>!l.merged),o=["vs","i","barycenter","weight"];return s.map(l=>{const c={};return o==null||o.forEach(h=>{l[h]!==void 0&&(c[h]=l[h])}),c})},VR=(r,e)=>{var t;let n=0,i=0;r.weight&&(n+=r.barycenter*r.weight,i+=r.weight),e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),r.vs=(t=e.vs)===null||t===void 0?void 0:t.concat(r.vs),r.barycenter=n/i,r.weight=i,r.i=Math.min(e.i,r.i),e.merged=!0};var ZR=jR;const KR=(r,e,t,n)=>{const i=MR(r,C=>{const k=C.hasOwnProperty("fixorder")&&!isNaN(C.fixorder);return n?!k&&C.hasOwnProperty("barycenter"):k||C.hasOwnProperty("barycenter")}),a=i.lhs,s=i.rhs.sort((C,k)=>-C.i- -k.i),o=[];let l=0,c=0,h=0;a==null||a.sort(XR(!!e,!!t)),h=lE(o,s,h),a==null||a.forEach(C=>{var k;h+=(k=C.vs)===null||k===void 0?void 0:k.length,o.push(C.vs),l+=C.barycenter*C.weight,c+=C.weight,h=lE(o,s,h)});const p={vs:o.flat()};return c&&(p.barycenter=l/c,p.weight=c),p},lE=(r,e,t)=>{let n=t,i;for(;e.length&&(i=e[e.length-1]).i<=n;)e.pop(),r==null||r.push(i.vs),n++;return n},XR=(r,e)=>(t,n)=>{if(t.fixorder!==void 0&&n.fixorder!==void 0)return t.fixorder-n.fixorder;if(t.barycenter<n.barycenter)return-1;if(t.barycenter>n.barycenter)return 1;if(e&&t.order!==void 0&&n.order!==void 0){if(t.order<n.order)return-1;if(t.order>n.order)return 1}return r?n.i-t.i:t.i-n.i},cE=(r,e,t,n,i,a)=>{var s,o,l,c;let h=r.getChildren(e).map(ee=>ee.id);const p=r.getNode(e),C=p?p.data.borderLeft:void 0,k=p?p.data.borderRight:void 0,W={};C&&(h=h==null?void 0:h.filter(ee=>ee!==C&&ee!==k));const j=HR(r,h||[]);j==null||j.forEach(ee=>{var re;if(!((re=r.getChildren(ee.v))===null||re===void 0)&&re.length){const ve=cE(r,ee.v,t,n,a);W[ee.v]=ve,ve.hasOwnProperty("barycenter")&&QR(ee,ve)}});const K=ZR(j,t);YR(K,W),(s=K.filter(ee=>ee.vs.length>0))===null||s===void 0||s.forEach(ee=>{const re=r.getNode(ee.vs[0]);re&&(ee.fixorder=re.data.fixorder,ee.order=re.data.order)});const Q=KR(K,n,i,a);if(C&&(Q.vs=[C,Q.vs,k].flat(),!((o=r.getPredecessors(C))===null||o===void 0)&&o.length)){const ee=r.getNode(((l=r.getPredecessors(C))===null||l===void 0?void 0:l[0].id)||""),re=r.getNode(((c=r.getPredecessors(k))===null||c===void 0?void 0:c[0].id)||"");Q.hasOwnProperty("barycenter")||(Q.barycenter=0,Q.weight=0),Q.barycenter=(Q.barycenter*Q.weight+ee.data.order+re.data.order)/(Q.weight+2),Q.weight+=2}return Q},YR=(r,e)=>{r==null||r.forEach(t=>{var n;const i=(n=t.vs)===null||n===void 0?void 0:n.map(a=>e[a]?e[a].vs:a);t.vs=i.flat()})},QR=(r,e)=>{r.barycenter!==void 0?(r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight):(r.barycenter=e.barycenter,r.weight=e.weight)},JR=(r,e)=>{const t=q_(r),n=[],i=[];for(let h=1;h<t+1;h++)n.push(h);for(let h=t-1;h>-1;h--)i.push(h);const a=uE(r,n,"in"),s=uE(r,i,"out");let o=oE(r);rp(r,o);let l=Number.POSITIVE_INFINITY,c;for(let h=0,p=0;p<4;++h,++p){hE(h%2?a:s,h%4>=2,!1,e),o=au(r);const C=sE(r,o);C<l&&(p=0,c=jl(o),l=C)}o=oE(r),rp(r,o);for(let h=0,p=0;p<4;++h,++p){hE(h%2?a:s,h%4>=2,!0,e),o=au(r);const C=sE(r,o);C<l&&(p=0,c=jl(o),l=C)}rp(r,c)},uE=(r,e,t)=>e.map(n=>FR(r,n,t)),hE=(r,e,t,n)=>{const i=new ci;r==null||r.forEach(a=>{var s;const o=a.getRoots()[0].id,l=cE(a,o,i,e,t,n);for(let c=0;c<((s=l.vs)===null||s===void 0?void 0:s.length);c++){const h=a.getNode(l.vs[c]);h&&(h.data.order=c)}zR(a,i,l.vs)})},rp=(r,e)=>{e==null||e.forEach(t=>{t==null||t.forEach((n,i)=>{r.getNode(n).data.order=i})})},qR=(r,e)=>{const n=r.getAllNodes().filter(s=>{var o;return!(!((o=r.getChildren(s.id))===null||o===void 0)&&o.length)}).map(s=>s.data.rank),i=Math.max(...n),a=[];for(let s=0;s<i+1;s++)a[s]=[];e==null||e.forEach(s=>{const o=r.getNode(s);!o||o.data.dummy||isNaN(o.data.rank)||(o.data.fixorder=a[o.data.rank].length,a[o.data.rank].push(s))})},$R=r=>{const e={};let t=0;const n=i=>{const a=t;r.getChildren(i).forEach(s=>n(s.id)),e[i]={low:a,lim:t++}};return r.getRoots().forEach(i=>n(i.id)),e},e3=(r,e,t,n)=>{var i,a;const s=[],o=[],l=Math.min(e[t].low,e[n].low),c=Math.max(e[t].lim,e[n].lim);let h,p;h=t;do h=(i=r.getParent(h))===null||i===void 0?void 0:i.id,s.push(h);while(h&&(e[h].low>l||c>e[h].lim));for(p=h,h=n;h&&h!==p;)o.push(h),h=(a=r.getParent(h))===null||a===void 0?void 0:a.id;return{lca:p,path:s.concat(o.reverse())}},t3=(r,e)=>{const t=$R(r);e.forEach(n=>{var i,a;let s=n,o=r.getNode(s);const l=o.data.originalEdge;if(!l)return;const c=e3(r,t,l.source,l.target),h=c.path,p=c.lca;let C=0,k=h[C],W=!0;for(;s!==l.target;){if(o=r.getNode(s),W){for(;k!==p&&((i=r.getNode(k))===null||i===void 0?void 0:i.data.maxRank)<o.data.rank;)C++,k=h[C];k===p&&(W=!1)}if(!W){for(;C<h.length-1&&((a=r.getNode(h[C+1]))===null||a===void 0?void 0:a.data.minRank)<=o.data.rank;)C++;k=h[C]}r.hasNode(k)&&r.setParent(s,k),s=r.getSuccessors(s)[0].id}})},fE=(r,e)=>{const t={},n=(i,a)=>{let s=0,o=0;const l=i.length,c=a==null?void 0:a[(a==null?void 0:a.length)-1];return a==null||a.forEach((h,p)=>{var C;const k=n3(r,h),W=k?r.getNode(k.id).data.order:l;(k||h===c)&&((C=a.slice(o,p+1))===null||C===void 0||C.forEach(j=>{var K;(K=r.getPredecessors(j))===null||K===void 0||K.forEach(Q=>{var ee;const re=r.getNode(Q.id),ve=re.data.order;(ve<s||W<ve)&&!(re.data.dummy&&(!((ee=r.getNode(j))===null||ee===void 0)&&ee.data.dummy))&&vE(t,Q.id,j)})}),o=p+1,s=W)}),a};return e!=null&&e.length&&e.reduce(n),t},dE=(r,e)=>{const t={};function n(o,l,c,h,p){var C,k;let W;for(let j=l;j<c;j++)W=o[j],!((C=r.getNode(W))===null||C===void 0)&&C.data.dummy&&((k=r.getPredecessors(W))===null||k===void 0||k.forEach(K=>{const Q=r.getNode(K.id);Q.data.dummy&&(Q.data.order<h||Q.data.order>p)&&vE(t,K.id,W)}))}function i(o){return JSON.stringify(o.slice(1))}function a(o,l){const c=i(o);l.get(c)||(n(...o),l.set(c,!0))}const s=(o,l)=>{let c=-1,h,p=0;const C=new Map;return l==null||l.forEach((k,W)=>{var j;if(((j=r.getNode(k))===null||j===void 0?void 0:j.data.dummy)==="border"){const K=r.getPredecessors(k)||[];K.length&&(h=r.getNode(K[0].id).data.order,a([l,p,W,c,h],C),p=W,c=h)}a([l,p,l.length,h,o.length],C)}),l};return e!=null&&e.length&&e.reduce(s),t},n3=(r,e)=>{var t,n;if(!((t=r.getNode(e))===null||t===void 0)&&t.data.dummy)return(n=r.getPredecessors(e))===null||n===void 0?void 0:n.find(i=>r.getNode(i.id).data.dummy)},vE=(r,e,t)=>{let n=e,i=t;if(n>i){const s=n;n=i,i=s}let a=r[n];a||(r[n]=a={}),a[i]=!0},r3=(r,e,t)=>{let n=e,i=t;if(n>i){const a=e;n=i,i=a}return!!r[n]},gE=(r,e,t,n)=>{const i={},a={},s={};return e==null||e.forEach(o=>{o==null||o.forEach((l,c)=>{i[l]=l,a[l]=l,s[l]=c})}),e==null||e.forEach(o=>{let l=-1;o==null||o.forEach(c=>{let h=n(c).map(p=>p.id);if(h.length){h=h.sort((C,k)=>s[C]-s[k]);const p=(h.length-1)/2;for(let C=Math.floor(p),k=Math.ceil(p);C<=k;++C){const W=h[C];a[c]===c&&l<s[W]&&!r3(t,c,W)&&(a[W]=c,a[c]=i[c]=i[W],l=s[W])}}})}),{root:i,align:a}},pE=(r,e,t,n,i,a,s)=>{var o;const l={},c=i3(r,e,t,i,a,s),h=s?"borderLeft":"borderRight",p=(W,j)=>{let K=c.getAllNodes(),Q=K.pop();const ee={};for(;Q;)ee[Q.id]?W(Q.id):(ee[Q.id]=!0,K.push(Q),K=K.concat(j(Q.id))),Q=K.pop()},C=W=>{l[W]=(c.getRelatedEdges(W,"in")||[]).reduce((j,K)=>Math.max(j,(l[K.source]||0)+K.data.weight),0)},k=W=>{const j=(c.getRelatedEdges(W,"out")||[]).reduce((Q,ee)=>Math.min(Q,(l[ee.target]||0)-ee.data.weight),Number.POSITIVE_INFINITY),K=r.getNode(W);j!==Number.POSITIVE_INFINITY&&K.data.borderType!==h&&(l[W]=Math.max(l[W],j))};return p(C,c.getPredecessors.bind(c)),p(k,c.getSuccessors.bind(c)),(o=Object.values(n))===null||o===void 0||o.forEach(W=>{l[W]=l[t[W]]}),l},i3=(r,e,t,n,i,a)=>{const s=new ci,o=a3(n,i,a);return e==null||e.forEach(l=>{let c;l==null||l.forEach(h=>{const p=t[h];if(s.hasNode(p)||s.addNode({id:p,data:{}}),c){const C=t[c],k=s.getRelatedEdges(C,"out").find(W=>W.target===p);k?s.updateEdgeData(k.id,Object.assign(Object.assign({},k.data),{weight:Math.max(o(r,h,c),k.data.weight||0)})):s.addEdge({id:`e${Math.random()}`,source:C,target:p,data:{weight:Math.max(o(r,h,c),0)}})}c=h})}),s},mE=(r,e)=>ep(Object.values(e),t=>{var n;let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return(n=Object.keys(t))===null||n===void 0||n.forEach(s=>{const o=t[s],l=s3(r,s)/2;i=Math.max(o+l,i),a=Math.min(o-l,a)}),i-a});function yE(r,e){const t=Object.values(e),n=Math.min(...t),i=Math.max(...t);["u","d"].forEach(a=>{["l","r"].forEach(s=>{const o=a+s,l=r[o];let c;if(l===e)return;const h=Object.values(l);c=s==="l"?n-Math.min(...h):i-Math.max(...h),c&&(r[o]={},Object.keys(l).forEach(p=>{r[o][p]=l[p]+c}))})})}const _E=(r,e)=>{const t={};return Object.keys(r.ul).forEach(n=>{if(e)t[n]=r[e.toLowerCase()][n];else{const i=Object.values(r).map(a=>a[n]);t[n]=(i[0]+i[1])/2}}),t},hU=(r,e)=>{const{align:t,nodesep:n=0,edgesep:i=0}=e||{},a=buildLayerMatrix(r),s=Object.assign(fE(r,a),dE(r,a)),o={};let l;["u","d"].forEach(h=>{l=h==="u"?a:Object.values(a).reverse(),["l","r"].forEach(p=>{p==="r"&&(l=l.map(j=>Object.values(j).reverse()));const C=(h==="u"?r.getPredecessors:r.getSuccessors).bind(r),k=gE(r,l,s,C),W=pE(r,l,k.root,k.align,n,i,p==="r");p==="r"&&Object.keys(W).forEach(j=>{W[j]=-W[j]}),o[h+p]=W})});const c=mE(r,o);return yE(o,c),_E(o,t)},a3=(r,e,t)=>(n,i,a)=>{const s=n.getNode(i),o=n.getNode(a);let l=0,c=0;if(l+=s.data.width/2,s.data.hasOwnProperty("labelpos"))switch((s.data.labelpos||"").toLowerCase()){case"l":c=-s.data.width/2;break;case"r":c=s.data.width/2;break}if(c&&(l+=t?c:-c),c=0,l+=(s.data.dummy?e:r)/2,l+=(o.data.dummy?e:r)/2,l+=o.data.width/2,o.data.labelpos)switch((o.data.labelpos||"").toLowerCase()){case"l":c=o.data.width/2;break;case"r":c=-o.data.width/2;break}return c&&(l+=t?c:-c),c=0,l},s3=(r,e)=>r.getNode(e).data.width||0,o3=(r,e)=>{const{ranksep:t=0}=e||{},n=au(r);let i=0;n==null||n.forEach(a=>{const s=a.map(l=>r.getNode(l).data.height),o=Math.max(...s,0);a==null||a.forEach(l=>{r.getNode(l).data.y=i+o/2}),i+=o+t})},l3=(r,e)=>{const{align:t,nodesep:n=0,edgesep:i=0}=e||{},a=au(r),s=Object.assign(fE(r,a),dE(r,a)),o={};let l=[];["u","d"].forEach(h=>{l=h==="u"?a:Object.values(a).reverse(),["l","r"].forEach(p=>{p==="r"&&(l=l.map(j=>Object.values(j).reverse()));const C=(h==="u"?r.getPredecessors:r.getSuccessors).bind(r),k=gE(r,l,s,C),W=pE(r,l,k.root,k.align,n,i,p==="r");p==="r"&&Object.keys(W).forEach(j=>W[j]=-W[j]),o[h+p]=W})});const c=mE(r,o);return c&&yE(o,c),_E(o,t)},c3=(r,e)=>{var t;const n=X_(r);o3(n,e);const i=l3(n,e);(t=Object.keys(i))===null||t===void 0||t.forEach(a=>{n.getNode(a).data.x=i[a]})},EE=r=>{const e={},t=n=>{var i;const a=r.getNode(n);if(!a)return 0;if(e[n])return a.data.rank;e[n]=!0;let s;return(i=r.getRelatedEdges(n,"out"))===null||i===void 0||i.forEach(o=>{const l=t(o.target),c=o.data.minlen,h=l-c;h&&(s===void 0||h<s)&&(s=h)}),s||(s=0),a.data.rank=s,s};r.getAllNodes().filter(n=>r.getRelatedEdges(n.id,"in").length===0).forEach(n=>t(n.id))},u3=r=>{const e={};let t;const n=s=>{var o;const l=r.getNode(s);if(!l)return 0;if(e[s])return l.data.rank;e[s]=!0;let c;return(o=r.getRelatedEdges(s,"out"))===null||o===void 0||o.forEach(h=>{const p=n(h.target),C=h.data.minlen,k=p-C;k&&(c===void 0||k<c)&&(c=k)}),c||(c=0),(t===void 0||c<t)&&(t=c),l.data.rank=c,c};r.getAllNodes().filter(s=>r.getRelatedEdges(s.id,"in").length===0).forEach(s=>{s&&n(s.id)}),t===void 0&&(t=0);const i={},a=(s,o)=>{var l;const c=r.getNode(s),h=isNaN(c.data.layer)?o:c.data.layer;(c.data.rank===void 0||c.data.rank<h)&&(c.data.rank=h),!i[s]&&(i[s]=!0,(l=r.getRelatedEdges(s,"out"))===null||l===void 0||l.forEach(p=>{a(p.target,h+p.data.minlen)}))};r.getAllNodes().forEach(s=>{const o=s.data;o&&(isNaN(o.layer)?o.rank-=t:a(s.id,o.layer))})},wo=(r,e)=>r.getNode(e.target).data.rank-r.getNode(e.source).data.rank-e.data.minlen,h3=r=>{const e=new ci({tree:[]}),t=r.getAllNodes()[0],n=r.getAllNodes().length;e.addNode(t);let i,a;for(;f3(e,r)<n;)i=xE(e,r),a=e.hasNode(i.source)?wo(r,i):-wo(r,i),bE(e,r,a);return e},f3=(r,e)=>{const t=n=>{e.getRelatedEdges(n,"both").forEach(i=>{const a=i.source,s=n===a?i.target:a;!r.hasNode(s)&&!wo(e,i)&&(r.addNode({id:s,data:{}}),r.addEdge({id:i.id,source:n,target:s,data:{}}),t(s))})};return r.getAllNodes().forEach(n=>t(n.id)),r.getAllNodes().length},d3=r=>{const e=new ci({tree:[]}),t=r.getAllNodes()[0],n=r.getAllNodes().length;e.addNode(t);let i,a;for(;v3(e,r)<n;)i=xE(e,r),a=e.hasNode(i.source)?wo(r,i):-wo(r,i),bE(e,r,a);return e},v3=(r,e)=>{const t=n=>{var i;(i=e.getRelatedEdges(n,"both"))===null||i===void 0||i.forEach(a=>{const s=a.source,o=n===s?a.target:s;!r.hasNode(o)&&(e.getNode(o).data.layer!==void 0||!wo(e,a))&&(r.addNode({id:o,data:{}}),r.addEdge({id:a.id,source:n,target:o,data:{}}),t(o))})};return r.getAllNodes().forEach(n=>t(n.id)),r.getAllNodes().length},xE=(r,e)=>ep(e.getAllEdges(),t=>r.hasNode(t.source)!==r.hasNode(t.target)?wo(e,t):1/0),bE=(r,e,t)=>{r.getAllNodes().forEach(n=>{const i=e.getNode(n.id);i.data.rank||(i.data.rank=0),i.data.rank+=t})},g3=r=>{const e=xR(r);EE(e);const t=h3(e);ME(t),wE(t,e);let n,i;for(;n=y3(t);)i=_3(t,e,n),E3(t,e,n,i)},wE=(r,e)=>{let t=eE(r,r.getAllNodes(),"post",!1);t=t.slice(0,(t==null?void 0:t.length)-1),t.forEach(n=>{p3(r,e,n)})},p3=(r,e,t)=>{const i=r.getNode(t).data.parent,a=r.getRelatedEdges(t,"both").find(s=>s.target===i||s.source===i);a.data.cutvalue=m3(r,e,t)},m3=(r,e,t)=>{const i=r.getNode(t).data.parent;let a=!0,s=e.getRelatedEdges(t,"out").find(l=>l.target===i),o=0;return s||(a=!1,s=e.getRelatedEdges(i,"out").find(l=>l.target===t)),o=s.data.weight,e.getRelatedEdges(t,"both").forEach(l=>{const c=l.source===t,h=c?l.target:l.source;if(h!==i){const p=c===a,C=l.data.weight;if(o+=p?C:-C,b3(r,t,h)){const k=r.getRelatedEdges(t,"both").find(W=>W.source===h||W.target===h).data.cutvalue;o+=p?-k:k}}}),o},ME=(r,e=r.getAllNodes()[0].id)=>{SE(r,{},1,e)},SE=(r,e,t,n,i)=>{var a;const s=t;let o=t;const l=r.getNode(n);return e[n]=!0,(a=r.getNeighbors(n))===null||a===void 0||a.forEach(c=>{e[c.id]||(o=SE(r,e,o,c.id,n))}),l.data.low=s,l.data.lim=o++,i?l.data.parent=i:delete l.data.parent,o},y3=r=>r.getAllEdges().find(e=>e.data.cutvalue<0),_3=(r,e,t)=>{let n=t.source,i=t.target;e.getRelatedEdges(n,"out").find(h=>h.target===i)||(n=t.target,i=t.source);const a=r.getNode(n),s=r.getNode(i);let o=a,l=!1;a.data.lim>s.data.lim&&(o=s,l=!0);const c=e.getAllEdges().filter(h=>l===TE(r.getNode(h.source),o)&&l!==TE(r.getNode(h.target),o));return ep(c,h=>wo(e,h))},E3=(r,e,t,n)=>{const i=r.getRelatedEdges(t.source,"both").find(a=>a.source===t.target||a.target===t.target);i&&r.removeEdge(i.id),r.addEdge({id:`e${Math.random()}`,source:n.source,target:n.target,data:{}}),ME(r),wE(r,e),x3(r,e)},x3=(r,e)=>{const t=r.getAllNodes().find(i=>!i.data.parent);let n=eE(r,t,"pre",!1);n=n.slice(1),n.forEach(i=>{const a=r.getNode(i).data.parent;let s=e.getRelatedEdges(i,"out").find(l=>l.target===a),o=!1;!s&&e.hasNode(a)&&(s=e.getRelatedEdges(a,"out").find(l=>l.target===i),o=!0),e.getNode(i).data.rank=(e.hasNode(a)&&e.getNode(a).data.rank||0)+(o?s==null?void 0:s.data.minlen:-(s==null?void 0:s.data.minlen))})},b3=(r,e,t)=>r.getRelatedEdges(e,"both").find(n=>n.source===t||n.target===t),TE=(r,e)=>e.data.low<=r.data.lim&&r.data.lim<=e.data.lim,w3=(r,e)=>{switch(e){case"network-simplex":S3(r);break;case"tight-tree":AE(r);break;case"longest-path":M3(r);break;default:AE(r)}},M3=EE,AE=r=>{u3(r),d3(r)},S3=r=>{g3(r)},T3=(r,e)=>{const{edgeLabelSpace:t,keepNodeOrder:n,prevGraph:i,rankdir:a,ranksep:s}=e;!n&&i&&C3(r,i);const o=I3(r);t&&(e.ranksep=N3(o,{rankdir:a,ranksep:s}));let l;try{l=A3(o,e)}catch(c){if(c.message==="Not possible to find intersection inside of the rectangle"){console.error(`The following error may be caused by improper layer setting, please make sure your manual layer setting does not violate the graph's structure:
`,c);return}throw c}return O3(r,o),l},A3=(r,e)=>{const{acyclicer:t,ranker:n,rankdir:i="tb",nodeOrder:a,keepNodeOrder:s,align:o,nodesep:l=50,edgesep:c=20,ranksep:h=50}=e;G3(r),mR(r,t);const{nestingRoot:p,nodeRankFactor:C}=PR(r);w3(X_(r),n),B3(r),wR(r,C),RR(r,p),bR(r),k3(r),z3(r);const k=[];NR(r,k),t3(r,k),SR(r),s&&qR(r,a),JR(r,s),V3(r),TR(r,i),c3(r,{align:o,nodesep:l,edgesep:c,ranksep:h}),Z3(r),j3(r),kR(r,k),W3(r),AR(r,i);const{width:W,height:j}=F3(r);return U3(r),H3(r),_R(r),{width:W,height:j}},C3=(r,e)=>{r.getAllNodes().forEach(t=>{const n=r.getNode(t.id);if(e.hasNode(t.id)){const i=e.getNode(t.id);n.data.fixorder=i.data._order,delete i.data._order}else delete n.data.fixorder})},O3=(r,e)=>{r.getAllNodes().forEach(t=>{var n;const i=r.getNode(t.id);if(i){const a=e.getNode(t.id);i.data.x=a.data.x,i.data.y=a.data.y,i.data._order=a.data.order,i.data._rank=a.data.rank,!((n=e.getChildren(t.id))===null||n===void 0)&&n.length&&(i.data.width=a.data.width,i.data.height=a.data.height)}}),r.getAllEdges().forEach(t=>{const n=r.getEdge(t.id),i=e.getEdge(t.id);n.data.points=i?i.data.points:[],i&&i.data.hasOwnProperty("x")&&(n.data.x=i.data.x,n.data.y=i.data.y)})},P3=["width","height","layer","fixorder"],D3={width:0,height:0},L3=["minlen","weight","width","height","labeloffset"],R3={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},ip=["labelpos"],I3=r=>{const e=new ci({tree:[]});return r.getAllNodes().forEach(t=>{const n=OE(r.getNode(t.id).data),i=Object.assign(Object.assign({},D3),n),a=CE(i,P3);e.hasNode(t.id)||e.addNode({id:t.id,data:Object.assign({},a)});const s=r.hasTreeStructure("combo")?r.getParent(t.id,"combo"):r.getParent(t.id);Rn(s)||(e.hasNode(s.id)||e.addNode(Object.assign({},s)),e.setParent(t.id,s.id))}),r.getAllEdges().forEach(t=>{const n=OE(r.getEdge(t.id).data),i={};ip==null||ip.forEach(a=>{n[a]!==void 0&&(i[a]=n[a])}),e.addEdge({id:t.id,source:t.source,target:t.target,data:Object.assign({},R3,CE(n,L3),i)})}),e},N3=(r,e)=>{const{ranksep:t=0,rankdir:n}=e;return r.getAllNodes().forEach(i=>{isNaN(i.data.layer)||i.data.layer||(i.data.layer=0)}),r.getAllEdges().forEach(i=>{var a;i.data.minlen*=2,((a=i.data.labelpos)===null||a===void 0?void 0:a.toLowerCase())!=="c"&&(n==="TB"||n==="BT"?i.data.width+=i.data.labeloffset:i.data.height+=i.data.labeloffset)}),t/2},B3=r=>{r.getAllEdges().forEach(e=>{if(e.data.width&&e.data.height){const t=r.getNode(e.source),n=r.getNode(e.target),i={e,rank:(n.data.rank-t.data.rank)/2+t.data.rank};Ql(r,"edge-proxy",i,"_ep")}})},k3=r=>{let e=0;return r.getAllNodes().forEach(t=>{var n,i;t.data.borderTop&&(t.data.minRank=(n=r.getNode(t.data.borderTop))===null||n===void 0?void 0:n.data.rank,t.data.maxRank=(i=r.getNode(t.data.borderBottom))===null||i===void 0?void 0:i.data.rank,e=Math.max(e,t.data.maxRank||-1/0))}),e},z3=r=>{r.getAllNodes().forEach(e=>{e.data.dummy==="edge-proxy"&&(r.getEdge(e.data.e.id).data.labelRank=e.data.rank,r.removeNode(e.id))})},F3=(r,e)=>{let t,n=0,i,a=0;const{marginx:s=0,marginy:o=0}=e||{},l=c=>{if(!c.data)return;const h=c.data.x,p=c.data.y,C=c.data.width,k=c.data.height;!isNaN(h)&&!isNaN(C)&&(t===void 0&&(t=h-C/2),t=Math.min(t,h-C/2),n=Math.max(n,h+C/2)),!isNaN(p)&&!isNaN(k)&&(i===void 0&&(i=p-k/2),i=Math.min(i,p-k/2),a=Math.max(a,p+k/2))};return r.getAllNodes().forEach(c=>{l(c)}),r.getAllEdges().forEach(c=>{c!=null&&c.data.hasOwnProperty("x")&&l(c)}),t-=s,i-=o,r.getAllNodes().forEach(c=>{c.data.x-=t,c.data.y-=i}),r.getAllEdges().forEach(c=>{var h;(h=c.data.points)===null||h===void 0||h.forEach(p=>{p.x-=t,p.y-=i}),c.data.hasOwnProperty("x")&&(c.data.x-=t),c.data.hasOwnProperty("y")&&(c.data.y-=i)}),{width:n-t+s,height:a-i+o}},U3=r=>{r.getAllEdges().forEach(e=>{const t=r.getNode(e.source),n=r.getNode(e.target);let i,a;e.data.points?(i=e.data.points[0],a=e.data.points[e.data.points.length-1]):(e.data.points=[],i={x:n.data.x,y:n.data.y},a={x:t.data.x,y:t.data.y}),e.data.points.unshift(Q_(t.data,i)),e.data.points.push(Q_(n.data,a))})},W3=r=>{r.getAllEdges().forEach(e=>{if(e.data.hasOwnProperty("x"))switch((e.data.labelpos==="l"||e.data.labelpos==="r")&&(e.data.width-=e.data.labeloffset),e.data.labelpos){case"l":e.data.x-=e.data.width/2+e.data.labeloffset;break;case"r":e.data.x+=e.data.width/2+e.data.labeloffset;break}})},H3=r=>{r.getAllEdges().forEach(e=>{var t;e.data.reversed&&((t=e.data.points)===null||t===void 0||t.reverse())})},j3=r=>{r.getAllNodes().forEach(e=>{var t,n,i;if(!((t=r.getChildren(e.id))===null||t===void 0)&&t.length){const a=r.getNode(e.id),s=r.getNode(a.data.borderTop),o=r.getNode(a.data.borderBottom),l=r.getNode(a.data.borderLeft[((n=a.data.borderLeft)===null||n===void 0?void 0:n.length)-1]),c=r.getNode(a.data.borderRight[((i=a.data.borderRight)===null||i===void 0?void 0:i.length)-1]);a.data.width=Math.abs((c==null?void 0:c.data.x)-(l==null?void 0:l.data.x))||10,a.data.height=Math.abs((o==null?void 0:o.data.y)-(s==null?void 0:s.data.y))||10,a.data.x=((l==null?void 0:l.data.x)||0)+a.data.width/2,a.data.y=((s==null?void 0:s.data.y)||0)+a.data.height/2}}),r.getAllNodes().forEach(e=>{e.data.dummy==="border"&&r.removeNode(e.id)})},G3=r=>{r.getAllEdges().forEach(e=>{if(e.source===e.target){const t=r.getNode(e.source);t.data.selfEdges||(t.data.selfEdges=[]),t.data.selfEdges.push(e),r.removeEdge(e.id)}})},V3=r=>{const e=au(r);e==null||e.forEach(t=>{let n=0;t==null||t.forEach((i,a)=>{var s;const o=r.getNode(i);o.data.order=a+n,(s=o.data.selfEdges)===null||s===void 0||s.forEach(l=>{Ql(r,"selfedge",{width:l.data.width,height:l.data.height,rank:o.data.rank,order:a+ ++n,e:l},"_se")}),delete o.data.selfEdges})})},Z3=r=>{r.getAllNodes().forEach(e=>{const t=r.getNode(e.id);if(t.data.dummy==="selfedge"){const n=r.getNode(t.data.e.source),i=n.data.x+n.data.width/2,a=n.data.y,s=t.data.x-i,o=n.data.height/2;r.hasEdge(t.data.e.id)?r.updateEdgeData(t.data.e.id,t.data.e.data):r.addEdge({id:t.data.e.id,source:t.data.e.source,target:t.data.e.target,data:t.data.e.data}),r.removeNode(e.id),t.data.e.data.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{y:a,x:i+s},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],t.data.e.data.x=t.data.x,t.data.e.data.y=t.data.y}})},CE=(r,e)=>{const t={};return e==null||e.forEach(n=>{r[n]!==void 0&&(t[n]=+r[n])}),t},OE=(r={})=>{const e={};return Object.keys(r).forEach(t=>{e[t.toLowerCase()]=r[t]}),e};function su(r){if(!r)return[0,0,0];if(dn(r))return[r,r,r];if(r.length===0)return[0,0,0];const[e,t=e,n=e]=r;return[e,t,n]}function dl(r,e){let t;return xn(e)?t=e:dn(e)?t=()=>e:t=()=>r,t}function ap(r,e,t=!0){return!e&&e!==0?n=>{const{size:i}=n.data||{};return i?Array.isArray(i)?t?Math.max(...i)||r:i:ii(i)&&i.width&&i.height?t?Math.max(i.width,i.height)||r:[i.width,i.height]:i:r}:xn(e)?e:dn(e)?()=>e:Array.isArray(e)?()=>t?Math.max(...e)||r:e:ii(e)&&e.width&&e.height?()=>t?Math.max(e.width,e.height)||r:[e.width,e.height]:()=>r}const sp=(r,e,t=10)=>{let n;const i=typeof e=="function"?e:()=>e||0;return r?Array.isArray(r)?n=s=>r:xn(r)?n=r:n=s=>r:n=s=>{var o,l,c;if(!((o=s.data)===null||o===void 0)&&o.bboxSize)return(l=s.data)===null||l===void 0?void 0:l.bboxSize;if(!((c=s.data)===null||c===void 0)&&c.size){const h=s.data.size;return Array.isArray(h)?h:ii(h)?[h.width,h.height]:h}return t},s=>{const o=n(s),l=i(s);return Math.max(...su(o))+l}},op=r=>{if(r===null)return r;if(r instanceof Date)return new Date(r.getTime());if(r instanceof Array){const e=[];return r.forEach(t=>{e.push(t)}),e.map(t=>op(t))}if(typeof r=="object"){const e={};return Object.keys(r).forEach(t=>{e[t]=op(r[t])}),e}return r},La=(r,e)=>{const t=op(r);return t.data=t.data||{},e&&(dn(t.data.x)||(t.data.x=Math.random()*e[0]),dn(t.data.y)||(t.data.y=Math.random()*e[1])),t},K3={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class X3{constructor(e={}){this.options=e,this.id="antv-dagre",this.options=Object.assign(Object.assign({},K3),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,e,t)})}genericDagreLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{nodeSize:a,align:s,rankdir:o="TB",ranksep:l,nodesep:c,ranksepFunc:h,nodesepFunc:p,edgeLabelSpace:C,ranker:k,nodeOrder:W,begin:j,controlPoints:K,radial:Q,sortByCombo:ee,preset:re}=i,ve=new ci({tree:[]}),he=dl(l||50,h),pe=dl(c||50,p);let _e=pe,Ee=he;(o==="LR"||o==="RL")&&(_e=he,Ee=pe);const De=ap(10,a,!1),Be=t.getAllNodes(),Fe=t.getAllEdges();Be.forEach(Et=>{const xt=su(De(Et)),Dt=Ee(Et),Ut=_e(Et),Xt=xt[0]+2*Ut,an=xt[1]+2*Dt,gn=Et.data.layer;dn(gn)?ve.addNode({id:Et.id,data:{width:Xt,height:an,layer:gn}}):ve.addNode({id:Et.id,data:{width:Xt,height:an}})}),ee&&(ve.attachTreeStructure("combo"),Be.forEach(Et=>{const{parentId:xt}=Et.data;xt!==void 0&&ve.hasNode(xt)&&ve.setParent(Et.id,xt,"combo")})),Fe.forEach(Et=>{ve.addEdge({id:Et.id,source:Et.source,target:Et.target,data:{weight:Et.data.weight||1}})});let Xe;re!=null&&re.length&&(Xe=new ci({nodes:re})),T3(ve,{prevGraph:Xe,edgeLabelSpace:C,keepNodeOrder:!!W,nodeOrder:W||[],acyclicer:"greedy",ranker:k,rankdir:o,nodesep:c,align:s});const qe=[0,0];if(j){let Et=1/0,xt=1/0;ve.getAllNodes().forEach(Dt=>{Et>Dt.data.x&&(Et=Dt.data.x),xt>Dt.data.y&&(xt=Dt.data.y)}),ve.getAllEdges().forEach(Dt=>{var Ut;(Ut=Dt.data.points)===null||Ut===void 0||Ut.forEach(Xt=>{Et>Xt.x&&(Et=Xt.x),xt>Xt.y&&(xt=Xt.y)})}),qe[0]=j[0]-Et,qe[1]=j[1]-xt}const ct=o==="LR"||o==="RL";if(!Q){const Et=new Set,Dt=o==="BT"||o==="RL"?(gn,sn)=>sn-gn:(gn,sn)=>gn-sn;ve.getAllNodes().forEach(gn=>{gn.data.x=gn.data.x+qe[0],gn.data.y=gn.data.y+qe[1],Et.add(ct?gn.data.x:gn.data.y)});const Ut=Array.from(Et).sort(Dt),Xt=ct?(gn,sn)=>gn.x!==sn.x:(gn,sn)=>gn.y!==sn.y,an=ct?(gn,sn,Sn)=>{const zn=Math.max(sn.y,Sn.y),Vn=Math.min(sn.y,Sn.y);return gn.filter(ir=>ir.y<=zn&&ir.y>=Vn)}:(gn,sn,Sn)=>{const zn=Math.max(sn.x,Sn.x),Vn=Math.min(sn.x,Sn.x);return gn.filter(ir=>ir.x<=zn&&ir.x>=Vn)};ve.getAllEdges().forEach((gn,sn)=>{var Sn;C&&K&&gn.data.type!=="loop"&&(gn.data.controlPoints=Y3((Sn=gn.data.points)===null||Sn===void 0?void 0:Sn.map(({x:zn,y:Vn})=>({x:zn+qe[0],y:Vn+qe[1]})),ve.getNode(gn.source),ve.getNode(gn.target),Ut,ct,Xt,an))})}let ht=[];ht=ve.getAllNodes().map(Et=>La(Et));const St=ve.getAllEdges();return e&&(ht.forEach(Et=>{t.mergeNodeData(Et.id,{x:Et.data.x,y:Et.data.y})}),St.forEach(Et=>{t.mergeEdgeData(Et.id,{controlPoints:Et.data.controlPoints})})),{nodes:ht,edges:St}})}}const Y3=(r,e,t,n,i,a,s)=>{let o=(r==null?void 0:r.slice(1,r.length-1))||[];if(e&&t){let{x:l,y:c}=e.data,{x:h,y:p}=t.data;if(i&&(l=e.data.y,c=e.data.x,h=t.data.y,p=t.data.x),p!==c&&l!==h){const C=n.indexOf(c),k=n[C+1];if(k){const K=o[0],Q=i?{x:(c+k)/2,y:(K==null?void 0:K.y)||h}:{x:(K==null?void 0:K.x)||h,y:(c+k)/2};(!K||a(K,Q))&&o.unshift(Q)}const W=n.indexOf(p),j=Math.abs(W-C);if(j===1)o=s(o,e.data,t.data),o.length||o.push(i?{x:(c+p)/2,y:l}:{x:l,y:(c+p)/2});else if(j>1){const K=n[W-1];if(K){const Q=o[o.length-1],ee=i?{x:(p+K)/2,y:(Q==null?void 0:Q.y)||h}:{x:(Q==null?void 0:Q.x)||l,y:(p+K)/2};(!Q||a(Q,ee))&&o.push(ee)}}}}return o},vl=(r,e,t)=>{const n=r.getAllNodes(),i=r.getAllEdges();if(!(n!=null&&n.length))return{nodes:[],edges:i};if(n.length===1)return e&&r.mergeNodeData(n[0].id,{x:t[0],y:t[1]}),{nodes:[Object.assign(Object.assign({},n[0]),{data:Object.assign(Object.assign({},n[0].data),{x:t[0],y:t[1]})})],edges:i}},Q3={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class J3{constructor(e={}){this.options=e,this.id="circular",this.options=Object.assign(Object.assign({},Q3),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,e,t)})}genericCircularLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:s,center:o,divisions:l,startAngle:c=0,endAngle:h=2*Math.PI,angleRatio:p,ordering:C,clockwise:k,nodeSpacing:W,nodeSize:j}=i,K=t.getAllNodes(),Q=t.getAllEdges(),[ee,re,ve]=$3(a,s,o),he=K==null?void 0:K.length;if(!he||he===1)return vl(t,e,ve);const pe=(h-c)/he;let{radius:_e,startRadius:Ee,endRadius:De}=i;if(W){const ct=dl(10,W),ht=ap(10,j);let St=-1/0;K.forEach(Et=>{const xt=ht(Et);St<xt&&(St=xt)});let bt=0;K.forEach((Et,xt)=>{xt===0?bt+=St||10:bt+=(ct(Et)||0)+(St||10)}),_e=bt/(2*Math.PI)}else!_e&&!Ee&&!De?_e=Math.min(re,ee)/2:!Ee&&De?Ee=De:Ee&&!De&&(De=Ee);const Be=pe*p;let Fe=[];C==="topology"?Fe=PE(t,K):C==="topology-directed"?Fe=PE(t,K,!0):C==="degree"?Fe=q3(t,K):Fe=K.map(ct=>La(ct));const Xe=Math.ceil(he/l);for(let ct=0;ct<he;++ct){let ht=_e;!ht&&Ee!==null&&De!==null&&(ht=Ee+ct*(De-Ee)/(he-1)),ht||(ht=10+ct*100/(he-1));let St=c+ct%Xe*Be+2*Math.PI/l*Math.floor(ct/Xe);k||(St=h-ct%Xe*Be-2*Math.PI/l*Math.floor(ct/Xe)),Fe[ct].data.x=ve[0]+Math.cos(St)*ht,Fe[ct].data.y=ve[1]+Math.sin(St)*ht}return e&&Fe.forEach(ct=>{t.mergeNodeData(ct.id,{x:ct.data.x,y:ct.data.y})}),{nodes:Fe,edges:Q}})}}const PE=(r,e,t=!1)=>{const n=[La(e[0])],i={},a=e.length;i[e[0].id]=!0;let s=0;return e.forEach((o,l)=>{if(l!==0)if((l===a-1||r.getDegree(o.id,"both")!==r.getDegree(e[l+1].id,"both")||r.areNeighbors(n[s].id,o.id))&&!i[o.id])n.push(La(o)),i[o.id]=!0,s++;else{const c=t?r.getSuccessors(n[s].id):r.getNeighbors(n[s].id);let h=!1;for(let C=0;C<c.length;C++){const k=c[C];if(r.getDegree(k.id)===r.getDegree(o.id)&&!i[k.id]){n.push(La(k)),i[k.id]=!0,h=!0;break}}let p=0;for(;!h&&(i[e[p].id]||(n.push(La(e[p])),i[e[p].id]=!0,h=!0),p++,p!==a););}}),n};function q3(r,e){const t=[];return e.forEach((n,i)=>{t.push(La(n))}),t.sort((n,i)=>r.getDegree(n.id,"both")-r.getDegree(i.id,"both")),t}const $3=(r,e,t)=>{let n=r,i=e,a=t;return!n&&typeof window!="undefined"&&(n=window.innerWidth),!i&&typeof window!="undefined"&&(i=window.innerHeight),a||(a=[n/2,i/2]),[n,i,a]},Js=Array.isArray,eI={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class lp{constructor(e={}){this.options=e,this.id="concentric",this.options=Object.assign(Object.assign({},eI),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,e,t)})}genericConcentricLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:s,height:o,sortBy:l,maxLevelDiff:c,sweep:h,clockwise:p,equidistant:C,preventOverlap:k,startAngle:W=3/2*Math.PI,nodeSize:j,nodeSpacing:K}=i,Q=t.getAllNodes(),ee=t.getAllEdges(),re=!s&&typeof window!="undefined"?window.innerWidth:s,ve=!o&&typeof window!="undefined"?window.innerHeight:o,he=a||[re/2,ve/2];if(!(Q!=null&&Q.length)||Q.length===1)return vl(t,e,he);const pe=[];let _e,Ee=0;Js(j)?_e=Math.max(j[0],j[1]):xn(j)?(_e=-1/0,Q.forEach(Et=>{const xt=Math.max(...su(j(Et)));xt>_e&&(_e=xt)})):_e=j,Js(K)?Ee=Math.max(K[0],K[1]):dn(K)&&(Ee=K),Q.forEach(Et=>{const xt=La(Et);pe.push(xt);let Dt=_e;const{data:Ut}=xt;Js(Ut.size)?Dt=Math.max(Ut.size[0],Ut.size[1]):dn(Ut.size)?Dt=Ut.size:ii(Ut.size)&&(Dt=Math.max(Ut.size.width,Ut.size.height)),_e=Math.max(_e,Dt),xn(K)&&(Ee=Math.max(K(Et),Ee))});const De={};pe.forEach((Et,xt)=>{De[Et.id]=xt});let Be=l;(!dr(Be)||pe[0].data[Be]===void 0)&&(Be="degree"),Be==="degree"?pe.sort((Et,xt)=>t.getDegree(xt.id,"both")-t.getDegree(Et.id,"both")):pe.sort((Et,xt)=>xt.data[Be]-Et.data[Be]);const Fe=pe[0],Xe=(c||(Be==="degree"?t.getDegree(Fe.id,"both"):Fe.data[Be]))/4,qe=[{nodes:[]}];let ct=qe[0];pe.forEach(Et=>{if(ct.nodes.length>0){const xt=Math.abs(Be==="degree"?t.getDegree(ct.nodes[0].id,"both")-t.getDegree(Et.id,"both"):ct.nodes[0].data[Be]-Et.data[Be]);Xe&&xt>=Xe&&(ct={nodes:[]},qe.push(ct))}ct.nodes.push(Et)});let ht=_e+Ee;if(!k){const Et=qe.length>0&&qe[0].nodes.length>1,Dt=(Math.min(re,ve)/2-ht)/(qe.length+(Et?1:0));ht=Math.min(ht,Dt)}let St=0;if(qe.forEach(Et=>{const xt=h===void 0?2*Math.PI-2*Math.PI/Et.nodes.length:h;if(Et.dTheta=xt/Math.max(1,Et.nodes.length-1),Et.nodes.length>1&&k){const Dt=Math.cos(Et.dTheta)-Math.cos(0),Ut=Math.sin(Et.dTheta)-Math.sin(0),Xt=Math.sqrt(ht*ht/(Dt*Dt+Ut*Ut));St=Math.max(Xt,St)}Et.r=St,St+=ht}),C){let Et=0,xt=0;for(let Dt=0;Dt<qe.length;Dt++){const Xt=(qe[Dt].r||0)-xt;Et=Math.max(Et,Xt)}xt=0,qe.forEach((Dt,Ut)=>{Ut===0&&(xt=Dt.r||0),Dt.r=xt,xt+=Et})}return qe.forEach(Et=>{const xt=Et.dTheta||0,Dt=Et.r||0;Et.nodes.forEach((Ut,Xt)=>{const an=W+(p?1:-1)*xt*Xt;Ut.data.x=he[0]+Dt*Math.cos(an),Ut.data.y=he[1]+Dt*Math.sin(an)})}),e&&pe.forEach(Et=>t.mergeNodeData(Et.id,{x:Et.data.x,y:Et.data.y})),{nodes:pe,edges:ee}})}}function tI(r){const e=+this._x.call(null,r),t=+this._y.call(null,r);return DE(this.cover(e,t),e,t,r)}function DE(r,e,t,n){if(isNaN(e)||isNaN(t))return r;var i,a=r._root,s={data:n},o=r._x0,l=r._y0,c=r._x1,h=r._y1,p,C,k,W,j,K,Q,ee;if(!a)return r._root=s,r;for(;a.length;)if((j=e>=(p=(o+c)/2))?o=p:c=p,(K=t>=(C=(l+h)/2))?l=C:h=C,i=a,!(a=a[Q=K<<1|j]))return i[Q]=s,r;if(k=+r._x.call(null,a.data),W=+r._y.call(null,a.data),e===k&&t===W)return s.next=a,i?i[Q]=s:r._root=s,r;do i=i?i[Q]=new Array(4):r._root=new Array(4),(j=e>=(p=(o+c)/2))?o=p:c=p,(K=t>=(C=(l+h)/2))?l=C:h=C;while((Q=K<<1|j)===(ee=(W>=C)<<1|k>=p));return i[ee]=a,i[Q]=s,r}function nI(r){var e,t,n=r.length,i,a,s=new Array(n),o=new Array(n),l=1/0,c=1/0,h=-1/0,p=-1/0;for(t=0;t<n;++t)isNaN(i=+this._x.call(null,e=r[t]))||isNaN(a=+this._y.call(null,e))||(s[t]=i,o[t]=a,i<l&&(l=i),i>h&&(h=i),a<c&&(c=a),a>p&&(p=a));if(l>h||c>p)return this;for(this.cover(l,c).cover(h,p),t=0;t<n;++t)DE(this,s[t],o[t],r[t]);return this}function rI(r,e){if(isNaN(r=+r)||isNaN(e=+e))return this;var t=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(t))i=(t=Math.floor(r))+1,a=(n=Math.floor(e))+1;else{for(var s=i-t||1,o=this._root,l,c;t>r||r>=i||n>e||e>=a;)switch(c=(e<n)<<1|r<t,l=new Array(4),l[c]=o,o=l,s*=2,c){case 0:i=t+s,a=n+s;break;case 1:t=i-s,a=n+s;break;case 2:i=t+s,n=a-s;break;case 3:t=i-s,n=a-s;break}this._root&&this._root.length&&(this._root=o)}return this._x0=t,this._y0=n,this._x1=i,this._y1=a,this}function iI(){var r=[];return this.visit(function(e){if(!e.length)do r.push(e.data);while(e=e.next)}),r}function aI(r){return arguments.length?this.cover(+r[0][0],+r[0][1]).cover(+r[1][0],+r[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function oa(r,e,t,n,i){this.node=r,this.x0=e,this.y0=t,this.x1=n,this.y1=i}function sI(r,e,t){var n,i=this._x0,a=this._y0,s,o,l,c,h=this._x1,p=this._y1,C=[],k=this._root,W,j;for(k&&C.push(new oa(k,i,a,h,p)),t==null?t=1/0:(i=r-t,a=e-t,h=r+t,p=e+t,t*=t);W=C.pop();)if(!(!(k=W.node)||(s=W.x0)>h||(o=W.y0)>p||(l=W.x1)<i||(c=W.y1)<a))if(k.length){var K=(s+l)/2,Q=(o+c)/2;C.push(new oa(k[3],K,Q,l,c),new oa(k[2],s,Q,K,c),new oa(k[1],K,o,l,Q),new oa(k[0],s,o,K,Q)),(j=(e>=Q)<<1|r>=K)&&(W=C[C.length-1],C[C.length-1]=C[C.length-1-j],C[C.length-1-j]=W)}else{var ee=r-+this._x.call(null,k.data),re=e-+this._y.call(null,k.data),ve=ee*ee+re*re;if(ve<t){var he=Math.sqrt(t=ve);i=r-he,a=e-he,h=r+he,p=e+he,n=k.data}}return n}function oI(r){if(isNaN(h=+this._x.call(null,r))||isNaN(p=+this._y.call(null,r)))return this;var e,t=this._root,n,i,a,s=this._x0,o=this._y0,l=this._x1,c=this._y1,h,p,C,k,W,j,K,Q;if(!t)return this;if(t.length)for(;;){if((W=h>=(C=(s+l)/2))?s=C:l=C,(j=p>=(k=(o+c)/2))?o=k:c=k,e=t,!(t=t[K=j<<1|W]))return this;if(!t.length)break;(e[K+1&3]||e[K+2&3]||e[K+3&3])&&(n=e,Q=K)}for(;t.data!==r;)if(i=t,!(t=t.next))return this;return(a=t.next)&&delete t.next,i?(a?i.next=a:delete i.next,this):e?(a?e[K]=a:delete e[K],(t=e[0]||e[1]||e[2]||e[3])&&t===(e[3]||e[2]||e[1]||e[0])&&!t.length&&(n?n[Q]=t:this._root=t),this):(this._root=a,this)}function lI(r){for(var e=0,t=r.length;e<t;++e)this.remove(r[e]);return this}function cI(){return this._root}function uI(){var r=0;return this.visit(function(e){if(!e.length)do++r;while(e=e.next)}),r}function hI(r){var e=[],t,n=this._root,i,a,s,o,l;for(n&&e.push(new oa(n,this._x0,this._y0,this._x1,this._y1));t=e.pop();)if(!r(n=t.node,a=t.x0,s=t.y0,o=t.x1,l=t.y1)&&n.length){var c=(a+o)/2,h=(s+l)/2;(i=n[3])&&e.push(new oa(i,c,h,o,l)),(i=n[2])&&e.push(new oa(i,a,h,c,l)),(i=n[1])&&e.push(new oa(i,c,s,o,h)),(i=n[0])&&e.push(new oa(i,a,s,c,h))}return this}function fI(r){var e=[],t=[],n;for(this._root&&e.push(new oa(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var a,s=n.x0,o=n.y0,l=n.x1,c=n.y1,h=(s+l)/2,p=(o+c)/2;(a=i[0])&&e.push(new oa(a,s,o,h,p)),(a=i[1])&&e.push(new oa(a,h,o,l,p)),(a=i[2])&&e.push(new oa(a,s,p,h,c)),(a=i[3])&&e.push(new oa(a,h,p,l,c))}t.push(n)}for(;n=t.pop();)r(n.node,n.x0,n.y0,n.x1,n.y1);return this}function dI(r){return r[0]}function vI(r){return arguments.length?(this._x=r,this):this._x}function gI(r){return r[1]}function pI(r){return arguments.length?(this._y=r,this):this._y}function kf(r,e,t){var n=new cp(e==null?dI:e,t==null?gI:t,NaN,NaN,NaN,NaN);return r==null?n:n.addAll(r)}function cp(r,e,t,n,i,a){this._x=r,this._y=e,this._x0=t,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function LE(r){for(var e={data:r.data},t=e;r=r.next;)t=t.next={data:r.data};return e}var la=kf.prototype=cp.prototype;la.copy=function(){var r=new cp(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,t,n;if(!e)return r;if(!e.length)return r._root=LE(e),r;for(t=[{source:e,target:r._root=new Array(4)}];e=t.pop();)for(var i=0;i<4;++i)(n=e.source[i])&&(n.length?t.push({source:n,target:e.target[i]=new Array(4)}):e.target[i]=LE(n));return r},la.add=tI,la.addAll=nI,la.cover=rI,la.data=iI,la.extent=aI,la.find=sI,la.remove=oI,la.removeAll=lI,la.root=cI,la.size=uI,la.visit=hI,la.visitAfter=fI,la.x=vI,la.y=pI;function mI(r){const e=+this._x.call(null,r),t=+this._y.call(null,r),n=+this._z.call(null,r);return RE(this.cover(e,t,n),e,t,n,r)}function RE(r,e,t,n,i){if(isNaN(e)||isNaN(t)||isNaN(n))return r;var a,s=r._root,o={data:i},l=r._x0,c=r._y0,h=r._z0,p=r._x1,C=r._y1,k=r._z1,W,j,K,Q,ee,re,ve,he,pe,_e,Ee;if(!s)return r._root=o,r;for(;s.length;)if((ve=e>=(W=(l+p)/2))?l=W:p=W,(he=t>=(j=(c+C)/2))?c=j:C=j,(pe=n>=(K=(h+k)/2))?h=K:k=K,a=s,!(s=s[_e=pe<<2|he<<1|ve]))return a[_e]=o,r;if(Q=+r._x.call(null,s.data),ee=+r._y.call(null,s.data),re=+r._z.call(null,s.data),e===Q&&t===ee&&n===re)return o.next=s,a?a[_e]=o:r._root=o,r;do a=a?a[_e]=new Array(8):r._root=new Array(8),(ve=e>=(W=(l+p)/2))?l=W:p=W,(he=t>=(j=(c+C)/2))?c=j:C=j,(pe=n>=(K=(h+k)/2))?h=K:k=K;while((_e=pe<<2|he<<1|ve)===(Ee=(re>=K)<<2|(ee>=j)<<1|Q>=W));return a[Ee]=s,a[_e]=o,r}function yI(r){Array.isArray(r)||(r=Array.from(r));const e=r.length,t=new Float64Array(e),n=new Float64Array(e),i=new Float64Array(e);let a=1/0,s=1/0,o=1/0,l=-1/0,c=-1/0,h=-1/0;for(let p=0,C,k,W,j;p<e;++p)isNaN(k=+this._x.call(null,C=r[p]))||isNaN(W=+this._y.call(null,C))||isNaN(j=+this._z.call(null,C))||(t[p]=k,n[p]=W,i[p]=j,k<a&&(a=k),k>l&&(l=k),W<s&&(s=W),W>c&&(c=W),j<o&&(o=j),j>h&&(h=j));if(a>l||s>c||o>h)return this;this.cover(a,s,o).cover(l,c,h);for(let p=0;p<e;++p)RE(this,t[p],n[p],i[p],r[p]);return this}function _I(r,e,t){if(isNaN(r=+r)||isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,i=this._y0,a=this._z0,s=this._x1,o=this._y1,l=this._z1;if(isNaN(n))s=(n=Math.floor(r))+1,o=(i=Math.floor(e))+1,l=(a=Math.floor(t))+1;else{for(var c=s-n||1,h=this._root,p,C;n>r||r>=s||i>e||e>=o||a>t||t>=l;)switch(C=(t<a)<<2|(e<i)<<1|r<n,p=new Array(8),p[C]=h,h=p,c*=2,C){case 0:s=n+c,o=i+c,l=a+c;break;case 1:n=s-c,o=i+c,l=a+c;break;case 2:s=n+c,i=o-c,l=a+c;break;case 3:n=s-c,i=o-c,l=a+c;break;case 4:s=n+c,o=i+c,a=l-c;break;case 5:n=s-c,o=i+c,a=l-c;break;case 6:s=n+c,i=o-c,a=l-c;break;case 7:n=s-c,i=o-c,a=l-c;break}this._root&&this._root.length&&(this._root=h)}return this._x0=n,this._y0=i,this._z0=a,this._x1=s,this._y1=o,this._z1=l,this}function EI(){var r=[];return this.visit(function(e){if(!e.length)do r.push(e.data);while(e=e.next)}),r}function xI(r){return arguments.length?this.cover(+r[0][0],+r[0][1],+r[0][2]).cover(+r[1][0],+r[1][1],+r[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]}function Br(r,e,t,n,i,a,s){this.node=r,this.x0=e,this.y0=t,this.z0=n,this.x1=i,this.y1=a,this.z1=s}function bI(r,e,t,n){var i,a=this._x0,s=this._y0,o=this._z0,l,c,h,p,C,k,W=this._x1,j=this._y1,K=this._z1,Q=[],ee=this._root,re,ve;for(ee&&Q.push(new Br(ee,a,s,o,W,j,K)),n==null?n=1/0:(a=r-n,s=e-n,o=t-n,W=r+n,j=e+n,K=t+n,n*=n);re=Q.pop();)if(!(!(ee=re.node)||(l=re.x0)>W||(c=re.y0)>j||(h=re.z0)>K||(p=re.x1)<a||(C=re.y1)<s||(k=re.z1)<o))if(ee.length){var he=(l+p)/2,pe=(c+C)/2,_e=(h+k)/2;Q.push(new Br(ee[7],he,pe,_e,p,C,k),new Br(ee[6],l,pe,_e,he,C,k),new Br(ee[5],he,c,_e,p,pe,k),new Br(ee[4],l,c,_e,he,pe,k),new Br(ee[3],he,pe,h,p,C,_e),new Br(ee[2],l,pe,h,he,C,_e),new Br(ee[1],he,c,h,p,pe,_e),new Br(ee[0],l,c,h,he,pe,_e)),(ve=(t>=_e)<<2|(e>=pe)<<1|r>=he)&&(re=Q[Q.length-1],Q[Q.length-1]=Q[Q.length-1-ve],Q[Q.length-1-ve]=re)}else{var Ee=r-+this._x.call(null,ee.data),De=e-+this._y.call(null,ee.data),Be=t-+this._z.call(null,ee.data),Fe=Ee*Ee+De*De+Be*Be;if(Fe<n){var Xe=Math.sqrt(n=Fe);a=r-Xe,s=e-Xe,o=t-Xe,W=r+Xe,j=e+Xe,K=t+Xe,i=ee.data}}return i}const wI=(r,e,t,n,i,a)=>Math.sqrt(No(r-n,2)+No(e-i,2)+No(t-a,2));function MI(r,e,t,n){const i=[],a=r-n,s=e-n,o=t-n,l=r+n,c=e+n,h=t+n;return this.visit((p,C,k,W,j,K,Q)=>{if(!p.length)do{const ee=p.data;wI(r,e,t,this._x(ee),this._y(ee),this._z(ee))<=n&&i.push(ee)}while(p=p.next);return C>l||k>c||W>h||j<a||K<s||Q<o}),i}function SI(r){if(isNaN(C=+this._x.call(null,r))||isNaN(k=+this._y.call(null,r))||isNaN(W=+this._z.call(null,r)))return this;var e,t=this._root,n,i,a,s=this._x0,o=this._y0,l=this._z0,c=this._x1,h=this._y1,p=this._z1,C,k,W,j,K,Q,ee,re,ve,he,pe;if(!t)return this;if(t.length)for(;;){if((ee=C>=(j=(s+c)/2))?s=j:c=j,(re=k>=(K=(o+h)/2))?o=K:h=K,(ve=W>=(Q=(l+p)/2))?l=Q:p=Q,e=t,!(t=t[he=ve<<2|re<<1|ee]))return this;if(!t.length)break;(e[he+1&7]||e[he+2&7]||e[he+3&7]||e[he+4&7]||e[he+5&7]||e[he+6&7]||e[he+7&7])&&(n=e,pe=he)}for(;t.data!==r;)if(i=t,!(t=t.next))return this;return(a=t.next)&&delete t.next,i?(a?i.next=a:delete i.next,this):e?(a?e[he]=a:delete e[he],(t=e[0]||e[1]||e[2]||e[3]||e[4]||e[5]||e[6]||e[7])&&t===(e[7]||e[6]||e[5]||e[4]||e[3]||e[2]||e[1]||e[0])&&!t.length&&(n?n[pe]=t:this._root=t),this):(this._root=a,this)}function TI(r){for(var e=0,t=r.length;e<t;++e)this.remove(r[e]);return this}function AI(){return this._root}function CI(){var r=0;return this.visit(function(e){if(!e.length)do++r;while(e=e.next)}),r}function OI(r){var e=[],t,n=this._root,i,a,s,o,l,c,h;for(n&&e.push(new Br(n,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));t=e.pop();)if(!r(n=t.node,a=t.x0,s=t.y0,o=t.z0,l=t.x1,c=t.y1,h=t.z1)&&n.length){var p=(a+l)/2,C=(s+c)/2,k=(o+h)/2;(i=n[7])&&e.push(new Br(i,p,C,k,l,c,h)),(i=n[6])&&e.push(new Br(i,a,C,k,p,c,h)),(i=n[5])&&e.push(new Br(i,p,s,k,l,C,h)),(i=n[4])&&e.push(new Br(i,a,s,k,p,C,h)),(i=n[3])&&e.push(new Br(i,p,C,o,l,c,k)),(i=n[2])&&e.push(new Br(i,a,C,o,p,c,k)),(i=n[1])&&e.push(new Br(i,p,s,o,l,C,k)),(i=n[0])&&e.push(new Br(i,a,s,o,p,C,k))}return this}function PI(r){var e=[],t=[],n;for(this._root&&e.push(new Br(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));n=e.pop();){var i=n.node;if(i.length){var a,s=n.x0,o=n.y0,l=n.z0,c=n.x1,h=n.y1,p=n.z1,C=(s+c)/2,k=(o+h)/2,W=(l+p)/2;(a=i[0])&&e.push(new Br(a,s,o,l,C,k,W)),(a=i[1])&&e.push(new Br(a,C,o,l,c,k,W)),(a=i[2])&&e.push(new Br(a,s,k,l,C,h,W)),(a=i[3])&&e.push(new Br(a,C,k,l,c,h,W)),(a=i[4])&&e.push(new Br(a,s,o,W,C,k,p)),(a=i[5])&&e.push(new Br(a,C,o,W,c,k,p)),(a=i[6])&&e.push(new Br(a,s,k,W,C,h,p)),(a=i[7])&&e.push(new Br(a,C,k,W,c,h,p))}t.push(n)}for(;n=t.pop();)r(n.node,n.x0,n.y0,n.z0,n.x1,n.y1,n.z1);return this}function DI(r){return r[0]}function LI(r){return arguments.length?(this._x=r,this):this._x}function RI(r){return r[1]}function II(r){return arguments.length?(this._y=r,this):this._y}function NI(r){return r[2]}function BI(r){return arguments.length?(this._z=r,this):this._z}function IE(r,e,t,n){var i=new up(e==null?DI:e,t==null?RI:t,n==null?NI:n,NaN,NaN,NaN,NaN,NaN,NaN);return r==null?i:i.addAll(r)}function up(r,e,t,n,i,a,s,o,l){this._x=r,this._y=e,this._z=t,this._x0=n,this._y0=i,this._z0=a,this._x1=s,this._y1=o,this._z1=l,this._root=void 0}function NE(r){for(var e={data:r.data},t=e;r=r.next;)t=t.next={data:r.data};return e}var Bi=IE.prototype=up.prototype;Bi.copy=function(){var r=new up(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),e=this._root,t,n;if(!e)return r;if(!e.length)return r._root=NE(e),r;for(t=[{source:e,target:r._root=new Array(8)}];e=t.pop();)for(var i=0;i<8;++i)(n=e.source[i])&&(n.length?t.push({source:n,target:e.target[i]=new Array(8)}):e.target[i]=NE(n));return r},Bi.add=mI,Bi.addAll=yI,Bi.cover=_I,Bi.data=EI,Bi.extent=xI,Bi.find=bI,Bi.findAllWithinRadius=MI,Bi.remove=SI,Bi.removeAll=TI,Bi.root=AI,Bi.size=CI,Bi.visit=OI,Bi.visitAfter=PI,Bi.x=LI,Bi.y=II,Bi.z=BI;const kI=.81,hp=.1;function zI(r,e,t,n,i=2){const a=e/t,s=r.getAllNodes(),o=s.map((h,p)=>{const{nodeStrength:C,x:k,y:W,z:j,size:K}=h.data;return{x:k,y:W,z:j,size:K,index:p,id:h.id,vx:0,vy:0,vz:0,weight:a*C}}),l=(i===2?kf(o,h=>h.x,h=>h.y):IE(o,h=>h.x,h=>h.y,h=>h.z)).visitAfter(FI),c=new Map;return o.forEach(h=>{c.set(h.id,h),WI(h,l,i)}),o.map((h,p)=>{const{id:C,data:k}=s[p],{mass:W=1}=k;n[C]={x:h.vx/W,y:h.vy/W,z:h.vz/W}}),n}function FI(r){let e=0,t=0,n=0,i=0,a=0;const s=r.length;if(s){for(let o=0;o<s;o++){const l=r[o];l&&l.weight&&(e+=l.weight,t+=l.x*l.weight,n+=l.y*l.weight,i+=l.z*l.weight,a+=l.size*l.weight)}r.x=t/e,r.y=n/e,r.z=i/e,r.size=a/e,r.weight=e}else{const o=r;r.x=o.data.x,r.y=o.data.y,r.z=o.data.z,r.size=o.data.size,r.weight=o.data.weight}}const UI=(r,e,t,n,i,a,s)=>{var o;if(((o=r.data)===null||o===void 0?void 0:o.id)===a.id)return;const l=[t,n,i][s-1],c=a.x-r.x||hp,h=a.y-r.y||hp,p=a.z-r.z||hp,C=[c,h,p],k=l-e;let W=0;for(let Q=0;Q<s;Q++)W+=C[Q]*C[Q];const K=Math.sqrt(W)*W;if(k*k*kI<W){const Q=r.weight/K;return a.vx+=c*Q,a.vy+=h*Q,a.vz+=p*Q,!0}if(r.length)return!1;if(r.data!==a){const Q=r.data.weight/K;a.vx+=c*Q,a.vy+=h*Q,a.vz+=p*Q}};function WI(r,e,t){e.visit((n,i,a,s,o)=>UI(n,i,a,s,o,r,t))}const HI={dimensions:2,maxIteration:500,gravity:10,factor:1,edgeStrength:50,nodeStrength:1e3,coulombDisScale:.005,damping:.9,maxSpeed:200,minMovement:.4,interval:.02,linkDistance:200,clusterNodeStrength:20,preventOverlap:!0,distanceThresholdMode:"mean"};class BE{constructor(e={}){this.options=e,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},HI),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericForceLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,e,t)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(e=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;(this.judgingDistance>this.lastOptions.minMovement||n<1)&&n<e;n++)this.runOneStep(this.lastCalcGraph,this.lastGraph,n,this.lastVelMap,this.lastOptions),this.updatePosition(this.lastGraph,this.lastCalcGraph,this.lastVelMap,this.lastOptions);const t={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&t.nodes.forEach(n=>this.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),t}genericForceLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),a=t.getAllNodes(),s=t.getAllEdges(),o=this.formatOptions(i,t),{dimensions:l,width:c,height:h,nodeSize:p,getMass:C,nodeStrength:k,edgeStrength:W,linkDistance:j}=o,K=a.map((Ee,De)=>Object.assign(Object.assign({},Ee),{data:Object.assign(Object.assign({},Ee.data),{x:dn(Ee.data.x)?Ee.data.x:Math.random()*c,y:dn(Ee.data.y)?Ee.data.y:Math.random()*h,z:dn(Ee.data.z)?Ee.data.z:Math.random()*Math.sqrt(c*h),size:p(Ee)||30,mass:C(Ee),nodeStrength:k(Ee)})})),Q=s.map(Ee=>Object.assign(Object.assign({},Ee),{data:Object.assign(Object.assign({},Ee.data),{edgeStrength:W(Ee),linkDistance:j(Ee,t.getNode(Ee.source),t.getNode(Ee.target))})}));if(!(a!=null&&a.length))return this.lastResult={nodes:[],edges:s},{nodes:[],edges:s};const ee={};a.forEach((Ee,De)=>{ee[Ee.id]={x:0,y:0,z:0}});const re=new ci({nodes:K,edges:Q});this.formatCentripetal(o,re);const{maxIteration:ve,minMovement:he,onTick:pe}=o;if(this.lastLayoutNodes=K,this.lastLayoutEdges=Q,this.lastAssign=e,this.lastGraph=t,this.lastCalcGraph=re,this.lastOptions=o,this.lastVelMap=ee,typeof window=="undefined")return;let _e=0;return new Promise(Ee=>{this.timeInterval=window.setInterval(()=>{(!a||!this.running)&&Ee({nodes:fp(t,K),edges:s}),this.runOneStep(re,t,_e,ee,o),this.updatePosition(t,re,ee,o),e&&K.forEach(De=>t.mergeNodeData(De.id,{x:De.data.x,y:De.data.y,z:l===3?De.data.z:void 0})),pe==null||pe({nodes:fp(t,K),edges:s}),_e++,(_e>=ve||this.judgingDistance<he)&&(window.clearInterval(this.timeInterval),Ee({nodes:fp(t,K),edges:s}))},0),this.running=!0})})}formatOptions(e,t){const n=Object.assign({},e),{width:i,height:a,getMass:s}=e;n.width=!i&&typeof window!="undefined"?window.innerWidth:i,n.height=!a&&typeof window!="undefined"?window.innerHeight:a,e.center||(n.center=[n.width/2,n.height/2]),s||(n.getMass=l=>{let c=1;dn(l==null?void 0:l.data.mass)&&(c=l==null?void 0:l.data.mass);const h=t.getDegree(l.id,"both");return!h||h<5?c:h*5*c}),n.nodeSize=sp(e.nodeSize,e.nodeSpacing);const o=e.linkDistance?dl(1,e.linkDistance):l=>1+n.nodeSize(t.getNode(l.source))+n.nodeSize(t.getNode(l.target));return n.linkDistance=o,n.nodeStrength=dl(1,e.nodeStrength),n.edgeStrength=dl(1,e.edgeStrength),n}formatCentripetal(e,t){const{dimensions:n,centripetalOptions:i,center:a,clusterNodeStrength:s,leafCluster:o,clustering:l,nodeClusterBy:c}=e,h=t.getAllNodes(),p=i||{leaf:2,single:2,others:1,center:Q=>({x:a[0],y:a[1],z:n===3?a[2]:void 0})};typeof s!="function"&&(e.clusterNodeStrength=Q=>s);let C,k;if(o&&c&&(C=kE(t,c),k=Array.from(new Set(h==null?void 0:h.map(Q=>Q.data[c])))||[],e.centripetalOptions=Object.assign(p,{single:100,leaf:Q=>{const{siblingLeaves:ee,sameTypeLeaves:re}=C[Q.id]||{};return(re==null?void 0:re.length)===(ee==null?void 0:ee.length)||(k==null?void 0:k.length)===1?1:e.clusterNodeStrength(Q)},others:1,center:Q=>{const ee=t.getDegree(Q.id,"both");if(!ee)return{x:100,y:100,z:0};let re;if(ee===1){const{sameTypeLeaves:ve=[]}=C[Q.id]||{};ve.length===1?re=void 0:ve.length>1&&(re=zE(ve))}else re=void 0;return{x:re==null?void 0:re.x,y:re==null?void 0:re.y,z:re==null?void 0:re.z}}})),l&&c){C||(C=kE(t,c)),k||(k=Array.from(new Set(h.map(ee=>ee.data[c])))),k=k.filter(ee=>ee!==void 0);const Q={};k.forEach(ee=>{const re=h.filter(ve=>ve.data[c]===ee).map(ve=>t.getNode(ve.id));Q[ee]=zE(re)}),e.centripetalOptions=Object.assign(p,{single:ee=>e.clusterNodeStrength(ee),leaf:ee=>e.clusterNodeStrength(ee),others:ee=>e.clusterNodeStrength(ee),center:ee=>{const re=Q[ee.data[c]];return{x:re==null?void 0:re.x,y:re==null?void 0:re.y,z:re==null?void 0:re.z}}})}const{leaf:W,single:j,others:K}=e.centripetalOptions||{};W&&typeof W!="function"&&(e.centripetalOptions.leaf=()=>W),j&&typeof j!="function"&&(e.centripetalOptions.single=()=>j),K&&typeof K!="function"&&(e.centripetalOptions.others=()=>K)}runOneStep(e,t,n,i,a){const s={},o=e.getAllNodes(),l=e.getAllEdges();if(!(o!=null&&o.length))return;const{monitor:c}=a;if(this.calRepulsive(e,s,a),l&&this.calAttractive(e,s,a),this.calGravity(e,t,s,a),this.updateVelocity(e,s,i,a),c){const h=this.calTotalEnergy(s,o);c({energy:h,nodes:t.getAllNodes(),edges:t.getAllEdges(),iterations:n})}}calTotalEnergy(e,t){if(!(t!=null&&t.length))return 0;let n=0;return t.forEach((i,a)=>{const s=e[i.id].x,o=e[i.id].y,l=this.options.dimensions===3?e[i.id].z:0,c=s*s+o*o+l*l,{mass:h=1}=i.data;n+=h*c*.5}),n}calRepulsive(e,t,n){const{dimensions:i,factor:a,coulombDisScale:s}=n;zI(e,a,s*s,t,i)}calAttractive(e,t,n){const{dimensions:i,nodeSize:a}=n;e.getAllEdges().forEach((s,o)=>{const{source:l,target:c}=s,h=e.getNode(l),p=e.getNode(c);if(!h||!p)return;let C=p.data.x-h.data.x,k=p.data.y-h.data.y,W=i===3?p.data.z-h.data.z:0;!C&&!k&&(C=Math.random()*.01,k=Math.random()*.01,i===3&&!W&&(W=Math.random()*.01));const j=Math.sqrt(C*C+k*k+W*W);if(j<a(h)+a(p))return;const K=C/j,Q=k/j,ee=W/j,{linkDistance:re=200,edgeStrength:ve=200}=s.data||{},pe=(re-j)*ve,_e=h.data.mass||1,Ee=p.data.mass||1,De=1/_e,Be=1/Ee,Fe=K*pe,Xe=Q*pe,qe=ee*pe;t[l].x-=Fe*De,t[l].y-=Xe*De,t[l].z-=qe*De,t[c].x+=Fe*Be,t[c].y+=Xe*Be,t[c].z+=qe*Be})}calGravity(e,t,n,i){const{getCenter:a}=i,s=e.getAllNodes(),o=t.getAllNodes(),l=t.getAllEdges(),{width:c,height:h,center:p,gravity:C,centripetalOptions:k}=i;s&&s.forEach(W=>{const{id:j,data:K}=W,{mass:Q,x:ee,y:re,z:ve}=K,he=t.getNode(j);let pe=0,_e=0,Ee=0,De=C;const Be=e.getDegree(j,"in"),Fe=e.getDegree(j,"out"),Xe=e.getDegree(j,"both"),qe=a==null?void 0:a(he,Xe);if(qe){const[ct,ht,St]=qe;pe=ee-ct,_e=re-ht,De=St}else pe=ee-p[0],_e=re-p[1],Ee=ve-p[2];if(De&&(n[j].x-=De*pe/Q,n[j].y-=De*_e/Q,n[j].z-=De*Ee/Q),k){const{leaf:ct,single:ht,others:St,center:bt}=k,{x:Et,y:xt,z:Dt,centerStrength:Ut}=(bt==null?void 0:bt(he,o,l,c,h))||{x:0,y:0,z:0,centerStrength:0};if(!dn(Et)||!dn(xt))return;const Xt=(ee-Et)/Q,an=(re-xt)/Q,gn=(ve-Dt)/Q;if(Ut&&(n[j].x-=Ut*Xt,n[j].y-=Ut*an,n[j].z-=Ut*gn),Xe===0){const Sn=ht(he);if(!Sn)return;n[j].x-=Sn*Xt,n[j].y-=Sn*an,n[j].z-=Sn*gn;return}if(Be===0||Fe===0){const Sn=ct(he,o,l);if(!Sn)return;n[j].x-=Sn*Xt,n[j].y-=Sn*an,n[j].z-=Sn*gn;return}const sn=St(he);if(!sn)return;n[j].x-=sn*Xt,n[j].y-=sn*an,n[j].z-=sn*gn}})}updateVelocity(e,t,n,i){const{damping:a,maxSpeed:s,interval:o,dimensions:l}=i,c=e.getAllNodes();c!=null&&c.length&&c.forEach(h=>{const{id:p}=h;let C=(n[p].x+t[p].x*o)*a||.01,k=(n[p].y+t[p].y*o)*a||.01,W=l===3?(n[p].z+t[p].z*o)*a||.01:0;const j=Math.sqrt(C*C+k*k+W*W);if(j>s){const K=s/j;C=K*C,k=K*k,W=K*W}n[p]={x:C,y:k,z:W}})}updatePosition(e,t,n,i){const{distanceThresholdMode:a,interval:s,dimensions:o}=i,l=t.getAllNodes();if(!(l!=null&&l.length)){this.judgingDistance=0;return}let c=0;a==="max"?this.judgingDistance=-1/0:a==="min"&&(this.judgingDistance=1/0),l.forEach(h=>{const{id:p}=h,C=e.getNode(p);if(dn(C.data.fx)&&dn(C.data.fy)){t.mergeNodeData(p,{x:C.data.fx,y:C.data.fy,z:o===3?C.data.fz:void 0});return}const k=n[p].x*s,W=n[p].y*s,j=o===3?n[p].z*s:0;t.mergeNodeData(p,{x:h.data.x+k,y:h.data.y+W,z:h.data.z+j});const K=Math.sqrt(k*k+W*W+j*j);switch(a){case"max":this.judgingDistance<K&&(this.judgingDistance=K);break;case"min":this.judgingDistance>K&&(this.judgingDistance=K);break;default:c=c+K;break}}),(!a||a==="mean")&&(this.judgingDistance=c/l.length)}}const kE=(r,e)=>{const t=r.getAllNodes();if(!(t!=null&&t.length))return{};const n={};return t.forEach((i,a)=>{r.getDegree(i.id,"both")===1&&(n[i.id]=jI(r,"leaf",i,e))}),n},jI=(r,e,t,n)=>{const i=r.getDegree(t.id,"in"),a=r.getDegree(t.id,"out");let s=t,o=[];i===0?(s=r.getSuccessors(t.id)[0],o=r.getNeighbors(s.id)):a===0&&(s=r.getPredecessors(t.id)[0],o=r.getNeighbors(s.id)),o=o.filter(c=>r.getDegree(c.id,"in")===0||r.getDegree(c.id,"out")===0);const l=GI(r,e,n,t,o);return{coreNode:s,siblingLeaves:o,sameTypeLeaves:l}},GI=(r,e,t,n,i)=>{const a=n.data[t]||"";let s=(i==null?void 0:i.filter(o=>o.data[t]===a))||[];return e==="leaf"&&(s=s.filter(o=>r.getDegree(o.id,"in")===0||r.getDegree(o.id,"out")===0)),s},zE=r=>{const e={x:0,y:0};r.forEach(n=>{const{x:i,y:a}=n.data;e.x+=i||0,e.y+=a||0});const t=r.length||1;return{x:e.x/t,y:e.y/t}},fp=(r,e)=>e.map(t=>{const{id:n,data:i}=t,a=r.getNode(n);return Object.assign(Object.assign({},a),{data:Object.assign(Object.assign({},a.data),{x:i.x,y:i.y,z:i.z})})});var sr=Z(94138);const fU=sr.XA,dU=sr.a_,vU=sr.yQ,gU=sr.Hs,pU=sr.Ec,mU=sr.dx,yU=sr.LU,_U=sr.Rm,Mo=sr.y3,EU=sr.qK,xU=sr.pb,bU=sr.j,wU=sr.sO,MU=sr.BZ,SU=sr.EK,TU=sr.Db,AU=sr.Fx,CU=sr.tU,OU=sr.Ym,PU=sr.rs,DU=sr.QR,LU=sr.TB,RU=sr.oH,FE=sr.Sc,IU=sr.BN,NU=sr.it,BU=sr.$r,kU=sr.QM,zU=sr.AV;var FU=(sr.y3,sr.y3);const UU=sr.GH,WU=sr.SO,HU=sr.uZ,jU=sr.yU,GU=sr.F1,VU=sr.re,UE=r=>{const e=[],t=r.length;for(let n=0;n<t;n+=1){e[n]=[];for(let i=0;i<t;i+=1)n===i?e[n][i]=0:r[n][i]===0||!r[n][i]?e[n][i]=1/0:e[n][i]=r[n][i]}for(let n=0;n<t;n+=1)for(let i=0;i<t;i+=1)for(let a=0;a<t;a+=1)e[i][a]>e[i][n]+e[n][a]&&(e[i][a]=e[i][n]+e[n][a]);return e},WE=(r,e)=>{const{nodes:t,edges:n}=r,i=[],a={};if(!t)throw new Error("invalid nodes data!");return t&&t.forEach((s,o)=>{a[s.id]=o;const l=[];i.push(l)}),n==null||n.forEach(s=>{const{source:o,target:l}=s,c=a[o],h=a[l];c===void 0||h===void 0||(i[c][h]=1,e||(i[h][c]=1))}),i},VI=(r,e)=>{const t=[];return r.forEach(n=>{const i=[];n.forEach(a=>{i.push(a*e)}),t.push(i)}),t},ZI=r=>{let e=1/0,t=1/0,n=-1/0,i=-1/0;return r.forEach(a=>{let s=a.data.size;Js(s)?s.length===1&&(s=[s[0],s[0]]):dn(s)?s=[s,s]:(s===void 0||isNaN(s))&&(s=[30,30]);const o=[s[0]/2,s[1]/2],l=a.data.x-o[0],c=a.data.x+o[0],h=a.data.y-o[1],p=a.data.y+o[1];e>l&&(e=l),t>h&&(t=h),n<c&&(n=c),i<p&&(i=p)}),{minX:e,minY:t,maxX:n,maxY:i}},HE=(r,e)=>Math.sqrt((r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y)),dp=(r,e,t,n="TB",i,a={})=>{if(!(e!=null&&e.length))return;const{stopBranchFn:s,stopAllFn:o}=a;for(let l=0;l<e.length;l++){const c=e[l];if(r.hasNode(c.id)&&!(s!=null&&s(c))){if(o!=null&&o(c))return;n==="TB"&&t(c),dp(r,r.getChildren(c.id,i),t,n,i,a),n!=="TB"&&t(c)}}},KI={center:[0,0],linkDistance:50};class jE{constructor(e={}){this.options=e,this.id="mds",this.options=Object.assign(Object.assign({},KI),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericMDSLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericMDSLayout(!0,e,t)})}genericMDSLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a=[0,0],linkDistance:s=50}=i,o=t.getAllNodes(),l=t.getAllEdges();if(!(o!=null&&o.length)||o.length===1)return vl(t,e,a);const c=WE({nodes:o,edges:l},!1),h=UE(c);XI(h);const p=VI(h,s),C=YI(p),k=[];return C.forEach((j,K)=>{const Q=La(o[K]);Q.data.x=j[0]+a[0],Q.data.y=j[1]+a[1],k.push(Q)}),e&&k.forEach(j=>t.mergeNodeData(j.id,{x:j.data.x,y:j.data.y})),{nodes:k,edges:l}})}}const XI=r=>{let e=-999999;r.forEach(t=>{t.forEach(n=>{n!==1/0&&e<n&&(e=n)})}),r.forEach((t,n)=>{t.forEach((i,a)=>{i===1/0&&(r[n][a]=e)})})},YI=r=>{const t=Mo.mul(Mo.pow(r,2),-.5),n=t.mean("row"),i=t.mean("column"),a=t.mean();t.add(a).subRowVector(n).subColumnVector(i);const s=new FE(t),o=Mo.sqrt(s.diagonalMatrix).diagonal();return s.leftSingularVectors.toJSON().map(l=>Mo.mul([l],[o]).toJSON()[0].splice(0,2))};function vp(r){return!!r.tick&&!!r.stop}const QI={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},JI={center:[0,0],comboPadding:10,treeKey:"combo"};class qI{constructor(e={}){this.options=e,this.id="comboCombined",this.options=Object.assign(Object.assign({},JI),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,e,t)})}genericComboCombinedLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const i=this.initVals(Object.assign(Object.assign({},this.options),n)),{center:a,treeKey:s,outerLayout:o}=i,l=t.getAllNodes().filter(Ee=>!Ee.data._isCombo),c=t.getAllNodes().filter(Ee=>Ee.data._isCombo),h=t.getAllEdges(),p=l==null?void 0:l.length;if(!p||p===1)return vl(t,e,a);const C=[],k=new Map;l.forEach(Ee=>{k.set(Ee.id,Ee)});const W=new Map;c.forEach(Ee=>{W.set(Ee.id,Ee)});const j=new Map,K=this.getInnerGraphs(t,s,k,W,h,i,j);yield Promise.all(K);const Q=new Map,ee=[],re=new Map;let ve=!0;t.getRoots(s).forEach(Ee=>{const De=j.get(Ee.id),Be=W.get(Ee.id)||k.get(Ee.id),Fe={id:Ee.id,data:Object.assign(Object.assign({},Ee.data),{x:De.data.x||Be.data.x,y:De.data.y||Be.data.y,fx:De.data.fx||Be.data.fx,fy:De.data.fy||Be.data.fy,mass:De.data.mass||Be.data.mass,size:De.data.size})};ee.push(Fe),Q.set(Ee.id,!0),!isNaN(Fe.data.x)&&Fe.data.x!==0&&!isNaN(Fe.data.y)&&Fe.data.y!==0?ve=!1:(Fe.data.x=Math.random()*100,Fe.data.y=Math.random()*100),dp(t,[Ee],Xe=>{Xe.id!==Ee.id&&re.set(Xe.id,Ee.id)},"TB",s)});const he=[];h.forEach(Ee=>{const De=re.get(Ee.source)||Ee.source,Be=re.get(Ee.target)||Ee.target;De!==Be&&Q.has(De)&&Q.has(Be)&&he.push({id:Ee.id,source:De,target:Be,data:{}})});let pe;if(ee!=null&&ee.length){if(ee.length===1)ee[0].data.x=a[0],ee[0].data.y=a[1];else{const Ee=new ci({nodes:ee,edges:he}),De=o||new BE;ve&&QI[De.id]&&(yield(ee.length<100?new jE:new lp).assign(Ee));const Be=Object.assign({center:a,kg:5,preventOverlap:!0,animate:!1},De.id==="force"?{gravity:1,factor:4,linkDistance:(Fe,Xe,qe)=>{const ct=Math.max(...Xe.data.size)||32,ht=Math.max(...qe.data.size)||32;return ct/2+ht/2+200}}:{});pe=yield GE(De,Ee,Be)}j.forEach(Ee=>{var De;const Be=pe.nodes.find(qe=>qe.id===Ee.id);if(Be){const{x:qe,y:ct}=Be.data;Ee.data.visited=!0,Ee.data.x=qe,Ee.data.y=ct,C.push({id:Ee.id,data:{x:qe,y:ct}})}const{x:Fe,y:Xe}=Ee.data;(De=Ee.data.nodes)===null||De===void 0||De.forEach(qe=>{C.push({id:qe.id,data:{x:qe.data.x+Fe,y:qe.data.y+Xe}})})}),j.forEach(({data:Ee})=>{const{x:De,y:Be,visited:Fe,nodes:Xe}=Ee;Xe==null||Xe.forEach(qe=>{if(!Fe){const ct=C.find(ht=>ht.id===qe.id);ct.data.x+=De||0,ct.data.y+=Be||0}})})}return e&&C.forEach(Ee=>{t.mergeNodeData(Ee.id,{x:Ee.data.x,y:Ee.data.y})}),{nodes:C,edges:h}})}initVals(e){const t=Object.assign({},e),{nodeSize:n,spacing:i,comboPadding:a}=e;let s,o;if(dn(i)?o=()=>i:xn(i)?o=i:o=()=>0,t.spacing=o,!n)s=c=>{const h=o(c);return c.size?Js(c.size)?((c.size[0]>c.size[1]?c.size[0]:c.size[1])+h)/2:ii(c.size)?((c.size.width>c.size.height?c.size.width:c.size.height)+h)/2:(c.size+h)/2:32+h/2};else if(xn(n))s=c=>{const h=n(c),p=o(c);return Js(c.size)?((c.size[0]>c.size[1]?c.size[0]:c.size[1])+p)/2:((h||32)+p)/2};else if(Js(n)){const h=(n[0]>n[1]?n[0]:n[1])/2;s=p=>h+o(p)/2}else{const c=n/2;s=h=>c+o(h)/2}t.nodeSize=s;let l;return dn(a)?l=()=>a:Js(a)?l=()=>Math.max.apply(null,a):xn(a)?l=a:l=()=>0,t.comboPadding=l,t}getInnerGraphs(e,t,n,i,a,s,o){const{nodeSize:l,comboPadding:c,spacing:h,innerLayout:p}=s,C=p||new lp({}),k={center:[0,0],preventOverlap:!0,nodeSpacing:h},W=[],j=K=>{let Q=(c==null?void 0:c(K))||10;return Js(Q)&&(Q=Math.max(...Q)),{size:Q?[Q*2,Q*2]:[30,30],padding:Q}};return e.getRoots(t).forEach(K=>{o.set(K.id,{id:K.id,data:{nodes:[],size:j(K).size}});let Q=Promise.resolve();dp(e,[K],ee=>{var re;if(!ee.data._isCombo)return;const{size:ve,padding:he}=j(ee);if(!(!((re=e.getChildren(ee.id,t))===null||re===void 0)&&re.length))o.set(ee.id,{id:ee.id,data:Object.assign(Object.assign({},ee.data),{size:ve})});else{const pe=o.get(ee.id);o.set(ee.id,{id:ee.id,data:Object.assign({nodes:[]},pe==null?void 0:pe.data)});const _e=new Map,Ee=e.getChildren(ee.id,t).map(Fe=>{if(Fe.data._isCombo)return o.has(Fe.id)||o.set(Fe.id,{id:Fe.id,data:Object.assign({},Fe.data)}),_e.set(Fe.id,!0),o.get(Fe.id);const Xe=n.get(Fe.id)||i.get(Fe.id);return _e.set(Fe.id,!0),{id:Fe.id,data:Object.assign(Object.assign({},Xe.data),Fe.data)}}),De={nodes:Ee,edges:a.filter(Fe=>_e.has(Fe.source)&&_e.has(Fe.target))};let Be=1/0;Ee.forEach(Fe=>{var Xe;let{size:qe}=Fe.data;qe||(qe=((Xe=o.get(Fe.id))===null||Xe===void 0?void 0:Xe.data.size)||(l==null?void 0:l(Fe))||[30,30]),dn(qe)&&(qe=[qe,qe]);const[ct,ht]=qe;Be>ct&&(Be=ct),Be>ht&&(Be=ht),Fe.data.size=qe}),Q=Q.then(()=>(0,we.mG)(this,void 0,void 0,function*(){const Fe=new ci(De);yield GE(C,Fe,k,!0);const{minX:Xe,minY:qe,maxX:ct,maxY:ht}=ZI(Ee),St={x:(ct+Xe)/2,y:(ht+qe)/2};De.nodes.forEach(Et=>{Et.data.x-=St.x,Et.data.y-=St.y});const bt=[Math.max(ct-Xe,Be)+he*2,Math.max(ht-qe,Be)+he*2];o.get(ee.id).data.size=bt,o.get(ee.id).data.nodes=Ee}))}return!0},"BT",t),W.push(Q)}),W}}function GE(r,e,t,n){var i;return(0,we.mG)(this,void 0,void 0,function*(){return vp(r)?(r.execute(e,t),r.stop(),r.tick((i=t.iterations)!==null&&i!==void 0?i:300)):n?yield r.assign(e,t):yield r.execute(e,t)})}function bi(r){return function(){return r}}function So(r){return(r()-.5)*1e-6}function $I(r){return r.index}function VE(r,e){var t=r.get(e);if(!t)throw new Error("node not found: "+e);return t}function eN(r){var e=$I,t=p,n,i=bi(30),a,s,o,l,c,h=1;r==null&&(r=[]);function p(K){return 1/Math.min(o[K.source.index],o[K.target.index])}function C(K){for(var Q=0,ee=r.length;Q<h;++Q)for(var re=0,ve,he,pe,_e,Ee,De,Be;re<ee;++re)ve=r[re],he=ve.source,pe=ve.target,_e=pe.x+pe.vx-he.x-he.vx||So(c),Ee=pe.y+pe.vy-he.y-he.vy||So(c),De=Math.sqrt(_e*_e+Ee*Ee),De=(De-a[re])/De*K*n[re],_e*=De,Ee*=De,pe.vx-=_e*(Be=l[re]),pe.vy-=Ee*Be,he.vx+=_e*(Be=1-Be),he.vy+=Ee*Be}function k(){if(s){var K,Q=s.length,ee=r.length,re=new Map(s.map((he,pe)=>[e(he,pe,s),he])),ve;for(K=0,o=new Array(Q);K<ee;++K)ve=r[K],ve.index=K,typeof ve.source!="object"&&(ve.source=VE(re,ve.source)),typeof ve.target!="object"&&(ve.target=VE(re,ve.target)),o[ve.source.index]=(o[ve.source.index]||0)+1,o[ve.target.index]=(o[ve.target.index]||0)+1;for(K=0,l=new Array(ee);K<ee;++K)ve=r[K],l[K]=o[ve.source.index]/(o[ve.source.index]+o[ve.target.index]);n=new Array(ee),W(),a=new Array(ee),j()}}function W(){if(s)for(var K=0,Q=r.length;K<Q;++K)n[K]=+t(r[K],K,r)}function j(){if(s)for(var K=0,Q=r.length;K<Q;++K)a[K]=+i(r[K],K,r)}return C.initialize=function(K,Q){s=K,c=Q,k()},C.links=function(K){return arguments.length?(r=K,k(),C):r},C.id=function(K){return arguments.length?(e=K,C):e},C.iterations=function(K){return arguments.length?(h=+K,C):h},C.strength=function(K){return arguments.length?(t=typeof K=="function"?K:bi(+K),W(),C):t},C.distance=function(K){return arguments.length?(i=typeof K=="function"?K:bi(+K),j(),C):i},C}var tN={value:()=>{}};function ZE(){for(var r=0,e=arguments.length,t={},n;r<e;++r){if(!(n=arguments[r]+"")||n in t||/[\s.]/.test(n))throw new Error("illegal type: "+n);t[n]=[]}return new zf(t)}function zf(r){this._=r}function nN(r,e){return r.trim().split(/^|\s+/).map(function(t){var n="",i=t.indexOf(".");if(i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})}zf.prototype=ZE.prototype={constructor:zf,on:function(r,e){var t=this._,n=nN(r+"",t),i,a=-1,s=n.length;if(arguments.length<2){for(;++a<s;)if((i=(r=n[a]).type)&&(i=rN(t[i],r.name)))return i;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++a<s;)if(i=(r=n[a]).type)t[i]=KE(t[i],r.name,e);else if(e==null)for(i in t)t[i]=KE(t[i],r.name,null);return this},copy:function(){var r={},e=this._;for(var t in e)r[t]=e[t].slice();return new zf(r)},call:function(r,e){if((i=arguments.length-2)>0)for(var t=new Array(i),n=0,i,a;n<i;++n)t[n]=arguments[n+2];if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(a=this._[r],n=0,i=a.length;n<i;++n)a[n].value.apply(e,t)},apply:function(r,e,t){if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(var n=this._[r],i=0,a=n.length;i<a;++i)n[i].value.apply(e,t)}};function rN(r,e){for(var t=0,n=r.length,i;t<n;++t)if((i=r[t]).name===e)return i.value}function KE(r,e,t){for(var n=0,i=r.length;n<i;++n)if(r[n].name===e){r[n]=tN,r=r.slice(0,n).concat(r.slice(n+1));break}return t!=null&&r.push({name:e,value:t}),r}var iN=ZE,Jl=0,ou=0,lu=0,XE=1e3,Ff,cu,Uf=0,gl=0,Wf=0,uu=typeof performance=="object"&&performance.now?performance:Date,YE=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(r){setTimeout(r,17)};function QE(){return gl||(YE(aN),gl=uu.now()+Wf)}function aN(){gl=0}function gp(){this._call=this._time=this._next=null}gp.prototype=JE.prototype={constructor:gp,restart:function(r,e,t){if(typeof r!="function")throw new TypeError("callback is not a function");t=(t==null?QE():+t)+(e==null?0:+e),!this._next&&cu!==this&&(cu?cu._next=this:Ff=this,cu=this),this._call=r,this._time=t,pp()},stop:function(){this._call&&(this._call=null,this._time=1/0,pp())}};function JE(r,e,t){var n=new gp;return n.restart(r,e,t),n}function sN(){QE(),++Jl;for(var r=Ff,e;r;)(e=gl-r._time)>=0&&r._call.call(void 0,e),r=r._next;--Jl}function qE(){gl=(Uf=uu.now())+Wf,Jl=ou=0;try{sN()}finally{Jl=0,lN(),gl=0}}function oN(){var r=uu.now(),e=r-Uf;e>XE&&(Wf-=e,Uf=r)}function lN(){for(var r,e=Ff,t,n=1/0;e;)e._call?(n>e._time&&(n=e._time),r=e,e=e._next):(t=e._next,e._next=null,e=r?r._next=t:Ff=t);cu=r,pp(n)}function pp(r){if(!Jl){ou&&(ou=clearTimeout(ou));var e=r-gl;e>24?(r<1/0&&(ou=setTimeout(qE,r-uu.now()-Wf)),lu&&(lu=clearInterval(lu))):(lu||(Uf=uu.now(),lu=setInterval(oN,XE)),Jl=1,YE(qE))}}const cN=1664525,uN=1013904223,$E=4294967296;function hN(){let r=1;return()=>(r=(cN*r+uN)%$E)/$E}function fN(r){return r.x}function dN(r){return r.y}var vN=10,gN=Math.PI*(3-Math.sqrt(5));function pN(r){var e,t=1,n=.001,i=1-Math.pow(n,1/300),a=0,s=.6,o=new Map,l=JE(p),c=iN("tick","end"),h=hN();r==null&&(r=[]);function p(){C(),c.call("tick",e),t<n&&(l.stop(),c.call("end",e))}function C(j){var K,Q=r.length,ee;j===void 0&&(j=1);for(var re=0;re<j;++re)for(t+=(a-t)*i,o.forEach(function(ve){ve(t)}),K=0;K<Q;++K)ee=r[K],ee.fx==null?ee.x+=ee.vx*=s:(ee.x=ee.fx,ee.vx=0),ee.fy==null?ee.y+=ee.vy*=s:(ee.y=ee.fy,ee.vy=0);return e}function k(){for(var j=0,K=r.length,Q;j<K;++j){if(Q=r[j],Q.index=j,Q.fx!=null&&(Q.x=Q.fx),Q.fy!=null&&(Q.y=Q.fy),isNaN(Q.x)||isNaN(Q.y)){var ee=vN*Math.sqrt(.5+j),re=j*gN;Q.x=ee*Math.cos(re),Q.y=ee*Math.sin(re)}(isNaN(Q.vx)||isNaN(Q.vy))&&(Q.vx=Q.vy=0)}}function W(j){return j.initialize&&j.initialize(r,h),j}return k(),e={tick:C,restart:function(){return l.restart(p),e},stop:function(){return l.stop(),e},nodes:function(j){return arguments.length?(r=j,k(),o.forEach(W),e):r},alpha:function(j){return arguments.length?(t=+j,e):t},alphaMin:function(j){return arguments.length?(n=+j,e):n},alphaDecay:function(j){return arguments.length?(i=+j,e):+i},alphaTarget:function(j){return arguments.length?(a=+j,e):a},velocityDecay:function(j){return arguments.length?(s=1-j,e):1-s},randomSource:function(j){return arguments.length?(h=j,o.forEach(W),e):h},force:function(j,K){return arguments.length>1?(K==null?o.delete(j):o.set(j,W(K)),e):o.get(j)},find:function(j,K,Q){var ee=0,re=r.length,ve,he,pe,_e,Ee;for(Q==null?Q=1/0:Q*=Q,ee=0;ee<re;++ee)_e=r[ee],ve=j-_e.x,he=K-_e.y,pe=ve*ve+he*he,pe<Q&&(Ee=_e,Q=pe);return Ee},on:function(j,K){return arguments.length>1?(c.on(j,K),e):c.on(j)}}}function mN(){var r,e,t,n,i=bi(-30),a,s=1,o=1/0,l=.81;function c(k){var W,j=r.length,K=kf(r,fN,dN).visitAfter(p);for(n=k,W=0;W<j;++W)e=r[W],K.visit(C)}function h(){if(r){var k,W=r.length,j;for(a=new Array(W),k=0;k<W;++k)j=r[k],a[j.index]=+i(j,k,r)}}function p(k){var W=0,j,K,Q=0,ee,re,ve;if(k.length){for(ee=re=ve=0;ve<4;++ve)(j=k[ve])&&(K=Math.abs(j.value))&&(W+=j.value,Q+=K,ee+=K*j.x,re+=K*j.y);k.x=ee/Q,k.y=re/Q}else{j=k,j.x=j.data.x,j.y=j.data.y;do W+=a[j.data.index];while(j=j.next)}k.value=W}function C(k,W,j,K){if(!k.value)return!0;var Q=k.x-e.x,ee=k.y-e.y,re=K-W,ve=Q*Q+ee*ee;if(re*re/l<ve)return ve<o&&(Q===0&&(Q=So(t),ve+=Q*Q),ee===0&&(ee=So(t),ve+=ee*ee),ve<s&&(ve=Math.sqrt(s*ve)),e.vx+=Q*k.value*n/ve,e.vy+=ee*k.value*n/ve),!0;if(k.length||ve>=o)return;(k.data!==e||k.next)&&(Q===0&&(Q=So(t),ve+=Q*Q),ee===0&&(ee=So(t),ve+=ee*ee),ve<s&&(ve=Math.sqrt(s*ve)));do k.data!==e&&(re=a[k.data.index]*n/ve,e.vx+=Q*re,e.vy+=ee*re);while(k=k.next)}return c.initialize=function(k,W){r=k,t=W,h()},c.strength=function(k){return arguments.length?(i=typeof k=="function"?k:bi(+k),h(),c):i},c.distanceMin=function(k){return arguments.length?(s=k*k,c):Math.sqrt(s)},c.distanceMax=function(k){return arguments.length?(o=k*k,c):Math.sqrt(o)},c.theta=function(k){return arguments.length?(l=k*k,c):Math.sqrt(l)},c}function yN(r,e){var t,n=1;r==null&&(r=0),e==null&&(e=0);function i(){var a,s=t.length,o,l=0,c=0;for(a=0;a<s;++a)o=t[a],l+=o.x,c+=o.y;for(l=(l/s-r)*n,c=(c/s-e)*n,a=0;a<s;++a)o=t[a],o.x-=l,o.y-=c}return i.initialize=function(a){t=a},i.x=function(a){return arguments.length?(r=+a,i):r},i.y=function(a){return arguments.length?(e=+a,i):e},i.strength=function(a){return arguments.length?(n=+a,i):n},i}function _N(r){return r.x+r.vx}function EN(r){return r.y+r.vy}function xN(r){var e,t,n,i=1,a=1;typeof r!="function"&&(r=bi(r==null?1:+r));function s(){for(var c,h=e.length,p,C,k,W,j,K,Q=0;Q<a;++Q)for(p=kf(e,_N,EN).visitAfter(o),c=0;c<h;++c)C=e[c],j=t[C.index],K=j*j,k=C.x+C.vx,W=C.y+C.vy,p.visit(ee);function ee(re,ve,he,pe,_e){var Ee=re.data,De=re.r,Be=j+De;if(Ee){if(Ee.index>C.index){var Fe=k-Ee.x-Ee.vx,Xe=W-Ee.y-Ee.vy,qe=Fe*Fe+Xe*Xe;qe<Be*Be&&(Fe===0&&(Fe=So(n),qe+=Fe*Fe),Xe===0&&(Xe=So(n),qe+=Xe*Xe),qe=(Be-(qe=Math.sqrt(qe)))/qe*i,C.vx+=(Fe*=qe)*(Be=(De*=De)/(K+De)),C.vy+=(Xe*=qe)*Be,Ee.vx-=Fe*(Be=1-Be),Ee.vy-=Xe*Be)}return}return ve>k+Be||pe<k-Be||he>W+Be||_e<W-Be}}function o(c){if(c.data)return c.r=t[c.data.index];for(var h=c.r=0;h<4;++h)c[h]&&c[h].r>c.r&&(c.r=c[h].r)}function l(){if(e){var c,h=e.length,p;for(t=new Array(h),c=0;c<h;++c)p=e[c],t[p.index]=+r(p,c,e)}}return s.initialize=function(c,h){e=c,n=h,l()},s.iterations=function(c){return arguments.length?(a=+c,s):a},s.strength=function(c){return arguments.length?(i=+c,s):i},s.radius=function(c){return arguments.length?(r=typeof c=="function"?c:bi(+c),l(),s):r},s}function bN(r,e,t){var n,i=bi(.1),a,s;typeof r!="function"&&(r=bi(+r)),e==null&&(e=0),t==null&&(t=0);function o(c){for(var h=0,p=n.length;h<p;++h){var C=n[h],k=C.x-e||1e-6,W=C.y-t||1e-6,j=Math.sqrt(k*k+W*W),K=(s[h]-j)*a[h]*c/j;C.vx+=k*K,C.vy+=W*K}}function l(){if(n){var c,h=n.length;for(a=new Array(h),s=new Array(h),c=0;c<h;++c)s[c]=+r(n[c],c,n),a[c]=isNaN(s[c])?0:+i(n[c],c,n)}}return o.initialize=function(c){n=c,l()},o.strength=function(c){return arguments.length?(i=typeof c=="function"?c:bi(+c),l(),o):i},o.radius=function(c){return arguments.length?(r=typeof c=="function"?c:bi(+c),l(),o):r},o.x=function(c){return arguments.length?(e=+c,o):e},o.y=function(c){return arguments.length?(t=+c,o):t},o}function wN(r){var e=bi(.1),t,n,i;typeof r!="function"&&(r=bi(r==null?0:+r));function a(o){for(var l=0,c=t.length,h;l<c;++l)h=t[l],h.vx+=(i[l]-h.x)*n[l]*o}function s(){if(t){var o,l=t.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(t[o],o,t))?0:+e(t[o],o,t)}}return a.initialize=function(o){t=o,s()},a.strength=function(o){return arguments.length?(e=typeof o=="function"?o:bi(+o),s(),a):e},a.x=function(o){return arguments.length?(r=typeof o=="function"?o:bi(+o),s(),a):r},a}function MN(r){var e=bi(.1),t,n,i;typeof r!="function"&&(r=bi(r==null?0:+r));function a(o){for(var l=0,c=t.length,h;l<c;++l)h=t[l],h.vy+=(i[l]-h.y)*n[l]*o}function s(){if(t){var o,l=t.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(t[o],o,t))?0:+e(t[o],o,t)}}return a.initialize=function(o){t=o,s()},a.strength=function(o){return arguments.length?(e=typeof o=="function"?o:bi(+o),s(),a):e},a.y=function(o){return arguments.length?(r=typeof o=="function"?o:bi(+o),s(),a):r},a}class SN{constructor(e){this.id="d3-force",this.config={inputNodeAttrs:["x","y","vx","vy","fx","fy"],outputNodeAttrs:["x","y","vx","vy"],simulationAttrs:["alpha","alphaMin","alphaDecay","alphaTarget","velocityDecay","randomSource"]},this.forceMap={link:eN,manyBody:mN,center:yN,collide:xN,radial:bN,x:wN,y:MN},this.options={link:{id:t=>t.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},ia(this.options,e),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericLayout(!0,e,t)})}stop(){this.simulation.stop()}tick(e){return this.simulation.tick(e),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(e,t){const n=this.context.nodes.find(i=>i.id===e);n&&t.forEach((i,a)=>{if(typeof i=="number"||i===null){const s=["fx","fy","fz"][a];n[s]=i}})}getOptions(e){var t,n;const i=ia({},this.options,e);return i.collide&&((t=i.collide)===null||t===void 0?void 0:t.radius)===void 0&&(i.collide=i.collide||{},i.collide.radius=(n=i.nodeSize)!==null&&n!==void 0?n:10),i.iterations===void 0&&(i.link&&i.link.iterations===void 0&&(i.iterations=i.link.iterations),i.collide&&i.collide.iterations===void 0&&(i.iterations=i.collide.iterations)),this.context.options=i,i}genericLayout(e,t,n){var i;return(0,we.mG)(this,void 0,void 0,function*(){const a=this.getOptions(n),s=t.getAllNodes().map(({id:h,data:p})=>Object.assign(Object.assign({id:h},p),ul(p.data,this.config.inputNodeAttrs))),o=t.getAllEdges().map(h=>Object.assign({},h));Object.assign(this.context,{assign:e,nodes:s,edges:o,graph:t});const l=new Promise(h=>{this.resolver=h}),c=this.setSimulation(a);return c.nodes(s),(i=c.force("link"))===null||i===void 0||i.links(o),l})}getResult(){const{assign:e,nodes:t,edges:n,graph:i}=this.context,a=t.map(o=>({id:o.id,data:Object.assign(Object.assign({},o.data),ul(o,this.config.outputNodeAttrs))})),s=n.map(({id:o,source:l,target:c,data:h})=>({id:o,source:typeof l=="object"?l.id:l,target:typeof c=="object"?c.id:c,data:h}));return e&&a.forEach(o=>i.mergeNodeData(o.id,o.data)),{nodes:a,edges:s}}initSimulation(){return pN()}setSimulation(e){const t=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=t.on("tick",()=>{var n;return(n=e.onTick)===null||n===void 0?void 0:n.call(e,this.getResult())}).on("end",()=>{var n;return(n=this.resolver)===null||n===void 0?void 0:n.call(this,this.getResult())})),ex(t,this.config.simulationAttrs.map(n=>[n,e[n]])),Object.entries(this.forceMap).forEach(([n,i])=>{const a=n;if(e[n]){let s=t.force(a);s||(s=i(),t.force(a,s)),ex(s,Object.entries(e[a]))}else t.force(a,null)}),t}}const ex=(r,e)=>e.reduce((t,[n,i])=>!t[n]||i===void 0?t:t[n].call(r,i),r);var tx=Z(92546),TN=Z.n(tx);class Hf{constructor(e){this.id="dagre",this.options={},Object.assign(this.options,Hf.defaultOptions,e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,e,Object.assign(Object.assign({},this.options),t))})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,e,Object.assign(Object.assign({},this.options),t))})}genericDagreLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const{nodeSize:i}=n,a=new tx.graphlib.Graph;a.setGraph(n),a.setDefaultEdgeLabel(()=>({}));const s=t.getAllNodes(),o=t.getAllEdges();[...s,...o].some(({id:c})=>dn(c))&&console.error("Dagre layout only support string id, it will convert number to string."),t.getAllNodes().forEach(c=>{const{id:h}=c,p=Object.assign({},c.data);if(i!==void 0){const[C,k]=su(xn(i)?i(c):i);Object.assign(p,{width:C,height:k})}a.setNode(h.toString(),p)}),t.getAllEdges().forEach(({id:c,source:h,target:p})=>{a.setEdge(h.toString(),p.toString(),{id:c})}),TN().layout(a);const l={nodes:[],edges:[]};return a.nodes().forEach(c=>{const h=a.node(c);l.nodes.push({id:c,data:h}),e&&t.mergeNodeData(c,h)}),a.edges().forEach(c=>{const h=a.edge(c),{id:p}=h,C=(0,we._T)(h,["id"]),{v:k,w:W}=c;l.edges.push({id:p,source:k,target:W,data:C}),e&&t.mergeEdgeData(p,C)}),l})}}Hf.defaultOptions={};class mp{constructor(e){this.id=e.id||0,this.rx=e.rx,this.ry=e.ry,this.fx=0,this.fy=0,this.mass=e.mass,this.degree=e.degree,this.g=e.g||0}distanceTo(e){const t=this.rx-e.rx,n=this.ry-e.ry;return Math.hypot(t,n)}setPos(e,t){this.rx=e,this.ry=t}resetForce(){this.fx=0,this.fy=0}addForce(e){const t=e.rx-this.rx,n=e.ry-this.ry;let i=Math.hypot(t,n);i=i<1e-4?1e-4:i;const a=this.g*(this.degree+1)*(e.degree+1)/i;this.fx+=a*t/i,this.fy+=a*n/i}in(e){return e.contains(this.rx,this.ry)}add(e){const t=this.mass+e.mass,n=(this.rx*this.mass+e.rx*e.mass)/t,i=(this.ry*this.mass+e.ry*e.mass)/t,a=this.degree+e.degree,s={rx:n,ry:i,mass:t,degree:a};return new mp(s)}}class ql{constructor(e){this.xmid=e.xmid,this.ymid=e.ymid,this.length=e.length,this.massCenter=e.massCenter||[0,0],this.mass=e.mass||1}getLength(){return this.length}contains(e,t){const n=this.length/2;return e<=this.xmid+n&&e>=this.xmid-n&&t<=this.ymid+n&&t>=this.ymid-n}NW(){const e=this.xmid-this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new ql(i)}NE(){const e=this.xmid+this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new ql(i)}SW(){const e=this.xmid-this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new ql(i)}SE(){const e=this.xmid+this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new ql(i)}}class $l{constructor(e){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,e!=null&&(this.quad=e)}insert(e){if(this.body==null){this.body=e;return}this._isExternal()?(this.quad&&(this.NW=new $l(this.quad.NW()),this.NE=new $l(this.quad.NE()),this.SW=new $l(this.quad.SW()),this.SE=new $l(this.quad.SE())),this._putBody(this.body),this._putBody(e),this.body=this.body.add(e)):(this.body=this.body.add(e),this._putBody(e))}_putBody(e){this.quad&&(e.in(this.quad.NW())&&this.NW?this.NW.insert(e):e.in(this.quad.NE())&&this.NE?this.NE.insert(e):e.in(this.quad.SW())&&this.SW?this.SW.insert(e):e.in(this.quad.SE())&&this.SE&&this.SE.insert(e))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(e){if(!(this.body==null||e===this.body))if(this._isExternal())e.addForce(this.body);else{const t=this.quad?this.quad.getLength():0,n=this.body.distanceTo(e);t/n<this.theta?e.addForce(this.body):(this.NW&&this.NW.updateForce(e),this.NE&&this.NE.updateForce(e),this.SW&&this.SW.updateForce(e),this.SE&&this.SE.updateForce(e))}}}const AN={center:[0,0],width:300,height:300,kr:5,kg:1,mode:"normal",preventOverlap:!1,dissuadeHubs:!1,maxIteration:0,ks:.1,ksmax:10,tao:.1};class CN{constructor(e={}){this.options=e,this.id="forceAtlas2",this.options=Object.assign(Object.assign({},AN),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericForceAtlas2Layout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericForceAtlas2Layout(!0,e,t)})}genericForceAtlas2Layout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const i=t.getAllEdges(),a=t.getAllNodes(),s=this.formatOptions(n,a.length),{width:o,height:l,prune:c,maxIteration:h,nodeSize:p,center:C}=s;if(!(a!=null&&a.length)||a.length===1)return vl(t,e,C);const k=a.map(Q=>La(Q,[o,l])),W=i.filter(Q=>{const{source:ee,target:re}=Q;return ee!==re}),j=new ci({nodes:k,edges:W}),K=this.getSizes(j,p);if(this.run(j,t,h,K,e,s),c){for(let ee=0;ee<W.length;ee+=1){const{source:re,target:ve}=W[ee],he=j.getDegree(re),pe=j.getDegree(re);if(he<=1){const _e=j.getNode(ve);j.mergeNodeData(re,{x:_e.data.x,y:_e.data.y})}else if(pe<=1){const _e=j.getNode(re);j.mergeNodeData(ve,{x:_e.data.x,y:_e.data.y})}}const Q=Object.assign(Object.assign({},s),{prune:!1,barnesHut:!1});this.run(j,t,100,K,e,Q)}return{nodes:k,edges:i}})}getSizes(e,t){const n=e.getAllNodes(),i={};for(let a=0;a<n.length;a+=1){const s=n[a];i[s.id]=sp(t,void 0)(s)}return i}formatOptions(e={},t){const n=Object.assign(Object.assign({},this.options),e),{center:i,width:a,height:s,barnesHut:o,prune:l,maxIteration:c,kr:h,kg:p}=n;return n.width=!a&&typeof window!="undefined"?window.innerWidth:a,n.height=!s&&typeof window!="undefined"?window.innerHeight:s,n.center=i||[n.width/2,n.height/2],o===void 0&&t>250&&(n.barnesHut=!0),l===void 0&&t>100&&(n.prune=!0),c===0&&!l?(n.maxIteration=250,t<=200&&t>100?n.maxIteration=1e3:t>200&&(n.maxIteration=1200)):c===0&&l&&(n.maxIteration=100,t<=200&&t>100?n.maxIteration=500:t>200&&(n.maxIteration=950)),h||(n.kr=50,t>100&&t<=500?n.kr=20:t>500&&(n.kr=1)),p||(n.kg=20,t>100&&t<=500?n.kg=10:t>500&&(n.kg=1)),n}run(e,t,n,i,a,s){const{kr:o,barnesHut:l,onTick:c}=s,h=e.getAllNodes();let p=0,C=n;const k={},W={},j={};for(let K=0;K<h.length;K+=1){const{data:Q,id:ee}=h[K];if(k[ee]=[0,0],l){const re={id:K,rx:Q.x,ry:Q.y,mass:1,g:o,degree:e.getDegree(ee)};j[ee]=new mp(re)}}for(;C>0;)p=this.oneStep(e,{iter:C,preventOverlapIters:50,krPrime:100,sg:p,forces:k,preForces:W,bodies:j,sizes:i},s),C--,c==null||c({nodes:h,edges:t.getAllEdges()});return e}oneStep(e,t,n){const{iter:i,preventOverlapIters:a,krPrime:s,sg:o,preForces:l,bodies:c,sizes:h}=t;let{forces:p}=t;const{preventOverlap:C,barnesHut:k}=n,W=e.getAllNodes();for(let j=0;j<W.length;j+=1){const{id:K}=W[j];l[K]=[...p[K]],p[K]=[0,0]}return p=this.getAttrForces(e,i,a,h,p,n),k&&(C&&i>a||!C)?p=this.getOptRepGraForces(e,p,c,n):p=this.getRepGraForces(e,i,a,p,s,h,n),this.updatePos(e,p,l,o,n)}getAttrForces(e,t,n,i,a,s){const{preventOverlap:o,dissuadeHubs:l,mode:c,prune:h}=s,p=e.getAllEdges();for(let C=0;C<p.length;C+=1){const{source:k,target:W}=p[C],j=e.getNode(k),K=e.getNode(W),Q=e.getDegree(k),ee=e.getDegree(W);if(h&&(Q<=1||ee<=1))continue;const re=[K.data.x-j.data.x,K.data.y-j.data.y];let ve=Math.hypot(re[0],re[1]);ve=ve<1e-4?1e-4:ve,re[0]=re[0]/ve,re[1]=re[1]/ve,o&&t<n&&(ve=ve-i[k]-i[W]);let he=ve,pe=he;c==="linlog"&&(he=Math.log(1+ve),pe=he),l&&(he=ve/Q,pe=ve/ee),o&&t<n&&ve<=0?(he=0,pe=0):o&&t<n&&ve>0&&(he=ve,pe=ve),a[k][0]+=he*re[0],a[W][0]-=pe*re[0],a[k][1]+=he*re[1],a[W][1]-=pe*re[1]}return a}getOptRepGraForces(e,t,n,i){const{kg:a,center:s,prune:o}=i,l=e.getAllNodes(),c=l.length;let h=9e10,p=-9e10,C=9e10,k=-9e10;for(let ee=0;ee<c;ee+=1){const{id:re,data:ve}=l[ee];o&&e.getDegree(re)<=1||(n[re].setPos(ve.x,ve.y),ve.x>=p&&(p=ve.x),ve.x<=h&&(h=ve.x),ve.y>=k&&(k=ve.y),ve.y<=C&&(C=ve.y))}const W=Math.max(p-h,k-C),j={xmid:(p+h)/2,ymid:(k+C)/2,length:W,massCenter:s,mass:c},K=new ql(j),Q=new $l(K);for(let ee=0;ee<c;ee+=1){const{id:re}=l[ee];o&&e.getDegree(re)<=1||n[re].in(K)&&Q.insert(n[re])}for(let ee=0;ee<c;ee+=1){const{id:re,data:ve}=l[ee],he=e.getDegree(re);if(o&&he<=1)continue;n[re].resetForce(),Q.updateForce(n[re]),t[re][0]-=n[re].fx,t[re][1]-=n[re].fy;const pe=[ve.x-s[0],ve.y-s[1]];let _e=Math.hypot(pe[0],pe[1]);_e=_e<1e-4?1e-4:_e,pe[0]=pe[0]/_e,pe[1]=pe[1]/_e;const Ee=a*(he+1);t[re][0]-=Ee*pe[0],t[re][1]-=Ee*pe[1]}return t}getRepGraForces(e,t,n,i,a,s,o){const{preventOverlap:l,kr:c,kg:h,center:p,prune:C}=o,k=e.getAllNodes(),W=k.length;for(let j=0;j<W;j+=1){const K=k[j],Q=e.getDegree(K.id);for(let he=j+1;he<W;he+=1){const pe=k[he],_e=e.getDegree(pe.id);if(C&&(Q<=1||_e<=1))continue;const Ee=[pe.data.x-K.data.x,pe.data.y-K.data.y];let De=Math.hypot(Ee[0],Ee[1]);De=De<1e-4?1e-4:De,Ee[0]=Ee[0]/De,Ee[1]=Ee[1]/De,l&&t<n&&(De=De-s[K.id]-s[pe.id]);let Be=c*(Q+1)*(_e+1)/De;l&&t<n&&De<0?Be=a*(Q+1)*(_e+1):l&&t<n&&De===0?Be=0:l&&t<n&&De>0&&(Be=c*(Q+1)*(_e+1)/De),i[K.id][0]-=Be*Ee[0],i[pe.id][0]+=Be*Ee[0],i[K.id][1]-=Be*Ee[1],i[pe.id][1]+=Be*Ee[1]}const ee=[K.data.x-p[0],K.data.y-p[1]],re=Math.hypot(ee[0],ee[1]);ee[0]=ee[0]/re,ee[1]=ee[1]/re;const ve=h*(Q+1);i[K.id][0]-=ve*ee[0],i[K.id][1]-=ve*ee[1]}return i}updatePos(e,t,n,i,a){const{ks:s,tao:o,prune:l,ksmax:c}=a,h=e.getAllNodes(),p=h.length,C=[],k=[];let W=0,j=0,K=i;for(let ee=0;ee<p;ee+=1){const{id:re}=h[ee],ve=e.getDegree(re);if(l&&ve<=1)continue;const he=[t[re][0]-n[re][0],t[re][1]-n[re][1]],pe=Math.hypot(he[0],he[1]),_e=[t[re][0]+n[re][0],t[re][1]+n[re][1]],Ee=Math.hypot(_e[0],_e[1]);C[ee]=pe,k[ee]=Ee/2,W+=(ve+1)*C[ee],j+=(ve+1)*k[ee]}const Q=K;K=o*j/W,Q!==0&&(K=K>1.5*Q?1.5*Q:K);for(let ee=0;ee<p;ee+=1){const{id:re,data:ve}=h[ee],he=e.getDegree(re);if(l&&he<=1||dn(ve.fx)&&dn(ve.fy))continue;let pe=s*K/(1+K*Math.sqrt(C[ee])),_e=Math.hypot(t[re][0],t[re][1]);_e=_e<1e-4?1e-4:_e;const Ee=c/_e;pe=pe>Ee?Ee:pe;const De=pe*t[re][0],Be=pe*t[re][1];e.mergeNodeData(re,{x:ve.x+De,y:ve.y+Be})}return K}}const ON={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},PN=800;class DN{constructor(e={}){this.options=e,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},ON),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,e,t)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(e=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;n<e;n++)this.runOneStep(this.lastGraph,this.lastClusterMap,this.lastOptions);const t={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&t.nodes.forEach(n=>this.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),t}genericFruchtermanLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){if(this.running)return;const i=this.formatOptions(n),{dimensions:a,width:s,height:o,center:l,clustering:c,nodeClusterBy:h,maxIteration:p,onTick:C}=i,k=t.getAllNodes(),W=t.getAllEdges();if(!(k!=null&&k.length)){const re={nodes:[],edges:W};return this.lastResult=re,re}if(k.length===1){e&&t.mergeNodeData(k[0].id,{x:l[0],y:l[1],z:a===3?l[2]:void 0});const re={nodes:[Object.assign(Object.assign({},k[0]),{data:Object.assign(Object.assign({},k[0].data),{x:l[0],y:l[1],z:a===3?l[2]:void 0})})],edges:W};return this.lastResult=re,re}const j=k.map(re=>La(re,[s,o])),K=new ci({nodes:j,edges:W}),Q={};if(c&&j.forEach(re=>{const ve=re.data[h];Q[ve]||(Q[ve]={name:ve,cx:0,cy:0,count:0})}),this.lastLayoutNodes=j,this.lastLayoutEdges=W,this.lastAssign=e,this.lastGraph=K,this.lastOptions=i,this.lastClusterMap=Q,typeof window=="undefined")return;let ee=0;return new Promise(re=>{this.timeInterval=window.setInterval(()=>{if(!this.running){re({nodes:j,edges:W});return}this.runOneStep(K,Q,i),e&&j.forEach(({id:ve,data:he})=>t.mergeNodeData(ve,{x:he.x,y:he.y,z:a===3?he.z:void 0})),C==null||C({nodes:j,edges:W}),ee++,ee>=p&&(window.clearInterval(this.timeInterval),re({nodes:j,edges:W}))},0),this.running=!0})})}formatOptions(e={}){const t=Object.assign(Object.assign({},this.options),e),{clustering:n,nodeClusterBy:i}=t,{center:a,width:s,height:o}=t;return t.width=!s&&typeof window!="undefined"?window.innerWidth:s,t.height=!o&&typeof window!="undefined"?window.innerHeight:o,t.center=a||[t.width/2,t.height/2],t.clustering=n&&!!i,t}runOneStep(e,t,n){const{dimensions:i,height:a,width:s,gravity:o,center:l,speed:c,clustering:h,nodeClusterBy:p,clusterGravity:C}=n,k=a*s,W=Math.sqrt(k)/10,j=e.getAllNodes(),K=k/(j.length+1),Q=Math.sqrt(K),ee={};if(this.applyCalculate(e,ee,Q,K),h){for(const ve in t)t[ve].cx=0,t[ve].cy=0,t[ve].count=0;j.forEach(ve=>{const{data:he}=ve,pe=t[he[p]];dn(he.x)&&(pe.cx+=he.x),dn(he.y)&&(pe.cy+=he.y),pe.count++});for(const ve in t)t[ve].cx/=t[ve].count,t[ve].cy/=t[ve].count;const re=C||o;j.forEach((ve,he)=>{const{id:pe,data:_e}=ve;if(!dn(_e.x)||!dn(_e.y))return;const Ee=t[_e[p]],De=Math.sqrt((_e.x-Ee.cx)*(_e.x-Ee.cx)+(_e.y-Ee.cy)*(_e.y-Ee.cy)),Be=Q*re;ee[pe].x-=Be*(_e.x-Ee.cx)/De,ee[pe].y-=Be*(_e.y-Ee.cy)/De})}j.forEach((re,ve)=>{const{id:he,data:pe}=re;if(!dn(pe.x)||!dn(pe.y))return;const _e=.01*Q*o;ee[he].x-=_e*(pe.x-l[0]),ee[he].y-=_e*(pe.y-l[1]),i===3&&(ee[he].z-=_e*(pe.z-l[2]))}),j.forEach((re,ve)=>{const{id:he,data:pe}=re;if(dn(pe.fx)&&dn(pe.fy)){pe.x=pe.fx,pe.y=pe.fy,i===3&&(pe.z=pe.fz);return}if(!dn(pe.x)||!dn(pe.y))return;const _e=Math.sqrt(ee[he].x*ee[he].x+ee[he].y*ee[he].y+(i===3?ee[he].z*ee[he].z:0));if(_e>0){const Ee=Math.min(W*(c/PN),_e);e.mergeNodeData(he,{x:pe.x+ee[he].x/_e*Ee,y:pe.y+ee[he].y/_e*Ee,z:i===3?pe.z+ee[he].z/_e*Ee:void 0})}})}applyCalculate(e,t,n,i){this.calRepulsive(e,t,i),this.calAttractive(e,t,n)}calRepulsive(e,t,n){const i=e.getAllNodes();i.forEach(({data:a,id:s},o)=>{t[s]={x:0,y:0,z:0},i.forEach(({data:l,id:c},h)=>{if(o<=h||!dn(a.x)||!dn(l.x)||!dn(a.y)||!dn(l.y))return;let p=a.x-l.x,C=a.y-l.y,k=this.options.dimensions===3?a.z-l.z:0,W=p*p+C*C+k*k;W===0&&(W=1,p=.01,C=.01,k=.01);const j=n/W,K=p*j,Q=C*j,ee=k*j;t[s].x+=K,t[s].y+=Q,t[c].x-=K,t[c].y-=Q,this.options.dimensions===3&&(t[s].z+=ee,t[c].z-=ee)})})}calAttractive(e,t,n){e.getAllEdges().forEach(a=>{const{source:s,target:o}=a;if(!s||!o||s===o)return;const{data:l}=e.getNode(s),{data:c}=e.getNode(o);if(!dn(c.x)||!dn(l.x)||!dn(c.y)||!dn(l.y))return;const h=c.x-l.x,p=c.y-l.y,C=this.options.dimensions===3?c.z-l.z:0,k=Math.sqrt(h*h+p*p+C*C)/n,W=h*k,j=p*k,K=C*k;t[s].x+=W,t[s].y+=j,t[o].x-=W,t[o].y-=j,this.options.dimensions===3&&(t[s].z+=K,t[o].z-=K)})}}const LN={begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30,width:300,height:300};class RN{constructor(e={}){this.options=e,this.id="grid",this.options=Object.assign(Object.assign({},LN),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericGridLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,e,t)})}genericGridLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{begin:a=[0,0],condense:s,preventOverlapPadding:o,preventOverlap:l,rows:c,cols:h,nodeSpacing:p,nodeSize:C,width:k,height:W,position:j}=i;let{sortBy:K}=i;const Q=t.getAllNodes(),ee=t.getAllEdges(),re=Q==null?void 0:Q.length;if(!re||re===1)return vl(t,e,a);const ve=Q.map(ht=>La(ht));K!=="id"&&(!dr(K)||ve[0].data[K]===void 0)&&(K="degree"),K==="degree"?ve.sort((ht,St)=>t.getDegree(St.id,"both")-t.getDegree(ht.id,"both")):K==="id"?ve.sort((ht,St)=>dn(St.id)&&dn(ht.id)?St.id-ht.id:`${ht.id}`.localeCompare(`${St.id}`)):ve.sort((ht,St)=>St.data[K]-ht.data[K]);const he=!k&&typeof window!="undefined"?window.innerWidth:k,pe=!W&&typeof window!="undefined"?window.innerHeight:W,_e=re,Ee={rows:c,cols:h};if(c!=null&&h!=null)Ee.rows=c,Ee.cols=h;else if(c!=null&&h==null)Ee.rows=c,Ee.cols=Math.ceil(_e/Ee.rows);else if(c==null&&h!=null)Ee.cols=h,Ee.rows=Math.ceil(_e/Ee.cols);else{const ht=Math.sqrt(_e*pe/he);Ee.rows=Math.round(ht),Ee.cols=Math.round(he/pe*ht)}if(Ee.rows=Math.max(Ee.rows,1),Ee.cols=Math.max(Ee.cols,1),Ee.cols*Ee.rows>_e){const ht=jf(Ee),St=Gf(Ee);(ht-1)*St>=_e?jf(Ee,ht-1):(St-1)*ht>=_e&&Gf(Ee,St-1)}else for(;Ee.cols*Ee.rows<_e;){const ht=jf(Ee),St=Gf(Ee);(St+1)*ht>=_e?Gf(Ee,St+1):jf(Ee,ht+1)}let De=s?0:he/Ee.cols,Be=s?0:pe/Ee.rows;if(l||p){const ht=dl(10,p),St=ap(30,C,!1);ve.forEach(bt=>{(!bt.data.x||!bt.data.y)&&(bt.data.x=0,bt.data.y=0);const Et=t.getNode(bt.id),[xt,Dt]=su(St(Et)||30),Ut=ht!==void 0?ht(bt):o,Xt=xt+Ut,an=Dt+Ut;De=Math.max(De,Xt),Be=Math.max(Be,an)})}const Fe={},Xe={row:0,col:0},qe={};for(let ht=0;ht<ve.length;ht++){const St=ve[ht];let bt;if(j&&(bt=j(t.getNode(St.id))),bt&&(bt.row!==void 0||bt.col!==void 0)){const Et={row:bt.row,col:bt.col};if(Et.col===void 0)for(Et.col=0;yp(Fe,Et);)Et.col++;else if(Et.row===void 0)for(Et.row=0;yp(Fe,Et);)Et.row++;qe[St.id]=Et,nx(Fe,Et)}IN(St,a,De,Be,qe,Ee,Xe,Fe)}const ct={nodes:ve,edges:ee};return e&&ve.forEach(ht=>{t.mergeNodeData(ht.id,{x:ht.data.x,y:ht.data.y})}),ct})}}const jf=(r,e)=>{let t;const n=r.rows||5,i=r.cols||5;return e==null?t=Math.min(n,i):Math.min(n,i)===r.rows?r.rows=e:r.cols=e,t},Gf=(r,e)=>{let t;const n=r.rows||5,i=r.cols||5;return e==null?t=Math.max(n,i):Math.max(n,i)===r.rows?r.rows=e:r.cols=e,t},yp=(r,e)=>r[`c-${e.row}-${e.col}`]||!1,nx=(r,e)=>r[`c-${e.row}-${e.col}`]=!0,rx=(r,e)=>{const t=r.cols||5;e.col++,e.col>=t&&(e.col=0,e.row++)},IN=(r,e,t,n,i,a,s,o)=>{let l,c;const h=i[r.id];if(h)l=h.col*t+t/2+e[0],c=h.row*n+n/2+e[1];else{for(;yp(o,s);)rx(a,s);l=s.col*t+t/2+e[0],c=s.row*n+n/2+e[1],nx(o,s),rx(a,s)}r.data.x=l,r.data.y=c},NN=(r,e,t)=>{try{const n=Mo.mul(Mo.pow(e,2),-.5),i=n.mean("row"),a=n.mean("column"),s=n.mean();n.add(s).subRowVector(i).subColumnVector(a);const o=new FE(n),l=Mo.sqrt(o.diagonalMatrix).diagonal();return o.leftSingularVectors.toJSON().map(c=>Mo.mul([c],[l]).toJSON()[0].splice(0,r))}catch(n){const i=[];for(let a=0;a<e.length;a++){const s=Math.random()*t,o=Math.random()*t;i.push([s,o])}return i}},BN=800,kN={iterations:10,height:10,width:10,speed:100,gravity:10,k:5},zN=(r,e)=>{const t=Object.assign(Object.assign({},kN),e),{positions:n,iterations:i,width:a,k:s,speed:o=100,strictRadial:l,focusIdx:c,radii:h=[],nodeSizeFunc:p}=t,C=r.getAllNodes(),k=[],W=a/10;for(let j=0;j<i;j++)n.forEach((K,Q)=>{k[Q]={x:0,y:0}}),FN(C,n,k,s,h,p),UN(n,k,o,l,c,W,a,h);return n},FN=(r,e,t,n,i,a)=>{e.forEach((s,o)=>{t[o]={x:0,y:0},e.forEach((l,c)=>{if(o===c||i[o]!==i[c])return;let h=s.x-l.x,p=s.y-l.y,C=Math.sqrt(h*h+p*p);if(C===0){C=1;const k=o>c?1:-1;h=.01*k,p=.01*k}if(C<a(r[o])/2+a(r[c])/2){const k=n*n/C;t[o].x+=h/C*k,t[o].y+=p/C*k}})})},UN=(r,e,t,n,i,a,s,o)=>{const l=a||s/10;return n&&e.forEach((c,h)=>{const p=r[h].x-r[i].x,C=r[h].y-r[i].y,k=Math.sqrt(p*p+C*C);let W=C/k,j=-p/k;const K=Math.sqrt(c.x*c.x+c.y*c.y);let Q=Math.acos((W*c.x+j*c.y)/K);Q>Math.PI/2&&(Q-=Math.PI/2,W*=-1,j*=-1);const ee=Math.cos(Q)*K;c.x=W*ee,c.y=j*ee}),r.forEach((c,h)=>{if(h===i)return;const p=Math.sqrt(e[h].x*e[h].x+e[h].y*e[h].y);if(p>0&&h!==i){const C=Math.min(l*(t/BN),p);if(c.x+=e[h].x/p*C,c.y+=e[h].y/p*C,n){let k=c.x-r[i].x,W=c.y-r[i].y;const j=Math.sqrt(k*k+W*W);k=k/j*o[h],W=W/j*o[h],c.x=r[i].x+k,c.y=r[i].y+W}}}),r},WN={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class HN{constructor(e={}){this.options=e,this.id="radial",this.options=Object.assign(Object.assign({},WN),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,e,t)})}genericRadialLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:s,center:o,focusNode:l,unitRadius:c,nodeSize:h,nodeSpacing:p,strictRadial:C,preventOverlap:k,maxPreventOverlapIteration:W,sortBy:j,linkDistance:K=50,sortStrength:Q=10,maxIteration:ee=1e3}=i,re=t.getAllNodes(),ve=t.getAllEdges(),he=!a&&typeof window!="undefined"?window.innerWidth:a,pe=!s&&typeof window!="undefined"?window.innerHeight:s,_e=o||[he/2,pe/2];if(!(re!=null&&re.length)||re.length===1)return vl(t,e,_e);let Ee=re[0];if(dr(l)){for(let zn=0;zn<re.length;zn++)if(re[zn].id===l){Ee=re[zn];break}}else Ee=l||re[0];const De=VN(re,Ee.id),Be=WE({nodes:re,edges:ve},!1),Fe=UE(Be),Xe=KN(Fe,De);ZN(Fe,De,Xe+1);const qe=Fe[De];let ct=he-_e[0]>_e[0]?_e[0]:he-_e[0],ht=pe-_e[1]>_e[1]?_e[1]:pe-_e[1];ct===0&&(ct=he/2),ht===0&&(ht=pe/2);const St=Math.min(ct,ht),bt=Math.max(...qe),Et=[],xt=c||St/bt;qe.forEach((zn,Vn)=>{Et[Vn]=zn*xt});const Dt=jN(re,Fe,K,Et,xt,j,Q),Ut=GN(Dt),Xt=NN(K,Dt,K);let an=Xt.map(([zn,Vn])=>({x:(isNaN(zn)?Math.random()*K:zn)-Xt[De][0],y:(isNaN(Vn)?Math.random()*K:Vn)-Xt[De][1]}));this.run(ee,an,Ut,Dt,Et,De);let gn;if(k){gn=sp(h,p);const zn={nodes:re,nodeSizeFunc:gn,positions:an,radii:Et,height:pe,width:he,strictRadial:!!C,focusIdx:De,iterations:W||200,k:an.length/4.5};an=zN(t,zn)}const sn=[];return an.forEach((zn,Vn)=>{const ir=La(re[Vn]);ir.data.x=zn.x+_e[0],ir.data.y=zn.y+_e[1],sn.push(ir)}),e&&sn.forEach(zn=>t.mergeNodeData(zn.id,{x:zn.data.x,y:zn.data.y})),{nodes:sn,edges:ve}})}run(e,t,n,i,a,s){for(let o=0;o<=e;o++){const l=o/e;this.oneIteration(l,t,a,i,n,s)}}oneIteration(e,t,n,i,a,s){const o=1-e;t.forEach((l,c)=>{const h=HE(l,{x:0,y:0}),p=h===0?0:1/h;if(c===s)return;let C=0,k=0,W=0;t.forEach((K,Q)=>{if(c===Q)return;const ee=HE(l,K),re=ee===0?0:1/ee,ve=i[Q][c];W+=a[c][Q],C+=a[c][Q]*(K.x+ve*(l.x-K.x)*re),k+=a[c][Q]*(K.y+ve*(l.y-K.y)*re)});const j=n[c]===0?0:1/n[c];W*=o,W+=e*j*j,C*=o,C+=e*j*l.x*p,l.x=C/W,k*=o,k+=e*j*l.y*p,l.y=k/W})}}const jN=(r,e,t,n,i,a,s)=>{if(!r)return[];const o=[];if(e){const l={};e.forEach((c,h)=>{const p=[];c.forEach((C,k)=>{var W,j;if(h===k)p.push(0);else if(n[h]===n[k])if(a==="data")p.push(C*(Math.abs(h-k)*s)/(n[h]/i));else if(a){let K,Q;if(l[r[h].id])K=l[r[h].id];else{const ee=(a==="id"?r[h].id:(W=r[h].data)===null||W===void 0?void 0:W[a])||0;dr(ee)?K=ee.charCodeAt(0):K=ee,l[r[h].id]=K}if(l[r[k].id])Q=l[r[k].id];else{const ee=(a==="id"?r[k].id:(j=r[k].data)===null||j===void 0?void 0:j[a])||0;dr(ee)?Q=ee.charCodeAt(0):Q=ee,l[r[k].id]=Q}p.push(C*(Math.abs(K-Q)*s)/(n[h]/i))}else p.push(C*t/(n[h]/i));else{const K=(t+i)/2;p.push(C*K)}}),o.push(p)})}return o},GN=r=>{const e=r.length,t=r[0].length,n=[];for(let i=0;i<e;i++){const a=[];for(let s=0;s<t;s++)r[i][s]!==0?a.push(1/(r[i][s]*r[i][s])):a.push(0);n.push(a)}return n},VN=(r,e)=>{let t=-1;return r.forEach((n,i)=>{n.id===e&&(t=i)}),Math.max(t,0)},ZN=(r,e,t)=>{const n=r.length;for(let i=0;i<n;i++)if(r[e][i]===1/0){r[e][i]=t,r[i][e]=t;for(let a=0;a<n;a++)r[i][a]!==1/0&&r[e][a]===1/0&&(r[e][a]=t+r[i][a],r[a][e]=t+r[i][a])}for(let i=0;i<n;i++)if(i!==e){for(let a=0;a<n;a++)if(r[i][a]===1/0){let s=Math.abs(r[e][i]-r[e][a]);s=s===0?1:s,r[i][a]=s}}},KN=(r,e)=>{let t=0;for(let n=0;n<r[e].length;n++)r[e][n]!==1/0&&(t=r[e][n]>t?r[e][n]:t);return t},XN={center:[0,0],width:300,height:300};class YN{constructor(e={}){this.options=e,this.id="random",this.options=Object.assign(Object.assign({},XN),e)}execute(e,t){return(0,we.mG)(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,e,t)})}assign(e,t){return(0,we.mG)(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,e,t)})}genericRandomLayout(e,t,n){return(0,we.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:s,height:o}=i,l=t.getAllNodes(),c=.9,h=!s&&typeof window!="undefined"?window.innerWidth:s,p=!o&&typeof window!="undefined"?window.innerHeight:o,C=a||[h/2,p/2],k=[];return l&&l.forEach(j=>{k.push({id:j.id,data:{x:(Math.random()-.5)*c*h+C[0],y:(Math.random()-.5)*c*p+C[1]}})}),e&&k.forEach(j=>t.mergeNodeData(j.id,{x:j.data.x,y:j.data.y})),{nodes:k,edges:t.getAllEdges()}})}}function QN(r){var e,t,n,i=r||1;function a(o,l){++e>i&&(n=t,s(1),++e),t[o]=l}function s(o){e=0,t=Object.create(null),o||(n=Object.create(null))}return s(),{clear:s,has:function(o){return t[o]!==void 0||n[o]!==void 0},get:function(o){var l=t[o];if(l!==void 0)return l;if((l=n[o])!==void 0)return a(o,l),l},set:function(o,l){t[o]!==void 0?t[o]=l:a(o,l)}}}var _p=new Map;function Ep(r,e,t){t===void 0&&(t=128);var n=function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];var s=e?e.apply(this,i):i[0];_p.has(r)||_p.set(r,QN(t));var o=_p.get(r);if(o.has(s))return o.get(s);var l=r.apply(this,i);return o.set(s,l),l};return n}var JN=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Vf extends Cf{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const e=this.context.model.getRootsData();if(!(Ls(e)||e.length>2))return e[0]}formatSize(e){const t=typeof e=="function"?e:()=>e;return n=>Pa(t(n))}doLayout(e,t){const{hGap:n,getRibSep:i,vGap:a,nodeSize:s,height:o}=t,{model:l}=this.context,c=this.formatSize(s);let h=c(e)[0]+i(e);const p=(re,ve=0)=>{var he;return ve+=n*((re.children||[]).length+1),(he=re.children)===null||he===void 0||he.forEach(pe=>{var _e;(_e=l.getNodeLikeDatum(pe).children)===null||_e===void 0||_e.forEach(De=>{const Be=l.getNodeLikeDatum(De);ve=p(Be,ve)})}),ve},C=re=>{if(re.depth===1)return h;const ve=l.getParentData(re.id,"tree");if(ec(re)){const he=l.getParentData(ve.id,"tree"),pe=j(re)-j(he);return C(ve)+pe*n/a}else{const he=(ve.children||[]).indexOf(re.id),pe=l.getNodeData((ve.children||[]).slice(he));return k(ve)-pe.reduce((_e,Ee)=>_e+p(Ee),0)-c(ve)[0]/2}},k=Ep(re=>{if(xp(re))return c(re)[0]/2;const ve=l.getParentData(re.id,"tree");if(ec(re))return C(re)+p(re)+c(re)[0]/2;{const he=j(re)-j(ve),pe=n/a;return C(re)+he*pe}},re=>re.id),W=re=>j(l.getParentData(re,"tree")),j=Ep(re=>{if(xp(re))return o/2;if(ec(re)){const ve=l.getParentData(re.id,"tree"),he=ve.children.indexOf(re.id);if(he===0)return W(ve.id)+a;const pe=l.getNodeLikeDatum(ve.children[he-1]);if(Ls(pe.children))return j(pe)+a;const _e=l.getDescendantsData(pe.id);return Math.max(..._e.map(Ee=>ec(Ee)?W(Ee.id):j(Ee)))+a}else{if(Ls(re.children))return W(re.id)+a;const ve=l.getNodeLikeDatum(re.children.slice(-1)[0]);if(Ls(ve.children))return j(ve)+a;const he=l.getDescendantsData(re.id).slice(-1)[0];return(ec(he)?W(he.id):j(he))+a}},re=>re.id);let K=0;const Q={nodes:[],edges:[]},ee=re=>{var ve;(ve=re.children)===null||ve===void 0||ve.forEach(De=>ee(l.getNodeLikeDatum(De)));const he=j(re),pe=k(re);if(Q.nodes.push({id:re.id,x:pe,y:he}),xp(re))return;const _e=l.getRelatedEdgesData(re.id,"in")[0],Ee=[C(re),ec(re)?he:W(re.id)];Q.edges.push({id:Mt(_e),controlPoints:[Ee],relatedNodeId:re.id}),K=Math.max(K,pe+i(re)),re.depth===1&&(h=K)};return ee(e),Q}placeAlterative(e,t){const n=(t.children||[]).filter((o,l)=>l%2!==0);if(n.length===0)return e;const{model:i}=this.context,a=e.nodes.find(o=>o.id===t.id).y,s=o=>{const l=i.getAncestorsData(o,"tree");if(Ls(l))return!1;const c=l.length===1?o:l[l.length-2].id;return n.includes(c)};e.nodes.forEach(o=>{s(o.id)&&(o.y=2*a-o.y)}),e.edges.forEach(o=>{s(o.relatedNodeId)&&(o.controlPoints=o.controlPoints.map(l=>[l[0],2*a-l[1]]))})}rightToLeft(e,t){return e.nodes.forEach(n=>n.x=t.width-n.x),e.edges.forEach(n=>{n.controlPoints=n.controlPoints.map(i=>[t.width-i[0],i[1]])}),e}execute(e,t){return JN(this,void 0,void 0,function*(){const n=Object.assign(Object.assign(Object.assign({},Vf.defaultOptions),this.options),t),{direction:i,nodeSize:a}=n,s=this.getRoot();if(!s)return e;const o=this.formatSize(a);n.vGap||(n.vGap=Math.max(...(e.nodes||[]).map(C=>o(C)[1]))),n.hGap||(n.hGap=Math.max(...(e.nodes||[]).map(C=>o(C)[0])));let l=this.doLayout(s,n);this.placeAlterative(l,s),i==="RL"&&(l=this.rightToLeft(l,n));const{model:c}=this.context,h=[],p=[];return l.nodes.forEach(C=>{const{id:k,x:W,y:j}=C,K=c.getNodeLikeDatum(k);h.push(ix(K,{x:W,y:j}))}),l.edges.forEach(C=>{const{id:k,controlPoints:W}=C,j=c.getEdgeDatum(k);p.push(ix(j,{controlPoints:W}))}),{nodes:h,edges:p}})}}Vf.defaultOptions={direction:"RL",getRibSep:()=>60};const ix=(r,e)=>Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},r.style||{}),e)}),xp=r=>r.depth===0,ec=r=>(r.depth||(r.depth=0))%2===0;var qN=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Zf extends Cf{constructor(){super(...arguments),this.id="snake"}formatSize(e,t){const n=typeof t=="function"?t:()=>t;return e.reduce((i,a)=>{const[s,o]=Pa(n(a))||[0,0];return[Math.max(i[0],s),Math.max(i[1],o)]},[0,0])}validate(e){const{nodes:t=[],edges:n=[]}=e,i={},a={},s={};t.forEach(C=>{i[C.id]=0,a[C.id]=0,s[C.id]=[]}),n.forEach(C=>{i[C.target]++,a[C.source]++,s[C.source].push(C.target)});const o=new Set,l=C=>{o.has(C)||(o.add(C),s[C].forEach(l))};if(l(t[0].id),o.size!==t.length)return!1;const c=t.filter(C=>i[C.id]===0),h=t.filter(C=>a[C.id]===0);return!(c.length!==1||h.length!==1||t.filter(C=>i[C.id]===1&&a[C.id]===1).length!==t.length-2)}execute(e,t){return qN(this,void 0,void 0,function*(){var n;if(!this.validate(e))return e;const{nodeSize:i,padding:a,sortBy:s,cols:o,colGap:l,rowGap:c,clockwise:h,width:p,height:C}=Object.assign({},Zf.defaultOptions,this.options,t),[k,W,j,K]=os(a),Q=this.formatSize(e.nodes||[],i),ee=Math.ceil((e.nodes||[]).length/o);let re=l||(p-K-W-o*Q[0])/(o-1),ve=c||(C-k-j-ee*Q[1])/(ee-1);return(ve===1/0||ve<0)&&(ve=0),(re===1/0||re<0)&&(re=0),{nodes:((s?(n=e.nodes)===null||n===void 0?void 0:n.sort(s):$N(e))||[]).map((_e,Ee)=>{const De=Math.floor(Ee/o),Be=Ee%o,Fe=h?De%2===0?Be:o-1-Be:De%2===0?o-1-Be:Be,Xe=K+Fe*(Q[0]+re)+Q[0]/2,qe=k+De*(Q[1]+ve)+Q[1]/2;return{id:_e.id,style:{x:Xe,y:qe}}})}})}}Zf.defaultOptions={padding:0,cols:5,clockwise:!0};function $N(r){const{nodes:e=[],edges:t=[]}=r,n={},i={};e.forEach(o=>{n[o.id]=0,i[o.id]=[]}),t.forEach(o=>{n[o.target]++,i[o.source].push(o.target)});const a=[],s=[];for(e.forEach(o=>{n[o.id]===0&&a.push(o.id)});a.length>0;){const o=a.shift(),l=e.find(c=>c.id===o);s.push(l),i[o].forEach(c=>{n[c]--,n[c]===0&&a.push(c)})}return s}const eB=["rgb(158, 1, 66)","rgb(213, 62, 79)","rgb(244, 109, 67)","rgb(253, 174, 97)","rgb(254, 224, 139)","rgb(255, 255, 191)","rgb(230, 245, 152)","rgb(171, 221, 164)","rgb(102, 194, 165)","rgb(50, 136, 189)","rgb(94, 79, 162)"],tB=["rgb(78, 121, 167)","rgb(242, 142, 44)","rgb(225, 87, 89)","rgb(118, 183, 178)","rgb(89, 161, 79)","rgb(237, 201, 73)","rgb(175, 122, 161)","rgb(255, 157, 167)","rgb(156, 117, 95)","rgb(186, 176, 171)"],nB=["rgb(255, 245, 235)","rgb(254, 230, 206)","rgb(253, 208, 162)","rgb(253, 174, 107)","rgb(253, 141, 60)","rgb(241, 105, 19)","rgb(217, 72, 1)","rgb(166, 54, 3)","rgb(127, 39, 4)"],rB=["rgb(247, 252, 245)","rgb(229, 245, 224)","rgb(199, 233, 192)","rgb(161, 217, 155)","rgb(116, 196, 118)","rgb(65, 171, 93)","rgb(35, 139, 69)","rgb(0, 109, 44)","rgb(0, 68, 27)"],iB=["rgb(247, 251, 255)","rgb(222, 235, 247)","rgb(198, 219, 239)","rgb(158, 202, 225)","rgb(107, 174, 214)","rgb(66, 146, 198)","rgb(33, 113, 181)","rgb(8, 81, 156)","rgb(8, 48, 107)"];var aB=function(r,e,t){if(!Ma(r)&&!Vl(r))return r;var n=t;return y_(r,function(i,a){n=e(n,i,a)}),n},sB=aB,bp=function(r,e){return sB(r,function(t,n,i){return e.includes(i)||(t[i]=n),t},{})};class ki extends xg{}function tc(r,e=!0,t){const n=document.createElement("div");return n.setAttribute("class",`g6-${r}`),Object.assign(n.style,{position:"absolute",display:"block"}),e&&Object.assign(n.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),t&&Object.assign(n.style,t),n}function wp(r,e="div",t={},n="",i=document.body){const a=document.getElementById(r);a&&a.remove();const s=document.createElement(e);return s.innerHTML=n,s.id=r,Object.assign(s.style,t),i.appendChild(s),s}var oB=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Kf extends ki{constructor(e,t){super(e,Object.assign({},Kf.defaultOptions,t)),this.$element=tc("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return oB(this,void 0,void 0,function*(){t.update.call(this,e),Object.assign(this.$element.style,bp(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}Kf.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};function Mp(r,e,t,n,i,a){const s=r,o=e,l=t-s,c=n-o;let h=i-s,p=a-o,C=h*l+p*c,k=0;C<=0?k=0:(h=l-h,p=c-p,C=h*l+p*c,C<=0?k=0:k=C*C/(l*l+c*c));const W=h*h+p*p-k;return W<0?0:W}function To(r,e,t,n){return(r-t)*(r-t)+(e-n)*(e-n)}function ax(r,e,t,n,i){return To(r,e,t,n)<i*i}function lB(r){if(!Number.isFinite(r))return t=>t;if(r===0)return Math.round;const e=Math.pow(10,r);return t=>Math.round(t*e)/e}function sx(r){const e=Math.min(r.x1,r.x2),t=Math.max(r.x1,r.x2),n=Math.min(r.y1,r.y2),i=Math.max(r.y1,r.y2);return{x:e,y:n,x2:t,y2:i,width:t-e,height:i-n}}class Ci{constructor(e,t,n,i){this.x1=e,this.y1=t,this.x2=n,this.y2=i}equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2}draw(e){e.moveTo(this.x1,this.y1),e.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(e){return new Ci(e.x1,e.y1,e.x2,e.y2)}cuts(e,t){if(this.y1===this.y2||t<this.y1&&t<=this.y2||t>this.y1&&t>=this.y2||e>this.x1&&e>=this.x2)return!1;if(e<this.x1&&e<=this.x2)return!0;const n=this.x1+(t-this.y1)*(this.x2-this.x1)/(this.y2-this.y1);return e<=n}distSquare(e,t){return Mp(this.x1,this.y1,this.x2,this.y2,e,t)}ptClose(e,t,n){if(this.x1<this.x2){if(e<this.x1-n||e>this.x2+n)return!1}else if(e<this.x2-n||e>this.x1+n)return!1;if(this.y1<this.y2){if(t<this.y1-n||t>this.y2+n)return!1}else if(t<this.y2-n||t>this.y1+n)return!1;return!0}}var $r;(function(r){r[r.POINT=1]="POINT",r[r.PARALLEL=2]="PARALLEL",r[r.COINCIDENT=3]="COINCIDENT",r[r.NONE=4]="NONE"})($r||($r={}));class Sp{constructor(e,t=0,n=0){this.state=e,this.x=t,this.y=n}}function Xf(r,e){const t=(e.x2-e.x1)*(r.y1-e.y1)-(e.y2-e.y1)*(r.x1-e.x1),n=(r.x2-r.x1)*(r.y1-e.y1)-(r.y2-r.y1)*(r.x1-e.x1),i=(e.y2-e.y1)*(r.x2-r.x1)-(e.x2-e.x1)*(r.y2-r.y1);if(i){const a=t/i,s=n/i;return 0<=a&&a<=1&&0<=s&&s<=1?new Sp($r.POINT,r.x1+a*(r.x2-r.x1),r.y1+a*(r.y2-r.y1)):new Sp($r.NONE)}return new Sp(t===0||n===0?$r.COINCIDENT:$r.PARALLEL)}function ox(r,e){const t=(e.x2-e.x1)*(r.y1-e.y1)-(e.y2-e.y1)*(r.x1-e.x1),n=(r.x2-r.x1)*(r.y1-e.y1)-(r.y2-r.y1)*(r.x1-e.x1),i=(e.y2-e.y1)*(r.x2-r.x1)-(e.x2-e.x1)*(r.y2-r.y1);if(i){const a=t/i,s=n/i;if(0<=a&&a<=1&&0<=s&&s<=1)return a}return Number.POSITIVE_INFINITY}function cB(r,e){function t(i,a,s,o){let l=ox(e,new Ci(i,a,s,o));return l=Math.abs(l-.5),l>=0&&l<=1?1:0}let n=t(r.x,r.y,r.x2,r.y);return n+=t(r.x,r.y,r.x,r.y2),n>1||(n+=t(r.x,r.y2,r.x2,r.y2),n>1)?!0:(n+=t(r.x2,r.y,r.x2,r.y2),n>0)}var ei;(function(r){r[r.LEFT=0]="LEFT",r[r.TOP=1]="TOP",r[r.RIGHT=2]="RIGHT",r[r.BOTTOM=3]="BOTTOM"})(ei||(ei={}));function Yf(r,e,t){const n=new Set;return r.width<=0?(n.add(ei.LEFT),n.add(ei.RIGHT)):e<r.x?n.add(ei.LEFT):e>r.x+r.width&&n.add(ei.RIGHT),r.height<=0?(n.add(ei.TOP),n.add(ei.BOTTOM)):t<r.y?n.add(ei.TOP):t>r.y+r.height&&n.add(ei.BOTTOM),n}function lx(r,e){let t=e.x1,n=e.y1;const i=e.x2,a=e.y2,s=Array.from(Yf(r,i,a));if(s.length===0)return!0;let o=Yf(r,t,n);for(;o.size!==0;){for(const l of s)if(o.has(l))return!1;if(o.has(ei.RIGHT)||o.has(ei.LEFT)){let l=r.x;o.has(ei.RIGHT)&&(l+=r.width),n=n+(l-t)*(a-n)/(i-t),t=l}else{let l=r.y;o.has(ei.BOTTOM)&&(l+=r.height),t=t+(l-n)*(i-t)/(a-n),n=l}o=Yf(r,t,n)}return!0}function uB(r,e){let t=Number.POSITIVE_INFINITY,n=0;function i(a,s,o,l){let c=ox(e,new Ci(a,s,o,l));c=Math.abs(c-.5),c>=0&&c<=1&&(n++,c<t&&(t=c))}return i(r.x,r.y,r.x2,r.y),i(r.x,r.y,r.x,r.y2),n>1||(i(r.x,r.y2,r.x2,r.y2),n>1)?t:(i(r.x2,r.y,r.x2,r.y2),n===0?-1:t)}function hB(r,e){let t=0;const n=Xf(r,new Ci(e.x,e.y,e.x2,e.y));t+=n.state===$r.POINT?1:0;const i=Xf(r,new Ci(e.x,e.y,e.x,e.y2));t+=i.state===$r.POINT?1:0;const a=Xf(r,new Ci(e.x,e.y2,e.x2,e.y2));t+=a.state===$r.POINT?1:0;const s=Xf(r,new Ci(e.x2,e.y,e.x2,e.y2));return t+=s.state===$r.POINT?1:0,{top:n,left:i,bottom:a,right:s,count:t}}class Xi{constructor(e,t,n,i){this.x=e,this.y=t,this.width=n,this.height=i}get x2(){return this.x+this.width}get y2(){return this.y+this.height}get cx(){return this.x+this.width/2}get cy(){return this.y+this.height/2}get radius(){return Math.max(this.width,this.height)/2}static from(e){return new Xi(e.x,e.y,e.width,e.height)}equals(e){return this.x===e.x&&this.y===e.y&&this.width===e.width&&this.height===e.height}clone(){return new Xi(this.x,this.y,this.width,this.height)}add(e){const t=Math.min(this.x,e.x),n=Math.min(this.y,e.y),i=Math.max(this.x2,e.x+e.width),a=Math.max(this.y2,e.y+e.height);this.x=t,this.y=n,this.width=i-t,this.height=a-n}addPoint(e){const t=Math.min(this.x,e.x),n=Math.min(this.y,e.y),i=Math.max(this.x2,e.x),a=Math.max(this.y2,e.y);this.x=t,this.y=n,this.width=i-t,this.height=a-n}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(e){e.rect(this.x,this.y,this.width,this.height)}containsPt(e,t){return e>=this.x&&e<=this.x2&&t>=this.y&&t<=this.y2}get area(){return this.width*this.height}intersects(e){return this.area<=0||e.width<=0||e.height<=0?!1:e.x+e.width>this.x&&e.y+e.height>this.y&&e.x<this.x2&&e.y<this.y2}distSquare(e,t){if(this.containsPt(e,t))return 0;const n=Yf(this,e,t);return n.has(ei.TOP)?n.has(ei.LEFT)?To(e,t,this.x,this.y):n.has(ei.RIGHT)?To(e,t,this.x2,this.y):(this.y-t)*(this.y-t):n.has(ei.BOTTOM)?n.has(ei.LEFT)?To(e,t,this.x,this.y2):n.has(ei.RIGHT)?To(e,t,this.x2,this.y2):(t-this.y2)*(t-this.y2):n.has(ei.LEFT)?(this.x-e)*(this.x-e):n.has(ei.RIGHT)?(e-this.x2)*(e-this.x2):0}}function fB(r){if(r.length===0)return null;const e=r[0],t=new Xi(e.x,e.y,0,0);for(const n of r)t.addPoint(n);return t}class Qf{constructor(e,t,n){this.cx=e,this.cy=t,this.radius=n}get x(){return this.cx-this.radius}get x2(){return this.cx+this.radius}get width(){return this.radius*2}get y(){return this.cy-this.radius}get y2(){return this.cy+this.radius}get height(){return this.radius*2}static from(e){return new Qf(e.cx,e.cy,e.radius)}containsPt(e,t){return To(this.cx,this.cy,e,t)<this.radius*this.radius}distSquare(e,t){const n=To(this.cx,this.cy,e,t);if(n<this.radius*this.radius)return 0;const i=Math.sqrt(n)-this.radius;return i*i}draw(e){e.ellipse(this.cx,this.cy,this.radius,this.radius,0,0,Math.PI*2)}}class pl{constructor(e,t=0,n=0,i=0,a=0,s=10,o=10,l=new Float32Array(Math.max(0,s*o)).fill(0)){this.pixelGroup=e,this.i=t,this.j=n,this.pixelX=i,this.pixelY=a,this.width=s,this.height=o,this.area=l}createSub(e,t){return new pl(this.pixelGroup,e.x,e.y,t.x,t.y,e.width,e.height)}static fromPixelRegion(e,t){return new pl(t,0,0,e.x,e.y,Math.ceil(e.width/t),Math.ceil(e.height/t))}copy(e,t){return new pl(this.pixelGroup,this.scaleX(t.x),this.scaleY(t.y),t.x,t.y,e.width,e.height,e.area)}boundX(e){return e<this.i?this.i:e>=this.width?this.width-1:e}boundY(e){return e<this.j?this.j:e>=this.height?this.height-1:e}scaleX(e){return this.boundX(Math.floor((e-this.pixelX)/this.pixelGroup))}scaleY(e){return this.boundY(Math.floor((e-this.pixelY)/this.pixelGroup))}scale(e){const t=this.scaleX(e.x),n=this.scaleY(e.y),i=this.boundX(Math.ceil((e.x+e.width-this.pixelX)/this.pixelGroup)),a=this.boundY(Math.ceil((e.y+e.height-this.pixelY)/this.pixelGroup)),s=i-t,o=a-n;return new Xi(t,n,s,o)}invertScaleX(e){return Math.round(e*this.pixelGroup+this.pixelX)}invertScaleY(e){return Math.round(e*this.pixelGroup+this.pixelY)}addPadding(e,t){const n=Math.ceil(t/this.pixelGroup),i=this.boundX(e.x-n),a=this.boundY(e.y-n),s=this.boundX(e.x2+n),o=this.boundY(e.y2+n),l=s-i,c=o-a;return new Xi(i,a,l,c)}get(e,t){return e<0||t<0||e>=this.width||t>=this.height?Number.NaN:this.area[e+t*this.width]}inc(e,t,n){e<0||t<0||e>=this.width||t>=this.height||(this.area[e+t*this.width]+=n)}set(e,t,n){e<0||t<0||e>=this.width||t>=this.height||(this.area[e+t*this.width]=n)}incArea(e,t){if(e.width<=0||e.height<=0||t===0)return;const n=this.width,i=e.width,a=Math.max(0,e.i),s=Math.max(0,e.j),o=Math.min(e.i+e.width,n),l=Math.min(e.j+e.height,this.height);if(!(l<=0||o<=0||a>=n||l>=this.height))for(let c=s;c<l;c++){const h=(c-e.j)*i,p=c*n;for(let C=a;C<o;C++){const k=e.area[C-e.i+h];k!==0&&(this.area[C+p]+=t*k)}}}fill(e){this.area.fill(e)}fillArea(e,t){const n=e.x+e.y*this.width;for(let i=0;i<e.height;i++){const a=n+i*this.width;this.area.fill(t,a,a+e.width)}}fillHorizontalLine(e,t,n,i){const a=e+t*this.width;this.area.fill(i,a,a+n)}fillVerticalLine(e,t,n,i){const a=e+t*this.width;for(let s=0;s<n;s++)this.area[a+s*this.width]=i}clear(){this.area.fill(0)}toString(){let e="";for(let t=0;t<this.height;t++){const n=t*this.width;for(let i=0;i<this.width;i++){const a=this.area[n+i];e+=a.toFixed(1).padStart(6),e+=" "}e+=`
`}return e}draw(e,t=!0){if(this.width<=0||this.height<=0)return;e.save(),t&&e.translate(this.pixelX,this.pixelY);const n=this.area.reduce((s,o)=>Math.min(s,o),Number.POSITIVE_INFINITY),i=this.area.reduce((s,o)=>Math.max(s,o),Number.NEGATIVE_INFINITY),a=s=>(s-n)/(i-n);e.scale(this.pixelGroup,this.pixelGroup);for(let s=0;s<this.width;s++)for(let o=0;o<this.height;o++){const l=this.area[s+o*this.width];e.fillStyle=`rgba(0, 0, 0, ${a(l)})`,e.fillRect(s,o,1,1)}e.restore()}drawThreshold(e,t,n=!0){if(!(this.width<=0||this.height<=0)){e.save(),n&&e.translate(this.pixelX,this.pixelY),e.scale(this.pixelGroup,this.pixelGroup);for(let i=0;i<this.width;i++)for(let a=0;a<this.height;a++){const s=this.area[i+a*this.width];e.fillStyle=s>t?"black":"white",e.fillRect(i,a,1,1)}e.restore()}}}function cx(r,e){const t=n=>({x:n.x-e,y:n.y-e,width:n.width+2*e,height:n.height+2*e});return Array.isArray(r)?r.map(t):t(r)}function ux(r,e,t){return hx(Object.assign(sx(r),{distSquare:(n,i)=>Mp(r.x1,r.y1,r.x2,r.y2,n,i)}),e,t)}function hx(r,e,t){const n=cx(r,t),i=e.scale(n),a=e.createSub(i,n);return dB(a,e,t,(s,o)=>r.distSquare(s,o)),a}function dB(r,e,t,n){const i=t*t;for(let a=0;a<r.height;a++)for(let s=0;s<r.width;s++){const o=e.invertScaleX(r.i+s),l=e.invertScaleY(r.j+a),c=n(o,l);if(c===0){r.set(s,a,i);continue}if(c<i){const h=t-Math.sqrt(c);r.set(s,a,h*h)}}return r}function vB(r,e,t){const n=e.scale(r),i=e.addPadding(n,t),a=e.createSub(i,{x:r.x-t,y:r.y-t}),s=n.x-i.x,o=n.y-i.y,l=i.x2-n.x2,c=i.y2-n.y2,h=i.width-s-l,p=i.height-o-c,C=t*t;a.fillArea({x:s,y:o,width:h+1,height:p+1},C);const k=[0],W=Math.max(o,s,l,c);{const ee=e.invertScaleX(n.x+n.width/2);for(let re=1;re<W;re++){const ve=e.invertScaleY(n.y-re),he=r.distSquare(ee,ve);if(he<C){const pe=t-Math.sqrt(he);k.push(pe*pe)}else break}}const j=[],K=Math.max(s,l),Q=Math.max(o,l);for(let ee=1;ee<K;ee++){const re=e.invertScaleX(n.x-ee),ve=[];for(let he=1;he<Q;he++){const pe=e.invertScaleY(n.y-he),_e=r.distSquare(re,pe);if(_e<C){const Ee=t-Math.sqrt(_e);ve.push(Ee*Ee)}else ve.push(0)}j.push(ve)}for(let ee=1;ee<Math.min(o,k.length);ee++){const re=k[ee];a.fillHorizontalLine(s,o-ee,h+1,re)}for(let ee=1;ee<Math.min(c,k.length);ee++){const re=k[ee];a.fillHorizontalLine(s,o+p+ee,h+1,re)}for(let ee=1;ee<Math.min(s,k.length);ee++){const re=k[ee];a.fillVerticalLine(s-ee,o,p+1,re)}for(let ee=1;ee<Math.min(c,k.length);ee++){const re=k[ee];a.fillVerticalLine(s+h+ee,o,p+1,re)}for(let ee=1;ee<s;ee++){const re=j[ee-1],ve=s-ee;for(let he=1;he<o;he++)a.set(ve,o-he,re[he-1]);for(let he=1;he<c;he++)a.set(ve,o+p+he,re[he-1])}for(let ee=1;ee<l;ee++){const re=j[ee-1],ve=s+h+ee;for(let he=1;he<o;he++)a.set(ve,o-he,re[he-1]);for(let he=1;he<c;he++)a.set(ve,o+p+he,re[he-1])}return a}function ZU(r,e,t,n){return{x:r,y:e,width:t,height:n}}function KU(r,e,t){return{cx:r,cy:e,radius:t}}function XU(r,e,t,n){return{x1:r,y1:e,x2:t,y2:n}}function Vr(r,e){return{x:r,y:e}}function gB(r,e,t,n){if(r.length===0)return[];const i=EB(r);return i.map((a,s)=>{const o=i.slice(0,s);return pB(e,a,o,t,n)}).flat()}function pB(r,e,t,n,i){const a=Vr(e.cx,e.cy),s=_B(a,t,r);if(s==null)return[];const o=new Ci(a.x,a.y,s.cx,s.cy),l=mB(o,r,n,i);return yB(l,r)}function mB(r,e,t,n){const i=[],a=[];a.push(r);let s=!0;for(let o=0;o<t&&s;o++)for(s=!1;!s&&a.length>0;){const l=a.pop(),c=fx(e,l),h=c?hB(l,c):null;if(!c||!h||h.count!==2){s||i.push(l);continue}let p=n,C=qf(c,p,h,!0),k=Ao(C,a)||Ao(C,i),W=Jf(C,e);for(;!k&&W&&p>=1;)p/=1.5,C=qf(c,p,h,!0),k=Ao(C,a)||Ao(C,i),W=Jf(C,e);if(C&&!k&&!W&&(a.push(new Ci(l.x1,l.y1,C.x,C.y)),a.push(new Ci(C.x,C.y,l.x2,l.y2)),s=!0),s)continue;p=n,C=qf(c,p,h,!1);let j=Ao(C,a)||Ao(C,i);for(W=Jf(C,e);!j&&W&&p>=1;)p/=1.5,C=qf(c,p,h,!1),j=Ao(C,a)||Ao(C,i),W=Jf(C,e);C&&!j&&(a.push(new Ci(l.x1,l.y1,C.x,C.y)),a.push(new Ci(C.x,C.y,l.x2,l.y2)),s=!0),s||i.push(l)}for(;a.length>0;)i.push(a.pop());return i}function yB(r,e){const t=[];for(;r.length>0;){const n=r.pop();if(r.length===0){t.push(n);break}const i=r.pop(),a=new Ci(n.x1,n.y1,i.x2,i.y2);fx(e,a)?(t.push(n),r.push(i)):r.push(a)}return t}function _B(r,e,t){let n=Number.POSITIVE_INFINITY;return e.reduce((i,a)=>{const s=To(r.x,r.y,a.cx,a.cy);if(s>n)return i;const o=new Ci(r.x,r.y,a.cx,a.cy),l=xB(t,o);return s*(l+1)*(l+1)<n&&(i=a,n=s*(l+1)*(l+1)),i},null)}function EB(r){if(r.length<2)return r;let e=0,t=0;return r.forEach(n=>{e+=n.cx,t+=n.cy}),e/=r.length,t/=r.length,r.map(n=>{const i=e-n.cx,a=t-n.cy,s=i*i+a*a;return[n,s]}).sort((n,i)=>n[1]-i[1]).map(n=>n[0])}function Jf(r,e){return e.some(t=>t.containsPt(r.x,r.y))}function Ao(r,e){return e.some(t=>!!(ax(t.x1,t.y1,r.x,r.y,.001)||ax(t.x2,t.y2,r.x,r.y,.001)))}function fx(r,e){let t=Number.POSITIVE_INFINITY,n=null;for(const i of r){if(!lx(i,e))continue;const a=uB(i,e);a>=0&&a<t&&(n=i,t=a)}return n}function xB(r,e){return r.reduce((t,n)=>lx(n,e)&&cB(n,e)?t+1:t,0)}function qf(r,e,t,n){const i=t.top,a=t.left,s=t.bottom,o=t.right;if(n){if(a.state===$r.POINT){if(i.state===$r.POINT)return Vr(r.x-e,r.y-e);if(s.state===$r.POINT)return Vr(r.x-e,r.y2+e);const C=r.width*r.height;return r.width*((a.y-r.y+(o.y-r.y))*.5)<C*.5?a.y>o.y?Vr(r.x-e,r.y-e):Vr(r.x2+e,r.y-e):a.y<o.y?Vr(r.x-e,r.y2+e):Vr(r.x2+e,r.y2+e)}if(o.state===$r.POINT){if(i.state===$r.POINT)return Vr(r.x2+e,r.y-e);if(s.state===$r.POINT)return Vr(r.x2+e,r.y2+e)}const h=r.height*r.width;return r.height*((i.x-r.x+(o.x-r.x))*.5)<h*.5?i.x>s.x?Vr(r.x-e,r.y-e):Vr(r.x-e,r.y2+e):i.x<s.x?Vr(r.x2+e,r.y-e):Vr(r.x2+e,r.y2+e)}if(a.state===$r.POINT){if(i.state===$r.POINT)return Vr(r.x2+e,r.y2+e);if(s.state===$r.POINT)return Vr(r.x2+e,r.y-e);const h=r.height*r.width;return r.width*((a.y-r.y+(o.y-r.y))*.5)<h*.5?a.y>o.y?Vr(r.x2+e,r.y2+e):Vr(r.x-e,r.y2+e):a.y<o.y?Vr(r.x2+e,r.y-e):Vr(r.x-e,r.y-e)}if(o.state===$r.POINT){if(i.state===$r.POINT)return Vr(r.x-e,r.y2+e);if(s.state===$r.POINT)return Vr(r.x-e,r.y-e)}const l=r.height*r.width;return r.height*((i.x-r.x+(o.x-r.x))*.5)<l*.5?i.x>s.x?Vr(r.x2+e,r.y2+e):Vr(r.x2+e,r.y-e):i.x<s.x?Vr(r.x-e,r.y2+e):Vr(r.x-e,r.y-e)}function bB(r,e,t,n){if(!(r.closed?t<r.length:t<r.length-1))return!1;const a=r.get(e),s=r.get(t+1);for(let o=e+1;o<=t;o++){const l=r.get(o);if(Mp(a.x,a.y,s.x,s.y,l.x,l.y)>n)return!1}return!0}function wB(r=0){return e=>{if(r<0||e.length<3)return e;const t=[];let n=0;const i=r*r;for(;n<e.length;){let a=n+1;for(;bB(e,n,a,i);)a++;t.push(e.get(n)),n=a}return new ml(t)}}function MB(r,e){switch(r){case-2:return(((-e+3)*e-3)*e+1)/6;case-1:return((3*e-6)*e*e+4)/6;case 0:return(((-3*e+3)*e+3)*e+1)/6;case 1:return e*e*e/6;default:throw new Error("unknown error")}}function SB(r=6){function a(s,o,l){let c=0,h=0;for(let p=-2;p<=1;p++){const C=s.get(o+p),k=MB(p,l);c+=k*C.x,h+=k*C.y}return{x:c,y:h}}return s=>{if(s.length<3)return s;const o=[],l=s.closed,c=s.length+3-1+(l?0:2);o.push(a(s,2-(l?0:2),0));for(let h=2-(l?0:2);h<c;h++)for(let p=1;p<=r;p++)o.push(a(s,h,p/r));return new ml(o)}}function TB(r=8){return e=>{let t=r,n=e.length;if(t>1)for(n=Math.floor(e.length/t);n<3&&t>1;)t-=1,n=Math.floor(e.length/t);const i=[];for(let a=0,s=0;s<n;s++,a+=t)i.push(e.get(a));return new ml(i)}}class ml{constructor(e=[],t=!0){this.points=e,this.closed=t}get(e){const t=e,n=this.points.length;return e<0?this.closed?this.get(e+n):this.points[0]:e>=n?this.closed?this.get(e-n):this.points[n-1]:this.points[t]}get length(){return this.points.length}toString(e=1/0){const t=this.points;if(t.length===0)return"";const n=typeof e=="function"?e:lB(e);let i="M";for(const a of t)i+=`${n(a.x)},${n(a.y)} L`;return i=i.slice(0,-1),this.closed&&(i+=" Z"),i}draw(e){const t=this.points;if(t.length!==0){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(const n of t)e.lineTo(n.x,n.y);this.closed&&e.closePath()}}sample(e){return TB(e)(this)}simplify(e){return wB(e)(this)}bSplines(e){return SB(e)(this)}apply(e){return e(this)}containsElements(e){const t=fB(this.points);return t?e.every(n=>t.containsPt(n.cx,n.cy)&&this.withinArea(n.cx,n.cy)):!1}withinArea(e,t){if(this.length===0)return!1;let n=0;const i=this.points[0],a=new Ci(i.x,i.y,i.x,i.y);for(let s=1;s<this.points.length;s++){const o=this.points[s];a.x1=a.x2,a.y1=a.y2,a.x2=o.x,a.y2=o.y,a.cuts(e,t)&&n++}return a.x1=a.x2,a.y1=a.y2,a.x2=i.x,a.y2=i.y,a.cuts(e,t)&&n++,n%2===1}}class AB{constructor(e=0){this.count=0,this.arr=[],this.set=new Set,this.arr.length=e}add(e){this.set.add(`${e.x}x${e.y}`),this.arr[this.count++]=e}contains(e){return this.set.has(`${e.x}x${e.y}`)}isFirst(e){if(this.count===0)return!1;const t=this.arr[0];return t!=null&&t.x===e.x&&t.y===e.y}path(){return new ml(this.arr.slice(0,this.count))}clear(){this.set.clear(),this.count=0}get(e){return this.arr[e]}get length(){return this.count}}const hu=0,$f=1,ed=2,Tp=3;function CB(r,e){const t=(Math.floor(r.width)+Math.floor(r.height))*2,n=new AB(t);function i(l,c,h,p){const C=r.get(l,c);return Number.isNaN(C)?Number.NaN:C>e?h+p:h}function a(l,c){let h=hu;return h=i(l,c,h,1),h=i(l+1,c,h,2),h=i(l,c+1,h,4),h=i(l+1,c+1,h,8),Number.isNaN(h)?-1:h}let s=$f;function o(l,c){let h=l,p=c,C=r.invertScaleX(h),k=r.invertScaleY(p);for(let W=0;W<r.width*r.height;W++){const j={x:C,y:k};if(n.contains(j)){if(n.isFirst(j))return!0}else n.add(j);const K=a(h,p);switch(K){case-1:return!0;case 0:case 3:case 2:case 7:s=ed;break;case 12:case 14:case 4:s=Tp;break;case 6:s=s===hu?Tp:ed;break;case 1:case 13:case 5:s=hu;break;case 9:s=s===ed?hu:$f;break;case 10:case 8:case 11:s=$f;break;default:return console.warn("Marching squares invalid state: "+K),!0}switch(s){case hu:p--,k-=r.pixelGroup;break;case $f:p++,k+=r.pixelGroup;break;case Tp:h--,C-=r.pixelGroup;break;case ed:h++,C+=r.pixelGroup;break;default:return console.warn("Marching squares invalid state: "+K),!0}}return!0}for(let l=0;l<r.width;l++)for(let c=0;c<r.height;c++){if(r.get(l,c)<=e)continue;const h=a(l,c);if(!(h<0||h===15)&&o(l,c))return n.path()}return null}const td={maxRoutingIterations:100,maxMarchingIterations:20,pixelGroup:4,edgeR0:10,edgeR1:20,nodeR0:15,nodeR1:50,morphBuffer:10,threshold:1,memberInfluenceFactor:1,edgeInfluenceFactor:1,nonMemberInfluenceFactor:-.8,virtualEdges:!0};function fu(r){return r!=null&&typeof r.radius=="number"}function dx(r,e){if(fu(r)!==fu(e))return!1;if(fu(r)){const n=e;return r.cx===n.cx&&r.cy===n.cy&&r.radius===n.radius}const t=e;return r.x===t.x&&r.y===t.y&&r.width===t.width&&r.height===t.height}var ds;(function(r){r[r.MEMBERS=0]="MEMBERS",r[r.NON_MEMBERS=1]="NON_MEMBERS",r[r.EDGES=2]="EDGES"})(ds||(ds={}));class Ap{constructor(e={}){this.dirty=new Set,this.members=[],this.nonMembers=[],this.virtualEdges=[],this.edges=[],this.activeRegion=new Xi(0,0,0,0),this.potentialArea=new pl(1,0,0,0,0,0,0),this.o=Object.assign({},td,e)}pushMember(...e){if(e.length!==0){this.dirty.add(ds.MEMBERS);for(const t of e)this.members.push({raw:t,obj:fu(t)?Qf.from(t):Xi.from(t),area:null})}}removeMember(e){const t=this.members.findIndex(n=>dx(n.raw,e));return t<0?!1:(this.members.splice(t,1),this.dirty.add(ds.MEMBERS),!0)}removeNonMember(e){const t=this.nonMembers.findIndex(n=>dx(n.raw,e));return t<0?!1:(this.nonMembers.splice(t,1),this.dirty.add(ds.NON_MEMBERS),!0)}removeEdge(e){const t=this.edges.findIndex(n=>n.obj.equals(e));return t<0?!1:(this.edges.splice(t,1),this.dirty.add(ds.NON_MEMBERS),!0)}pushNonMember(...e){if(e.length!==0){this.dirty.add(ds.NON_MEMBERS);for(const t of e)this.nonMembers.push({raw:t,obj:fu(t)?Qf.from(t):Xi.from(t),area:null})}}pushEdge(...e){if(e.length!==0){this.dirty.add(ds.EDGES);for(const t of e)this.edges.push({raw:t,obj:Ci.from(t),area:null})}}update(){const e=this.dirty.has(ds.MEMBERS),t=this.dirty.has(ds.NON_MEMBERS);let n=this.dirty.has(ds.EDGES);this.dirty.clear();const i=this.members.map(c=>c.obj);if(this.o.virtualEdges&&(e||t)){const c=this.nonMembers.map(C=>C.obj),h=gB(i,c,this.o.maxRoutingIterations,this.o.morphBuffer),p=new Map(this.virtualEdges.map(C=>[C.obj.toString(),C.area]));this.virtualEdges=h.map(C=>{var k;return{raw:C,obj:C,area:(k=p.get(C.toString()))!==null&&k!==void 0?k:null}}),n=!0}let a=!1;if(e||n){const c=this.virtualEdges.concat(this.edges).map(k=>k.obj),h=PB(i,c),p=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,C=Xi.from(cx(h,p));C.equals(this.activeRegion)||(a=!0,this.activeRegion=C)}if(a){const c=Math.ceil(this.activeRegion.width/this.o.pixelGroup),h=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=pl.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(p=>p.area=null),this.nonMembers.forEach(p=>p.area=null),this.edges.forEach(p=>p.area=null),this.virtualEdges.forEach(p=>p.area=null)):(c!==this.potentialArea.width||h!==this.potentialArea.height)&&(this.potentialArea=pl.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const s=new Map,o=c=>{if(c.area){const h=`${c.obj.width}x${c.obj.height}x${c.obj instanceof Xi?"R":"C"}`;s.set(h,c.area)}},l=c=>{if(c.area)return;const h=`${c.obj.width}x${c.obj.height}x${c.obj instanceof Xi?"R":"C"}`;if(s.has(h)){const C=s.get(h);c.area=this.potentialArea.copy(C,{x:c.obj.x-this.o.nodeR1,y:c.obj.y-this.o.nodeR1});return}const p=c.obj instanceof Xi?vB(c.obj,this.potentialArea,this.o.nodeR1):hx(c.obj,this.potentialArea,this.o.nodeR1);c.area=p,s.set(h,p)};this.members.forEach(o),this.nonMembers.forEach(o),this.members.forEach(l),this.nonMembers.forEach(c=>{this.activeRegion.intersects(c.obj)?l(c):c.area=null}),this.edges.forEach(c=>{c.area||(c.area=ux(c.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(c=>{c.area||(c.area=ux(c.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(e){for(const t of this.members)t.obj.draw(e)}drawNonMembers(e){for(const t of this.nonMembers)t.obj.draw(e)}drawEdges(e){for(const t of this.edges)t.obj.draw(e)}drawPotentialArea(e,t=!0){this.potentialArea.draw(e,t)}compute(){if(this.members.length===0)return new ml([]);this.dirty.size>0&&this.update();const{o:e,potentialArea:t}=this,n=this.members.map(o=>o.area),i=this.virtualEdges.concat(this.edges).map(o=>o.area),a=this.nonMembers.filter(o=>o.area!=null).map(o=>o.area),s=this.members.map(o=>o.obj);return OB(t,n,i,a,o=>o.containsElements(s),e)}}function OB(r,e,t,n,i,a={}){const s=Object.assign({},td,a);let o=s.threshold,l=s.memberInfluenceFactor,c=s.edgeInfluenceFactor,h=s.nonMemberInfluenceFactor;const p=(s.nodeR0-s.nodeR1)*(s.nodeR0-s.nodeR1),C=(s.edgeR0-s.edgeR1)*(s.edgeR0-s.edgeR1);for(let k=0;k<s.maxMarchingIterations;k++){if(r.clear(),l!==0){const j=l/p;for(const K of e)r.incArea(K,j)}if(c!==0){const j=c/C;for(const K of t)r.incArea(K,j)}if(h!==0){const j=h/p;for(const K of n)r.incArea(K,j)}const W=CB(r,o);if(W&&i(W))return W;if(o*=.95,k<=s.maxMarchingIterations*.5)l*=1.2,c*=1.2;else if(h!==0&&n.length>0)h*=.8;else break}return new ml([])}function PB(r,e){if(r.length===0)return new Xi(0,0,0,0);const t=Xi.from(r[0]);for(const n of r)t.add(n);for(const n of e)t.add(sx(n));return t}function YU(r,e=[],t=[],n={}){if(r.length===0)return new ml([]);const i=new Ap(n);return i.pushMember(...r),i.pushNonMember(...e),i.pushEdge(...t),i.compute()}var DB=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class nd extends ki{constructor(e,t){super(e,ia({},nd.defaultOptions,t)),this.members=new Map,this.avoidMembers=new Map,this.bubbleSetOptions={},this.drawBubbleSets=()=>{const{style:n,bubbleSetOptions:i}=this.parseOptions();si(this.bubbleSetOptions,i)||this.init(),this.bubbleSetOptions=Object.assign({},i);const a=Object.assign(Object.assign({},n),{d:this.getPath()});this.shape?this.shape.update(a):(this.shape=new qc({style:a}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=n=>{if(!this.shape)return;const i=Mt(n.data);[...this.options.members,...this.options.avoidMembers].includes(i)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(i)}))},this.getPath=n=>{const{graph:i}=this.context,a=this.options.members,s=[...this.members.keys()],o=this.options.avoidMembers,l=[...this.avoidMembers.keys()];if(!n&&si(a,s)&&si(o,l))return this.path;const{enter:c=[],exit:h=[]}=po(s,a,K=>K),{enter:p=[],exit:C=[]}=po(l,o,K=>K);n&&(h.push(n),c.push(n));const k=(K,Q,ee)=>{K.forEach(re=>{const ve=ee?this.members:this.avoidMembers,he=ee?"pushMember":"pushNonMember",pe=ee?"removeMember":"removeNonMember";if(Q){let _e;i.getElementType(re)==="edge"?([_e]=RB(i,re),this.bubbleSets.pushEdge(_e)):([_e]=LB(i,re),this.bubbleSets[he](_e)),ve.set(re,_e)}else{const _e=ve.get(re);_e&&(i.getElementType(re)==="edge"?this.bubbleSets.removeEdge(_e):this.bubbleSets[pe](_e),ve.delete(re))}})};k(h,!1,!0),k(c,!0,!0),k(C,!1,!1),k(p,!0,!1);const j=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=i_(j.points.map(Ni)),this.path},this.bindEvents(),this.bubbleSets=new Ap(this.options)}bindEvents(){this.context.graph.on(qt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(qt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new Ap(this.options),this.members=new Map,this.avoidMembers=new Map}parseOptions(){const e=this.options,{type:t,key:n,members:i,avoidMembers:a}=e,s=DB(e,["type","key","members","avoidMembers"]),o=Object.keys(s).reduce((l,c)=>(c in td?l.bubbleSetOptions[c]=s[c]:l.style[c]=s[c],l),{style:{},bubbleSetOptions:{}});return Object.assign({type:t,key:n,members:i,avoidMembers:a},o)}addMember(e){const t=Array.isArray(e)?e:[e];t.some(n=>this.options.avoidMembers.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!t.includes(n))),this.options.members=[...new Set([...this.options.members,...t])],this.drawBubbleSets()}removeMember(e){const t=Array.isArray(e)?e:[e];this.options.members=this.options.members.filter(n=>!t.includes(n)),this.drawBubbleSets()}updateMember(e){this.options.members=xn(e)?e(this.options.members):e,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(e){const t=Array.isArray(e)?e:[e];t.some(n=>this.options.members.includes(n))&&(this.options.members=this.options.members.filter(n=>!t.includes(n))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...t])],this.drawBubbleSets()}removeAvoidMember(e){const t=Array.isArray(e)?e:[e];this.options.avoidMembers.some(n=>t.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!t.includes(n)),this.drawBubbleSets())}updateAvoidMember(e){this.options.avoidMembers=Array.isArray(e)?e:[e],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(qt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(qt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape.destroy(),super.destroy()}}nd.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},td);const LB=(r,e)=>(Array.isArray(e)?e:[e]).map(n=>{const i=r.getElementRenderBounds(n);return new Xi(i.min[0],i.min[1],Os(i),Ps(i))}),RB=(r,e)=>(Array.isArray(e)?e:[e]).map(n=>{const i=r.getEdgeData(n),a=r.getElementPosition(i.source),s=r.getElementPosition(i.target);return Ci.from({x1:a[0],y1:a[1],x2:s[0],y2:s[1]})});class QU extends null{constructor(e,t){super(e,t),this.setOptions=n=>{const i={cameraType:"setType",near:"setNear",far:"setFar",fov:"setFov",aspect:"setAspect",projectionMode:"setProjectionMode",distance:"setDistance",minDistance:"setMinDistance",maxDistance:"setMaxDistance",roll:"setRoll",elevation:"setElevation",azimuth:"setAzimuth"},a=(s,o)=>{switch(s){case"projectionMode":return o==="perspective"?1:0;case"cameraType":return{orbiting:0,exploring:1,tracking:2}[o];case"aspect":return typeof o=="number"?o:this.getCanvasAspect();default:return o}};Object.entries(i).forEach(([s,o])=>{const l=n[s];if(l!==void 0){const c=a(s,l);this.context.canvas.getCamera()[o](c)}})},this.bindEvents()}update(e){this.setOptions(e),super.update(e)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[e,t]=this.context.viewport.getCanvasSize();return e/t}}function IB(r){return`
<ul class="g6-contextmenu-ul">
${r.map(e=>`<li class="g6-contextmenu-li" value="${e.value}">${e.name}</li>`).join("")}
</ul>
`}const NB=`
.g6-contextmenu {
font-size: 12px;
background-color: rgba(255, 255, 255, 0.96);
border-radius: 4px;
overflow: hidden;
box-shadow: rgba(0, 0, 0, 0.12) 0px 6px 12px 0px;
transition: visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s, left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.g6-contextmenu-ul {
max-width: 256px;
min-width: 96px;
list-style: none;
padding: 0;
margin: 0;
}
.g6-contextmenu-li {
padding: 8px 12px;
cursor: pointer;
user-select: none;
}
.g6-contextmenu-li:hover {
background-color: #f5f5f5;
cursor: pointer;
}
`;var vx=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class rd extends ki{constructor(e,t){super(e,Object.assign({},rd.defaultOptions,t)),this.targetElement=null,this.onTriggerEvent=n=>{var i;(i=n.preventDefault)===null||i===void 0||i.call(n),this.show(n)},this.onMenuItemClick=n=>{const{onClick:i,trigger:a}=this.options;if(n.target instanceof HTMLElement&&n.target.className.includes("g6-contextmenu-li")){const s=n.target.getAttribute("value");i==null||i(s,n.target,this.targetElement),this.hide()}a!=="click"&&this.hide()},this.initElement(),this.update(t)}initElement(){this.$element=tc("contextmenu",!1,{zIndex:"99"});const{className:e}=this.options;e&&this.$element.classList.add(e),this.context.canvas.getContainer().appendChild(this.$element),wp("g6-contextmenu-css","style",{},NB,document.head)}show(e){return vx(this,void 0,void 0,function*(){const{enable:t,offset:n}=this.options;if(typeof t=="function"&&!t(e)||!t){this.hide();return}const i=yield this.getDOMContent(e);i instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(i)):this.$element.innerHTML=i;const a=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${e.client.x-a.left+n[0]}px`,this.$element.style.top=`${e.client.y-a.top+n[1]}px`,this.$element.style.display="block",this.targetElement=e.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(e){return vx(this,void 0,void 0,function*(){const{getContent:t,getItems:n}=this.options;return n?IB(yield n(e)):yield t(e)})}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.on(`canvas:${t}`,this.onTriggerEvent),e.on(`node:${t}`,this.onTriggerEvent),e.on(`edge:${t}`,this.onTriggerEvent),e.on(`combo:${t}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.off(`canvas:${t}`,this.onTriggerEvent),e.off(`node:${t}`,this.onTriggerEvent),e.off(`edge:${t}`,this.onTriggerEvent),e.off(`combo:${t}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}rd.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'<div class="g6-contextmenu-loading">Loading...</div>',getContent:()=>"It is a empty context menu.",enable:()=>!0};class id extends ki{constructor(e,t){super(e,Object.assign({},id.defaultOptions,t)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:n,element:i}=this.context,a=n.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:s,iterRate:o,divRate:l}=this.options;let{lambda:c,divisions:h,iterations:p}=this.options;for(let C=0;C<s;C++){for(let k=0;k<p;k++){const W={};a.forEach(j=>{var K;if(j.source===j.target)return;const Q=Mt(j);W[Q]=this.getEdgeForces(j,h,c);for(let ee=0;ee<h+1;ee++)(K=this.edgePoints)[Q]||(K[Q]=[]),this.edgePoints[Q][ee]=Jn(this.edgePoints[Q][ee],W[Q][ee])})}c/=2,h*=l,p*=o,this.divideEdges(h)}a.forEach(C=>{const k=Mt(C),W=i.getElement(k);W==null||W.update({d:jg(this.edgePoints[k])})})},this.bindEvents()}get nodeMap(){const e=this.context.model.getNodeData();return Object.fromEntries(e.map(t=>[Mt(t),al(xi(t))]))}divideEdges(e){this.context.model.getEdgeData().forEach(n=>{var i;const a=Mt(n);(i=this.edgePoints)[a]||(i[a]=[]);const s=this.nodeMap[n.source],o=this.nodeMap[n.target];if(e===1)this.edgePoints[a].push(s),this.edgePoints[a].push(us(Jn(s,o),2)),this.edgePoints[a].push(o);else{const c=(this.edgePoints[a].length===0?Ur(s,o):UB(this.edgePoints[a]))/(e+1);let h=c;const p=[s];for(let C=1;C<this.edgePoints[a].length;C++){const k=this.edgePoints[a][C-1],W=this.edgePoints[a][C];let j=Ur(W,k);for(;j>h;){const K=h/j,Q=Jn(k,Zs(Or(W,k),K));p.push(Q),j-=h,h=c}h-=j}p.push(o),this.edgePoints[a]=p}})}getVectorPosition(e){const t=this.nodeMap[e.source],n=this.nodeMap[e.target],[i,a]=Or(n,t),s=Ur(t,n);return{source:t,target:n,vx:i,vy:a,length:s}}measureEdgeCompatibility(e,t){const n=this.getVectorPosition(e),i=this.getVectorPosition(t),a=BB(n,i),s=kB(n,i),o=zB(n,i),l=FB(n,i);return a*s*o*l}getEdgeBundles(){const e={},t=this.options.bundleThreshold,n=this.context.model.getEdgeData();return n.forEach((i,a)=>{n.forEach((s,o)=>{var l,c;if(o<=a)return;this.measureEdgeCompatibility(i,s)>=t&&(e[l=Mt(i)]||(e[l]=[]),e[Mt(i)].push(s),e[c=Mt(s)]||(e[c]=[]),e[Mt(s)].push(i))})}),e}getSpringForce(e,t){const{pre:n,cur:i,next:a}=e;return Zs(Or(Jn(n,a),Zs(i,2)),t)}getElectrostaticForce(e,t){Ls(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const n=this.edgeBundles[Mt(t)];let i=[0,0];return n==null||n.forEach(a=>{const s=this.edgePoints[Mt(a)][e],o=this.edgePoints[Mt(t)][e],l=Or(s,o),c=Ur(s,o);i=Jn(i,Zs(l,1/c))}),i}getEdgeForces(e,t,n){const i=this.nodeMap[e.source],a=this.nodeMap[e.target],s=this.options.K/(Ur(i,a)*(t+1)),o=[[0,0]],l=Mt(e);for(let c=1;c<t;c++){const h=this.getSpringForce({pre:this.edgePoints[l][c-1],cur:this.edgePoints[l][c],next:this.edgePoints[l][c+1]||[0,0]},s),p=this.getElectrostaticForce(c,e);o.push(Zs(Jn(h,p),n))}return o.push([0,0]),o}bindEvents(){const{graph:e}=this.context;e.on(qt.AFTER_RENDER,this.onBundle)}unbindEvents(){const{graph:e}=this.context;e.off(qt.AFTER_RENDER,this.onBundle)}destroy(){this.unbindEvents(),super.destroy()}}id.defaultOptions={K:.1,lambda:.1,divisions:1,divRate:2,cycles:6,iterations:90,iterRate:2/3,bundleThreshold:.6};const BB=(r,e)=>Math.abs(pP([r.vx,r.vy],[e.vx,e.vy])/(r.length*e.length)),kB=(r,e)=>{const t=(r.length+e.length)/2;return 2/(t/Math.min(r.length,e.length)+Math.max(r.length,e.length)/t)},zB=(r,e)=>{const t=(r.length+e.length)/2,n=us(Jn(r.source,r.target),2),i=us(Jn(e.source,e.target),2);return t/(t+Ur(n,i))},gx=(r,e)=>{if(e.source[0]===e.target[0])return[e.source[0],r[1]];if(e.source[1]===e.target[1])return[r[0],e.source[1]];const t=(e.source[1]-e.target[1])/(e.source[0]-e.target[0]),n=(t*t*e.source[0]+t*(r[1]-e.source[1])+r[0])/(t*t+1),i=t*(n-e.source[0])+e.source[1];return[n,i]},px=(r,e)=>{const t=gx(e.source,r),n=gx(e.target,r),i=us(Jn(t,n),2),a=us(Jn(r.source,r.target),2);return Ur(t,n)===0?0:Math.max(0,1-2*Ur(a,i)/Ur(t,n))},FB=(r,e)=>Math.min(px(r,e),px(e,r)),UB=r=>{let e=0;for(let t=1;t<r.length;t++)e+=Ur(r[t],r[t-1]);return e},WB={fill:"#fff",fillOpacity:1,lineWidth:1,stroke:"#000",strokeOpacity:.8,zIndex:-1/0},mx=.05;class ad extends ki{constructor(e,t){super(e,Object.assign({},ad.defaultOptions,t)),this.shapes=new Map,this.r=this.options.r,this.onEdgeFilter=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=Ni(n.canvas);this.renderLens(i),this.renderFocusElements()},this.renderLens=n=>{const i=Object.assign({},WB,this.options.style);this.isLensOn||(this.lens=new ll({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,hs(n),{size:this.r*2}),this.lens.update(i)},this.getFilterData=()=>{const{filter:n}=this.options,{model:i}=this.context,a=i.getData();if(!n)return a;const{nodes:s,edges:o,combos:l}=a;return{nodes:s.filter(c=>n(Mt(c),"node")),edges:o.filter(c=>n(Mt(c),"edge")),combos:l.filter(c=>n(Mt(c),"combo"))}},this.getFocusElements=n=>{const{nodes:i,edges:a}=this.getFilterData(),s=i.filter(c=>Ur(xi(c),n)<this.r),o=s.map(c=>Mt(c)),l=a.filter(c=>{const{source:h,target:p}=c,C=o.includes(h),k=o.includes(p);switch(this.options.nodeType){case"both":return C&&k;case"either":return C!==k;case"source":return C&&!k;case"target":return!C&&k;default:return!1}});return{nodes:s,edges:l}},this.renderFocusElements=()=>{const{element:n,graph:i}=this.context;if(!this.isLensOn)return;const a=this.lens.getCenter(),{nodes:s,edges:o}=this.getFocusElements(a),l=new Set,c=h=>{const p=Mt(h);l.add(p);const C=n.getElement(p);if(!C)return;const k=this.shapes.get(p)||C.cloneNode();k.setPosition(C.getPosition()),k.id=C.id,this.shapes.has(p)?Object.entries(C.attributes).forEach(([K,Q])=>{k.style[K]!==Q&&(k.style[K]=Q)}):(this.canvas.appendChild(k),this.shapes.set(p,k));const W=i.getElementType(p),j=this.getElementStyle(W,h);k.update(j)};s.forEach(c),o.forEach(c),this.shapes.forEach((h,p)=>{l.has(p)||(h.destroy(),this.shapes.delete(p))})},this.scaleRByWheel=n=>{var i;this.options.preventDefault&&n.preventDefault();const{clientX:a,clientY:s,deltaX:o,deltaY:l}=n,{graph:c,canvas:h}=this.context,p=c.getCanvasByClient([a,s]),C=(i=this.lens)===null||i===void 0?void 0:i.getCenter();if(!this.isLensOn||Ur(p,C)>this.r)return;const{maxR:k,minR:W}=this.options,j=o+l>0?1/(1-mx):1-mx,K=Math.min(...h.getSize())/2;this.r=Math.max(W||0,Math.min(k||K,this.r*j)),this.renderLens(C),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=n=>{var i;const a=Ni(n.canvas),s=(i=this.lens)===null||i===void 0?void 0:i.getCenter();!this.isLensOn||Ur(a,s)>this.r||(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=Ni(n.canvas);this.renderLens(i),this.renderFocusElements()},this.onDragEnd=()=>{this.isLensDragging=!1},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}getElementStyle(e,t){const n=e==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof n=="function"?n(t):n}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i}=this.options,a=t.getCanvas().getLayer();["click","drag"].includes(n)&&a.addEventListener(Nt.CLICK,this.onEdgeFilter),n==="pointermove"?a.addEventListener(Nt.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.addEventListener(Nt.DRAG_START,this.onDragStart),a.addEventListener(Nt.DRAG,this.onDrag),a.addEventListener(Nt.DRAG_END,this.onDragEnd)),i==="wheel"&&((e=this.graphDom)===null||e===void 0||e.addEventListener(Nt.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i}=this.options,a=t.getCanvas().getLayer();["click","drag"].includes(n)&&a.removeEventListener(Nt.CLICK,this.onEdgeFilter),n==="pointermove"?a.removeEventListener(Nt.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.removeEventListener(Nt.DRAG_START,this.onDragStart),a.removeEventListener(Nt.DRAG,this.onDrag),a.removeEventListener(Nt.DRAG_END,this.onDragEnd)),i==="wheel"&&((e=this.graphDom)===null||e===void 0||e.removeEventListener(Nt.WHEEL,this.scaleRByWheel))}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((e,t)=>{e.destroy(),this.shapes.delete(t)}),super.destroy()}}ad.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const HB={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},yx=.05,_x=.1;class sd extends ki{constructor(e,t){super(e,Object.assign({},sd.defaultOptions,t)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=Ni(n.canvas);this.onMagnify(i)},this.onMagnify=n=>{n.some(isNaN)||(this.renderLens(n),this.renderFocusElements())},this.renderLens=n=>{const i=Object.assign({},HB,this.options.style);this.isLensOn||(this.lens=new ll({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,hs(n),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(i)},this.getDPercent=()=>{const{minD:n,maxD:i}=this.options;return`${Math.round((this.d-n)/(i-n)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:n}=this.context,i=this.lens.getCenter(),a=(this.d+1)*this.r,s=new Map,o=new Map;n.getNodeData().forEach(c=>{const h=xi(c),p=Ur(h,i);if(p>this.r)return;const C=a*p/(this.d*p+this.r),[k,W]=h,[j,K]=i,Q=(k-j)/p,ee=(W-K)/p,re=[j+C*Q,K+C*ee],ve=Mt(c),he=this.getNodeStyle(c),pe=ul(n.getElementRenderStyle(ve),Object.keys(he));s.set(ve,Object.assign(Object.assign({},hs(re)),he)),o.set(ve,Object.assign(Object.assign({},hs(h)),pe))}),this.updateStyle(s,o)},this.getNodeStyle=n=>{const{nodeStyle:i}=this.options;return typeof i=="function"?i(n):i},this.updateStyle=(n,i)=>{const{graph:a,element:s}=this.context,{enter:o,exit:l,keep:c}=po(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(n.keys()),C=>C),h=new Set,p=(C,k)=>{const W=s.getElement(C);W==null||W.update(k),a.getRelatedEdgesData(C).forEach(j=>{h.add(Mt(j))})};[...o,...c].forEach(C=>{p(C,n.get(C))}),l.forEach(C=>{p(C,this.prevOriginStyleMap.get(C)),this.prevOriginStyleMap.delete(C)}),h.forEach(C=>{const k=s.getElement(C);k==null||k.update({})}),this.prevMagnifiedStyleMap=n,i.forEach((C,k)=>{this.prevOriginStyleMap.has(k)||this.prevOriginStyleMap.set(k,C)})},this.isWheelValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const{clientX:i,clientY:a}=n,s=this.context.graph.getCanvasByClient([i,a]),o=this.lens.getCenter();return!(Ur(s,o)>this.r)},this.scaleR=n=>{const{maxR:i,minR:a}=this.options,s=n?1/(1-yx):1-yx,o=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(a||0,Math.min(i||o,this.r*s))},this.scaleD=n=>{const{maxD:i,minD:a}=this.options,s=n?this.d+_x:this.d-_x;this.d=Math.max(a,Math.min(i,s))},this.scaleRByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleR(i+a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.scaleDByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleD(i+a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.isDragValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const i=Ni(n.canvas),a=this.lens.getCenter();return!(Ur(i,a)>this.r)},this.isLensDragging=!1,this.onDragStart=n=>{this.isDragValid(n)&&(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=Ni(n.canvas);this.onMagnify(i)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleR(i-a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.scaleDByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleD(i-a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,s=t.getCanvas().getLayer();if(["click","drag"].includes(n)&&s.addEventListener(Nt.CLICK,this.onCreateFisheye),n==="pointermove"&&s.addEventListener(Nt.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){s.addEventListener(Nt.DRAG_START,this.onDragStart),s.addEventListener(Nt.DRAG_END,this.onDragEnd);const o=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;s.addEventListener(Nt.DRAG,o)}if(i==="wheel"||a==="wheel"){const o=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(e=this.graphDom)===null||e===void 0||e.addEventListener(Nt.WHEEL,o,{passive:!1})}}unbindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,s=t.getCanvas().getLayer();if(["click","drag"].includes(n)&&s.removeEventListener(Nt.CLICK,this.onCreateFisheye),n==="pointermove"&&s.removeEventListener(Nt.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){s.removeEventListener(Nt.DRAG_START,this.onDragStart),s.removeEventListener(Nt.DRAG_END,this.onDragEnd);const o=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;s.removeEventListener(Nt.DRAG,o)}if(i==="wheel"||a==="wheel"){const o=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(e=this.graphDom)===null||e===void 0||e.removeEventListener(Nt.WHEEL,o)}}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){var e;this.unbindEvents(),this.isLensOn&&((e=this.lens)===null||e===void 0||e.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}sd.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class od extends ki{constructor(e,t){super(e,Object.assign({},od.defaultOptions,t)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var n,i,a,s;const o=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(o),o?(i=(n=this.options).onEnter)===null||i===void 0||i.call(n):(s=(a=this.options).onExit)===null||s===void 0||s.call(a)},this.shortcut=new Zl(e.graph),this.bindEvents(),this.style=document.createElement("style"),document.head.appendChild(this.style),this.style.innerHTML=`
:not(:root):fullscreen::backdrop {
background: transparent;
}
`}bindEvents(){this.unbindEvents(),this.shortcut.unbindAll();const{request:e=[],exit:t=[]}=this.options.trigger;this.shortcut.bind(e,this.request),this.shortcut.bind(t,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(i=>{document.addEventListener(i,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(t=>{document.removeEventListener(t,this.onFullscreenChange,!1)})}setGraphSize(e=!0){var t,n;let i,a;e?(i=((t=globalThis.screen)===null||t===void 0?void 0:t.width)||0,a=((n=globalThis.screen)===null||n===void 0?void 0:n.height)||0,this.graphSize=this.context.graph.getSize()):[i,a]=this.graphSize,this.context.graph.setSize(i,a),this.context.graph.render()}request(){document.fullscreenElement||!jB()||this.$el.requestFullscreen().catch(e=>{Ea.warn(`Error attempting to enable full-screen: ${e.message} (${e.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}od.defaultOptions={trigger:{},autoFit:!0};function jB(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}class ld extends ki{constructor(e,t){super(e,Object.assign({},ld.defaultOptions,t)),this.$element=tc("grid-line",!0),this.offset=[0,0],this.onTransform=i=>{if(!this.options.follow)return;const{data:{translate:a}}=i;a&&this.updateOffset(a)},this.context.canvas.getContainer().prepend(this.$element),this.updateStyle(),this.bindEvents()}update(e){super.update(e),this.updateStyle()}bindEvents(){const{graph:e}=this.context;e.on(qt.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{size:e,stroke:t,lineWidth:n,border:i,borderLineWidth:a,borderStroke:s,borderStyle:o}=this.options;Object.assign(this.$element.style,{border:i?`${a}px ${o} ${s}`:"none",backgroundImage:`linear-gradient(${t} ${n}px, transparent ${n}px), linear-gradient(90deg, ${t} ${n}px, transparent ${n}px)`,backgroundSize:`${e}px ${e}px`,backgroundRepeat:"repeat"})}updateOffset(e){this.offset=yP(Jn(this.offset,e),this.options.size),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}destroy(){this.context.graph.off(qt.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}ld.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};function Cp(r){const e={Added:new Map,Updated:new Map,Removed:new Map};return r.forEach(t=>{const{type:n,value:i}=t,a=Mt(i);if(n==="NodeAdded"||n==="EdgeAdded"||n==="ComboAdded")e.Added.set(a,t);else if(n==="NodeUpdated"||n==="EdgeUpdated"||n==="ComboUpdated")if(e.Added.has(a))e.Added.set(a,{type:n.replace("Updated","Added"),value:i});else if(e.Updated.has(a)){const{original:s}=e.Updated.get(a);e.Updated.set(a,{type:n,value:i,original:s})}else e.Removed.has(a)||e.Updated.set(a,t);else(n==="NodeRemoved"||n==="EdgeRemoved"||n==="ComboRemoved")&&(e.Added.has(a)?e.Added.delete(a):(e.Updated.has(a)&&e.Updated.delete(a),e.Removed.set(a,t)))}),[...Array.from(e.Added.values()),...Array.from(e.Updated.values()),...Array.from(e.Removed.values())]}function Ex(r){const{NodeAdded:e=[],NodeUpdated:t=[],NodeRemoved:n=[],EdgeAdded:i=[],EdgeUpdated:a=[],EdgeRemoved:s=[],ComboAdded:o=[],ComboUpdated:l=[],ComboRemoved:c=[]}=Ah(r,h=>h.type);return{add:{nodes:e,edges:i,combos:o},update:{nodes:t,edges:a,combos:l},remove:{nodes:n,edges:s,combos:c}}}function xx(r,e){for(const t in r)ii(r[t])&&!Array.isArray(r[t])&&r[t]!==null?(e[t]||(e[t]={}),xx(r[t],e[t])):e[t]===void 0&&(e[t]=Wc(t))}function GB(r,e=!1,t){const n={animation:e,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:i,update:a,remove:s}=Ex(Cp(r));return["nodes","edges","combos"].forEach(o=>{a[o]&&a[o].forEach(l=>{var c,h;const p=Object.assign({},l.value);let C=Object.assign({},l.original);if(t){const k=t.graph.getElementType(Mt(l.original)),W=k==="edge"?"stroke":"fill",j=t.element.getElementComputedStyle(k,l.original);C=Object.assign(Object.assign({},l.original),{style:Object.assign({[W]:j[W]},l.original.style)})}xx(p,C),(c=n.current.update)[o]||(c[o]=[]),n.current.update[o].push(p),(h=n.original.update)[o]||(h[o]=[]),n.original.update[o].push(C)}),i[o]&&i[o].forEach(l=>{var c,h;const p=Object.assign({},l.value);(c=n.current.add)[o]||(c[o]=[]),n.current.add[o].push(p),(h=n.original.remove)[o]||(h[o]=[]),n.original.remove[o].push(p)}),s[o]&&s[o].forEach(l=>{var c,h;const p=Object.assign({},l.value);(c=n.current.remove)[o]||(c[o]=[]),n.current.remove[o].push(p),(h=n.original.add)[o]||(h[o]=[]),n.original.add[o].push(p)})}),n}class cd extends ki{constructor(e,t){super(e,Object.assign({},cd.defaultOptions,t)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(i,a=!0)=>{var s,o,l;this.freezed=!0,(o=(s=this.options).executeCommand)===null||o===void 0||o.call(s,i);const c=a?i.original:i.current;this.context.graph.addData(c.add),this.context.graph.updateData(c.update),this.context.graph.removeData(D1(c.remove,!1)),(l=this.context.element)===null||l===void 0||l.draw({silence:!0,animation:i.animation}),this.freezed=!1},this.addCommand=i=>{var a;if(!this.freezed){if(i.type===qt.AFTER_DRAW){const{dataChanges:s=[],animation:o=!0}=i.data;if(!((a=this.context.batch)===null||a===void 0)&&a.isBatching){if(!this.batchChanges)return;this.batchChanges.push(s),this.batchAnimation&&(this.batchAnimation=o);return}this.batchChanges=[s],this.batchAnimation=o}this.undoStackPush(GB(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(ho.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=i=>{const{initiate:a}=i.data;this.batchAnimation=!1,a?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new Tf;const{graph:n}=this.context;n.on(qt.AFTER_DRAW,this.addCommand),n.on(qt.BATCH_START,this.initBatchCommand),n.on(qt.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var e,t,n,i;const a=this.undoStack.pop();if(a){if(this.executeCommand(a),((t=(e=this.options).beforeAddCommand)===null||t===void 0?void 0:t.call(e,a,!1))===!1)return;this.redoStack.push(a),(i=(n=this.options).afterAddCommand)===null||i===void 0||i.call(n,a,!1),this.notify(ho.UNDO,a)}return this}redo(){const e=this.redoStack.pop();return e&&(this.executeCommand(e,!1),this.undoStackPush(e),this.notify(ho.REDO,e)),this}undoAndCancel(){const e=this.undoStack.pop();return e&&(this.executeCommand(e,!1),this.redoStack=[],this.notify(ho.CANCEL,e)),this}undoStackPush(e){var t,n,i,a;const{stackSize:s}=this.options;s!==0&&this.undoStack.length>=s&&this.undoStack.shift(),((n=(t=this.options).beforeAddCommand)===null||n===void 0?void 0:n.call(t,e,!0))!==!1&&(this.undoStack.push(e),(a=(i=this.options).afterAddCommand)===null||a===void 0||a.call(i,e,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(ho.CLEAR,null)}notify(e,t){this.emitter.emit(e,{cmd:t}),this.emitter.emit(ho.CHANGE,{cmd:t})}on(e,t){this.emitter.on(e,t)}destroy(){const{graph:e}=this.context;e.off(qt.AFTER_DRAW,this.addCommand),e.off(qt.BATCH_START,this.initBatchCommand),e.off(qt.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}cd.defaultOptions={stackSize:0};var VB=Z(76117),ZB=Z.n(VB);function KB(r,e,t){if(r.length===1)return XB(r[0],e,t);if(r.length===2)return bx(r,e,t);if(r.length===3){const[n,i,a]=Mg(r);if(W1(n,i,a))return bx([n,a],e,t)}switch(t){case"smooth":return QB(r,e);case"sharp":return JB(r,e);case"rounded":default:return YB(r,e)}}const XB=(r,e,t)=>{if(t==="sharp")return[["M",r[0]-e,r[1]-e],["L",r[0]+e,r[1]-e],["L",r[0]+e,r[1]+e],["L",r[0]-e,r[1]+e],["Z"]];const n=[e,e,0,0,0];return[["M",r[0],r[1]-e],["A",...n,r[0],r[1]+e],["A",...n,r[0],r[1]-e]]},bx=(r,e,t)=>{const n=[e,e,0,0,0],i=t==="sharp"?Jn(r[0],mo(Ks(Or(r[0],r[1])),e)):r[0],a=t==="sharp"?Jn(r[1],mo(Ks(Or(r[1],r[0])),e)):r[1],s=mo(Ks(Gh(Or(i,a),!1)),e),o=mo(s,-1),l=Jn(i,s),c=Jn(a,s),h=Jn(a,o),p=Jn(i,o);return t==="sharp"?[["M",l[0],l[1]],["L",c[0],c[1]],["L",h[0],h[1]],["L",p[0],p[1]],["Z"]]:[["M",l[0],l[1]],["L",c[0],c[1]],["A",...n,h[0],h[1]],["L",p[0],p[1]],["A",...n,l[0],l[1]]]},YB=(r,e)=>{const t=Mg(r).map((o,l)=>{const c=(l-2+r.length)%r.length,h=(l-1+r.length)%r.length,p=(l+1)%r.length,C=r[c],k=r[h],W=r[p],j=Or(C,k),K=Or(k,o),Q=Or(o,W),ee=(_e,Ee)=>bg(_e,Ee,!0)<Math.PI,re=ee(j,K),ve=ee(K,Q),he=_e=>mo(Ks(Gh(_e,!1)),e),pe=he(K);return[{p:al(re?Jn(k,he(j)):Jn(k,pe)),concave:re&&k},{p:al(ve?Jn(o,he(Q)):Jn(o,pe)),concave:ve&&o}]}),n=[e,e,0,0,0],i=t.findIndex((o,l)=>!t[(l-1+t.length)%t.length][0].concave&&!t[(l-1+t.length)%t.length][1].concave&&!o[0].concave&&!o[0].concave&&!o[1].concave),a=t.slice(i).concat(t.slice(0,i));let s=[];return a.flatMap((o,l)=>{const c=[],h=a[t.length-1];return l===0&&c.push(["M",...h[1].p]),o[0].concave?s.push(o[0].p,o[1].p):c.push(["A",...n,...o[0].p]),o[1].concave?s.unshift(o[1].p):c.push(["L",...o[1].p]),s.length===3&&(c.pop(),c.push(["C",...s.flat()]),s=[]),c})},QB=(r,e)=>{const t=Mg(r).map((n,i)=>{const a=r[(i+1)%r.length];return{p:n,v:Ks(Or(a,n))}});return t.forEach((n,i)=>{const a=i>0?i-1:r.length-1,s=t[a].v,o=Ks(Jn(s,mo(n.v,bg(s,n.v,!0)<Math.PI?1:-1)));n.p=Jn(n.p,mo(o,e))}),i_(t.map(n=>n.p))},JB=(r,e)=>{const n=r.map((a,s)=>{const o=r[s===0?r.length-1:s-1],l=Zc(mo(Ks(Gh(Or(o,a),!1)),e));return[Jn(o,l),Jn(a,l)]}).flat();return n.map((a,s)=>{if(s%2===0)return null;const o=[n[(s-1)%n.length],n[s%n.length]],l=[n[(s+1)%n.length],n[(s+2)%n.length]];return wg(o,l,!0)}).filter(Boolean).map((a,s)=>[s===0?"M":"L",a[0],a[1]]).concat([["Z"]])};var qB=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class ud extends ki{constructor(e,t){super(e,Object.assign({},ud.defaultOptions,t)),this.hullMemberIds=[],this.drawHull=()=>{if(!this.shape)this.shape=new qc({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const n=!si(this.optionsCache,this.options);this.shape.update(this.getHullStyle(n))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=n=>{this.shape&&this.options.members.includes(Mt(n.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(n=!1)=>{const{graph:i}=this.context,a=this.getMember();if(a.length===0)return"";const s=a.map(c=>i.getNodeData(c)),o=ZB()(s.map(xi),this.options.concavity).slice(1).reverse(),l=o.flatMap(c=>s.filter(h=>si(xi(h),c)).map(Mt));return si(l,this.hullMemberIds)&&!n?this.path:(this.hullMemberIds=l,this.path=KB(o,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(qt.AFTER_RENDER,this.drawHull),this.context.graph.on(qt.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(e){const t=this.options,{members:n,padding:i,corner:a}=t,s=qB(t,["members","padding","corner"]);return Object.assign(Object.assign({},s),{d:this.getHullPath(e)})}getPadding(){const{graph:e}=this.context;return this.hullMemberIds.reduce((n,i)=>{const{halfExtents:a}=e.getElementRenderBounds(i),s=Math.max(a[0],a[1]);return Math.max(n,s)},0)+this.options.padding}addMember(e){const t=Array.isArray(e)?e:[e];this.options.members=[...new Set([...this.options.members,...t])],this.shape.update({d:this.getHullPath()})}removeMember(e){const t=Array.isArray(e)?e:[e];this.options.members=this.options.members.filter(n=>!t.includes(n)),t.some(n=>this.hullMemberIds.includes(n))&&this.shape.update({d:this.getHullPath()})}updateMember(e){this.options.members=xn(e)?e(this.options.members):e,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.context.graph.off(qt.AFTER_DRAW,this.drawHull),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}ud.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};function wx(r,e){e(r),r.children&&r.children.forEach(function(t){t&&wx(t,e)})}function du(r){hd(r,!0)}function vs(r){hd(r,!1)}function hd(r,e){var t=e?"visible":"hidden";wx(r,function(n){n.attr("visibility",t)})}var $B=5,Mx=function(r,e,t,n){t===void 0&&(t=0),n===void 0&&(n=$B),Object.entries(e).forEach(function(i){var a=(0,we.CR)(i,2),s=a[0],o=a[1],l=r;Object.prototype.hasOwnProperty.call(e,s)&&(o?Vl(o)?(Vl(r[s])||(l[s]={}),t<n?Mx(r[s],o,t+1,n):l[s]=e[s]):Ma(o)?(l[s]=[],l[s]=l[s].concat(o)):l[s]=o:l[s]=o)})},Oi=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)Mx(r,e[n]);return r},e5=function(r){(0,we.ZT)(e,r);function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=r.apply(this,(0,we.ev)([],(0,we.CR)(t),!1))||this;return i.isMutationObserved=!0,i.addEventListener(tr.INSERTED,function(){vs(i)}),i}return e}(Ei);function Sx(r){var e=r.appendChild(new e5({class:"offscreen"}));return vs(e),e}function t5(r){for(var e=r;e;){if(e.className==="offscreen")return!0;e=e.parent}return!1}function n5(){hd(this,this.attributes.visibility!=="hidden")}var ti=function(r){(0,we.ZT)(e,r);function e(t,n){n===void 0&&(n={});var i=r.call(this,Oi({},{style:n},t))||this;return i.initialized=!1,i._defaultOptions=n,i}return Object.defineProperty(e.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=Sx(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),e.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},e.prototype.disconnectedCallback=function(){var t;(t=this._offscreen)===null||t===void 0||t.destroy()},e.prototype.attributeChangedCallback=function(t){t==="visibility"&&n5.call(this)},e.prototype.update=function(t,n){var i;return this.attr(Oi({},this.attributes,t||{})),(i=this.render)===null||i===void 0?void 0:i.call(this,this.attributes,this,n)},e.prototype.clear=function(){this.removeChildren()},e.prototype.bindEvents=function(t,n){},e.prototype.getSubShapeStyle=function(t){var n=t.x,i=t.y,a=t.transform,s=t.transformOrigin,o=t.class,l=t.className,c=t.zIndex,h=(0,we._T)(t,["x","y","transform","transformOrigin","class","className","zIndex"]);return h},e}(Gv);function Op(r){return r.toString().charAt(0).toUpperCase()+r.toString().slice(1)}function r5(r){return r.toString().charAt(0).toLowerCase()+r.toString().slice(1)}function i5(r,e){return"".concat(e).concat(Op(r))}function Tx(r,e,t){var n;t===void 0&&(t=!0);var i=e||((n=r.match(/^([a-z][a-z0-9]+)/))===null||n===void 0?void 0:n[0])||"",a=r.replace(new RegExp("^(".concat(i,")")),"");return t?r5(a):a}function a5(r,e){Object.entries(e).forEach(function(t){var n=(0,we.CR)(t,2),i=n[0],a=n[1];(0,we.ev)([r],(0,we.CR)(r.querySelectorAll(i)),!1).filter(function(s){return s.matches(i)}).forEach(function(s){if(s){var o=s;o.style.cssText+=Object.entries(a).reduce(function(l,c){return"".concat(l).concat(c.join(":"),";")},"")}})})}var fd=function(r,e){if(!(r!=null&&r.startsWith(e)))return!1;var t=r[e.length];return t>="A"&&t<="Z"};function Yn(r,e,t){t===void 0&&(t=!1);var n={};return Object.entries(r).forEach(function(i){var a=(0,we.CR)(i,2),s=a[0],o=a[1];if(!(s==="className"||s==="class")){if(fd(s,"show")&&fd(Tx(s,"show"),e)!==t)s===i5(e,"show")?n[s]=o:n[s.replace(new RegExp(Op(e)),"")]=o;else if(!fd(s,"show")&&fd(s,e)!==t){var l=Tx(s,e);l==="filter"&&typeof o=="function"||(n[l]=o)}}}),n}function nc(r,e){return Object.entries(r).reduce(function(t,n){var i=(0,we.CR)(n,2),a=i[0],s=i[1];return a.startsWith("show")?t["show".concat(e).concat(a.slice(4))]=s:t["".concat(e).concat(Op(a))]=s,t},{})}function qs(r,e){e===void 0&&(e=["x","y","class","className"]);var t=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],n={},i={};return Object.entries(r).forEach(function(a){var s=(0,we.CR)(a,2),o=s[0],l=s[1];e.includes(o)||(t.indexOf(o)!==-1?i[o]=l:n[o]=l)}),[n,i]}var Pp=function(r){(0,we.ZT)(e,r);function e(t){t===void 0&&(t={});var n=t.style,i=(0,we._T)(t,["style"]);return r.call(this,(0,we.pi)({style:(0,we.pi)({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},n)},i))||this}return Object.defineProperty(e.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=Sx(this)),this._offscreen},enumerable:!1,configurable:!0}),e.prototype.disconnectedCallback=function(){var t;(t=this._offscreen)===null||t===void 0||t.destroy()},e}(el);function s5(r,e){var t=new Map;return r.forEach(function(n){var i=e(n);t.has(i)||t.set(i,[]),t.get(i).push(n)}),t}function o5(r){throw new Error(r)}var l5=function(){function r(i,a,s,o,l,c,h){i===void 0&&(i=null),a===void 0&&(a=null),s===void 0&&(s=null),o===void 0&&(o=null),l===void 0&&(l=[null,null,null,null,null]),c===void 0&&(c=[]),h===void 0&&(h=[]),e.add(this),this._elements=Array.from(i),this._data=a,this._parent=s,this._document=o,this._enter=l[0],this._update=l[1],this._exit=l[2],this._merge=l[3],this._split=l[4],this._transitions=c,this._facetElements=h}r.prototype.selectAll=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i):i;return new t(a,null,this._elements[0],this._document)},r.prototype.selectFacetAll=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i):i;return new t(this._elements,null,this._parent,this._document,void 0,void 0,a)},r.prototype.select=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i)[0]||null:i;return new t([a],null,a,this._document)},r.prototype.append=function(i){var a=this,s=typeof i=="function"?i:function(){return a.createElement(i)},o=[];if(this._data!==null){for(var l=0;l<this._data.length;l++){var c=this._data[l],h=(0,we.CR)(Array.isArray(c)?c:[c,null],2),p=h[0],C=h[1],k=s(p,l);k.__data__=p,C!==null&&(k.__fromElements__=C),this._parent.appendChild(k),o.push(k)}return new t(o,null,this._parent,this._document)}for(var l=0;l<this._elements.length;l++){var W=this._elements[l],p=W.__data__,k=s(p,l);W.appendChild(k),o.push(k)}return new t(o,null,o[0],this._document)},r.prototype.maybeAppend=function(i,a){var s=(0,we.Q_)(this,e,"m",n).call(this,i[0]==="#"?i:"#".concat(i),a);return s.attr("id",i),s},r.prototype.maybeAppendByClassName=function(i,a){var s=i.toString(),o=(0,we.Q_)(this,e,"m",n).call(this,s[0]==="."?s:".".concat(s),a);return o.attr("className",s),o},r.prototype.maybeAppendByName=function(i,a){var s=(0,we.Q_)(this,e,"m",n).call(this,'[name="'.concat(i,'"]'),a);return s.attr("name",i),s},r.prototype.data=function(i,a,s){var o,l;a===void 0&&(a=function(Be){return Be}),s===void 0&&(s=function(){return null});for(var c=[],h=[],p=new Set(this._elements),C=[],k=new Set,W=new Map(this._elements.map(function(Be,Fe){return[a(Be.__data__,Fe),Be]})),j=new Map(this._facetElements.map(function(Be,Fe){return[a(Be.__data__,Fe),Be]})),K=s5(this._elements,function(Be){return s(Be.__data__)}),Q=0;Q<i.length;Q++){var ee=i[Q],re=a(ee,Q),ve=s(ee,Q);if(W.has(re)){var he=W.get(re);he.__data__=ee,he.__facet__=!1,h.push(he),p.delete(he),W.delete(re)}else if(j.has(re)){var he=j.get(re);he.__data__=ee,he.__facet__=!0,h.push(he),j.delete(re)}else if(K.has(re)){var pe=K.get(re);C.push([ee,pe]);try{for(var _e=(o=void 0,(0,we.XA)(pe)),Ee=_e.next();!Ee.done;Ee=_e.next()){var he=Ee.value;p.delete(he)}}catch(Be){o={error:Be}}finally{try{Ee&&!Ee.done&&(l=_e.return)&&l.call(_e)}finally{if(o)throw o.error}}K.delete(re)}else if(W.has(ve)){var he=W.get(ve);he.__toData__?he.__toData__.push(ee):he.__toData__=[ee],k.add(he),p.delete(he)}else c.push(ee)}var De=[new t([],c,this._parent,this._document),new t(h,null,this._parent,this._document),new t(p,null,this._parent,this._document),new t([],C,this._parent,this._document),new t(k,null,this._parent,this._document)];return new t(this._elements,null,this._parent,this._document,De)},r.prototype.merge=function(i){var a=(0,we.ev)((0,we.ev)([],(0,we.CR)(this._elements),!1),(0,we.CR)(i._elements),!1),s=(0,we.ev)((0,we.ev)([],(0,we.CR)(this._transitions),!1),(0,we.CR)(i._transitions),!1);return new t(a,null,this._parent,this._document,void 0,s)},r.prototype.createElement=function(i){if(this._document)return this._document.createElement(i,{});var a=t.registry[i];return a?new a:o5("Unknown node type: ".concat(i))},r.prototype.join=function(i,a,s,o,l){i===void 0&&(i=function(W){return W}),a===void 0&&(a=function(W){return W}),s===void 0&&(s=function(W){return W.remove()}),o===void 0&&(o=function(W){return W}),l===void 0&&(l=function(W){return W.remove()});var c=i(this._enter),h=a(this._update),p=s(this._exit),C=o(this._merge),k=l(this._split);return h.merge(c).merge(p).merge(C).merge(k)},r.prototype.remove=function(){for(var i=function(o){var l=a._elements[o],c=a._transitions[o];c?c.then(function(){return l.remove()}):l.remove()},a=this,s=0;s<this._elements.length;s++)i(s);return new t([],null,this._parent,this._document,void 0,this._transitions)},r.prototype.each=function(i){for(var a=0;a<this._elements.length;a++){var s=this._elements[a],o=s.__data__;i.call(s,o,a)}return this},r.prototype.attr=function(i,a){var s=typeof a!="function"?function(){return a}:a;return this.each(function(o,l){a!==void 0&&(this[i]=s.call(this,o,l))})},r.prototype.style=function(i,a,s){s===void 0&&(s=!0);var o=typeof a!="function"||!s?function(){return a}:a;return this.each(function(l,c){a!==void 0&&(this.style[i]=o.call(this,l,c))})},r.prototype.styles=function(i,a){return i===void 0&&(i={}),a===void 0&&(a=!0),this.each(function(s,o){var l=this;Object.entries(i).forEach(function(c){var h=(0,we.CR)(c,2),p=h[0],C=h[1],k=typeof C!="function"||!a?function(){return C}:C;C!==void 0&&l.attr(p,k.call(l,s,o))})})},r.prototype.update=function(i,a){a===void 0&&(a=!0);var s=typeof i!="function"||!a?function(){return i}:i;return this.each(function(o,l){i&&this.update&&this.update(s.call(this,o,l))})},r.prototype.maybeUpdate=function(i,a){a===void 0&&(a=!0);var s=typeof i!="function"||!a?function(){return i}:i;return this.each(function(o,l){i&&this.update&&this.update(s.call(this,o,l))})},r.prototype.transition=function(i){var a=this._transitions;return this.each(function(s,o){a[o]=i.call(this,s,o)})},r.prototype.on=function(i,a){return this.each(function(){this.addEventListener(i,a)}),this},r.prototype.call=function(i){for(var a=[],s=1;s<arguments.length;s++)a[s-1]=arguments[s];return i.call.apply(i,(0,we.ev)([this._parent,this],(0,we.CR)(a),!1)),this},r.prototype.node=function(){return this._elements[0]},r.prototype.nodes=function(){return this._elements},r.prototype.transitions=function(){return this._transitions.filter(function(i){return!!i})},r.prototype.parent=function(){return this._parent};var e,t,n;return t=r,e=new WeakSet,n=function(a,s){var o=this._elements[0],l=o.querySelector(a);if(l)return new t([l],null,this._parent,this._document);var c=typeof s=="string"?this.createElement(s):s();return o.appendChild(c),new t([c],null,this._parent,this._document)},r.registry={g:Ei,rect:Ii,circle:Ws,path:Ta,text:Pp,ellipse:Ic,image:Bc,line:qo,polygon:$o,polyline:sh,html:Nc},r}();function bn(r){return new l5([r],null,r,r.ownerDocument)}function c5(r,e,t){return r.querySelector(e)?bn(r).select(e):bn(r).append(t)}var Yi=function(){function r(e,t,n,i){e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=0),i===void 0&&(i=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=e,this.y=t,this.width=n,this.height=i}return Object.defineProperty(r.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),r.fromRect=function(e){return new r(e.x,e.y,e.width,e.height)},r.prototype.toJSON=function(){return{x:this.x,y:this.y,width:this.width,height:this.height,top:this.top,right:this.right,bottom:this.bottom,left:this.left}},r.prototype.isPointIn=function(e,t){return e>=this.left&&e<=this.right&&t>=this.top&&t<=this.bottom},r}();function JU(r){var e=r.getRenderBounds(),t=__read(e.min,2),n=t[0],i=t[1],a=__read(e.max,2),s=a[0],o=a[1],l=s-n,c=o-i;return new Yi(n,i,l,c)}var gs=function(r,e){var t=function(i){return"".concat(e,"-").concat(i)},n=Object.fromEntries(Object.entries(r).map(function(i){var a=(0,we.CR)(i,2),s=a[0],o=a[1],l=t(o);return[s,{name:l,class:".".concat(l),id:"#".concat(l),toString:function(){return l}}]}));return Object.assign(n,{prefix:t}),n};function zi(r){if(dn(r))return[r,r,r,r];if(Ma(r)){var e=r.length;if(e===1)return[r[0],r[0],r[0],r[0]];if(e===2)return[r[0],r[1],r[0],r[1]];if(e===3)return[r[0],r[1],r[2],r[1]];if(e===4)return r}return[0,0,0,0]}function Ra(r,e,t,n,i){return n===void 0&&(n=!0),i===void 0&&(i=function(a){a.node().removeChildren()}),r?t(e):(n&&i(e),null)}var Ax=gs({text:"text"},"title");function dd(r){return/\S+-\S+/g.test(r)?r.split("-").map(function(e){return e[0]}):r.length>2?[r[0]]:r.split("")}function u5(r,e){var t=r.attributes,n=t.position,i=t.spacing,a=t.inset,s=t.text,o=r.getBBox(),l=e.getBBox(),c=dd(n),h=(0,we.CR)(zi(s?i:0),4),p=h[0],C=h[1],k=h[2],W=h[3],j=(0,we.CR)(zi(a),4),K=j[0],Q=j[1],ee=j[2],re=j[3],ve=(0,we.CR)([W+C,p+k],2),he=ve[0],pe=ve[1],_e=(0,we.CR)([re+Q,K+ee],2),Ee=_e[0],De=_e[1];if(c[0]==="l")return new Yi(o.x,o.y,l.width+o.width+he+Ee,Math.max(l.height+De,o.height));if(c[0]==="t")return new Yi(o.x,o.y,Math.max(l.width+Ee,o.width),l.height+o.height+pe+De);var Be=(0,we.CR)([e.attributes.width||l.width,e.attributes.height||l.height],2),Fe=Be[0],Xe=Be[1];return new Yi(l.x,l.y,Fe+o.width+he+Ee,Xe+o.height+pe+De)}function h5(r,e){var t=Object.entries(e).reduce(function(n,i){var a=(0,we.CR)(i,2),s=a[0],o=a[1],l=r.node().attr(s);return l||(n[s]=o),n},{});r.styles(t)}function f5(r){var e,t,n,i,a=r,s=a.width,o=a.height,l=a.position,c=(0,we.CR)([+s/2,+o/2],2),h=c[0],p=c[1],C=(0,we.CR)([+h,+p,"center","middle"],4),k=C[0],W=C[1],j=C[2],K=C[3],Q=dd(l);return Q.includes("l")&&(e=(0,we.CR)([0,"start"],2),k=e[0],j=e[1]),Q.includes("r")&&(t=(0,we.CR)([+s,"end"],2),k=t[0],j=t[1]),Q.includes("t")&&(n=(0,we.CR)([0,"top"],2),W=n[0],K=n[1]),Q.includes("b")&&(i=(0,we.CR)([+o,"bottom"],2),W=i[0],K=i[1]),{x:k,y:W,textAlign:j,textBaseline:K}}var d5=function(r){(0,we.ZT)(e,r);function e(t){return r.call(this,t,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return e.prototype.getAvailableSpace=function(){var t=this,n=this.attributes,i=n.width,a=n.height,s=n.position,o=n.spacing,l=n.inset,c=t.querySelector(Ax.text.class);if(!c)return new Yi(0,0,+i,+a);var h=c.getBBox(),p=h.width,C=h.height,k=(0,we.CR)(zi(o),4),W=k[0],j=k[1],K=k[2],Q=k[3],ee=(0,we.CR)([0,0,+i,+a],4),re=ee[0],ve=ee[1],he=ee[2],pe=ee[3],_e=dd(s);if(_e.includes("i"))return new Yi(re,ve,he,pe);_e.forEach(function(St,bt){var Et,xt,Dt,Ut;St==="t"&&(Et=(0,we.CR)(bt===0?[C+K,+a-C-K]:[0,+a],2),ve=Et[0],pe=Et[1]),St==="r"&&(xt=(0,we.CR)([+i-p-Q],1),he=xt[0]),St==="b"&&(Dt=(0,we.CR)([+a-C-W],1),pe=Dt[0]),St==="l"&&(Ut=(0,we.CR)(bt===0?[p+j,+i-p-j]:[0,+i],2),re=Ut[0],he=Ut[1])});var Ee=(0,we.CR)(zi(l),4),De=Ee[0],Be=Ee[1],Fe=Ee[2],Xe=Ee[3],qe=(0,we.CR)([Xe+Be,De+Fe],2),ct=qe[0],ht=qe[1];return new Yi(re+Xe,ve+De,he-ct,pe-ht)},e.prototype.getBBox=function(){return this.title?this.title.getBBox():new Yi(0,0,0,0)},e.prototype.render=function(t,n){var i=this,a=t.width,s=t.height,o=t.position,l=t.spacing,c=(0,we._T)(t,["width","height","position","spacing"]),h=(0,we.CR)(qs(c),1),p=h[0],C=f5(t),k=C.x,W=C.y,j=C.textAlign,K=C.textBaseline;Ra(!!c.text,bn(n),function(Q){i.title=Q.maybeAppendByClassName(Ax.text,"text").styles(p).call(h5,{x:k,y:W,textAlign:j,textBaseline:K}).node()})},e}(ti),Dp=function(){};function Ya(r,e){return xn(r)?r.apply(void 0,(0,we.ev)([],(0,we.CR)(e),!1)):r}function v5(r,e){return r.reduce(function(t,n){return(t[n[e]]=t[n[e]]||[]).push(n),t},{})}function g5(r){return typeof r=="boolean"?!1:"enter"in r&&"update"in r&&"exit"in r}function Cx(r){if(!r)return{enter:!1,update:!1,exit:!1};var e=["enter","update","exit"],t=Object.fromEntries(Object.entries(r).filter(function(n){var i=(0,we.CR)(n,1),a=i[0];return!e.includes(a)}));return Object.fromEntries(e.map(function(n){return g5(r)?r[n]===!1?[n,!1]:[n,(0,we.pi)((0,we.pi)({},r[n]),t)]:[n,t]}))}function rc(r,e){r?r.finished.then(e):e()}function p5(r,e){r.length===0?e():Promise.all(r.map(function(t){return t==null?void 0:t.finished})).then(e)}function Ox(r,e){"update"in r?r.update(e):r.attr(e)}function Px(r,e,t){if(e.length===0)return null;if(!t){var n=e.slice(-1)[0];return Ox(r,{style:n}),null}return r.animate(e,t)}function m5(r,e){return!(r.nodeName!=="text"||e.nodeName!=="text"||r.attributes.text!==e.attributes.text)}function y5(r,e,t,n){if(n===void 0&&(n="destroy"),m5(r,e))return r.remove(),[null];var i=function(){n==="destroy"?r.destroy():n==="hide"&&vs(r),e.isVisible()&&du(e)};if(!t)return i(),[null];var a=t.duration,s=a===void 0?0:a,o=t.delay,l=o===void 0?0:o,c=Math.ceil(+s/2),h=+s/4,p=(0,we.CR)(r.getGeometryBounds().center,2),C=p[0],k=p[1],W=(0,we.CR)(e.getGeometryBounds().center,2),j=W[0],K=W[1],Q=(0,we.CR)([(C+j)/2-C,(k+K)/2-k],2),ee=Q[0],re=Q[1],ve=r.style.opacity,he=ve===void 0?1:ve,pe=e.style.opacity,_e=pe===void 0?1:pe,Ee=r.style.transform||"",De=e.style.transform||"",Be=r.animate([{opacity:he,transform:"translate(0, 0) ".concat(Ee)},{opacity:0,transform:"translate(".concat(ee,", ").concat(re,") ").concat(Ee)}],(0,we.pi)((0,we.pi)({fill:"both"},t),{duration:l+c+h})),Fe=e.animate([{opacity:0,transform:"translate(".concat(-ee,", ").concat(-re,") ").concat(De),offset:.01},{opacity:_e,transform:"translate(0, 0) ".concat(De)}],(0,we.pi)((0,we.pi)({fill:"both"},t),{duration:c+h,delay:l+c-h}));return rc(Fe,i),[Be,Fe]}function ps(r,e,t){var n={},i={};return Object.entries(e).forEach(function(a){var s=(0,we.CR)(a,2),o=s[0],l=s[1];if(!Rn(l)){var c=r.style[o]||r.parsedStyle[o]||0;c!==l&&(n[o]=c,i[o]=l)}}),t?Px(r,[n,i],(0,we.pi)({fill:"both"},t)):(Ox(r,i),null)}function _5(r){var e;return((e=r[0])===null||e===void 0?void 0:e.map(function(t,n){return r.map(function(i){return i[n]})}))||[]}function Lp(r,e,t){t===void 0&&(t=!1);var n=r.getBBox(),i=n.width,a=n.height,s=e/Math.max(i,a);return t&&(r.style.transform="scale(".concat(s,")")),s}var Dx=function(r,e,t){return[["M",r-t,e],["A",t,t,0,1,0,r+t,e],["A",t,t,0,1,0,r-t,e],["Z"]]},E5=Dx,x5=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e-t],["L",r+t,e+t],["L",r-t,e+t],["Z"]]},b5=function(r,e,t){return[["M",r-t,e],["L",r,e-t],["L",r+t,e],["L",r,e+t],["Z"]]},w5=function(r,e,t){var n=t*Math.sin(.3333333333333333*Math.PI);return[["M",r-t,e+n],["L",r,e-n],["L",r+t,e+n],["Z"]]},M5=function(r,e,t){var n=t*Math.sin(.3333333333333333*Math.PI);return[["M",r-t,e-n],["L",r+t,e-n],["L",r,e+n],["Z"]]},S5=function(r,e,t){var n=t/2*Math.sqrt(3);return[["M",r,e-t],["L",r+n,e-t/2],["L",r+n,e+t/2],["L",r,e+t],["L",r-n,e+t/2],["L",r-n,e-t/2],["Z"]]},T5=function(r,e,t){var n=t-1.5;return[["M",r-t,e-n],["L",r+t,e+n],["L",r+t,e-n],["L",r-t,e+n],["Z"]]},Lx=function(r,e,t){return[["M",r,e+t],["L",r,e-t]]},A5=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e+t],["M",r+t,e-t],["L",r-t,e+t]]},C5=function(r,e,t){return[["M",r-t/2,e-t],["L",r+t/2,e-t],["M",r,e-t],["L",r,e+t],["M",r-t/2,e+t],["L",r+t/2,e+t]]},O5=function(r,e,t){return[["M",r-t,e],["L",r+t,e],["M",r,e-t],["L",r,e+t]]},P5=function(r,e,t){return[["M",r-t,e],["L",r+t,e]]},Rx=function(r,e,t){return[["M",r-t,e],["L",r+t,e]]},D5=Rx,L5=function(r,e,t){return[["M",r-t,e],["A",t/2,t/2,0,1,1,r,e],["A",t/2,t/2,0,1,0,r+t,e]]},R5=function(r,e,t){return[["M",r-t-1,e-2.5],["L",r,e-2.5],["L",r,e+2.5],["L",r+t+1,e+2.5]]},I5=function(r,e,t){return[["M",r-t-1,e+2.5],["L",r,e+2.5],["L",r,e-2.5],["L",r+t+1,e-2.5]]},N5=function(r,e,t){return[["M",r-(t+1),e+2.5],["L",r-t/2,e+2.5],["L",r-t/2,e-2.5],["L",r+t/2,e-2.5],["L",r+t/2,e+2.5],["L",r+t+1,e+2.5]]};function B5(r,e){return[["M",r-5,e+2.5],["L",r-5,e],["L",r,e],["L",r,e-3],["L",r,e+3],["L",r+6.5,e+3]]}var k5=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e],["L",r-t,e+t],["Z"]]},Qa=gs({prevBtnGroup:"prev-btn-group",prevBtn:"prev-btn",nextBtnGroup:"next-btn-group",nextBtn:"next-btn",pageInfoGroup:"page-info-group",pageInfo:"page-info",playWindow:"play-window",contentGroup:"content-group",controller:"controller",clipPath:"clip-path"},"navigator"),z5=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,t,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:k5(0,0,6),buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:function(i,a){return"".concat(i,"/").concat(a)},defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})||this;return n.playState="idle",n.contentGroup=n.appendChild(new Ei({class:Qa.contentGroup.name})),n.playWindow=n.contentGroup.appendChild(new Ei({class:Qa.playWindow.name})),n.innerCurrPage=n.defaultPage,n}return Object.defineProperty(e.prototype,"defaultPage",{get:function(){var t=this.attributes.defaultPage;return Yr(t,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageShape",{get:function(){var t=this.pageViews,n=(0,we.CR)(_5(t.map(function(p){var C=p.getBBox(),k=C.width,W=C.height;return[k,W]})).map(function(p){return Math.max.apply(Math,(0,we.ev)([],(0,we.CR)(p),!1))}),2),i=n[0],a=n[1],s=this.attributes,o=s.pageWidth,l=o===void 0?i:o,c=s.pageHeight,h=c===void 0?a:c;return{pageWidth:l,pageHeight:h}},enumerable:!1,configurable:!0}),e.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(e.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),e.prototype.getBBox=function(){var t=r.prototype.getBBox.call(this),n=t.x,i=t.y,a=this.controllerShape,s=this.pageShape,o=s.pageWidth,l=s.pageHeight;return new Yi(n,i,o+a.width,l)},e.prototype.goTo=function(t){var n=this,i=this.attributes.animate,a=this,s=a.currPage,o=a.playState,l=a.playWindow,c=a.pageViews;if(o!=="idle"||t<0||c.length<=0||t>=c.length)return null;c[s].setLocalPosition(0,0),this.prepareFollowingPage(t);var h=(0,we.CR)(this.getFollowingPageDiff(t),2),p=h[0],C=h[1];this.playState="running";var k=Px(l,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-p,", ").concat(-C,")")}],i);return rc(k,function(){n.innerCurrPage=t,n.playState="idle",n.setVisiblePages([t]),n.updatePageInfo()}),k},e.prototype.prev=function(){var t=this.attributes.loop,n=this.pageViews.length,i=this.currPage;if(!t&&i<=0)return null;var a=t?(i-1+n)%n:Yr(i-1,0,n);return this.goTo(a)},e.prototype.next=function(){var t=this.attributes.loop,n=this.pageViews.length,i=this.currPage;if(!t&&i>=n-1)return null;var a=t?(i+1)%n:Yr(i+1,0,n);return this.goTo(a)},e.prototype.renderClipPath=function(t){var n=this.pageShape,i=n.pageWidth,a=n.pageHeight;if(!i||!a){this.contentGroup.style.clipPath=void 0;return}this.clipPath=t.maybeAppendByClassName(Qa.clipPath,"rect").styles({width:i,height:a}),this.contentGroup.attr("clipPath",this.clipPath.node())},e.prototype.setVisiblePages=function(t){this.playWindow.children.forEach(function(n,i){t.includes(i)?du(n):vs(n)})},e.prototype.adjustControllerLayout=function(){var t=this,n=t.prevBtnGroup,i=t.nextBtnGroup,a=t.pageInfoGroup,s=this.attributes,o=s.orientation,l=s.controllerPadding,c=a.getBBox(),h=c.width,p=c.height,C=(0,we.CR)(o==="horizontal"?[-180,0]:[-90,90],2),k=C[0],W=C[1];n.setLocalEulerAngles(k),i.setLocalEulerAngles(W);var j=n.getBBox(),K=j.width,Q=j.height,ee=i.getBBox(),re=ee.width,ve=ee.height,he=Math.max(K,h,re),pe=o==="horizontal"?{offset:[[0,0],[K/2+l,0],[K+h+l*2,0]],textAlign:"start"}:{offset:[[he/2,-Q-l],[he/2,0],[he/2,ve+l]],textAlign:"center"},_e=(0,we.CR)(pe.offset,3),Ee=(0,we.CR)(_e[0],2),De=Ee[0],Be=Ee[1],Fe=(0,we.CR)(_e[1],2),Xe=Fe[0],qe=Fe[1],ct=(0,we.CR)(_e[2],2),ht=ct[0],St=ct[1],bt=pe.textAlign,Et=a.querySelector("text");Et&&(Et.style.textAlign=bt),n.setLocalPosition(De,Be),a.setLocalPosition(Xe,qe),i.setLocalPosition(ht,St)},e.prototype.updatePageInfo=function(){var t,n=this,i=n.currPage,a=n.pageViews,s=n.attributes.formatter;a.length<2||((t=this.pageInfoGroup.querySelector(Qa.pageInfo.class))===null||t===void 0||t.attr("text",s(i+1,a.length)),this.adjustControllerLayout())},e.prototype.getFollowingPageDiff=function(t){var n=this.currPage;if(n===t)return[0,0];var i=this.attributes.orientation,a=this.pageShape,s=a.pageWidth,o=a.pageHeight,l=t<n?-1:1;return i==="horizontal"?[l*s,0]:[0,l*o]},e.prototype.prepareFollowingPage=function(t){var n=this,i=n.currPage,a=n.pageViews;if(this.setVisiblePages([t,i]),t!==i){var s=(0,we.CR)(this.getFollowingPageDiff(t),2),o=s[0],l=s[1];a[t].setLocalPosition(o,l)}},e.prototype.renderController=function(t){var n=this,i=this.attributes.controllerSpacing,a=this.pageShape,s=a.pageWidth,o=a.pageHeight,l=this.pageViews.length>=2,c=t.maybeAppendByClassName(Qa.controller,"g");if(hd(c.node(),l),!!l){var h=Yn(this.attributes,"button"),p=Yn(this.attributes,"pageNum"),C=(0,we.CR)(qs(h),2),k=C[0],W=C[1],j=k.size,K=(0,we._T)(k,["size"]),Q=!c.select(Qa.prevBtnGroup.class).node(),ee=c.maybeAppendByClassName(Qa.prevBtnGroup,"g").styles(W);this.prevBtnGroup=ee.node();var re=ee.maybeAppendByClassName(Qa.prevBtn,"path"),ve=c.maybeAppendByClassName(Qa.nextBtnGroup,"g").styles(W);this.nextBtnGroup=ve.node();var he=ve.maybeAppendByClassName(Qa.nextBtn,"path");[re,he].forEach(function(_e){_e.styles((0,we.pi)((0,we.pi)({},K),{transformOrigin:"center"})),Lp(_e.node(),j,!0)});var pe=c.maybeAppendByClassName(Qa.pageInfoGroup,"g");this.pageInfoGroup=pe.node(),pe.maybeAppendByClassName(Qa.pageInfo,"text").styles(p),this.updatePageInfo(),c.node().setLocalPosition(s+i,o/2),Q&&(this.prevBtnGroup.addEventListener("click",function(){n.prev()}),this.nextBtnGroup.addEventListener("click",function(){n.next()}))}},e.prototype.render=function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s;this.attr("transform","translate(".concat(a,", ").concat(o,")"));var l=bn(n);this.renderClipPath(l),this.renderController(l),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},e.prototype.bindEvents=function(){var t=this,n=ru(function(){return t.render(t.attributes,t)},50);this.playWindow.addEventListener(tr.INSERTED,n),this.playWindow.addEventListener(tr.REMOVED,n)},e}(ti);function F5(r){var e="default";if(ii(r)&&r instanceof Image)e="image";else if(xn(r))e="symbol";else if(dr(r)){var t=new RegExp("data:(image|text)");r.match(t)?e="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(r)?e="url":e="symbol"}return e}function U5(r){var e=F5(r);return["base64","url","image"].includes(e)?"image":r&&e==="symbol"?"path":null}var Rr=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=this.getSubShapeStyle(t),c=l.symbol,h=l.size,p=h===void 0?16:h,C=(0,we._T)(l,["symbol","size"]),k=U5(c);Ra(!!k,bn(n),function(W){W.maybeAppendByClassName("marker",k).attr("className","marker ".concat(k,"-marker")).call(function(j){if(k==="image"){var K=p*2;j.styles({img:c,width:K,height:K,x:a-p,y:o-p})}else{var K=p/2,Q=xn(c)?c:e.getSymbol(c);j.styles((0,we.pi)({d:Q==null?void 0:Q(a,o,K)},C))}})})},e.MARKER_SYMBOL_MAP=new Map,e.registerSymbol=function(t,n){e.MARKER_SYMBOL_MAP.set(t,n)},e.getSymbol=function(t){return e.MARKER_SYMBOL_MAP.get(t)},e.getSymbols=function(){return Array.from(e.MARKER_SYMBOL_MAP.keys())},e}(ti);Rr.registerSymbol("cross",A5),Rr.registerSymbol("hyphen",P5),Rr.registerSymbol("line",Lx),Rr.registerSymbol("plus",O5),Rr.registerSymbol("tick",C5),Rr.registerSymbol("circle",Dx),Rr.registerSymbol("point",E5),Rr.registerSymbol("bowtie",T5),Rr.registerSymbol("hexagon",S5),Rr.registerSymbol("square",x5),Rr.registerSymbol("diamond",b5),Rr.registerSymbol("triangle",w5),Rr.registerSymbol("triangle-down",M5),Rr.registerSymbol("line",Lx),Rr.registerSymbol("dot",Rx),Rr.registerSymbol("dash",D5),Rr.registerSymbol("smooth",L5),Rr.registerSymbol("hv",R5),Rr.registerSymbol("vh",I5),Rr.registerSymbol("hvh",N5),Rr.registerSymbol("vhv",B5);function qU(r,e,t){var n=Math.round((r-t)/e);return t+n*e}function W5(r,e,t){var n=1.4,i=n*t;return[["M",r-t,e-i],["L",r+t,e-i],["L",r+t,e+i],["L",r-t,e+i],["Z"]]}var Ix=1.4,Nx=.4;function H5(r,e,t){var n=t,i=n*Ix,a=n/2,s=n/6,o=r+i*Nx;return[["M",r,e],["L",o,e+a],["L",r+i,e+a],["L",r+i,e-a],["L",o,e-a],["Z"],["M",o,e+s],["L",r+i-2,e+s],["M",o,e-s],["L",r+i-2,e-s]]}function j5(r,e,t){var n=t,i=n*Ix,a=n/2,s=n/6,o=e+i*Nx;return[["M",r,e],["L",r-a,o],["L",r-a,e+i],["L",r+a,e+i],["L",r+a,o],["Z"],["M",r-s,o],["L",r-s,e+i-2],["M",r+s,o],["L",r+s,e+i-2]]}Rr.registerSymbol("hiddenHandle",W5),Rr.registerSymbol("verticalHandle",H5),Rr.registerSymbol("horizontalHandle",j5);var $U=function(r,e,t){return r===void 0&&(r="horizontal"),r==="horizontal"?e:t};function eW(r,e,t,n){var i;n===void 0&&(n=4);var a=__read(r,2),s=a[0],o=a[1],l=__read(e,2),c=l[0],h=l[1],p=__read(t,2),C=p[0],k=p[1],W=__read([c,h],2),j=W[0],K=W[1],Q=K-j;return j>K&&(i=__read([K,j],2),j=i[0],K=i[1]),Q>o-s?[s,o]:j<s?C===s&&k===K?[s,K]:[s,Q+s]:K>o?k===o&&C===j?[j,o]:[o-Q,o]:[j,K]}function Rp(r,e,t){return r===void 0&&(r="horizontal"),r==="horizontal"?e:t}function tW(r){var e=r&&r.getRenderBounds();if(!e)return{width:0,height:0};var t=e.getMax(),n=e.getMin();return{width:t[0]-n[0],height:t[1]-n[1]}}function Bx(r){var e=r.getLocalBounds(),t=e.min,n=e.max,i=(0,we.CR)([t,n],2),a=(0,we.CR)(i[0],2),s=a[0],o=a[1],l=(0,we.CR)(i[1],2),c=l[0],h=l[1];return{x:s,y:o,width:c-s,height:h-o,left:s,bottom:h,top:o,right:c}}function nW(r,e){var t=select(r).append("text").node();return t.attr(__assign(__assign({},e),{visibility:"hidden"})),t}function G5(r,e){var t=(0,we.CR)(r,2),n=t[0],i=t[1],a=(0,we.CR)(e,2),s=a[0],o=a[1];return n!==s&&i===o}function rW(r,e){var t=__read(r,2),n=t[0],i=t[1],a=__read(e,2),s=a[0],o=a[1];return n===s&&i!==o}function V5(r,e){var t,n,i=e.attributes;try{for(var a=(0,we.XA)(Object.entries(i)),s=a.next();!s.done;s=a.next()){var o=(0,we.CR)(s.value,2),l=o[0],c=o[1];l!=="id"&&l!=="className"&&r.attr(l,c)}}catch(h){t={error:h}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}}function $s(r){return typeof r=="function"?r():dr(r)||dn(r)?new Pp({style:{text:String(r)}}):r}var vd,Ip;function iW(r){Ip=r}var Z5=Ep(function(r,e){var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,s=e.fontVariant;return Ip?Ip(r,t):(vd||(vd=Ht.offscreenCanvasCreator.getOrCreateContext(void 0)),vd.font=[a,s,i,"".concat(t,"px"),n].join(" "),vd.measureText(r).width)},function(r,e){return[r,Object.values(e||kx(r)).join()].join("")},4096),kx=function(r){var e=r.style.fontFamily||"sans-serif",t=r.style.fontWeight||"normal",n=r.style.fontStyle||"normal",i=r.style.fontVariant,a=r.style.fontSize;return a=typeof a=="object"?a.value:a,{fontSize:a,fontFamily:e,fontWeight:t,fontStyle:n,fontVariant:i}};function zx(r){return r.nodeName==="text"?r:r.nodeName==="g"&&r.children.length===1&&r.children[0].nodeName==="text"?r.children[0]:null}function Fx(r,e){var t=zx(r);t&&t.attr(e)}function Np(r,e,t){t===void 0&&(t="..."),Fx(r,{wordWrap:!0,wordWrapWidth:e,maxLines:1,textOverflow:t})}var Ia=gs({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item");function K5(r){var e=r.querySelector(Ia.marker.class);return e?e.style:{}}var X5=function(r){(0,we.ZT)(e,r);function e(t){return r.call(this,t,{span:[1,1],marker:function(){return new Ws({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this}return Object.defineProperty(e.prototype,"showValue",{get:function(){var t=this.attributes.valueText;return t?typeof t=="string"||typeof t=="number"?t!=="":typeof t=="function"?!0:t.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"actualSpace",{get:function(){var t=this.labelGroup,n=this.valueGroup,i=this.attributes.markerSize,a=t.node().getBBox(),s=a.width,o=a.height,l=n.node().getBBox(),c=l.width,h=l.height;return{markerWidth:i,labelWidth:s,valueWidth:c,height:Math.max(i,o,h)}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"span",{get:function(){var t=this.attributes.span;if(!t)return[1,1];var n=(0,we.CR)(zi(t),2),i=n[0],a=n[1],s=this.showValue?a:0,o=i+s;return[i/o,s/o]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shape",{get:function(){var t,n=this.attributes,i=n.markerSize,a=n.width,s=this.actualSpace,o=s.markerWidth,l=s.height,c=this.actualSpace,h=c.labelWidth,p=c.valueWidth,C=(0,we.CR)(this.spacing,2),k=C[0],W=C[1];if(a){var j=a-i-k-W,K=(0,we.CR)(this.span,2),Q=K[0],ee=K[1];t=(0,we.CR)([Q*j,ee*j],2),h=t[0],p=t[1]}var re=o+h+p+k+W;return{width:re,height:l,markerWidth:o,labelWidth:h,valueWidth:p}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"spacing",{get:function(){var t=this.attributes.spacing;if(!t)return[0,0];var n=(0,we.CR)(zi(t),2),i=n[0],a=n[1];return this.showValue?[i,a]:[i,0]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"layout",{get:function(){var t=this.shape,n=t.markerWidth,i=t.labelWidth,a=t.valueWidth,s=t.width,o=t.height,l=(0,we.CR)(this.spacing,2),c=l[0],h=l[1];return{height:o,width:s,markerWidth:n,labelWidth:i,valueWidth:a,position:[n/2,n+c,n+i+c+h]}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scaleSize",{get:function(){var t=K5(this.markerGroup.node()),n=this.attributes,i=n.markerSize,a=n.markerStrokeWidth,s=a===void 0?t.strokeWidth:a,o=n.markerLineWidth,l=o===void 0?t.lineWidth:o,c=n.markerStroke,h=c===void 0?t.stroke:c,p=+(s||l||(h?1:0))*Math.sqrt(2),C=this.markerGroup.node().getBBox(),k=C.width,W=C.height;return(1-p/Math.max(k,W))*i},enumerable:!1,configurable:!0}),e.prototype.renderMarker=function(t){var n=this,i=this.attributes.marker,a=Yn(this.attributes,"marker");this.markerGroup=t.maybeAppendByClassName(Ia.markerGroup,"g").style("zIndex",0),Ra(!!i,this.markerGroup,function(){var s,o=n.markerGroup.node(),l=(s=o.childNodes)===null||s===void 0?void 0:s[0],c=typeof i=="string"?new Rr({style:{symbol:i},className:Ia.marker.name}):i();l?c.nodeName===l.nodeName?l instanceof Rr?l.update((0,we.pi)((0,we.pi)({},a),{symbol:i})):(V5(l,c),bn(l).styles(a)):(l.remove(),bn(c).attr("className",Ia.marker.name).styles(a),o.appendChild(c)):(c instanceof Rr||bn(c).attr("className",Ia.marker.name).styles(a),o.appendChild(c)),n.markerGroup.node().scale(1/n.markerGroup.node().getScale()[0]);var h=Lp(n.markerGroup.node(),n.scaleSize,!0);n.markerGroup.node().style._transform="scale(".concat(h,")")})},e.prototype.renderLabel=function(t){var n=Yn(this.attributes,"label"),i=n.text,a=(0,we._T)(n,["text"]);this.labelGroup=t.maybeAppendByClassName(Ia.labelGroup,"g").style("zIndex",0),this.labelGroup.maybeAppendByClassName(Ia.label,function(){return $s(i)}).styles(a)},e.prototype.renderValue=function(t){var n=this,i=Yn(this.attributes,"value"),a=i.text,s=(0,we._T)(i,["text"]);this.valueGroup=t.maybeAppendByClassName(Ia.valueGroup,"g").style("zIndex",0),Ra(this.showValue,this.valueGroup,function(){n.valueGroup.maybeAppendByClassName(Ia.value,function(){return $s(a)}).styles(s)})},e.prototype.renderBackground=function(t){var n=this.shape,i=n.width,a=n.height,s=Yn(this.attributes,"background");this.background=t.maybeAppendByClassName(Ia.backgroundGroup,"g").style("zIndex",-1),this.background.maybeAppendByClassName(Ia.background,"rect").styles((0,we.pi)({width:i,height:a},s))},e.prototype.adjustLayout=function(){var t=this.layout,n=t.labelWidth,i=t.valueWidth,a=t.height,s=(0,we.CR)(t.position,3),o=s[0],l=s[1],c=s[2],h=a/2;this.markerGroup.styles({transform:"translate(".concat(o,", ").concat(h,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(l,", ").concat(h,")")}),Np(this.labelGroup.select(Ia.label.class).node(),Math.ceil(n)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(c,", ").concat(h,")")}),Np(this.valueGroup.select(Ia.value.class).node(),Math.ceil(i)))},e.prototype.render=function(t,n){var i=bn(n),a=t.x,s=a===void 0?0:a,o=t.y,l=o===void 0?0:o;i.styles({transform:"translate(".concat(s,", ").concat(l,")")}),this.renderMarker(i),this.renderLabel(i),this.renderValue(i),this.renderBackground(i),this.adjustLayout()},e}(ti),yl=gs({page:"item-page",navigator:"navigator",item:"item"},"items"),Ux=function(r,e,t){return t===void 0&&(t=!0),r?e(r):t},Y5=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,t,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:Dp,mouseenter:Dp,mouseleave:Dp})||this;return n.navigatorShape=[0,0],n}return Object.defineProperty(e.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"grid",{get:function(){var t=this.attributes,n=t.gridRow,i=t.gridCol,a=t.data;if(!n&&!i)throw new Error("gridRow and gridCol can not be set null at the same time");return n&&i?[n,i]:n?[n,a.length]:[a.length,i]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"renderData",{get:function(){var t=this.attributes,n=t.data,i=t.layout,a=Yn(this.attributes,"item"),s=n.map(function(o,l){var c=o.id,h=c===void 0?l:c,p=o.label,C=o.value;return{id:"".concat(h),index:l,style:(0,we.pi)({layout:i,labelText:p,valueText:C},Object.fromEntries(Object.entries(a).map(function(k){var W=(0,we.CR)(k,2),j=W[0],K=W[1];return[j,Ya(K,[o,l,n])]})))}});return s},enumerable:!1,configurable:!0}),e.prototype.getGridLayout=function(){var t=this,n=this.attributes,i=n.orientation,a=n.width,s=n.rowPadding,o=n.colPadding,l=(0,we.CR)(this.navigatorShape,1),c=l[0],h=(0,we.CR)(this.grid,2),p=h[0],C=h[1],k=C*p,W=0;return this.pageViews.children.map(function(j,K){var Q,ee,re=Math.floor(K/k),ve=K%k,he=t.ifHorizontal(C,p),pe=[Math.floor(ve/he),ve%he];i==="vertical"&&pe.reverse();var _e=(0,we.CR)(pe,2),Ee=_e[0],De=_e[1],Be=(a-c-(C-1)*o)/C,Fe=j.getBBox().height,Xe=(0,we.CR)([0,0],2),qe=Xe[0],ct=Xe[1];return i==="horizontal"?(Q=(0,we.CR)([W,Ee*(Fe+s)],2),qe=Q[0],ct=Q[1],W=De===C-1?0:W+Be+o):(ee=(0,we.CR)([De*(Be+o),W],2),qe=ee[0],ct=ee[1],W=Ee===p-1?0:W+Fe+s),{page:re,index:K,row:Ee,col:De,pageIndex:ve,width:Be,height:Fe,x:qe,y:ct}})},e.prototype.getFlexLayout=function(){var t=this.attributes,n=t.width,i=t.height,a=t.rowPadding,s=t.colPadding,o=(0,we.CR)(this.navigatorShape,1),l=o[0],c=(0,we.CR)(this.grid,2),h=c[0],p=c[1],C=(0,we.CR)([n-l,i],2),k=C[0],W=C[1],j=(0,we.CR)([0,0,0,0,0,0,0,0],8),K=j[0],Q=j[1],ee=j[2],re=j[3],ve=j[4],he=j[5],pe=j[6],_e=j[7];return this.pageViews.children.map(function(Ee,De){var Be,Fe,Xe,qe,ct=Ee.getBBox(),ht=ct.width,St=ct.height,bt=pe===0?0:s,Et=pe+bt+ht;if(Et<=k&&Ux(ve,function(Dt){return Dt<p}))return Be=(0,we.CR)([pe+bt,_e,Et],3),K=Be[0],Q=Be[1],pe=Be[2],{width:ht,height:St,x:K,y:Q,page:ee,index:De,pageIndex:re++,row:he,col:ve++};Fe=(0,we.CR)([he+1,0,0,_e+St+a],4),he=Fe[0],ve=Fe[1],pe=Fe[2],_e=Fe[3];var xt=_e+St;return xt<=W&&Ux(he,function(Dt){return Dt<h})?(Xe=(0,we.CR)([pe,_e,ht],3),K=Xe[0],Q=Xe[1],pe=Xe[2],{width:ht,height:St,x:K,y:Q,page:ee,index:De,pageIndex:re++,row:he,col:ve++}):(qe=(0,we.CR)([0,0,ht,0,ee+1,0,0,0],8),K=qe[0],Q=qe[1],pe=qe[2],_e=qe[3],ee=qe[4],re=qe[5],he=qe[6],ve=qe[7],{width:ht,height:St,x:K,y:Q,page:ee,index:De,pageIndex:re++,row:he,col:ve++})})},Object.defineProperty(e.prototype,"itemsLayout",{get:function(){this.navigatorShape=[0,0];var t=this.attributes.layout==="grid"?this.getGridLayout:this.getFlexLayout,n=t.call(this);return n.slice(-1)[0].page>0?(this.navigatorShape=[55,0],t.call(this)):n},enumerable:!1,configurable:!0}),e.prototype.ifHorizontal=function(t,n){var i=this.attributes.orientation;return Rp(i,t,n)},e.prototype.flattenPage=function(t){t.querySelectorAll(yl.item.class).forEach(function(n){t.appendChild(n)}),t.querySelectorAll(yl.page.class).forEach(function(n){var i=t.removeChild(n);i.destroy()})},e.prototype.renderItems=function(t){var n=this.attributes,i=n.click,a=n.mouseenter,s=n.mouseleave;this.flattenPage(t);var o=this.dispatchCustomEvent.bind(this);bn(t).selectAll(yl.item.class).data(this.renderData,function(l){return l.id}).join(function(l){return l.append(function(c){var h=c.style;return new X5({style:h})}).attr("className",yl.item.name).on("click",function(){i==null||i(this),o("itemClick",{item:this})}).on("pointerenter",function(){a==null||a(this),o("itemMouseenter",{item:this})}).on("pointerleave",function(){s==null||s(this),o("itemMouseleave",{item:this})})},function(l){return l.each(function(c){var h=c.style;this.update(h)})},function(l){return l.remove()})},e.prototype.relayoutNavigator=function(){var t,n=this.attributes,i=n.layout,a=n.width,s=((t=this.pageViews.children[0])===null||t===void 0?void 0:t.getBBox().height)||0,o=(0,we.CR)(this.navigatorShape,2),l=o[0],c=o[1];this.navigator.update(i==="grid"?{pageWidth:a-l,pageHeight:s-c}:{})},e.prototype.adjustLayout=function(){var t=this,n=Object.entries(v5(this.itemsLayout,"page")).map(function(a){var s=(0,we.CR)(a,2),o=s[0],l=s[1];return{page:o,layouts:l}}),i=(0,we.ev)([],(0,we.CR)(this.navigator.getContainer().children),!1);n.forEach(function(a){var s=a.layouts,o=t.pageViews.appendChild(new Ei({className:yl.page.name}));s.forEach(function(l){var c=l.x,h=l.y,p=l.index,C=l.width,k=l.height,W=i[p];o.appendChild(W),Yc(W,"__layout__",l),W.update({x:c,y:h,width:C,height:k})})}),this.relayoutNavigator()},e.prototype.renderNavigator=function(t){var n=this.attributes.orientation,i=Yn(this.attributes,"nav"),a=Oi({orientation:n},i),s=this;return t.selectAll(yl.navigator.class).data(["nav"]).join(function(o){return o.append(function(){return new z5({style:a})}).attr("className",yl.navigator.name).each(function(){s.navigator=this})},function(o){return o.each(function(){this.update(a)})},function(o){return o.remove()}),this.navigator},e.prototype.getBBox=function(){return this.navigator.getBBox()},e.prototype.render=function(t,n){var i=this.attributes.data;if(!(!i||i.length===0)){var a=this.renderNavigator(bn(n));this.renderItems(a.getContainer()),this.adjustLayout()}},e.prototype.dispatchCustomEvent=function(t,n){var i=new vi(t,{detail:n});this.dispatchEvent(i)},e}(ti),vu=gs({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),Wx={showLabel:!0,formatter:function(r){return r.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0},aW=function(r){(0,we.ZT)(e,r);function e(t){return r.call(this,t,Wx)||this}return e.prototype.render=function(t,n){var i=bn(n).maybeAppendByClassName(vu.markerGroup,"g");this.renderMarker(i);var a=bn(n).maybeAppendByClassName(vu.labelGroup,"g");this.renderLabel(a)},e.prototype.renderMarker=function(t){var n=this,i=this.attributes,a=i.orientation,s=i.markerSymbol,o=s===void 0?Rp(a,"horizontalHandle","verticalHandle"):s;Ra(!!o,t,function(l){var c=Yn(n.attributes,"marker"),h=(0,we.pi)({symbol:o},c);n.marker=l.maybeAppendByClassName(vu.marker,function(){return new Rr({style:h})}).update(h)})},e.prototype.renderLabel=function(t){var n=this,i=this.attributes,a=i.showLabel,s=i.orientation,o=i.spacing,l=o===void 0?0:o,c=i.formatter;Ra(a,t,function(h){var p,C=Yn(n.attributes,"label"),k=C.text,W=(0,we._T)(C,["text"]),j=((p=h.select(vu.marker.class))===null||p===void 0?void 0:p.node().getBBox())||{},K=j.width,Q=K===void 0?0:K,ee=j.height,re=ee===void 0?0:ee,ve=(0,we.CR)(Rp(s,[0,re+l,"center","top"],[Q+l,0,"start","middle"]),4),he=ve[0],pe=ve[1],_e=ve[2],Ee=ve[3];h.maybeAppendByClassName(vu.label,"text").styles((0,we.pi)((0,we.pi)({},W),{x:he,y:pe,text:c(k).toString(),textAlign:_e,textBaseline:Ee}))})},e}(ti),Hx={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},Q5=Oi({},Hx,{}),sW=Oi({},Hx,nc(Wx,"handle"),{color:["#d0e3fa","#acc7f6","#8daaf2","#6d8eea","#4d73cd","#325bb1","#5a3e75","#8c3c79","#e23455","#e7655b"],indicatorBackgroundFill:"#262626",indicatorLabelFill:"white",indicatorLabelFontSize:12,indicatorVisibility:"hidden",labelAlign:"value",labelDirection:"positive",labelSpacing:5,showHandle:!0,showIndicator:!0,showLabel:!0,slidable:!0,titleText:"",type:"continuous"}),oW=.01,lW=.5,gu=gs({title:"title",titleGroup:"title-group",items:"items",itemsGroup:"items-group",contentGroup:"content-group",ribbonGroup:"ribbon-group",ribbon:"ribbon",handlesGroup:"handles-group",handle:"handle",startHandle:"start-handle",endHandle:"end-handle",labelGroup:"label-group",label:"label",indicator:"indicator"},"legend"),J5=function(r){(0,we.ZT)(e,r);function e(t){return r.call(this,t,Q5)||this}return e.prototype.renderTitle=function(t,n,i){var a=this.attributes,s=a.showTitle,o=a.titleText,l=Yn(this.attributes,"title"),c=(0,we.CR)(qs(l),2),h=c[0],p=c[1];this.titleGroup=t.maybeAppendByClassName(gu.titleGroup,"g").styles(p);var C=(0,we.pi)((0,we.pi)({width:n,height:i},h),{text:s?o:""});this.title=this.titleGroup.maybeAppendByClassName(gu.title,function(){return new d5({style:C})}).update(C)},e.prototype.renderItems=function(t,n){var i=n.x,a=n.y,s=n.width,o=n.height,l=Yn(this.attributes,"title",!0),c=(0,we.CR)(qs(l),2),h=c[0],p=c[1],C=(0,we.pi)((0,we.pi)({},h),{width:s,height:o,x:0,y:0});this.itemsGroup=t.maybeAppendByClassName(gu.itemsGroup,"g").styles((0,we.pi)((0,we.pi)({},p),{transform:"translate(".concat(i,", ").concat(a,")")}));var k=this;this.itemsGroup.selectAll(gu.items.class).data(["items"]).join(function(W){return W.append(function(){return new Y5({style:C})}).attr("className",gu.items.name).each(function(){k.items=bn(this)})},function(W){return W.update(C)},function(W){return W.remove()})},e.prototype.adjustLayout=function(){var t=this.attributes.showTitle;if(t){var n=this.title.node().getAvailableSpace(),i=n.x,a=n.y;this.itemsGroup.node().style.transform="translate(".concat(i,", ").concat(a,")")}},Object.defineProperty(e.prototype,"availableSpace",{get:function(){var t=this.attributes,n=t.showTitle,i=t.width,a=t.height;return n?this.title.node().getAvailableSpace():new Yi(0,0,i,a)},enumerable:!1,configurable:!0}),e.prototype.getBBox=function(){var t,n,i=(t=this.title)===null||t===void 0?void 0:t.node(),a=(n=this.items)===null||n===void 0?void 0:n.node();return!i||!a?r.prototype.getBBox.call(this):u5(i,a)},e.prototype.render=function(t,n){var i=this.attributes,a=i.width,s=i.height,o=i.x,l=o===void 0?0:o,c=i.y,h=c===void 0?0:c,p=bn(n);n.style.transform="translate(".concat(l,", ").concat(h,")"),this.renderTitle(p,a,s),this.renderItems(p,this.availableSpace),this.adjustLayout()},e}(ti);function Bp(r){const{width:e,height:t,renderer:n}=r,i=q5(r),a=new Kv({width:e,height:t,container:i,renderer:n||new $c});return[i,a]}function q5(r){var e;const{container:t,className:n,graphCanvas:i}=r;if(t)return typeof t=="string"?document.getElementById(t):t;const a=tc(n,!1),{width:s,height:o,containerStyle:l}=r,[c,h]=$5(r);return Object.assign(a.style,Object.assign({position:"absolute",left:c+"px",top:h+"px",width:s+"px",height:o+"px"},l)),(e=i.getContainer())===null||e===void 0||e.appendChild(a),a}function $5(r){const{width:e,height:t,placement:n,graphCanvas:i}=r,[a,s]=i.getSize(),[o,l]=z1(n);return[o*(a-e),l*(s-t)]}var e4=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class gd extends ki{constructor(e,t){super(e,Object.assign({},gd.defaultOptions,t)),this.typePrefix="__data__",this.draw=!1,this.fieldMap={node:new Map,edge:new Map,combo:new Map},this.selectedItems=[],this.bindEvents=()=>{const{graph:n}=this.context;n.on(qt.AFTER_DRAW,this.createElement)},this.changeState=(n,i)=>{const{graph:a}=this.context,{typePrefix:s}=this,o=aa(n,[s,"id"]),l=aa(n,[s,"style","labelText"]),[c]=o.split("__"),h=this.fieldMap[c].get(l)||[];a.setElementState(Object.fromEntries(h==null?void 0:h.map(p=>[p,i])))},this.click=n=>{if(this.options.trigger==="hover")return;const i=aa(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?(this.selectedItems=this.selectedItems.filter(a=>a!==i),this.changeState(n,[])):(this.selectedItems.push(i),this.changeState(n,"selected"))},this.mouseleave=n=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(n,[]))},this.mouseenter=n=>{if(this.options.trigger==="click")return;const i=aa(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?this.selectedItems=this.selectedItems.filter(a=>a!==i):(this.selectedItems.push(i),this.changeState(n,"active"))},this.setFieldMap=(n,i,a)=>{if(!n)return;const s=this.fieldMap[a];if(s)if(!s.has(n))s.set(n,[i]);else{const o=s.get(n);o&&(o.push(i),s.set(n,o))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(n,i)=>{if(!n)return[];const{model:a,element:s}=this.context,{nodes:o,edges:l,combos:c}=a.getData(),h={},p=K=>xn(n)?n(K):n,C={node:"circle",edge:"line",combo:"rect"},k={circle:"circle",ellipse:"circle",image:"bowtie",rect:"square",star:"cross",triangle:"triangle",diamond:"diamond",cubic:"dot",line:"hyphen",polyline:"hyphen",quadratic:"hv","cubic-horizontal":"hyphen","cubic-vertical":"line"},W=(K,Q)=>s==null?void 0:s.getElementComputedStyle(K,Q),j=(K,Q)=>{K.forEach(ee=>{const{id:re}=ee,ve=aa(ee,["data",p(ee)]),he=(s==null?void 0:s.getElementType(Q,ee))||"circle",pe=W(Q,ee),_e=(Q==="edge"?pe==null?void 0:pe.stroke:pe==null?void 0:pe.fill)||"#1783ff";re&&ve&&ve.replace(/\s+/g,"")&&(this.setFieldMap(ve,re,Q),h[ve]||(h[ve]={id:`${Q}__${re}`,label:ve,marker:k[he]||C[Q],elementType:Q,lineWidth:1,stroke:_e,fill:_e}))})};switch(i){case"node":j(o,"node");break;case"edge":j(l,"edge");break;case"combo":j(c,"combo");break;default:return[]}return Object.values(h)},this.createElement=()=>{if(this.draw){this.updateElement();return}const n=this.options,{width:i,height:a,nodeField:s,edgeField:o,comboField:l,trigger:c,position:h,container:p,containerStyle:C,className:k}=n,W=e4(n,["width","height","nodeField","edgeField","comboField","trigger","position","container","containerStyle","className"]),j=this.getMarkerData(s,"node"),K=this.getMarkerData(o,"edge"),Q=this.getMarkerData(l,"combo"),ee=[...j,...Q,...K],re=Object.assign({width:i,height:a,data:ee,itemMarkerLineWidth:({lineWidth:pe})=>pe,itemMarker:({marker:pe})=>pe,itemMarkerStroke:({stroke:pe})=>pe,itemMarkerFill:({fill:pe})=>pe,gridCol:j.length},W,this.getEvents()),ve=new J5({className:"legend",style:re});this.category=ve,this.upsertCanvas().appendChild(ve),this.draw=!0},this.bindEvents()}update(e){super.update(e),this.clear(),this.createElement()}clear(){var e,t;(e=this.canvas)===null||e===void 0||e.destroy(),(t=this.container)===null||t===void 0||t.remove(),this.canvas=void 0,this.container=void 0,this.draw=!1}updateElement(){this.category&&this.category.update({itemMarkerOpacity:({id:e})=>!this.selectedItems.length||this.selectedItems.includes(e)?1:.5,itemLabelOpacity:({id:e})=>!this.selectedItems.length||this.selectedItems.includes(e)?1:.5})}upsertCanvas(){if(this.canvas)return this.canvas;const e=this.context.canvas,[t,n]=e.getSize(),{width:i=t,height:a=n,position:s,container:o,containerStyle:l,className:c}=this.options,[h,p]=Bp({width:i,height:a,graphCanvas:e,container:o,containerStyle:l,placement:s,className:"legend"});return this.container=h,c&&h.classList.add(c),this.canvas=p,this.canvas}destroy(){this.clear(),this.context.graph.off(qt.AFTER_DRAW,this.createElement),super.destroy()}}gd.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16,width:240,height:160};class pd extends ki{constructor(e,t){super(e,Object.assign({},pd.defaultOptions,t)),this.onDraw=n=>{var i;!((i=n==null?void 0:n.data)===null||i===void 0)&&i.render||this.onRender()},this.shapes=new Map,this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=n=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(n.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=n=>{if(!this.mask||!this.isMaskDragging)return;const{size:[i,a]}=this.options,{movementX:s,movementY:o}=n,{left:l,top:c,width:h,height:p}=this.mask.style,[,,C,k]=this.maskBBox;let W=parseInt(l)+s,j=parseInt(c)+o,K=parseInt(h),Q=parseInt(p);W<0&&(W=0),j<0&&(j=0),W+K>i&&(W=Oo(i-K,0)),j+Q>a&&(j=Oo(a-Q,0)),K<C&&(s>0?(W=Oo(W-s,0),K=Co(K+s,i)):s<0&&(K=Co(K-s,i))),Q<k&&(o>0?(j=Oo(j-o,0),Q=Co(Q+o,a)):o<0&&(Q=Co(Q-o,a))),Object.assign(this.mask.style,{left:W+"px",top:j+"px",width:K+"px",height:Q+"px"});const ee=parseInt(l)-W,re=parseInt(c)-j;if(ee===0&&re===0)return;const ve=this.context.canvas.getCamera().getZoom(),he=this.canvas.getCamera().getZoom(),pe=ve/he;this.context.graph.translateBy([ee*pe,re*pe],!1)},this.onMaskDragEnd=n=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(n.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=Zy(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),"delay"in e&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=ru(()=>{this.renderMinimap(),this.renderMask()},this.options.delay,!0)}bindEvents(){const{graph:e}=this.context;e.on(qt.AFTER_DRAW,this.onDraw),e.on(qt.AFTER_RENDER,this.onRender),e.on(qt.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:e}=this.context;e.off(qt.AFTER_DRAW,this.onDraw),e.off(qt.AFTER_RENDER,this.onRender),e.off(qt.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const e=this.getElements(),t=this.initCanvas();this.setShapes(t,e)}getElements(){const{filter:e}=this.options,{model:t}=this.context,n=t.getData();if(!e)return n;const{nodes:i,edges:a,combos:s}=n;return{nodes:i.filter(o=>e(Mt(o),"node")),edges:a.filter(o=>e(Mt(o),"edge")),combos:s.filter(o=>e(Mt(o),"combo"))}}setShapes(e,t){const{nodes:n,edges:i,combos:a}=t,{shape:s}=this.options,{element:o}=this.context;if(s==="key"){const c=new Set,h=p=>{const C=Mt(p);c.add(C);const k=o.getElement(C);if(!k)return;const W=k.getShape("key"),j=this.shapes.get(C)||W.cloneNode();j.setPosition(W.getPosition()),k.style.zIndex&&(j.style.zIndex=k.style.zIndex),j.id=k.id,this.shapes.has(C)?Object.entries(W.attributes).forEach(([K,Q])=>{j.style[K]!==Q&&(j.style[K]=Q)}):(e.appendChild(j),this.shapes.set(C,j))};i.forEach(h),a.forEach(h),n.forEach(h),this.shapes.forEach((p,C)=>{c.has(C)||(e.removeChild(p),this.shapes.delete(C))});return}const l=(c,h)=>{const C=o.getElement(c).getPosition();return h.setPosition(C),h};e.removeChildren(),i.forEach(c=>e.appendChild(s(Mt(c),"edge"))),a.forEach(c=>{e.appendChild(l(Mt(c),s(Mt(c),"combo")))}),n.forEach(c=>{e.appendChild(l(Mt(c),s(Mt(c),"node")))})}initCanvas(){const{renderer:e,size:[t,n]}=this.options;if(this.canvas){const{width:i,height:a}=this.canvas.getConfig();(t!==i||n!==a)&&this.canvas.resize(t,n),e&&this.canvas.setRenderer(e)}else{const{className:i,position:a,container:s,containerStyle:o}=this.options,[l,c]=Bp({renderer:e,width:t,height:n,placement:a,className:"minimap",container:s,containerStyle:o,graphCanvas:this.context.canvas});i&&l.classList.add(i),this.container=l,this.canvas=c}return this.setCamera(),this.canvas}createLandmark(e,t,n){const i=`${e.join(",")}-${t.join(",")}-${n}`;if(this.landmarkMap.has(i))return this.landmarkMap.get(i);const s=this.canvas.getCamera().createLandmark(i,{position:e,focalPoint:t,zoom:n});return this.landmarkMap.set(i,s),s}setCamera(){var e;const{canvas:t}=this.context,n=(e=this.canvas)===null||e===void 0?void 0:e.getCamera();if(!n)return;const{size:[i,a],padding:s}=this.options,[o,l,c,h]=os(s),{min:p,max:C,center:k}=t.getBounds("elements"),W=C[0]-p[0],j=C[1]-p[1],K=i-h-l,Q=a-o-c,ee=K/W,re=Q/j,ve=Math.min(ee,re),he=this.createLandmark(k,k,ve);n.gotoLandmark(he,0)}get maskBBox(){const{canvas:e}=this.context,t=e.getSize(),n=e.getCanvasByViewport([0,0]),i=e.getCanvasByViewport(t),a=this.canvas.canvas2Viewport(hs(n)),s=this.canvas.canvas2Viewport(hs(i)),o=s.x-a.x,l=s.y-a.y;return[a.x,a.y,o,l]}calculateMaskBBox(){const{size:[e,t]}=this.options;let[n,i,a,s]=this.maskBBox;return n<0&&(a=Co(a+n,e),n=0),i<0&&(s=Co(s+i,t),i=0),n+a>e&&(a=Oo(e-n,0)),i+s>t&&(s=Oo(t-i,0)),[Co(n,e),Co(i,t),Oo(a,0),Oo(s,0)]}renderMask(){const{maskStyle:e}=this.options;this.mask||(this.mask=document.createElement("div"),this.mask.addEventListener("pointerdown",this.onMaskDragStart)),this.container.appendChild(this.mask),Object.assign(this.mask.style,Object.assign(Object.assign({},e),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[e,t,n,i]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:t+"px",left:e+"px",width:n+"px",height:i+"px"})}destroy(){var e;this.unbindEvents(),this.canvas.destroy(),(e=this.mask)===null||e===void 0||e.remove(),super.destroy()}}pd.defaultOptions={size:[240,160],shape:"key",padding:10,position:"right-bottom",maskStyle:{border:"1px solid #ddd",background:"rgba(0, 0, 0, 0.1)"},containerStyle:{border:"1px solid #ddd",background:"#fff"},delay:128};const Co=(r,e)=>Math.min(r,e),Oo=(r,e)=>Math.max(r,e);var kp=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};const zp={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class md extends ki{constructor(e,t){super(e,Object.assign({},md.defaultOptions,t)),this.initSnapline=()=>{const n=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=n.appendChild(new qo({style:Object.assign(Object.assign({},zp),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=n.appendChild(new qo({style:Object.assign(Object.assign({},zp),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(n,i,a)=>kp(this,void 0,void 0,function*(){const{verticalX:s,horizontalY:o}=a,{tolerance:l}=this.options,{min:[c,h],max:[p,C],center:[k,W]}=i;let j=0,K=0;s!==null&&(Qi(p,s)<l&&(j=s-p),Qi(c,s)<l&&(j=s-c),Qi(k,s)<l&&(j=s-k),j!==0&&(this.isVerticalSticking=!0)),o!==null&&(Qi(C,o)<l&&(K=o-C),Qi(h,o)<l&&(K=o-h),Qi(W,o)<l&&(K=o-W),K!==0&&(this.isHorizontalSticking=!0)),(j!==0||K!==0)&&(yield this.context.graph.translateElementBy({[n]:[j,K]},!1))}),this.enableSnap=n=>{const{target:i}=n,a=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[s,o]=this.getDelta(n);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(s)<=a&&Math.abs(o)<=a)return this.context.graph.translateElementBy({[i.id]:[-s,-o]},!1),!1;if(this.isHorizontalSticking&&Math.abs(o)<=a)return this.context.graph.translateElementBy({[i.id]:[0,-o]},!1),!1;if(this.isVerticalSticking&&Math.abs(s)<=a)return this.context.graph.translateElementBy({[i.id]:[-s,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(n,i)=>{const{tolerance:a,shape:s}=this.options,{min:[o,l],max:[c,h],center:[p,C]}=i;let k=null,W=null,j=null,K=null,Q=null,ee=null;return this.getNodes().some(re=>{if(si(n.id,re.id))return!1;const ve=jx(re,s).getRenderBounds(),{min:[he,pe],max:[_e,Ee],center:[De,Be]}=ve;return k===null&&(Qi(De,p)<a?k=De:Qi(he,o)<a||Qi(he,c)<a?k=he:(Qi(_e,c)<a||Qi(_e,o)<a)&&(k=_e),k!==null&&(W=Math.min(pe,l),j=Math.max(Ee,h))),K===null&&(Qi(Be,C)<a?K=Be:Qi(pe,l)<a||Qi(pe,h)<a?K=pe:(Qi(Ee,h)<a||Qi(Ee,l)<a)&&(K=Ee),K!==null&&(Q=Math.min(he,o),ee=Math.max(_e,c))),k!==null&&K!==null}),{verticalX:k,verticalMinY:W,verticalMaxY:j,horizontalY:K,horizontalMinX:Q,horizontalMaxX:ee}},this.onDragStart=()=>{this.initSnapline()},this.onDrag=n=>kp(this,void 0,void 0,function*(){const{target:i}=n;if(this.options.autoSnap&&!this.enableSnap(n))return;const a=jx(i,this.options.shape).getRenderBounds(),s=this.calcSnaplineMetadata(i,a);this.hideSnapline(),(s.verticalX!==null||s.horizontalY!==null)&&this.updateSnapline(s),this.options.autoSnap&&(yield this.autoSnapToLine(i.id,a,s))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var e;const{filter:t}=this.options,i=(((e=this.context.element)===null||e===void 0?void 0:e.getNodes())||[]).filter(a=>{var s;return GL(a)&&((s=this.context.viewport)===null||s===void 0?void 0:s.isInViewport(a.getRenderBounds()))});return t?i.filter(a=>t(a)):i}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(e){const{lineWidth:t}=this.options[`${e}LineStyle`];return+(t||zp.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(e){const{verticalX:t,verticalMinY:n,verticalMaxY:i,horizontalY:a,horizontalMinX:s,horizontalMaxX:o}=e,[l,c]=this.context.canvas.getSize(),{offset:h}=this.options;a!==null?Object.assign(this.horizontalLine.style,{x1:h===1/0?0:s-h,y1:a,x2:h===1/0?l:o+h,y2:a,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",t!==null?Object.assign(this.verticalLine.style,{x1:t,y1:h===1/0?0:n-h,x2:t,y2:h===1/0?c:i+h,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(e){const t=this.context.graph.getZoom();return us([e.dx,e.dy],t)}bindEvents(){return kp(this,void 0,void 0,function*(){const{graph:e}=this.context;e.on(Za.DRAG_START,this.onDragStart),e.on(Za.DRAG,this.onDrag),e.on(Za.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:e}=this.context;e.off(Za.DRAG_START,this.onDragStart),e.off(Za.DRAG,this.onDrag),e.off(Za.DRAG_END,this.onDragEnd)}destroyElements(){var e,t;(e=this.horizontalLine)===null||e===void 0||e.destroy(),(t=this.verticalLine)===null||t===void 0||t.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}md.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const Qi=(r,e)=>Math.abs(r-e),jx=(r,e)=>typeof e=="function"?e(r):r.getShape(e);var Gx=null,t4=null;function yd(r){return r instanceof Date?r:new Date(r)}function n4(r){for(var e=__read(r,2),t=e[0],n=e[1],i=Gx.indexOf(t),a=Gx.indexOf(n),s="",o=i;o<=a;o+=1)if(s+=t4[o],o<a){var l="-";o===2?l=" ":o>2&&(l=":"),s+=l}return s}function ca(r,e){var t={YYYY:r.getFullYear(),MM:r.getMonth()+1,DD:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds()},n=e;return Object.keys(t).forEach(function(i){var a=t[i];n=n.replace(i,i==="YYYY"?"".concat(a):"".concat(a).padStart(2,"0"))}),n}function cW(r,e){return yd(r).getTime()-yd(e).getTime()}function uW(r,e){var t=__read([yd(r),yd(e)],2),n=t[0],i=t[1];return n.getFullYear()!==i.getFullYear()?"year":n.getMonth()!==i.getMonth()?"month":n.getDay()!==i.getDay()?"day":n.getHours()!==i.getHours()?"hour":n.getMinutes()!==i.getMinutes()?"minute":"second"}function hW(r,e){var t=new Date(r),n={year:function(i){i.setMonth(0),i.setHours(0,0,0,0)},month:function(i){i.setDate(1),i.setHours(0,0,0,0)},day:function(i){return i.setHours(0,0,0,0)},hour:function(i){return i.setMinutes(0,0,0)},minute:function(i){return i.setSeconds(0,0)},second:function(i){return i.setMilliseconds(0)}};return n[e](t),ca(t,n4(["year",e]))}function r4(r,e){if(r.length<=e)return r;for(var t=Math.floor(r.length/e),n=[],i=0;i<r.length;i+=t)n.push(r[i]);return n}var Fp={data:[],animate:{enter:!1,update:{duration:100,easing:"ease-in-out-sine",fill:"both"},exit:{duration:100,fill:"both"}},showArrow:!0,showGrid:!0,showLabel:!0,showLine:!0,showTick:!0,showTitle:!0,showTrunc:!1,dataThreshold:100,lineLineWidth:1,lineStroke:"black",crossPadding:10,titleFill:"black",titleFontSize:12,titlePosition:"lb",titleSpacing:0,titleTextAlign:"center",titleTextBaseline:"middle",lineArrow:function(){return new Ta({style:{d:[["M",10,10],["L",-10,0],["L",10,-10],["L",0,0],["L",10,10],["Z"]],fill:"black",transformOrigin:"center"}})},labelAlign:"parallel",labelDirection:"positive",labelFontSize:12,labelSpacing:0,gridConnect:"line",gridControlAngles:[],gridDirection:"positive",gridLength:0,gridType:"segment",lineArrowOffset:15,lineArrowSize:10,tickDirection:"positive",tickLength:5,tickLineWidth:1,tickStroke:"black",labelOverlap:[]},fW=ia({},Fp,{style:{type:"arc"}}),dW=ia({},Fp,{style:{}}),Pr=gs({mainGroup:"main-group",gridGroup:"grid-group",grid:"grid",lineGroup:"line-group",line:"line",tickGroup:"tick-group",tick:"tick",tickItem:"tick-item",labelGroup:"label-group",label:"label",labelItem:"label-item",titleGroup:"title-group",title:"title",lineFirst:"line-first",lineSecond:"line-second"},"axis");function eo(r,e){return[r[0]*e,r[1]*e]}function pu(r,e){return[r[0]+e[0],r[1]+e[1]]}function Up(r,e){return[r[0]-e[0],r[1]-e[1]]}function _l(r,e){return[Math.min(r[0],e[0]),Math.min(r[1],e[1])]}function El(r,e){return[Math.max(r[0],e[0]),Math.max(r[1],e[1])]}function mu(r,e){return Math.sqrt(Math.pow(r[0]-e[0],2)+Math.pow(r[1]-e[1],2))}function Vx(r){if(r[0]===0&&r[1]===0)return[0,0];var e=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2));return[r[0]/e,r[1]/e]}function vW(r,e,t){var n=__read(r,2),i=n[0],a=n[1],s=__read(e,2),o=s[0],l=s[1],c=i-o,h=a-l,p=Math.sin(t),C=Math.cos(t);return[c*C-h*p+o,c*p+h*C+l]}function i4(r,e){return e?[r[1],-r[0]]:[-r[1],r[0]]}function ic(r){return r*Math.PI/180}function Zx(r){return Number((r*180/Math.PI).toPrecision(5))}function _d(r,e){return r.style.opacity||(r.style.opacity=1),ps(r,{opacity:0},e)}var a4=["$el","cx","cy","d","dx","dy","fill","fillOpacity","filter","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","height","img","increasedLineWidthForHitTesting","innerHTML","isBillboard","billboardRotation","isSizeAttenuation","isClosed","isOverflowing","leading","letterSpacing","lineDash","lineHeight","lineWidth","markerEnd","markerEndOffset","markerMid","markerStart","markerStartOffset","maxLines","metrics","miterLimit","offsetX","offsetY","opacity","path","points","r","radius","rx","ry","shadowColor","src","stroke","strokeOpacity","text","textAlign","textBaseline","textDecorationColor","textDecorationLine","textDecorationStyle","textOverflow","textPath","textPathSide","textPathStartOffset","transform","transformOrigin","visibility","width","wordWrap","wordWrapWidth","x","x1","x2","y","y1","y2","z1","z2","zIndex"];function s4(r){return a4.includes(r)}function Kx(r){var e={};for(var t in r)s4(t)&&(e[t]=r[t]);return e}var ac=gs({lineGroup:"line-group",line:"line",regionGroup:"region-group",region:"region"},"grid");function Xx(r){return r.reduce(function(e,t,n){return e.push((0,we.ev)([n===0?"M":"L"],(0,we.CR)(t),!1)),e},[])}function o4(r,e,t){var n=e.connect,i=n===void 0?"line":n,a=e.center;if(i==="line")return Xx(r);if(!a)return[];var s=mu(r[0],a),o=t?0:1;return r.reduce(function(l,c,h){return h===0?l.push((0,we.ev)(["M"],(0,we.CR)(c),!1)):l.push((0,we.ev)(["A",s,s,0,0,o],(0,we.CR)(c),!1)),l},[])}function Wp(r,e,t){return e.type==="surround"?o4(r,e,t):Xx(r)}function l4(r,e,t){var n=t.type,i=t.connect,a=t.center,s=t.closed,o=s?[["Z"]]:[],l=(0,we.CR)([Wp(r,t),Wp(e.slice().reverse(),t,!0)],2),c=l[0],h=l[1],p=(0,we.CR)([r[0],e.slice(-1)[0]],2),C=p[0],k=p[1],W=function(ee,re){return[c,ee,h,re,o].flat()};if(i==="line"||n==="surround")return W([(0,we.ev)(["L"],(0,we.CR)(k),!1)],[(0,we.ev)(["L"],(0,we.CR)(C),!1)]);if(!a)throw new Error("Arc grid need to specified center");var j=(0,we.CR)([mu(k,a),mu(C,a)],2),K=j[0],Q=j[1];return W([(0,we.ev)(["A",K,K,0,0,1],(0,we.CR)(k),!1),(0,we.ev)(["L"],(0,we.CR)(k),!1)],[(0,we.ev)(["A",Q,Q,0,0,0],(0,we.CR)(C),!1),(0,we.ev)(["L"],(0,we.CR)(C),!1)])}function c4(r,e,t,n){var i=t.animate,a=t.isBillboard,s=e.map(function(o,l){return{id:o.id||"grid-line-".concat(l),d:Wp(o.points,t)}});return r.selectAll(ac.line.class).data(s,function(o){return o.id}).join(function(o){return o.append("path").each(function(l,c){var h=Ya(Kx((0,we.pi)({d:l.d},n)),[l,c,s]);this.attr((0,we.pi)({class:ac.line.name,stroke:"#D9D9D9",lineWidth:1,lineDash:[4,4],isBillboard:a},h))})},function(o){return o.transition(function(l,c){var h=Ya(Kx((0,we.pi)({d:l.d},n)),[l,c,s]);return ps(this,h,i.update)})},function(o){return o.transition(function(){var l=this,c=_d(this,i.exit);return rc(c,function(){return l.remove()}),c})}).transitions()}function u4(r,e,t){var n=t.animate,i=t.connect,a=t.areaFill;if(e.length<2||!a||!i)return[];for(var s=Array.isArray(a)?a:[a,"transparent"],o=function(W){return s[W%s.length]},l=[],c=0;c<e.length-1;c++){var h=(0,we.CR)([e[c].points,e[c+1].points],2),p=h[0],C=h[1],k=l4(p,C,t);l.push({d:k,fill:o(c)})}return r.selectAll(ac.region.class).data(l,function(W,j){return j}).join(function(W){return W.append("path").each(function(j,K){var Q=Ya(j,[j,K,l]);this.attr(Q)}).attr("className",ac.region.name)},function(W){return W.transition(function(j,K){var Q=Ya(j,[j,K,l]);return ps(this,Q,n.update)})},function(W){return W.transition(function(){var j=this,K=_d(this,n.exit);return rc(K,function(){return j.remove()}),K})}).transitions()}function h4(r){var e=r.data,t=e===void 0?[]:e,n=r.closed;return n?t.map(function(i){var a=i.points,s=(0,we.CR)(a,1),o=s[0];return(0,we.pi)((0,we.pi)({},i),{points:(0,we.ev)((0,we.ev)([],(0,we.CR)(a),!1),[o],!1)})}):t}var f4=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.type,a=t.center,s=t.areaFill,o=t.closed,l=(0,we._T)(t,["type","center","areaFill","closed"]),c=h4(t),h=bn(n).maybeAppendByClassName(ac.lineGroup,"g"),p=bn(n).maybeAppendByClassName(ac.regionGroup,"g"),C=c4(h,c,t,l),k=u4(p,c,t);return(0,we.ev)((0,we.ev)([],(0,we.CR)(C),!1),(0,we.CR)(k),!1)},e}(ti),d4=function(r,e){return function(t){return r*(1-t)+e*t}};function v4(r,e){var t=e?e.length:0,n=r?Math.min(t,r.length):0;return function(i){var a=new Array(n),s=new Array(t),o=0;for(o=0;o<n;++o)a[o]=Hp(r[o],e[o]);for(;o<t;++o)s[o]=e[o];for(o=0;o<n;++o)s[o]=a[o](i);return s}}function g4(r,e){r===void 0&&(r={}),e===void 0&&(e={});var t={},n={};return Object.entries(e).forEach(function(i){var a=(0,we.CR)(i,2),s=a[0],o=a[1];s in r?t[s]=Hp(r[s],o):n[s]=o}),function(i){return Object.entries(t).forEach(function(a){var s=(0,we.CR)(a,2),o=s[0],l=s[1];return n[o]=l(i)}),n}}function Hp(r,e){return typeof r=="number"&&typeof e=="number"?d4(r,e):Array.isArray(r)&&Array.isArray(e)?v4(r,e):typeof r=="object"&&typeof e=="object"?g4(r,e):function(t){return r}}function p4(r,e,t,n){if(!n)return r.attr("__keyframe_data__",t),null;var i=n.duration,a=i===void 0?0:i,s=Hp(e,t),o=Math.ceil(+a/16),l=new Array(o).fill(0).map(function(c,h,p){return{__keyframe_data__:s(h/(p.length-1))}});return r.animate(l,(0,we.pi)({fill:"both"},n))}function Yx(r,e){var t={},n=Array.isArray(e)?e:[e];for(var i in r)n.includes(i)||(t[i]=r[i]);return t}function Qx(r,e){return Object.fromEntries(Object.entries(r).map(function(t){var n=(0,we.CR)(t,2),i=n[0],a=n[1];return[i,Ya(a,e)]}))}function gW(r){if(r.type==="linear"){var e=r.startPos,t=r.endPos;return __spreadArray(__spreadArray([],__read(e),!1),__read(t),!1)}var n=r.startAngle,i=r.endAngle,a=r.center,s=r.radius;return __spreadArray(__spreadArray([n,i],__read(a),!1),[s],!1)}function jp(r,e){return e&&xn(e)?r.filter(e):r}function Jx(r,e){var t=e.startAngle,n=e.endAngle;return(n-t)*r+t}function Ed(r,e){if(e.type==="linear"){var t=(0,we.CR)(e.startPos,2),n=t[0],i=t[1],a=(0,we.CR)(e.endPos,2),s=a[0],o=a[1],l=(0,we.CR)([s-n,o-i],2),c=l[0],h=l[1];return Vx([c,h])}var p=ic(Jx(r,e));return[-Math.sin(p),Math.cos(p)]}function Gp(r,e,t){var n=Ed(r,t);return i4(n,e!=="positive")}function yu(r,e){return Gp(r,e.labelDirection,e)}function m4(r,e){var t=(0,we.CR)(e.startPos,2),n=t[0],i=t[1],a=(0,we.CR)(e.endPos,2),s=a[0],o=a[1],l=(0,we.CR)([s-n,o-i],2),c=l[0],h=l[1];return[n+c*r,i+h*r]}function y4(r,e){var t=e.radius,n=(0,we.CR)(e.center,2),i=n[0],a=n[1],s=ic(Jx(r,e));return[i+t*Math.cos(s),a+t*Math.sin(s)]}function xd(r,e){return e.type==="linear"?m4(r,e):y4(r,e)}function qx(r){return Ed(0,r)[1]===0}function $x(r){return Ed(0,r)[0]===0}function eb(r,e){return e-r===360}function tb(r,e,t,n,i){var a=e-r,s=(0,we.CR)([i,i],2),o=s[0],l=s[1],c=(0,we.CR)([ic(r),ic(e)],2),h=c[0],p=c[1],C=function(Be){return[t+i*Math.cos(Be),n+i*Math.sin(Be)]},k=(0,we.CR)(C(h),2),W=k[0],j=k[1],K=(0,we.CR)(C(p),2),Q=K[0],ee=K[1];if(eb(r,e)){var re=(p+h)/2,ve=(0,we.CR)(C(re),2),he=ve[0],pe=ve[1];return[["M",W,j],["A",o,l,0,1,0,he,pe],["A",o,l,0,1,0,Q,ee]]}var _e=a>180?1:0,Ee=r>e?0:1,De=!1;return De?"M".concat(t,",").concat(n,",L").concat(W,",").concat(j,",A").concat(o,",").concat(l,",0,").concat(_e,",").concat(Ee,",").concat(Q,",").concat(ee,",L").concat(t,",").concat(n):"M".concat(W,",").concat(j,",A").concat(o,",").concat(l,",0,").concat(_e,",").concat(Ee,",").concat(Q,",").concat(ee)}function _4(r){var e=r.attributes,t=e.startAngle,n=e.endAngle,i=e.center,a=e.radius;return(0,we.ev)((0,we.ev)([t,n],(0,we.CR)(i),!1),[a],!1)}function E4(r,e,t,n){var i=e.startAngle,a=e.endAngle,s=e.center,o=e.radius;return r.selectAll(Pr.line.class).data([{d:tb.apply(void 0,(0,we.ev)((0,we.ev)([i,a],(0,we.CR)(s),!1),[o],!1))}],function(l,c){return c}).join(function(l){return l.append("path").attr("className",Pr.line.name).styles(e).styles({d:function(c){return c.d}})},function(l){return l.transition(function(){var c=this,h=p4(this,_4(this),(0,we.ev)((0,we.ev)([i,a],(0,we.CR)(s),!1),[o],!1),n.update);if(h){var p=function(){var C=aa(c.attributes,"__keyframe_data__");c.style.d=tb.apply(void 0,(0,we.ev)([],(0,we.CR)(C),!1))};h.onframe=p,h.onfinish=p}return h}).styles(e)},function(l){return l.remove()}).styles(t).transitions()}function x4(r,e){var t=e.truncRange,n=e.truncShape,i=e.lineExtension}function b4(r,e,t){t===void 0&&(t=[0,0]);var n=(0,we.CR)([r,e,t],3),i=(0,we.CR)(n[0],2),a=i[0],s=i[1],o=(0,we.CR)(n[1],2),l=o[0],c=o[1],h=(0,we.CR)(n[2],2),p=h[0],C=h[1],k=(0,we.CR)([l-a,c-s],2),W=k[0],j=k[1],K=Math.sqrt(Math.pow(W,2)+Math.pow(j,2)),Q=(0,we.CR)([-p/K,C/K],2),ee=Q[0],re=Q[1];return[ee*W,ee*j,re*W,re*j]}function nb(r){var e=(0,we.CR)(r,2),t=(0,we.CR)(e[0],2),n=t[0],i=t[1],a=(0,we.CR)(e[1],2),s=a[0],o=a[1];return{x1:n,y1:i,x2:s,y2:o}}function w4(r,e,t,n){var i=e.showTrunc,a=e.startPos,s=e.endPos,o=e.truncRange,l=e.lineExtension,c=(0,we.CR)([a,s],2),h=(0,we.CR)(c[0],2),p=h[0],C=h[1],k=(0,we.CR)(c[1],2),W=k[0],j=k[1],K=(0,we.CR)(l?b4(a,s,l):new Array(4).fill(0),4),Q=K[0],ee=K[1],re=K[2],ve=K[3],he=function(Et){return r.selectAll(Pr.line.class).data(Et,function(xt,Dt){return Dt}).join(function(xt){return xt.append("line").attr("className",function(Dt){return"".concat(Pr.line.name," ").concat(Dt.className)}).styles(t).transition(function(Dt){return ps(this,nb(Dt.line),!1)})},function(xt){return xt.styles(t).transition(function(Dt){var Ut=Dt.line;return ps(this,nb(Ut),n.update)})},function(xt){return xt.remove()}).transitions()};if(!i||!o)return he([{line:[[p+Q,C+ee],[W+re,j+ve]],className:Pr.line.name}]);var pe=(0,we.CR)(o,2),_e=pe[0],Ee=pe[1],De=W-p,Be=j-C,Fe=(0,we.CR)([p+De*_e,C+Be*_e],2),Xe=Fe[0],qe=Fe[1],ct=(0,we.CR)([p+De*Ee,C+Be*Ee],2),ht=ct[0],St=ct[1],bt=he([{line:[[p+Q,C+ee],[Xe,qe]],className:Pr.lineFirst.name},{line:[[ht,St],[W+re,j+ve]],className:Pr.lineSecond.name}]);return x4(r,e),bt}function M4(r,e,t,n){var i=t.showArrow,a=t.showTrunc,s=t.lineArrow,o=t.lineArrowOffset,l=t.lineArrowSize,c;if(e==="arc"?c=r.select(Pr.line.class):a?c=r.select(Pr.lineSecond.class):c=r.select(Pr.line.class),!i||!s||t.type==="arc"&&eb(t.startAngle,t.endAngle)){var h=c.node();h&&(h.style.markerEnd=void 0);return}var p=$s(s);p.attr(n),Lp(p,l,!0),c.style("markerEnd",p).style("markerEndOffset",-o)}function S4(r,e,t){var n=e.type,i,a=Yn(e,"line");return n==="linear"?i=w4(r,e,Yx(a,"arrow"),t):i=E4(r,e,Yx(a,"arrow"),t),M4(r,n,e,a),i}function T4(r,e){return Gp(r,e.gridDirection,e)}function rb(r){var e=r.type,t=r.gridCenter;return e==="linear"?t:t||r.center}function A4(r,e){var t=e.gridLength;return r.map(function(n,i){var a=n.value,s=(0,we.CR)(xd(a,e),2),o=s[0],l=s[1],c=(0,we.CR)(eo(T4(a,e),t),2),h=c[0],p=c[1];return{id:i,points:[[o,l],[o+h,l+p]]}})}function C4(r,e){var t=e.gridControlAngles,n=rb(e);if(!n)throw new Error("grid center is not provide");if(r.length<2)throw new Error("Invalid grid data");if(!t||t.length===0)throw new Error("Invalid gridControlAngles");var i=(0,we.CR)(n,2),a=i[0],s=i[1];return r.map(function(o,l){var c=o.value,h=(0,we.CR)(xd(c,e),2),p=h[0],C=h[1],k=(0,we.CR)([p-a,C-s],2),W=k[0],j=k[1],K=[];return t.forEach(function(Q){var ee=ic(Q),re=(0,we.CR)([Math.cos(ee),Math.sin(ee)],2),ve=re[0],he=re[1],pe=W*ve-j*he+a,_e=W*he+j*ve+s;K.push([pe,_e])}),{points:K,id:l}})}function O4(r,e,t,n){var i=Yn(t,"grid"),a=i.type,s=i.areaFill,o=rb(t),l=jp(e,t.gridFilter),c=a==="segment"?A4(l,t):C4(l,t),h=(0,we.pi)((0,we.pi)({},i),{center:o,areaFill:xn(s)?l.map(function(p,C){return Ya(s,[p,C,l])}):s,animate:n,data:c});return r.selectAll(Pr.grid.class).data([1]).join(function(p){return p.append(function(){return new f4({style:h})}).attr("className",Pr.grid.name)},function(p){return p.transition(function(){return this.update(h)})},function(p){return p.remove()}).transitions()}function Fi(r,e,t,n,i){return n===void 0&&(n=!0),i===void 0&&(i=!1),n&&r===e||i&&r===t?!0:r>e&&r<t}function P4(r,e,t,n){t===void 0&&(t=2),n===void 0&&(n="top"),Fx(r,{wordWrap:!0,wordWrapWidth:e,maxLines:t,textBaseline:n})}function D4(r,e,t){var n=r.getBBox(),i=n.width,a=n.height,s=(0,we.CR)([e,t].map(function(c,h){var p;return c.includes("%")?parseFloat(((p=c.match(/[+-]?([0-9]*[.])?[0-9]+/))===null||p===void 0?void 0:p[0])||"0")/100*(h===0?i:a):c}),2),o=s[0],l=s[1];return[o,l]}function ib(r,e){if(e)try{var t=/translate\(([+-]*[\d]+[%]*),[ ]*([+-]*[\d]+[%]*)\)/g,n=e.replace(t,function(i,a,s){return"translate(".concat(D4(r,a,s),")")});r.attr("transform",n)}catch(i){}}var ab=function(r){return r!==void 0&&r!=null&&!Number.isNaN(r)},Vp=function(){function r(e,t,n,i){this.set(e,t,n,i)}return Object.defineProperty(r.prototype,"left",{get:function(){return this.x1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"top",{get:function(){return this.y1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"right",{get:function(){return this.x2},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"bottom",{get:function(){return this.y2},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"width",{get:function(){return this.defined("x2")&&this.defined("x1")?this.x2-this.x1:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"height",{get:function(){return this.defined("y2")&&this.defined("y1")?this.y2-this.y1:void 0},enumerable:!1,configurable:!0}),r.prototype.rotatedPoints=function(e,t,n){var i=this,a=i.x1,s=i.y1,o=i.x2,l=i.y2,c=Math.cos(e),h=Math.sin(e),p=t-t*c+n*h,C=n-t*h-n*c,k=[[c*a-h*l+p,h*a+c*l+C],[c*o-h*l+p,h*o+c*l+C],[c*a-h*s+p,h*a+c*s+C],[c*o-h*s+p,h*o+c*s+C]];return k},r.prototype.set=function(e,t,n,i){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),i<t?(this.y2=t,this.y1=i):(this.y1=t,this.y2=i),this},r.prototype.defined=function(e){return this[e]!==Number.MAX_VALUE&&this[e]!==-Number.MAX_VALUE},r}();function bd(r,e){var t=r.getEulerAngles()||0;r.setEulerAngles(0);var n=r.getBounds(),i=(0,we.CR)(n.min,2),a=i[0],s=i[1],o=(0,we.CR)(n.max,2),l=o[0],c=o[1],h=r.getBBox(),p=h.width,C=h.height,k=C,W=0,j=0,K=a,Q=s,ee=zx(r);if(ee){k-=1.5;var re=ee.style.textAlign,ve=ee.style.textBaseline;re==="center"?K=(a+l)/2:(re==="right"||re==="end")&&(K=l),ve==="middle"?Q=(s+c)/2:ve==="bottom"&&(Q=c)}var he=(0,we.CR)(zi(e),4),pe=he[0],_e=pe===void 0?0:pe,Ee=he[1],De=Ee===void 0?0:Ee,Be=he[2],Fe=Be===void 0?_e:Be,Xe=he[3],qe=Xe===void 0?De:Xe,ct=new Vp((W+=a)-qe,(j+=s)-_e,W+p+De,j+k+Fe);return r.setEulerAngles(t),ct.rotatedPoints(ic(t),K,Q)}function _u(r,e){return e[0]<=Math.max(r[0][0],r[1][0])&&e[0]<=Math.min(r[0][0],r[1][0])&&e[1]<=Math.max(r[0][1],r[1][1])&&e[1]<=Math.min(r[0][1],r[1][1])}function Eu(r,e,t){var n=(e[1]-r[1])*(t[0]-e[0])-(e[0]-r[0])*(t[1]-e[1]);return n===0?0:n<0?2:1}function L4(r,e){var t=Eu(r[0],r[1],e[0]),n=Eu(r[0],r[1],e[1]),i=Eu(e[0],e[1],r[0]),a=Eu(e[0],e[1],r[1]);return!!(t!==n&&i!==a||t===0&&_u(r,e[0])||n===0&&_u(r,e[1])||i===0&&_u(e,r[0])||a===0&&_u(e,r[1]))}function R4(r,e){var t=r.length;if(t<3)return!1;var n=[e,[9999,e[1]]],i=0,a=0;do{var s=[r[a],r[(a+1)%t]];if(L4(s,n)){if(Eu(s[0],e,s[1])===0)return _u(s,e);i++}a=(a+1)%t}while(a!==0);return!!(i&1)}function I4(r,e){return e.every(function(t){return R4(r,t)})}function N4(r,e,t){var n=r.x1,i=r.x2,a=r.y1,s=r.y2,o=[[n,a],[i,a],[i,s],[n,s]],l=bd(e,t);return I4(o,l)}function sb(r,e){var t=(0,we.CR)(r,4),n=t[0],i=t[1],a=t[2],s=t[3],o=(0,we.CR)(e,4),l=o[0],c=o[1],h=o[2],p=o[3],C=a-n,k=s-i,W=h-l,j=p-c,K=C*j-W*k;if(K===0)return!1;var Q=K>0,ee=n-l,re=i-c,ve=C*re-k*ee;if(ve<0===Q)return!1;var he=W*re-j*ee;return!(he<0===Q||ve>K===Q||he>K===Q)}function ob(r,e){var t=[[r[0],r[1],r[2],r[3]],[r[2],r[3],r[4],r[5]],[r[4],r[5],r[6],r[7]],[r[6],r[7],r[0],r[1]]];return t.some(function(n){return sb(e,n)})}var pW={lineToLine:sb,intersectBoxLine:ob,getBounds:bd};function B4(r,e,t){var n,i,a=bd(r,t).flat(1),s=bd(e,t).flat(1),o=[[a[0],a[1],a[2],a[3]],[a[0],a[1],a[4],a[5]],[a[4],a[5],a[6],a[7]],[a[2],a[3],a[6],a[7]]];try{for(var l=(0,we.XA)(o),c=l.next();!c.done;c=l.next()){var h=c.value;if(ob(s,h))return!0}}catch(p){n={error:p}}finally{try{c&&!c.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}return!1}function k4(r,e){var t=r.type,n=r.labelDirection,i=r.crossSize;if(!i)return!1;if(t==="arc"){var a=r.center,s=r.radius,o=(0,we.CR)(a,2),l=o[0],c=o[1],h=n==="negative"?0:i,p=-s-h,C=s+h,k=(0,we.CR)(zi(e),4),W=k[0],j=k[1],K=k[2],Q=k[3];return new Vp(l+p-Q,c+p-W,l+C+j,c+C+K)}var ee=(0,we.CR)(r.startPos,2),re=ee[0],ve=ee[1],he=(0,we.CR)(r.endPos,2),pe=he[0],_e=he[1],Ee=(0,we.CR)($x(r)?[-e,0,e,0]:[0,e,0,-e],4),De=Ee[0],Be=Ee[1],Fe=Ee[2],Xe=Ee[3],qe=yu(0,r),ct=eo(qe,i),ht=new Vp(re,ve,pe,_e);return ht.x1+=Xe,ht.y1+=De,ht.x2+=Be+ct[0],ht.y2+=Fe+ct[1],ht}function wd(r,e,t){var n,i,a=e.crossPadding,s=new Set,o=null,l=k4(e,a),c=function(W){return l?N4(l,W):!0},h=function(W,j){return!W||!W.firstChild?!0:!B4(W.firstChild,j.firstChild,zi(t))};try{for(var p=(0,we.XA)(r),C=p.next();!C.done;C=p.next()){var k=C.value;c(k)?!o||h(o,k)?o=k:(s.add(o),s.add(k)):s.add(k)}}catch(W){n={error:W}}finally{try{C&&!C.done&&(i=p.return)&&i.call(p)}finally{if(n)throw n.error}}return Array.from(s)}function Zp(r,e){return e===void 0&&(e={}),Rn(r)?0:typeof r=="number"?r:Math.floor(Z5(r,e))}function z4(r,e,t,n){if(!(r.length<=1)){var i=e.suffix,a=i===void 0?"...":i,s=e.minLength,o=e.maxLength,l=o===void 0?1/0:o,c=e.step,h=c===void 0?" ":c,p=e.margin,C=p===void 0?[0,0,0,0]:p,k=kx(n.getTextShape(r[0])),W=Zp(h,k),j=s?Zp(s,k):W,K=Zp(l,k);(Rn(K)||K===1/0)&&(K=Math.max.apply(null,r.map(function(ct){return ct.getBBox().width})));for(var Q=r.slice(),ee=(0,we.CR)(C,4),re=ee[0],ve=re===void 0?0:re,he=ee[1],pe=he===void 0?0:he,_e=ee[2],Ee=_e===void 0?ve:_e,De=ee[3],Be=De===void 0?pe:De,Fe=function(ct){if(Q.forEach(function(ht){n.ellipsis(n.getTextShape(ht),ct,a)}),Q=wd(r,t,C),Q.length<1)return{value:void 0}},Xe=K;Xe>j+W;Xe-=W){var qe=Fe(Xe);if(typeof qe=="object")return qe.value}}}var F4={parity:function(r,e){var t=e.seq,n=t===void 0?2:t;return r.filter(function(i,a){return a%n?(vs(i),!1):!0})}},U4=function(r){return r.filter(ab)};function W4(r,e,t,n){var i=r.length,a=e.keepHeader,s=e.keepTail;if(!(i<=1||i===2&&a&&s)){var o=F4.parity,l=function(re){return re.forEach(n.show),re},c=2,h=r.slice(),p=r.slice(),C=Math.min.apply(Math,(0,we.ev)([1],(0,we.CR)(r.map(function(re){return re.getBBox().width})),!1));if(t.type==="linear"&&(qx(t)||$x(t))){var k=Bx(r[0]).left,W=Bx(r[i-1]).right,j=Math.abs(W-k)||1;c=Math.max(Math.floor(i*C/j),c)}var K,Q;for(a&&(K=h.splice(0,1)[0]),s&&(Q=h.splice(-1,1)[0],h.reverse()),l(h);c<r.length&&wd(U4(Q?(0,we.ev)((0,we.ev)([Q],(0,we.CR)(p),!1),[K],!1):(0,we.ev)([K],(0,we.CR)(p),!1)),t,e==null?void 0:e.margin).length;){if(Q&&!K&&c%2===0){var ee=h.splice(0,1);ee.forEach(n.hide)}else if(Q&&K){var ee=h.splice(0,1);ee.forEach(n.hide)}p=o(l(h),{seq:c}),c++}}}function H4(r,e,t,n){var i,a,s=e.optionalAngles,o=s===void 0?[0,45,90]:s,l=e.margin,c=e.recoverWhenFailed,h=c===void 0?!0:c,p=r.map(function(Q){return Q.getLocalEulerAngles()}),C=function(){return wd(r,t,l).length<1},k=function(Q){return r.forEach(function(ee,re){var ve=Array.isArray(Q)?Q[re]:Q;n.rotate(ee,+ve)})};try{for(var W=(0,we.XA)(o),j=W.next();!j.done;j=W.next()){var K=j.value;if(k(K),C())return}}catch(Q){i={error:Q}}finally{try{j&&!j.done&&(a=W.return)&&a.call(W)}finally{if(i)throw i.error}}h&&k(p)}function j4(r){var e=r.type,t=r.labelDirection;return e==="linear"&&qx(r)?t==="negative"?"bottom":"top":"middle"}function G4(r,e,t,n){var i=e.wordWrapWidth,a=i===void 0?50:i,s=e.maxLines,o=s===void 0?3:s,l=e.recoverWhenFailed,c=l===void 0?!0:l,h=e.margin,p=h===void 0?[0,0,0,0]:h,C=r.map(function(ee){return ee.attr("maxLines")||1}),k=Math.min.apply(Math,(0,we.ev)([],(0,we.CR)(C),!1)),W=function(){return wd(r,t,p).length<1},j=j4(t),K=function(ee){return r.forEach(function(re,ve){var he=Array.isArray(ee)?ee[ve]:ee;n.wrap(re,a,he,j)})};if(!(k>o)){for(var Q=k;Q<=o;Q++)if(K(Q),W())return;c&&K(C)}}var V4=new Map([["hide",W4],["rotate",H4],["ellipsis",z4],["wrap",G4]]);function Z4(r,e,t){return e.labelOverlap.length<1?!1:t==="hide"?!t5(r[0]):t==="rotate"?!r.some(function(n){var i;return!!(!((i=n.attr("transform"))===null||i===void 0)&&i.includes("rotate"))}):t==="ellipsis"||t==="wrap"?r.filter(function(n){return n.querySelector("text")}).length>1:!0}function K4(r,e,t){var n=e.labelOverlap,i=n===void 0?[]:n;i.length&&i.forEach(function(a){var s=a.type,o=V4.get(s);Z4(r,e,s)&&(o==null||o(r,a,e,t))})}function X4(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=function(n){return n==="positive"?-1:1};return r.reduce(function(n,i){return n*t(i)},1)}function lb(r){for(var e=r;e<0;)e+=360;return Math.round(e%360)}function Kp(r,e){var t=(0,we.CR)(r,2),n=t[0],i=t[1],a=(0,we.CR)(e,2),s=a[0],o=a[1],l=(0,we.CR)([n*s+i*o,n*o-i*s],2),c=l[0],h=l[1];return Math.atan2(h,c)}function Y4(r){var e=(r+360)%180;return Fi(e,-90,90)||(e+=180),e}function Q4(r,e,t){var n,i=t.labelAlign,a=(n=e.style.transform)===null||n===void 0?void 0:n.includes("rotate");if(a)return e.getLocalEulerAngles();var s=0,o=yu(r.value,t),l=Ed(r.value,t);return i==="horizontal"?0:(i==="perpendicular"?s=Kp([1,0],o):s=Kp([l[0]<0?-1:1,0],l),Y4(Zx(s)))}function cb(r,e,t){var n=t.type,i=t.labelAlign,a=yu(r,t),s=lb(e),o=lb(Zx(Kp([1,0],a))),l="center",c="middle";return n==="linear"?[90,270].includes(o)&&s===0?(l="center",c=a[1]===1?"top":"bottom"):!(o%180)&&[90,270].includes(s)?l="center":o===0?(Fi(s,0,90,!1,!0)||Fi(s,0,90)||Fi(s,270,360))&&(l="start"):o===90?Fi(s,0,90,!1,!0)?l="start":(Fi(s,90,180)||Fi(s,270,360))&&(l="end"):o===270?Fi(s,0,90,!1,!0)?l="end":(Fi(s,90,180)||Fi(s,270,360))&&(l="start"):o===180&&(s===90?l="start":(Fi(s,0,90)||Fi(s,270,360))&&(l="end")):i==="parallel"?Fi(o,0,180,!0)?c="top":c="bottom":i==="horizontal"?Fi(o,90,270,!1)?l="end":(Fi(o,270,360,!1)||Fi(o,0,90))&&(l="start"):i==="perpendicular"&&(Fi(o,90,270)?l="end":l="start"),{textAlign:l,textBaseline:c}}function J4(r,e,t){e.setLocalEulerAngles(r);var n=e.__data__.value,i=cb(n,r,t),a=e.querySelector(Pr.labelItem.class);a&&hb(a,i)}function ub(r,e,t){var n=t.showTick,i=t.tickLength,a=t.tickDirection,s=t.labelDirection,o=t.labelSpacing,l=e.indexOf(r),c=Ya(o,[r,l,e]),h=(0,we.CR)([yu(r.value,t),X4(s,a)],2),p=h[0],C=h[1],k=C===1?Ya(n?i:0,[r,l,e]):0,W=(0,we.CR)(pu(eo(p,c+k),xd(r.value,t)),2),j=W[0],K=W[1];return{x:j,y:K}}function q4(r,e,t,n){var i=n.labelFormatter,a=xn(i)?function(){return $s(Ya(i,[r,e,t,yu(r.value,n)]))}:function(){return $s(r.label||"")};return a}function hb(r,e){r.nodeName==="text"&&r.attr(e)}function fb(r){K4(this.node().childNodes,r,{hide:vs,show:du,rotate:function(e,t){J4(+t,e,r)},ellipsis:function(e,t,n){e&&Np(e,t||1/0,n)},wrap:function(e,t,n){e&&P4(e,t,n)},getTextShape:function(e){return e.querySelector("text")}})}function db(r,e,t,n,i){var a=t.indexOf(e),s=bn(r).append(q4(e,a,t,i)).attr("className",Pr.labelItem.name).node(),o=(0,we.CR)(qs(Qx(n,[e,a,t])),2),l=o[0],c=o[1],h=c.transform,p=(0,we._T)(c,["transform"]);ib(s,h);var C=Q4(e,s,i);return s.getLocalEulerAngles()||s.setLocalEulerAngles(C),hb(s,(0,we.pi)((0,we.pi)({},cb(e.value,C,i)),l)),r.attr(p),s}function $4(r,e,t,n){var i=jp(e,t.labelFilter),a=Yn(t,"label");return r.selectAll(Pr.label.class).data(i,function(s,o){return o}).join(function(s){return s.append("g").attr("className",Pr.label.name).transition(function(o){db(this,o,e,a,t);var l=ub(o,e,t),c=l.x,h=l.y;return this.style.transform="translate(".concat(c,", ").concat(h,")"),null}).call(function(){fb.call(r,t)})},function(s){return s.transition(function(o){var l=this.querySelector(Pr.labelItem.class),c=db(this,o,e,a,t),h=y5(l,c,n.update),p=ub(o,e,t),C=p.x,k=p.y,W=ps(this,{transform:"translate(".concat(C,", ").concat(k,")")},n.update);return(0,we.ev)((0,we.ev)([],(0,we.CR)(h),!1),[W],!1)}).call(function(o){var l=aa(o,"_transitions").flat().filter(ab);p5(l,function(){fb.call(r,t)})})},function(s){return s.transition(function(){var o=this,l=_d(this.childNodes[0],n.exit);return rc(l,function(){return bn(o).remove()}),l})}).transitions()}function vb(r,e){return Gp(r,e.tickDirection,e)}function e8(r,e){var t=(0,we.CR)(r,2),n=t[0],i=t[1];return[[0,0],[n*e,i*e]]}function t8(r,e,t,n,i){var a=i.tickLength,s=(0,we.CR)(e8(n,Ya(a,[r,e,t])),2),o=(0,we.CR)(s[0],2),l=o[0],c=o[1],h=(0,we.CR)(s[1],2),p=h[0],C=h[1];return{x1:l,x2:p,y1:c,y2:C}}function n8(r,e,t,n,i){var a=i.tickFormatter,s=vb(e.value,i),o="line";return xn(a)&&(o=function(){return Ya(a,[e,t,n,s])}),r.append(o).attr("className",Pr.tickItem.name)}function r8(r,e,t,n,i,a,s){var o=vb(r.value,a),l=t8(r,e,t,o,a),c=l.x1,h=l.x2,p=l.y1,C=l.y2,k=(0,we.CR)(qs(Qx(s,[r,e,t,o])),2),W=k[0],j=k[1];n.node().nodeName==="line"&&n.styles((0,we.pi)({x1:c,x2:h,y1:p,y2:C},W)),i.attr(j),n.styles(W)}function gb(r,e,t,n,i,a){var s=n8(bn(this),r,e,t,n);r8(r,e,t,s,this,n,i);var o=(0,we.CR)(xd(r.value,n),2),l=o[0],c=o[1];return ps(this,{transform:"translate(".concat(l,", ").concat(c,")")},a)}function i8(r,e,t,n){var i=jp(e,t.tickFilter),a=Yn(t,"tick");return r.selectAll(Pr.tick.class).data(i,function(s){return s.id||s.label}).join(function(s){return s.append("g").attr("className",Pr.tick.name).transition(function(o,l){return gb.call(this,o,l,i,t,a,!1)})},function(s){return s.transition(function(o,l){return this.removeChildren(),gb.call(this,o,l,i,t,a,n.update)})},function(s){return s.transition(function(){var o=this,l=_d(this.childNodes[0],n.exit);return rc(l,function(){return o.remove()}),l})}).transitions()}function a8(r,e,t){var n=t.titlePosition,i=n===void 0?"lb":n,a=t.titleSpacing,s=dd(i),o=r.node().getLocalBounds(),l=(0,we.CR)(o.min,2),c=l[0],h=l[1],p=(0,we.CR)(o.halfExtents,2),C=p[0],k=p[1],W=(0,we.CR)(e.node().getLocalBounds().halfExtents,2),j=W[0],K=W[1],Q=(0,we.CR)([c+C,h+k],2),ee=Q[0],re=Q[1],ve=(0,we.CR)(zi(a),4),he=ve[0],pe=ve[1],_e=ve[2],Ee=ve[3];if(["start","end"].includes(i)&&t.type==="linear"){var De=t.startPos,Be=t.endPos,Fe=(0,we.CR)(i==="start"?[De,Be]:[Be,De],2),Xe=Fe[0],qe=Fe[1],ct=Vx([-qe[0]+Xe[0],-qe[1]+Xe[1]]),ht=(0,we.CR)(eo(ct,he),2),St=ht[0],bt=ht[1];return{x:Xe[0]+St,y:Xe[1]+bt}}return s.includes("t")&&(re-=k+K+he),s.includes("r")&&(ee+=C+j+pe),s.includes("l")&&(ee-=C+j+Ee),s.includes("b")&&(re+=k+K+_e),{x:ee,y:re}}function s8(r,e,t){var n=r.getGeometryBounds().halfExtents,i=n[1]*2;if(e==="vertical"){if(t==="left")return"rotate(-90) translate(0, ".concat(i/2,")");if(t==="right")return"rotate(-90) translate(0, -".concat(i/2,")")}return""}function pb(r,e,t,n,i){var a=Yn(n,"title"),s=(0,we.CR)(qs(a),2),o=s[0],l=s[1],c=l.transform,h=l.transformOrigin,p=(0,we._T)(l,["transform","transformOrigin"]);e.styles(p);var C=c||s8(r.node(),o.direction,o.position);r.styles((0,we.pi)((0,we.pi)({},o),{transformOrigin:h})),ib(r.node(),C);var k=a8(bn(t._offscreen||t.querySelector(Pr.mainGroup.class)),e,n),W=k.x,j=k.y,K=ps(e.node(),{transform:"translate(".concat(W,", ").concat(j,")")},i);return K}function o8(r,e,t,n){var i=t.titleText;return r.selectAll(Pr.title.class).data([{title:i}].filter(function(a){return!!a.title}),function(a,s){return a.title}).join(function(a){return a.append(function(){return $s(i)}).attr("className",Pr.title.name).transition(function(){return pb(bn(this),r,e,t,n.enter)})},function(a){return a.transition(function(){return pb(bn(this),r,e,t,n.update)})},function(a){return a.remove()}).transitions()}function mb(r,e,t,n){var i=r.showLine,a=r.showTick,s=r.showLabel,o=e.maybeAppendByClassName(Pr.lineGroup,"g"),l=Ra(i,o,function(k){return S4(k,r,n)})||[],c=e.maybeAppendByClassName(Pr.tickGroup,"g"),h=Ra(a,c,function(k){return i8(k,t,r,n)})||[],p=e.maybeAppendByClassName(Pr.labelGroup,"g"),C=Ra(s,p,function(k){return $4(k,t,r,n)})||[];return(0,we.ev)((0,we.ev)((0,we.ev)([],(0,we.CR)(l),!1),(0,we.CR)(h),!1),(0,we.CR)(C),!1).filter(function(k){return!!k})}var l8=function(r){(0,we.ZT)(e,r);function e(t){return r.call(this,t,Fp)||this}return e.prototype.render=function(t,n,i){var a=this,s=t.titleText,o=t.data,l=t.animate,c=t.showTitle,h=t.showGrid,p=t.dataThreshold,C=t.truncRange,k=r4(o,p).filter(function(he){var pe=he.value;return!(C&&pe>C[0]&&pe<C[1])}),W=Cx(i===void 0?l:i),j=bn(n).maybeAppendByClassName(Pr.gridGroup,"g"),K=Ra(h,j,function(he){return O4(he,k,t,W)})||[],Q=bn(n).maybeAppendByClassName(Pr.mainGroup,"g");s&&(!this.initialized&&W.enter||this.initialized&&W.update)&&mb(t,bn(this.offscreenGroup),k,Cx(!1));var ee=mb(t,bn(Q.node()),k,W),re=bn(n).maybeAppendByClassName(Pr.titleGroup,"g"),ve=Ra(c,re,function(he){return o8(he,a,t,W)})||[];return(0,we.ev)((0,we.ev)((0,we.ev)([],(0,we.CR)(K),!1),(0,we.CR)(ee),!1),(0,we.CR)(ve),!1).flat().filter(function(he){return!!he})},e}(ti);function yb(r){var e=r.canvas,t=r.touches,n=r.offsetX,i=r.offsetY;if(e){var a=e.x,s=e.y;return[a,s]}if(t){var o=t[0],l=o.clientX,c=o.clientY;return[l,c]}return n&&i?[n,i]:[0,0]}function Xp(r,e){return+r.toPrecision(e)}function mW(r){return r.toLocaleString()}function yW(r){return r.toExponential()}function _W(r,e){return e===void 0&&(e=0),Math.abs(r)<1e3?String(r):"".concat(Xp(r/1e3,e).toLocaleString(),"K")}var EW=function(r,e,t){return r<0&&Number.isFinite(r)?e:t},xW=function(r,e,t){return r>0&&Number.isFinite(r)?e:t},bW=function(r,e){return r*e},wW=function(r,e){return r/2+(e||0)/2},Yp=function(r){return r};class _b{constructor(e){this.options=ia({},this.getDefaultOptions()),this.update(e)}getOptions(){return this.options}update(e={}){this.options=ia({},this.options,e),this.rescale(e)}rescale(e){}}function Qp(r,e){return e-r?t=>(t-r)/(e-r):t=>.5}function Md(r,...e){return e.reduce((t,n)=>i=>t(n(i)),r)}function c8(r,e,t,n,i){let a=t||0,s=n||r.length;const o=i||(l=>l);for(;a<s;){const l=Math.floor((a+s)/2);o(r[l])>e?s=l:a=l+1}return a}var u8=Z(75196),h8=Z.n(u8);function Jp(r,e,t){let n=t;return n<0&&(n+=1),n>1&&(n-=1),n<1/6?r+(e-r)*6*n:n<1/2?e:n<2/3?r+(e-r)*(2/3-n)*6:r}function f8(r){const e=r[0]/360,t=r[1]/100,n=r[2]/100,i=r[3];if(t===0)return[n*255,n*255,n*255,i];const a=n<.5?n*(1+t):n+t-n*t,s=2*n-a,o=Jp(s,a,e+1/3),l=Jp(s,a,e),c=Jp(s,a,e-1/3);return[o*255,l*255,c*255,i]}function Eb(r){const e=h8().get(r);if(!e)return null;const{model:t,value:n}=e;return t==="rgb"?n:t==="hsl"?f8(n):null}const Sd=(r,e)=>t=>r*(1-t)+e*t,d8=(r,e)=>{const t=Eb(r),n=Eb(e);return t===null||n===null?t?()=>r:()=>e:i=>{const a=new Array(4);for(let h=0;h<4;h+=1){const p=t[h],C=n[h];a[h]=p*(1-i)+C*i}const[s,o,l,c]=a;return`rgba(${Math.round(s)}, ${Math.round(o)}, ${Math.round(l)}, ${c})`}},v8=(r,e)=>typeof r=="number"&&typeof e=="number"?Sd(r,e):typeof r=="string"&&typeof e=="string"?d8(r,e):()=>r,g8=(r,e)=>{const t=Sd(r,e);return n=>Math.round(t(n))};function p8(r){return r===null}function xb(r){return!Gn(r)&&!p8(r)&&!Number.isNaN(r)}const qp=Math.sqrt(50),$p=Math.sqrt(10),e0=Math.sqrt(2);function Td(r,e,t){const n=(e-r)/Math.max(0,t),i=Math.floor(Math.log(n)/Math.LN10),a=n/No(10,i);return i>=0?(a>=qp?10:a>=$p?5:a>=e0?2:1)*No(10,i):-No(10,-i)/(a>=qp?10:a>=$p?5:a>=e0?2:1)}function MW(r,e,t){const n=Math.abs(e-r)/Math.max(0,t);let i=No(10,Math.floor(Math.log(n)/Math.LN10));const a=n/i;return a>=qp?i*=10:a>=$p?i*=5:a>=e0&&(i*=2),e<r?-i:i}const m8=(r,e,t=5)=>{const n=[r,e];let i=0,a=n.length-1,s=n[i],o=n[a],l;return o<s&&([s,o]=[o,s],[i,a]=[a,i]),l=Td(s,o,t),l>0?(s=Math.floor(s/l)*l,o=Math.ceil(o/l)*l,l=Td(s,o,t)):l<0&&(s=Math.ceil(s*l)/l,o=Math.floor(o*l)/l,l=Td(s,o,t)),l>0?(n[i]=Math.floor(s/l)*l,n[a]=Math.ceil(o/l)*l):l<0&&(n[i]=Math.ceil(s*l)/l,n[a]=Math.floor(o*l)/l),n};function y8(r,e){const t=e<r?e:r,n=r>e?r:e;return i=>Math.min(Math.max(t,i),n)}const _8=(r,e,t)=>{const[n,i]=r,[a,s]=e;let o,l;return n<i?(o=Qp(n,i),l=t(a,s)):(o=Qp(i,n),l=t(s,a)),Md(l,o)},E8=(r,e,t)=>{const n=Math.min(r.length,e.length)-1,i=new Array(n),a=new Array(n),s=r[0]>r[n],o=s?[...r].reverse():r,l=s?[...e].reverse():e;for(let c=0;c<n;c+=1)i[c]=Qp(o[c],o[c+1]),a[c]=t(l[c],l[c+1]);return c=>{const h=c8(r,c,1,n)-1,p=i[h],C=a[h];return Md(C,p)(c)}},bb=(r,e,t,n)=>(Math.min(r.length,e.length)>2?E8:_8)(r,e,n?g8:t);class x8 extends _b{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:Sd,tickCount:5}}map(e){return xb(e)?this.output(e):this.options.unknown}invert(e){return xb(e)?this.input(e):this.options.unknown}nice(){if(!this.options.nice)return;const[e,t,n,...i]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(e,t,n,...i)}getTicks(){const{tickMethod:e}=this.options,[t,n,i,...a]=this.getTickMethodOptions();return e(t,n,i,...a)}getTickMethodOptions(){const{domain:e,tickCount:t}=this.options,n=e[0],i=e[e.length-1];return[n,i,t]}chooseNice(){return m8}rescale(){this.nice();const[e,t]=this.chooseTransforms();this.composeOutput(e,this.chooseClamp(e)),this.composeInput(e,t,this.chooseClamp(t))}chooseClamp(e){const{clamp:t,range:n}=this.options,i=this.options.domain.map(e),a=Math.min(i.length,n.length);return t?y8(i[0],i[a-1]):Yp}composeOutput(e,t){const{domain:n,range:i,round:a,interpolate:s}=this.options,o=bb(n.map(e),i,s,a);this.output=Md(o,t,e)}composeInput(e,t,n){const{domain:i,range:a}=this.options,s=bb(a,i.map(e),Sd);this.input=Md(t,n,s)}}const b8=(r,e,t)=>{let n,i,a=r,s=e;if(a===s&&t>0)return[a];let o=Td(a,s,t);if(o===0||!Number.isFinite(o))return[];if(o>0){a=Math.ceil(a/o),s=Math.floor(s/o),i=new Array(n=Math.ceil(s-a+1));for(let l=0;l<n;l+=1)i[l]=(a+l)*o}else{o=-o,a=Math.ceil(a*o),s=Math.floor(s*o),i=new Array(n=Math.ceil(s-a+1));for(let l=0;l<n;l+=1)i[l]=(a+l)/o}return i};class xu extends x8{getDefaultOptions(){return{domain:[0,1],range:[0,1],unknown:void 0,nice:!1,clamp:!1,round:!1,interpolate:v8,tickMethod:b8,tickCount:5}}chooseTransforms(){return[Yp,Yp]}clone(){return new xu(this.options)}}function wb({map:r,initKey:e},t){const n=e(t);return r.has(n)?r.get(n):t}function w8({map:r,initKey:e},t){const n=e(t);return r.has(n)?r.get(n):(r.set(n,t),t)}function M8({map:r,initKey:e},t){const n=e(t);return r.has(n)&&(t=r.get(n),r.delete(n)),t}function S8(r){return typeof r=="object"?r.valueOf():r}class Mb extends Map{constructor(e){if(super(),this.map=new Map,this.initKey=S8,e!==null)for(const[t,n]of e)this.set(t,n)}get(e){return super.get(wb({map:this.map,initKey:this.initKey},e))}has(e){return super.has(wb({map:this.map,initKey:this.initKey},e))}set(e,t){return super.set(w8({map:this.map,initKey:this.initKey},e),t)}delete(e){return super.delete(M8({map:this.map,initKey:this.initKey},e))}}const t0=Symbol("defaultUnknown");function Sb(r,e,t){for(let n=0;n<e.length;n+=1)r.has(e[n])||r.set(t(e[n]),n)}function Tb(r){const{value:e,from:t,to:n,mapper:i,notFoundReturn:a}=r;let s=i.get(e);if(s===void 0){if(a!==t0)return a;s=t.push(e)-1,i.set(e,s)}return n[s%n.length]}function Ab(r){return r instanceof Date?e=>`${e}`:typeof r=="object"?e=>JSON.stringify(e):e=>e}class n0 extends _b{getDefaultOptions(){return{domain:[],range:[],unknown:t0}}constructor(e){super(e)}map(e){return this.domainIndexMap.size===0&&Sb(this.domainIndexMap,this.getDomain(),this.domainKey),Tb({value:this.domainKey(e),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(e){return this.rangeIndexMap.size===0&&Sb(this.rangeIndexMap,this.getRange(),this.rangeKey),Tb({value:this.rangeKey(e),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(e){const[t]=this.options.domain,[n]=this.options.range;if(this.domainKey=Ab(t),this.rangeKey=Ab(n),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!e||e.range)&&this.rangeIndexMap.clear(),(!e||e.domain||e.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new n0(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:e,compare:t}=this.options;return this.sortedDomain=t?[...e].sort(t):e,this.sortedDomain}}function T8(r){const e=Math.min(...r);return r.map(t=>t/e)}function A8(r,e){const t=r.length,n=e-t;return n>0?[...r,...new Array(n).fill(1)]:n<0?r.slice(0,e):r}function C8(r){return Math.round(r*1e12)/1e12}function O8(r){const{domain:e,range:t,paddingOuter:n,paddingInner:i,flex:a,round:s,align:o}=r,l=e.length,c=A8(a,l),[h,p]=t,C=p-h,k=2/l*n+1-1/l*i,W=C/k,j=W*i/l,K=W-l*j,Q=T8(c),ee=Q.reduce((Xe,qe)=>Xe+qe),re=K/ee,ve=new Mb(e.map((Xe,qe)=>{const ct=Q[qe]*re;return[Xe,s?Math.floor(ct):ct]})),he=new Mb(e.map((Xe,qe)=>{const ht=Q[qe]*re+j;return[Xe,s?Math.floor(ht):ht]})),pe=Array.from(he.values()).reduce((Xe,qe)=>Xe+qe),Ee=(C-(pe-pe/l*i))*o,De=h+Ee;let Be=s?Math.round(De):De;const Fe=new Array(l);for(let Xe=0;Xe<l;Xe+=1){Fe[Xe]=C8(Be);const qe=e[Xe];Be+=he.get(qe)}return{valueBandWidth:ve,valueStep:he,adjustedRange:Fe}}function P8(r){var e;const{domain:t}=r,n=t.length;if(n===0)return{valueBandWidth:void 0,valueStep:void 0,adjustedRange:[]};if(!!(!((e=r.flex)===null||e===void 0)&&e.length))return O8(r);const{range:a,paddingOuter:s,paddingInner:o,round:l,align:c}=r;let h,p,C=a[0];const W=a[1]-C,j=s*2,K=n-o;h=W/Math.max(1,j+K),l&&(h=Math.floor(h)),C+=(W-h*(n-o))*c,p=h*(1-o),l&&(C=Math.round(C),p=Math.round(p));const Q=new Array(n).fill(0).map((ee,re)=>C+re*h);return{valueStep:h,valueBandWidth:p,adjustedRange:Q}}class r0 extends n0{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:t0,flex:[]}}constructor(e){super(e)}clone(){return new r0(this.options)}getStep(e){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:e===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(e)}getBandWidth(e){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:e===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(e)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:e,paddingInner:t}=this.options;return e>0?e:t}getPaddingOuter(){const{padding:e,paddingOuter:t}=this.options;return e>0?e:t}rescale(){super.rescale();const{align:e,domain:t,range:n,round:i,flex:a}=this.options,{adjustedRange:s,valueBandWidth:o,valueStep:l}=P8({align:e,range:n,round:i,flex:a,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:t});this.valueStep=l,this.valueBandWidth=o,this.adjustedRange=s}}var D8=function(r){(0,we.ZT)(e,r);function e(t){var n=this,i=t.style,a=(0,we._T)(t,["style"]);return n=r.call(this,ia({},{type:"column"},(0,we.pi)({style:i},a)))||this,n.columnsGroup=new Ei({name:"columns"}),n.appendChild(n.columnsGroup),n.render(),n}return e.prototype.render=function(){var t=this.attributes,n=t.columns,i=t.x,a=t.y;this.columnsGroup.style.transform="translate(".concat(i,", ").concat(a,")"),bn(this.columnsGroup).selectAll(".column").data(n.flat()).join(function(s){return s.append("rect").attr("className","column").each(function(o){this.attr(o)})},function(s){return s.each(function(o){this.attr(o)})},function(s){return s.remove()})},e.prototype.update=function(t){this.attr(Oi({},this.attributes,t)),this.render()},e.prototype.clear=function(){this.removeChildren()},e}(Fr),L8=function(r){(0,we.ZT)(e,r);function e(t){var n=this,i=t.style,a=(0,we._T)(t,["style"]);return n=r.call(this,ia({},{type:"lines"},(0,we.pi)({style:i},a)))||this,n.linesGroup=n.appendChild(new Ei),n.areasGroup=n.appendChild(new Ei),n.render(),n}return e.prototype.render=function(){var t=this.attributes,n=t.lines,i=t.areas,a=t.x,s=t.y;this.style.transform="translate(".concat(a,", ").concat(s,")"),n&&this.renderLines(n),i&&this.renderAreas(i)},e.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},e.prototype.update=function(t){this.attr(Oi({},this.attributes,t)),this.render()},e.prototype.renderLines=function(t){bn(this.linesGroup).selectAll(".line").data(t).join(function(n){return n.append("path").attr("className","line").each(function(i){this.attr(i)})},function(n){return n.each(function(i){this.attr(i)})},function(n){return n.remove()})},e.prototype.renderAreas=function(t){bn(this.linesGroup).selectAll(".area").data(t).join(function(n){return n.append("path").attr("className","area").each(function(i){this.attr(i)})},function(n){return n.each(function(i){this.style(i)})},function(n){return n.remove()})},e}(Fr);function R8(r,e,t,n){var i,a=[],s=!!n,o,l,c=[1/0,1/0],h=[-1/0,-1/0],p,C,k;if(s){i=(0,we.CR)(n,2),c=i[0],h=i[1];for(var W=0,j=r.length;W<j;W+=1){var K=r[W];c=_l(c,K),h=El(h,K)}}for(var W=0,Q=r.length;W<Q;W+=1){var K=r[W];if(W===0&&!t)k=K;else if(W===Q-1&&!t)C=K,a.push(k),a.push(C);else{var ee=[W?W-1:Q-1,W-1][t?0:1];o=r[ee],l=r[t?(W+1)%Q:W+1];var re=[0,0];re=Up(l,o),re=eo(re,e);var ve=mu(K,o),he=mu(K,l),pe=ve+he;pe!==0&&(ve/=pe,he/=pe);var _e=eo(re,-ve),Ee=eo(re,he);C=pu(K,_e),p=pu(K,Ee),p=_l(p,El(l,K)),p=El(p,_l(l,K)),_e=Up(p,K),_e=eo(_e,-ve/he),C=pu(K,_e),C=_l(C,El(o,K)),C=El(C,_l(o,K)),Ee=Up(K,C),Ee=eo(Ee,he/ve),p=pu(K,Ee),s&&(C=El(C,c),C=_l(C,h),p=El(p,c),p=_l(p,h)),a.push(k),a.push(C),k=p}}return t&&a.push(a.shift()),a}function I8(r,e,t){var n;e===void 0&&(e=!1),t===void 0&&(t=[[0,0],[1,1]]);for(var i=!!e,a=[],s=0,o=r.length;s<o;s+=2)a.push([r[s],r[s+1]]);for(var l=R8(a,.4,i,t),c=a.length,h=[],p,C,k,s=0;s<c-1;s+=1)p=l[s*2],C=l[s*2+1],k=a[s+1],h.push(["C",p[0],p[1],C[0],C[1],k[0],k[1]]);return i&&(p=l[c],C=l[c+1],n=(0,we.CR)(a,1),k=n[0],h.push(["C",p[0],p[1],C[0],C[1],k[0],k[1]])),h}function N8(r,e){var t,n=e.x,i=e.y,a=(0,we.CR)(i.getOptions().range||[0,0],2),s=a[0],o=a[1];return o>s&&(t=(0,we.CR)([s,o],2),o=t[0],s=t[1]),r.map(function(l){var c=l.map(function(h,p){return[n.map(p),Yr(i.map(h),o,s)]});return c})}function bu(r,e){e===void 0&&(e=!1);var t=e?r.length-1:0,n=r.map(function(i,a){return(0,we.ev)([a===t?"M":"L"],(0,we.CR)(i),!1)});return e?n.reverse():n}function Ad(r,e){if(e===void 0&&(e=!1),r.length<=2)return bu(r);for(var t=[],n=r.length,i=0;i<n;i+=1){var a=e?r[n-i-1]:r[i];si(a,t.slice(-2))||t.push.apply(t,(0,we.ev)([],(0,we.CR)(a),!1))}var s=I8(t,!1);return e?s.unshift((0,we.ev)(["M"],(0,we.CR)(r[n-1]),!1)):s.unshift((0,we.ev)(["M"],(0,we.CR)(r[0]),!1)),s}function i0(r,e,t){var n=jl(r);return n.push(["L",e,t],["L",0,t],["Z"]),n}function B8(r,e,t,n){return r.map(function(i){return i0(e?Ad(i):bu(i),t,n)})}function k8(r,e,t){for(var n=[],i=r.length-1;i>=0;i-=1){var a=r[i],s=bu(a),o=void 0;if(i===0)o=i0(s,e,t);else{var l=r[i-1],c=bu(l,!0);c[0][0]="L",o=(0,we.ev)((0,we.ev)((0,we.ev)([],(0,we.CR)(s),!1),(0,we.CR)(c),!1),[["Z"]],!1)}n.push(o)}return n}function z8(r,e,t){for(var n=[],i=r.length-1;i>=0;i-=1){var a=r[i],s=Ad(a),o=void 0;if(i===0)o=i0(s,e,t);else{var l=r[i-1],c=Ad(l,!0),h=a[0];c[0][0]="L",o=(0,we.ev)((0,we.ev)((0,we.ev)([],(0,we.CR)(s),!1),(0,we.CR)(c),!1),[(0,we.ev)(["M"],(0,we.CR)(h),!1),["Z"]],!1)}n.push(o)}return n}var F8=function(r,e){if(Ma(r)){for(var t,n=1/0,i=0;i<r.length;i++){var a=r[i],s=xn(e)?e(a):a[e];s<n&&(t=a,n=s)}return t}},U8=function(r,e){if(Ma(r)){for(var t,n=-1/0,i=0;i<r.length;i++){var a=r[i],s=xn(e)?e(a):a[e];s>n&&(t=a,n=s)}return t}};function Cb(r){return r.length===0?[0,0]:[Iu(F8(r,function(e){return Iu(e)||0})),Nu(U8(r,function(e){return Nu(e)||0}))]}function Ob(r){for(var e=jl(r),t=e[0].length,n=(0,we.CR)([Array(t).fill(0),Array(t).fill(0)],2),i=n[0],a=n[1],s=0;s<e.length;s+=1)for(var o=e[s],l=0;l<t;l+=1)o[l]>=0?(o[l]+=i[l],i[l]=o[l]):(o[l]+=a[l],a[l]=o[l]);return e}var W8=function(r){(0,we.ZT)(e,r);function e(t){return r.call(this,t,{type:"line",x:0,y:0,width:200,height:20,isStack:!1,color:["#83daad","#edbf45","#d2cef9","#e290b3","#6f63f4"],smooth:!0,lineLineWidth:1,areaOpacity:0,isGroup:!1,columnLineWidth:1,columnStroke:"#fff",scale:1,spacing:0})||this}return Object.defineProperty(e.prototype,"rawData",{get:function(){var t=this.attributes.data;if(!t||(t==null?void 0:t.length)===0)return[[]];var n=jl(t);return dn(n[0])?[n]:n},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return this.attributes.isStack?Ob(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"baseline",{get:function(){var t=this.scales.y,n=(0,we.CR)(t.getOptions().domain||[0,0],2),i=n[0],a=n[1];return a<0?t.map(a):t.map(i<0?0:i)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"containerShape",{get:function(){var t=this.attributes,n=t.width,i=t.height;return{width:n,height:i}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linesStyle",{get:function(){var t=this,n=this.attributes,i=n.type,a=n.isStack,s=n.smooth;if(i!=="line")throw new Error("linesStyle can only be used in line type");var o=Yn(this.attributes,"area"),l=Yn(this.attributes,"line"),c=this.containerShape.width,h=this.data;if(h[0].length===0)return{lines:[],areas:[]};var p=this.scales,C=p.x,k=p.y,W=N8(h,{type:"line",x:C,y:k}),j=[];if(o){var K=this.baseline;a?j=s?z8(W,c,K):k8(W,c,K):j=B8(W,s,c,K)}return{lines:W.map(function(Q,ee){return(0,we.pi)({stroke:t.getColor(ee),d:s?Ad(Q):bu(Q)},l)}),areas:j.map(function(Q,ee){return(0,we.pi)({d:Q,fill:t.getColor(ee)},o)})}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"columnsStyle",{get:function(){var t=this,n=Yn(this.attributes,"column"),i=this.attributes,a=i.isStack,s=i.type,o=i.scale;if(s!=="column")throw new Error("columnsStyle can only be used in column type");var l=this.containerShape.height,c=this.rawData;if(!c)return{columns:[]};a&&(c=Ob(c));var h=this.createScales(c),p=h.x,C=h.y,k=(0,we.CR)(Cb(c),2),W=k[0],j=k[1],K=new xu({domain:[0,j-(W>0?0:W)],range:[0,l*o]}),Q=p.getBandWidth(),ee=this.rawData;return{columns:c.map(function(re,ve){return re.map(function(he,pe){var _e=Q/c.length,Ee=function(){return{x:p.map(pe)+_e*ve,y:he>=0?C.map(he):C.map(0),width:_e,height:K.map(Math.abs(he))}},De=function(){return{x:p.map(pe),y:C.map(he),width:Q,height:K.map(ee[ve][pe])}};return(0,we.pi)((0,we.pi)({fill:t.getColor(ve)},n),a?De():Ee())})})}},enumerable:!1,configurable:!0}),e.prototype.render=function(t,n){c5(n,".container","rect").attr("className","container").node();var i=t.type,a=t.x,s=t.y,o="spark".concat(i),l=(0,we.pi)({x:a,y:s},i==="line"?this.linesStyle:this.columnsStyle);bn(n).selectAll(".spark").data([i]).join(function(c){return c.append(function(h){return h==="line"?new L8({className:o,style:l}):new D8({className:o,style:l})}).attr("className","spark ".concat(o))},function(c){return c.update(l)},function(c){return c.remove()})},e.prototype.getColor=function(t){var n=this.attributes.color;return Ma(n)?n[t%n.length]:xn(n)?n.call(null,t):n},e.prototype.createScales=function(t){var n,i,a=this.attributes,s=a.type,o=a.scale,l=a.range,c=l===void 0?[]:l,h=a.spacing,p=this.containerShape,C=p.width,k=p.height,W=(0,we.CR)(Cb(t),2),j=W[0],K=W[1],Q=new xu({domain:[(n=c[0])!==null&&n!==void 0?n:j,(i=c[1])!==null&&i!==void 0?i:K],range:[k,k*(1-o)]});return s==="line"?{type:s,x:new xu({domain:[0,t[0].length-1],range:[0,C]}),y:Q}:{type:s,x:new r0({domain:t[0].map(function(ee,re){return re}),range:[0,C],paddingInner:h,paddingOuter:h/2,align:.5}),y:Q}},e.tag="sparkline",e}(ti),Pb={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},Db={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},Lb={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},Is=gs({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),Po=gs({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),H8=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.x,a=t.y,s=t.size,o=s===void 0?10:s,l=t.radius,c=l===void 0?o/4:l,h=t.orientation,p=(0,we._T)(t,["x","y","size","radius","orientation"]),C=o,k=C*2.4,W=bn(n).maybeAppendByClassName(Po.iconRect,"rect").styles((0,we.pi)((0,we.pi)({},p),{width:C,height:k,radius:c,x:i-C/2,y:a-k/2,transformOrigin:"center"})),j=i+1/3*C-C/2,K=i+2/3*C-C/2,Q=a+1/4*k-k/2,ee=a+3/4*k-k/2;W.maybeAppendByClassName("".concat(Po.iconLine,"-1"),"line").styles((0,we.pi)({x1:j,x2:j,y1:Q,y2:ee},p)),W.maybeAppendByClassName("".concat(Po.iconLine,"-2"),"line").styles((0,we.pi)({x1:K,x2:K,y1:Q,y2:ee},p)),h==="vertical"&&(W.node().style.transform="rotate(90)")},e}(ti),j8=function(r){(0,we.ZT)(e,r);function e(t){return r.call(this,t,Lb)||this}return e.prototype.renderLabel=function(t){var n=this,i=this.attributes,a=i.x,s=i.y,o=i.showLabel,l=Yn(this.attributes,"label"),c=l.x,h=c===void 0?0:c,p=l.y,C=p===void 0?0:p,k=l.transform,W=l.transformOrigin,j=(0,we._T)(l,["x","y","transform","transformOrigin"]),K=(0,we.CR)(qs(j,[]),2),Q=K[0],ee=K[1],re=bn(t).maybeAppendByClassName(Po.labelGroup,"g").styles(ee),ve=(0,we.pi)((0,we.pi)({},Db),Q),he=ve.text,pe=(0,we._T)(ve,["text"]);Ra(!!o,re,function(_e){n.label=_e.maybeAppendByClassName(Po.label,"text").styles((0,we.pi)((0,we.pi)({},pe),{x:a+h,y:s+C,transform:k,transformOrigin:W,text:"".concat(he)})),n.label.on("mousedown",function(Ee){Ee.stopPropagation()}),n.label.on("touchstart",function(Ee){Ee.stopPropagation()})})},e.prototype.renderIcon=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.orientation,o=n.type,l=(0,we.pi)((0,we.pi)({x:i,y:a,orientation:s},Pb),Yn(this.attributes,"icon")),c=this.attributes.iconShape,h=c===void 0?function(){return new H8({style:l})}:c,p=bn(t).maybeAppendByClassName(Po.iconGroup,"g");p.selectAll(Po.icon.class).data([h]).join(function(C){return C.append(typeof h=="string"?h:function(){return h(o)}).attr("className",Po.icon.name)},function(C){return C.update(l)},function(C){return C.remove()})},e.prototype.render=function(t,n){this.renderIcon(n),this.renderLabel(n)},e}(ti),G8=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,t,(0,we.pi)((0,we.pi)((0,we.pi)({x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:function(i){return i.toString()},handleSpacing:2,orientation:"horizontal",padding:0,autoFitLabel:!0,scrollable:!0,selectionFill:"#5B8FF9",selectionFillOpacity:.45,selectionZIndex:2,showHandle:!0,showLabel:!0,slidable:!0,trackFill:"#416180",trackLength:200,trackOpacity:.05,trackSize:20,trackZIndex:-1,values:[0,1],type:"range",selectionType:"select",handleIconOffset:0},nc(Lb,"handle")),nc(Pb,"handleIcon")),nc(Db,"handleLabel")))||this;return n.range=[0,1],n.onDragStart=function(i){return function(a){a.stopPropagation(),n.target=i,n.prevPos=n.getOrientVal(yb(a));var s=n.availableSpace,o=s.x,l=s.y,c=n.getBBox(),h=c.x,p=c.y;n.selectionStartPos=n.getRatio(n.prevPos-n.getOrientVal([o,l])-n.getOrientVal([+h,+p])),n.selectionWidth=0,document.addEventListener("pointermove",n.onDragging),document.addEventListener("pointerup",n.onDragEnd)}},n.onDragging=function(i){var a=n.attributes,s=a.slidable,o=a.brushable,l=a.type;i.stopPropagation();var c=n.getOrientVal(yb(i)),h=c-n.prevPos;if(h){var p=n.getRatio(h);switch(n.target){case"start":s&&n.setValuesOffset(p);break;case"end":s&&n.setValuesOffset(0,p);break;case"selection":s&&n.setValuesOffset(p,p);break;case"track":if(!o)return;n.selectionWidth+=p,l==="range"?n.innerSetValues([n.selectionStartPos,n.selectionStartPos+n.selectionWidth].sort(),!0):n.innerSetValues([0,n.selectionStartPos+n.selectionWidth],!0);break;default:break}n.prevPos=c}},n.onDragEnd=function(){document.removeEventListener("pointermove",n.onDragging),document.removeEventListener("pointermove",n.onDragging),document.removeEventListener("pointerup",n.onDragEnd),n.target="",n.updateHandlesPosition(!1)},n.onValueChange=function(i){var a=n.attributes,s=a.onChange,o=a.type,l=o==="range"?i:i[1],c=o==="range"?n.getValues():n.getValues()[1],h=new vi("valuechange",{detail:{oldValue:l,value:c}});n.dispatchEvent(h),s==null||s(c)},n.selectionStartPos=0,n.selectionWidth=0,n.prevPos=0,n.target="",n}return Object.defineProperty(e.prototype,"values",{get:function(){return this.attributes.values},set:function(t){this.attributes.values=this.clampValues(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sparklineStyle",{get:function(){var t=this.attributes.orientation;if(t!=="horizontal")return null;var n=Yn(this.attributes,"sparkline");return(0,we.pi)((0,we.pi)({zIndex:0},this.availableSpace),n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shape",{get:function(){var t=this.attributes,n=t.trackLength,i=t.trackSize,a=(0,we.CR)(this.getOrientVal([[n,i],[i,n]]),2),s=a[0],o=a[1];return{width:s,height:o}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"availableSpace",{get:function(){var t=this.attributes,n=t.x,i=t.y,a=t.padding,s=(0,we.CR)(zi(a),4),o=s[0],l=s[1],c=s[2],h=s[3],p=this.shape,C=p.width,k=p.height;return{x:h,y:o,width:C-(h+l),height:k-(o+c)}},enumerable:!1,configurable:!0}),e.prototype.getValues=function(){return this.values},e.prototype.setValues=function(t,n){t===void 0&&(t=[0,0]),n===void 0&&(n=!1),this.attributes.values=t;var i=n===!1?!1:this.attributes.animate;this.updateSelectionArea(i),this.updateHandlesPosition(i)},e.prototype.updateSelectionArea=function(t){var n=this.calcSelectionArea();this.foregroundGroup.selectAll(Is.selection.class).each(function(i,a){ps(this,n[a],t)})},e.prototype.updateHandlesPosition=function(t){this.attributes.showHandle&&(this.startHandle&&ps(this.startHandle,this.getHandleStyle("start"),t),this.endHandle&&ps(this.endHandle,this.getHandleStyle("end"),t))},e.prototype.innerSetValues=function(t,n){t===void 0&&(t=[0,0]),n===void 0&&(n=!1);var i=this.values,a=this.clampValues(t);this.attributes.values=a,this.setValues(a),n&&this.onValueChange(i)},e.prototype.renderTrack=function(t){var n=this.attributes,i=n.x,a=n.y,s=Yn(this.attributes,"track");this.trackShape=bn(t).maybeAppendByClassName(Is.track,"rect").styles((0,we.pi)((0,we.pi)({x:i,y:a},this.shape),s))},e.prototype.renderBrushArea=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.brushable;this.brushArea=bn(t).maybeAppendByClassName(Is.brushArea,"rect").styles((0,we.pi)({x:i,y:a,fill:"transparent",cursor:s?"crosshair":"default"},this.shape))},e.prototype.renderSparkline=function(t){var n=this,i=this.attributes,a=i.x,s=i.y,o=i.orientation,l=bn(t).maybeAppendByClassName(Is.sparklineGroup,"g");Ra(o==="horizontal",l,function(c){var h=(0,we.pi)((0,we.pi)({},n.sparklineStyle),{x:a,y:s});c.maybeAppendByClassName(Is.sparkline,function(){return new W8({style:h})}).update(h)})},e.prototype.renderHandles=function(){var t=this,n,i=this.attributes,a=i.showHandle,s=i.type,o=s==="range"?["start","end"]:["end"],l=a?o:[],c=this;(n=this.foregroundGroup)===null||n===void 0||n.selectAll(Is.handle.class).data(l.map(function(h){return{type:h}}),function(h){return h.type}).join(function(h){return h.append(function(p){var C=p.type;return new j8({style:t.getHandleStyle(C)})}).each(function(p){var C=p.type;this.attr("class","".concat(Is.handle.name," ").concat(C,"-handle"));var k="".concat(C,"Handle");c[k]=this,this.addEventListener("pointerdown",c.onDragStart(C))})},function(h){return h.each(function(p){var C=p.type;this.update(c.getHandleStyle(C))})},function(h){return h.each(function(p){var C=p.type,k="".concat(C,"Handle");c[k]=void 0}).remove()})},e.prototype.renderSelection=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.type,o=n.selectionType;this.foregroundGroup=bn(t).maybeAppendByClassName(Is.foreground,"g");var l=Yn(this.attributes,"selection"),c=function(p){return p.style("visibility",function(C){return C.show?"visible":"hidden"}).style("cursor",function(C){return o==="select"?"grab":o==="invert"?"crosshair":"default"}).styles((0,we.pi)((0,we.pi)({},l),{transform:"translate(".concat(i,", ").concat(a,")")}))},h=this;this.foregroundGroup.selectAll(Is.selection.class).data(s==="value"?[]:this.calcSelectionArea().map(function(p,C){return{style:(0,we.pi)({},p),index:C,show:o==="select"?C===1:C!==1}}),function(p){return p.index}).join(function(p){return p.append("rect").attr("className",Is.selection.name).call(c).each(function(C,k){var W=this;k===1?(h.selectionShape=bn(this),this.on("pointerdown",function(j){W.attr("cursor","grabbing"),h.onDragStart("selection")(j)}),h.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),h.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),h.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",function(){W.attr("cursor","grabbing")}),this.addEventListener("pointerup",function(){W.attr("cursor","pointer")}),this.addEventListener("pointerover",function(){W.attr("cursor","pointer")})):this.on("pointerdown",h.onDragStart("track"))})},function(p){return p.call(c)},function(p){return p.remove()}),this.updateSelectionArea(!1),this.renderHandles()},e.prototype.render=function(t,n){this.renderTrack(n),this.renderSparkline(n),this.renderBrushArea(n),this.renderSelection(n)},e.prototype.clampValues=function(t,n){var i;n===void 0&&(n=4);var a=(0,we.CR)(this.range,2),s=a[0],o=a[1],l=(0,we.CR)(this.getValues().map(function(K){return Xp(K,n)}),2),c=l[0],h=l[1],p=Array.isArray(t)?t:[c,t!=null?t:h],C=(0,we.CR)((p||[c,h]).map(function(K){return Xp(K,n)}),2),k=C[0],W=C[1];if(this.attributes.type==="value")return[0,Yr(W,s,o)];k>W&&(i=(0,we.CR)([W,k],2),k=i[0],W=i[1]);var j=W-k;return j>o-s?[s,o]:k<s?c===s&&h===W?[s,W]:[s,j+s]:W>o?h===o&&c===k?[k,o]:[o-j,o]:[k,W]},e.prototype.calcSelectionArea=function(t){var n=(0,we.CR)(this.clampValues(t),2),i=n[0],a=n[1],s=this.availableSpace,o=s.x,l=s.y,c=s.width,h=s.height;return this.getOrientVal([[{y:l,height:h,x:o,width:i*c},{y:l,height:h,x:i*c+o,width:(a-i)*c},{y:l,height:h,x:a*c,width:(1-a)*c}],[{x:o,width:c,y:l,height:i*h},{x:o,width:c,y:i*h+l,height:(a-i)*h},{x:o,width:c,y:a*h,height:(1-a)*h}]])},e.prototype.calcHandlePosition=function(t){var n=this.attributes.handleIconOffset,i=this.availableSpace,a=i.x,s=i.y,o=i.width,l=i.height,c=(0,we.CR)(this.clampValues(),2),h=c[0],p=c[1],C=t==="start"?-n:n,k=(t==="start"?h:p)*this.getOrientVal([o,l])+C;return{x:a+this.getOrientVal([k,o/2]),y:s+this.getOrientVal([l/2,k])}},e.prototype.inferTextStyle=function(t){var n=this.attributes.orientation;return n==="horizontal"?{}:t==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:t==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},e.prototype.calcHandleText=function(t){var n,i=this.attributes,a=i.type,s=i.orientation,o=i.formatter,l=i.autoFitLabel,c=Yn(this.attributes,"handle"),h=Yn(c,"label"),p=c.spacing,C=this.getHandleSize(),k=this.clampValues(),W=t==="start"?k[0]:k[1],j=o(W),K=new Pp({style:(0,we.pi)((0,we.pi)((0,we.pi)({},h),this.inferTextStyle(t)),{text:j})}),Q=K.getBBox(),ee=Q.width,re=Q.height;if(K.destroy(),!l){if(a==="value")return{text:j,x:0,y:-re-p};var ve=p+C+(s==="horizontal"?ee/2:0);return n={text:j},n[s==="horizontal"?"x":"y"]=t==="start"?-ve:ve,n}var he=0,pe=0,_e=this.availableSpace,Ee=_e.width,De=_e.height,Be=this.calcSelectionArea()[1],Fe=Be.x,Xe=Be.y,qe=Be.width,ct=Be.height,ht=p+C;if(s==="horizontal"){var St=ht+ee/2;if(t==="start"){var bt=Fe-ht-ee;he=bt>0?-St:St}else{var Et=Ee-Fe-qe-ht>ee;he=Et?St:-St}}else{var xt=ht,Dt=re+ht;t==="start"?pe=Xe-C>re?-Dt:xt:pe=De-(Xe+ct)-C>re?Dt:-xt}return{x:he,y:pe,text:j}},e.prototype.getHandleLabelStyle=function(t){var n=Yn(this.attributes,"handleLabel");return(0,we.pi)((0,we.pi)((0,we.pi)({},n),this.calcHandleText(t)),this.inferTextStyle(t))},e.prototype.getHandleIconStyle=function(){var t=this.attributes.handleIconShape,n=Yn(this.attributes,"handleIcon"),i=this.getOrientVal(["ew-resize","ns-resize"]),a=this.getHandleSize();return(0,we.pi)({cursor:i,shape:t,size:a},n)},e.prototype.getHandleStyle=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.showLabel,o=n.showLabelOnInteraction,l=n.orientation,c=this.calcHandlePosition(t),h=c.x,p=c.y,C=this.calcHandleText(t),k=s;return!s&&o&&(this.target?k=!0:k=!1),(0,we.pi)((0,we.pi)((0,we.pi)({},nc(this.getHandleIconStyle(),"icon")),nc((0,we.pi)((0,we.pi)({},this.getHandleLabelStyle(t)),C),"label")),{transform:"translate(".concat(h+i,", ").concat(p+a,")"),orientation:l,showLabel:k,type:t,zIndex:3})},e.prototype.getHandleSize=function(){var t=this.attributes,n=t.handleIconSize,i=t.width,a=t.height;return n||Math.floor((this.getOrientVal([+a,+i])+4)/2.4)},e.prototype.getOrientVal=function(t){var n=(0,we.CR)(t,2),i=n[0],a=n[1],s=this.attributes.orientation;return s==="horizontal"?i:a},e.prototype.setValuesOffset=function(t,n,i){n===void 0&&(n=0),i===void 0&&(i=!1);var a=this.attributes.type,s=(0,we.CR)(this.getValues(),2),o=s[0],l=s[1],c=a==="range"?t:0,h=[o+c,l+n].sort();i?this.setValues(h):this.innerSetValues(h,!0)},e.prototype.getRatio=function(t){var n=this.availableSpace,i=n.width,a=n.height;return t/this.getOrientVal([i,a])},e.prototype.dispatchCustomEvent=function(t,n,i){var a=this;t.on(n,function(s){s.stopPropagation(),a.dispatchEvent(new vi(i,{detail:s}))})},e.prototype.bindEvents=function(){this.addEventListener("wheel",this.onScroll);var t=this.brushArea;this.dispatchCustomEvent(t,"click","trackClick"),this.dispatchCustomEvent(t,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(t,"pointerleave","trackMouseleave"),t.on("pointerdown",this.onDragStart("track"))},e.prototype.onScroll=function(t){var n=this.attributes.scrollable;if(n){var i=t.deltaX,a=t.deltaY,s=a||i,o=this.getRatio(s);this.setValuesOffset(o,o,!0)}},e.tag="slider",e}(ti),V8={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(r){return r.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},a0=gs({background:"background",labelGroup:"label-group",label:"label"},"indicator"),Z8=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,t,V8)||this;return n.point=[0,0],n.group=n.appendChild(new Ei({})),n.isMutationObserved=!0,n}return e.prototype.renderBackground=function(){if(this.label){var t=this.attributes,n=t.position,i=t.padding,a=(0,we.CR)(zi(i),4),s=a[0],o=a[1],l=a[2],c=a[3],h=this.label.node().getLocalBounds(),p=h.min,C=h.max,k=new Yi(p[0]-c,p[1]-s,C[0]+o-p[0]+c,C[1]+l-p[1]+s),W=this.getPath(n,k),j=Yn(this.attributes,"background");this.background=bn(this.group).maybeAppendByClassName(a0.background,"path").styles((0,we.pi)((0,we.pi)({},j),{d:W})),this.group.appendChild(this.label.node())}},e.prototype.renderLabel=function(){var t=this.attributes,n=t.formatter,i=t.labelText,a=Yn(this.attributes,"label"),s=(0,we.CR)(qs(a),2),o=s[0],l=s[1],c=o.text,h=(0,we._T)(o,["text"]);if(this.label=bn(this.group).maybeAppendByClassName(a0.labelGroup,"g").styles(l),!!i){var p=this.label.maybeAppendByClassName(a0.label,function(){return $s(n(i))}).style("text",n(i).toString());p.selectAll("text").styles(h)}},e.prototype.adjustLayout=function(){var t=(0,we.CR)(this.point,2),n=t[0],i=t[1],a=this.attributes,s=a.x,o=a.y;this.group.attr("transform","translate(".concat(s-n,", ").concat(o-i,")"))},e.prototype.getPath=function(t,n){var i=this.attributes.radius,a=n.x,s=n.y,o=n.width,l=n.height,c=[["M",a+i,s],["L",a+o-i,s],["A",i,i,0,0,1,a+o,s+i],["L",a+o,s+l-i],["A",i,i,0,0,1,a+o-i,s+l],["L",a+i,s+l],["A",i,i,0,0,1,a,s+l-i],["L",a,s+i],["A",i,i,0,0,1,a+i,s],["Z"]],h={top:4,right:6,bottom:0,left:2},p=h[t],C=this.createCorner([c[p].slice(-2),c[p+1].slice(-2)]);return c.splice.apply(c,(0,we.ev)([p+1,1],(0,we.CR)(C),!1)),c[0][0]="M",c},e.prototype.createCorner=function(t,n){n===void 0&&(n=10);var i=.8,a=G5.apply(void 0,(0,we.ev)([],(0,we.CR)(t),!1)),s=(0,we.CR)(t,2),o=(0,we.CR)(s[0],2),l=o[0],c=o[1],h=(0,we.CR)(s[1],2),p=h[0],C=h[1],k=(0,we.CR)(a?[p-l,[l,p]]:[C-c,[c,C]],2),W=k[0],j=(0,we.CR)(k[1],2),K=j[0],Q=j[1],ee=W/2,re=W/Math.abs(W),ve=n*re,he=ve/2,pe=ve*Math.sqrt(3)/2*i,_e=(0,we.CR)([K,K+ee-he,K+ee,K+ee+he,Q],5),Ee=_e[0],De=_e[1],Be=_e[2],Fe=_e[3],Xe=_e[4];return a?(this.point=[Be,c-pe],[["L",Ee,c],["L",De,c],["L",Be,c-pe],["L",Fe,c],["L",Xe,c]]):(this.point=[l+pe,Be],[["L",l,Ee],["L",l,De],["L",l+pe,Be],["L",l,Fe],["L",l,Xe]])},e.prototype.applyVisibility=function(){var t=this.attributes.visibility;t==="hidden"?vs(this):du(this)},e.prototype.bindEvents=function(){this.label.on(tr.BOUNDS_CHANGED,this.renderBackground)},e.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},e}(ti),K8=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,Oi({},e.defaultOptions,t))||this;return n.hoverColor="#f5f5f5",n.selectedColor="#e6f7ff",n.background=n.appendChild(new Ii({})),n.label=n.background.appendChild(new Ei({})),n}return Object.defineProperty(e.prototype,"padding",{get:function(){return zi(this.style.padding)},enumerable:!1,configurable:!0}),e.prototype.renderLabel=function(){var t=this.style,n=t.label,i=t.value,a=Yn(this.attributes,"label");bn(this.label).maybeAppend(".label",function(){return $s(n)}).attr("className","label").styles(a),this.label.attr("__data__",i)},e.prototype.renderBackground=function(){var t=this.label.getBBox(),n=(0,we.CR)(this.padding,4),i=n[0],a=n[1],s=n[2],o=n[3],l=t.width,c=t.height,h=l+o+a,p=c+i+s,C=Yn(this.attributes,"background"),k=this.style,W=k.width,j=W===void 0?0:W,K=k.height,Q=K===void 0?0:K,ee=k.selected;this.background.attr((0,we.pi)((0,we.pi)({},C),{width:Math.max(h,j),height:Math.max(p,Q),fill:ee?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(o,", ").concat((p-c)/2,")")})},e.prototype.render=function(){this.renderLabel(),this.renderBackground()},e.prototype.bindEvents=function(){var t=this;this.addEventListener("pointerenter",function(){t.style.selected||t.background.attr("fill",t.hoverColor)}),this.addEventListener("pointerleave",function(){t.style.selected||t.background.attr("fill",t.style.backgroundFill)});var n=this;this.addEventListener("click",function(){var i=t.style,a=i.label,s=i.value,o=i.onClick;o==null||o(s,{label:a,value:s},n)})},e.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},e}(ti),X8=function(r){(0,we.ZT)(e,r);function e(t){var n,i,a=r.call(this,Oi({},e.defaultOptions,t))||this;a.currentValue=(n=e.defaultOptions.style)===null||n===void 0?void 0:n.defaultValue,a.isPointerInSelect=!1,a.select=a.appendChild(new Ii({className:"select",style:{cursor:"pointer",width:0,height:0}})),a.dropdown=a.appendChild(new Ii({className:"dropdown"}));var s=a.style.defaultValue;return s&&(!((i=a.style.options)===null||i===void 0)&&i.some(function(o){return o.value===s}))&&(a.currentValue=s),a}return e.prototype.setValue=function(t){this.currentValue=t,this.render()},e.prototype.getValue=function(){return this.currentValue},Object.defineProperty(e.prototype,"dropdownPadding",{get:function(){return zi(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),e.prototype.renderSelect=function(){var t=this,n,i=this.style,a=i.x,s=i.y,o=i.width,l=i.height,c=i.bordered,h=i.showDropdownIcon,p=Yn(this.attributes,"select"),C=Yn(this.attributes,"placeholder");this.select.attr((0,we.pi)((0,we.pi)({x:a,y:s,width:o,height:l},p),{fill:"#fff",strokeWidth:c?1:0}));var k=this.dropdownPadding,W=10;h&&bn(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform","translate(".concat(a+o-W-k[1]-k[3],", ").concat(s+l/2,")")).style("lineWidth",1).style("stroke",this.select.style.stroke);var j=(n=this.style.options)===null||n===void 0?void 0:n.find(function(re){return re.value===t.currentValue}),K=(0,we.pi)({x:a+k[3]},C);bn(this.select).selectAll(".placeholder").data(j?[]:[1]).join(function(re){return re.append("text").attr("className","placeholder").styles(K).style("y",function(){var ve=this.getBBox();return s+(l-ve.height)/2})},function(re){return re.styles(K)},function(re){return re.remove()});var Q=Yn(this.attributes,"optionLabel"),ee=(0,we.pi)({x:a+k[3]},Q);bn(this.select).selectAll(".value").data(j?[j]:[]).join(function(re){return re.append(function(ve){return $s(ve.label)}).attr("className","value").styles(ee).style("y",function(){var ve=this.getBBox();return s+(l-ve.height)/2})},function(re){return re.styles(ee)},function(re){return re.remove()})},e.prototype.renderDropdown=function(){var t=this,n,i,a=this.style,s=a.x,o=a.y,l=a.width,c=a.height,h=a.options,p=a.onSelect,C=a.open,k=Yn(this.attributes,"dropdown"),W=Yn(this.attributes,"option"),j=this.dropdownPadding;bn(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(h,function(ee){return ee.value}).join(function(ee){return ee.append(function(re){return new K8({className:"dropdown-item",style:(0,we.pi)((0,we.pi)((0,we.pi)({},re),W),{width:l-j[1]-j[3],selected:re.value===t.currentValue,onClick:function(ve,he,pe){t.setValue(ve),p==null||p(ve,he,pe),t.dispatchEvent(new vi("change",{detail:{value:ve,option:he,item:pe}})),vs(t.dropdown)}})})}).each(function(re,ve){var he,pe=(he=this.parentNode)===null||he===void 0?void 0:he.children,_e=pe.reduce(function(Ee,De,Be){return Be<ve&&(Ee+=De.getBBox().height),Ee},0);this.attr("transform","translate(".concat(j[3],", ").concat(j[0]+_e,")"))})},function(ee){return ee.update(function(re){return{selected:re.value===t.currentValue}})},function(ee){return ee.remove()});var K=(i=(n=this.dropdown.getElementsByClassName("dropdown-container"))===null||n===void 0?void 0:n[0])===null||i===void 0?void 0:i.getBBox(),Q=k.spacing;this.dropdown.attr((0,we.pi)({transform:"translate(".concat(s,", ").concat(o+c+Q,")"),width:K.width+j[1]+j[3],height:K.height+j[0]+j[2]},k)),!C&&vs(this.dropdown)},e.prototype.render=function(){this.renderSelect(),this.renderDropdown()},e.prototype.bindEvents=function(){var t=this;this.addEventListener("click",function(n){n.stopPropagation()}),this.select.addEventListener("click",function(){t.dropdown.style.visibility==="visible"?vs(t.dropdown):du(t.dropdown)}),this.addEventListener("pointerenter",function(){t.isPointerInSelect=!0}),this.addEventListener("pointerleave",function(){t.isPointerInSelect=!1}),document==null||document.addEventListener("click",function(){t.isPointerInSelect||vs(t.dropdown)})},e.defaultOptions={style:{x:0,y:0,width:140,height:32,options:[],bordered:!0,defaultValue:"",selectRadius:8,selectStroke:"#d9d9d9",showDropdownIcon:!0,placeholderText:"\u8BF7\u9009\u62E9",placeholderFontSize:12,placeholderTextBaseline:"top",placeholderFill:"#c2c2c2",dropdownFill:"#fff",dropdownStroke:"#d9d9d9",dropdownRadius:8,dropdownShadowBlur:4,dropdownShadowColor:"rgba(0, 0, 0, 0.08)",dropdownPadding:8,dropdownSpacing:10,optionPadding:[8,12],optionFontSize:12,optionTextBaseline:"top",optionBackgroundFill:"#fff",optionBackgroundRadius:4,optionLabelFontSize:12,optionLabelTextBaseline:"top"}},e}(ti),ms=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,Oi({},{style:{backgroundOpacity:e.backgroundOpacities.default}},e.defaultOptions,t))||this;return n.showBackground=!0,n.background=n.appendChild(new Ii({})),n.icon=n.appendChild(new Ei({})),n}return Object.defineProperty(e.prototype,"label",{get:function(){return"BaseIcon"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lineWidth",{get:function(){return Math.log10(this.attributes.size)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"padding",{get:function(){return zi(this.attributes.size/5)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"iconSize",{get:function(){var t=this.attributes.size,n=(0,we.CR)(this.padding,4),i=n[0],a=n[1],s=n[2],o=n[3];return Math.max(t-Math.max(o+a,i+s),this.lineWidth*2+1)},enumerable:!1,configurable:!0}),e.prototype.renderBackground=function(){var t=this.attributes,n=t.x,i=t.y,a=t.size,s=a/2,o=Yn(this.attributes,"background");this.background.attr((0,we.pi)({x:n-s,y:i-s,width:a,height:a},o))},e.prototype.showIndicator=function(){if(this.label){var t=this.attributes.size,n=this.background.getBBox(),i=n.x,a=n.y;this.indicator.update({x:i+t/2,y:a-5,labelText:this.label,visibility:"visible"})}},e.prototype.hideIndicator=function(){this.indicator.update({visibility:"hidden"})},e.prototype.connectedCallback=function(){var t;r.prototype.connectedCallback.call(this);var n=this.attributes.size,i=this.background.getBBox(),a=i.x,s=i.y,o=(t=this.ownerDocument)===null||t===void 0?void 0:t.defaultView;o&&(this.indicator=o.appendChild(new Z8({style:{x:a+n/2,y:s-n/2,visibility:"hidden",position:"top",radius:3,zIndex:100}})))},e.prototype.disconnectedCallback=function(){this.indicator.destroy()},e.prototype.render=function(){this.renderIcon(),this.showBackground&&this.renderBackground()},e.prototype.bindEvents=function(){var t=this,n=this.attributes.onClick;if(this.addEventListener("click",function(){n==null||n(t)}),this.showBackground){var i=function(){return t.background.attr({opacity:e.backgroundOpacities.default})},a=function(){return t.background.attr({opacity:e.backgroundOpacities.hover})},s=function(){return t.background.attr({opacity:e.backgroundOpacities.active})};this.addEventListener("pointerenter",function(){a(),t.showIndicator()}),this.addEventListener("pointerleave",function(){i(),t.hideIndicator()}),this.addEventListener("pointerdown",function(){s()}),this.addEventListener("pointerup",function(){i()})}},e.tag="IconBase",e.defaultOptions={style:{x:0,y:0,size:10,color:"#565758",backgroundRadius:4,backgroundFill:"#e2e2e2"}},e.backgroundOpacities={default:0,hover:.8,active:1},e}(ti),wu=function(r,e){return e===void 0&&(e="#565758"),new Ta({style:{fill:e,d:"M ".concat(r,",").concat(r," L -").concat(r,",0 L ").concat(r,",-").concat(r," Z"),transformOrigin:"center"}})},Y8=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.arcPath=function(t,n,i){var a=(0,we.CR)([i,i],2),s=a[0],o=a[1],l=function(j){return[t+i*Math.cos(j),n+i*Math.sin(j)]},c=(0,we.CR)(l(-5/4*Math.PI),2),h=c[0],p=c[1],C=(0,we.CR)(l(1/4*Math.PI),2),k=C[0],W=C[1];return"M".concat(h,",").concat(p,",A").concat(s,",").concat(o,",0,1,1,").concat(k,",").concat(W)},Object.defineProperty(e.prototype,"label",{get:function(){return"\u91CD\u7F6E"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=this.lineWidth,l=o+.5;bn(this.icon).maybeAppend(".reset","path").styles({stroke:a,lineWidth:o,d:this.arcPath(n,i,s/2-o),markerStart:wu(l,a)})},e}(ms),Q8=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u5FEB\u9000"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/2,l=s/2/Math.pow(3,.5),c=[[n,i],[n,i-l],[n-o,i],[n,i+l],[n,i],[n+o,i-l],[n+o,i+l],[n,i]];bn(this.icon).maybeAppend(".backward","polygon").styles({points:c,fill:a})},e}(ms),J8=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u5FEB\u8FDB"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/2,l=s/2/Math.pow(3,.5),c=[[n,i],[n,i-l],[n+o,i],[n,i+l],[n,i],[n-o,i-l],[n-o,i+l],[n,i]];bn(this.icon).maybeAppend(".forward","polygon").styles({points:c,fill:a})},e}(ms),q8=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u64AD\u653E"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/3*Math.pow(3,.5)*.8,l=[[n+o,i],[n-o/2,i-s/2*.8],[n-o/2,i+s/2*.8],[n+o,i]];bn(this.icon).maybeAppend(".play","polygon").styles({points:l,fill:a})},e}(ms),$8=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u6682\u505C"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/3,l=[[n-o,i-s/2],[n-o,i+s/2],[n-o/2,i+s/2],[n-o/2,i-s/2],[n-o,i-s/2],[n+o/2,i-s/2],[n+o/2,i+s/2],[n+o,i+s/2],[n+o,i-s/2]];bn(this.icon).maybeAppend(".pause","polygon").styles({points:l,fill:a})},e}(ms),ek=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u8303\u56F4\u65F6\u95F4"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth,c=l;bn(this.icon).maybeAppend(".left-line","line").styles({x1:n-o/2,y1:i-o/2,x2:n-o/2,y2:i+o/2,stroke:a,lineWidth:l}),bn(this.icon).maybeAppend(".right-line","line").styles({x1:n+o/2,y1:i-o/2,x2:n+o/2,y2:i+o/2,stroke:a,lineWidth:l}),bn(this.icon).maybeAppend(".left-arrow","line").styles({x1:n,y1:i,x2:n-o/2+c*2,y2:i,stroke:a,lineWidth:l,markerEnd:wu(l*2,a)}),bn(this.icon).maybeAppend(".right-arrow","line").styles({x1:n,y1:i,x2:n+o/2-c*2,y2:i,stroke:a,lineWidth:l,markerEnd:wu(l*2,a)})},e}(ms),tk=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u5355\u4E00\u65F6\u95F4"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth;bn(this.icon).maybeAppend(".line","line").styles({x1:n,y1:i-o/2,x2:n,y2:i+o/2,stroke:a,lineWidth:l});var c=l;bn(this.icon).maybeAppend(".left-arrow","line").styles({x1:n-o/2-c*2,y1:i,x2:n-c*2,y2:i,stroke:a,lineWidth:l,markerEnd:wu(l*2,a)}),bn(this.icon).maybeAppend(".right-arrow","line").styles({x1:n+o/2+c*2,y1:i,x2:n+c*2,y2:i,stroke:a,lineWidth:l,markerEnd:wu(l*2,a)})},e}(ms),Rb=function(r){return[[-r/2,-r/2],[-r/2,r/2],[r/2,r/2]]},nk=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u6298\u7EBF\u56FE"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth,c=l,h=(o-c*2-l)/4,p=(o-c*2-l)/2,C=(0,we.CR)([n-o/2+c,i+o/2-c*2],2),k=C[0],W=C[1];bn(this.icon).maybeAppend(".coordinate","polyline").styles({points:Rb(o).map(function(j){var K=(0,we.CR)(j,2),Q=K[0],ee=K[1];return[Q+n,ee+i]}),stroke:a,lineWidth:l}),bn(this.icon).maybeAppend(".line","polyline").styles({points:[[k,W],[k+h,W-p],[k+h*2,W],[k+h*4,W-p*2]],stroke:a,lineWidth:l})},e}(ms),rk=function(r){(0,we.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u6761\u5F62\u56FE"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return[1,4,2,4,3]},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.data,n=this.attributes,i=n.x,a=n.y,s=n.color,o=this,l=o.iconSize,c=o.lineWidth,h=c,p=(l-h)/t.length,C=(l-h*2)/4,k=(0,we.CR)([i-l/2+h*2,a+l/2-h],2),W=k[0],j=k[1];bn(this.icon).maybeAppend(".coordinate","polyline").styles({points:Rb(l).map(function(K){var Q=(0,we.CR)(K,2),ee=Q[0],re=Q[1];return[ee+i,re+a]}),stroke:s,lineWidth:c}),bn(this.icon).maybeAppend(".bars","g").selectAll(".column").data(this.data.map(function(K,Q){return{value:K,index:Q}})).join(function(K){return K.append("line").attr("className","column").style("x1",function(Q){var ee=Q.index;return W+p*ee}).style("y1",j).style("x2",function(Q){var ee=Q.index;return W+p*ee}).style("y2",function(Q){var ee=Q.value;return j-C*ee}).styles({y1:j,stroke:s,lineWidth:c})})},e}(ms),ik=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,Oi({},{style:{color:"#d8d9d9"}},t))||this;return n.showBackground=!1,n}return e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth;bn(this.icon).maybeAppend(".split","line").styles({x1:n,y1:i-o/2,x2:n,y2:i+o/2,stroke:a,lineWidth:l})},e}(ms),s0=function(r){(0,we.ZT)(e,r);function e(){var t=r.apply(this,(0,we.ev)([],(0,we.CR)(arguments),!1))||this;return t.showBackground=!1,t}return Object.defineProperty(e.prototype,"padding",{get:function(){return zi(0)},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.iconSize,n=this.attributes,i=n.x,a=n.y,s=n.speed,o=s===void 0?1:s,l=bp(this.attributes,["x","y","transform","transformOrigin","width","height","size","color","speed"]),c=Yr(t,20,1/0),h=20,p=(0,we.pi)((0,we.pi)({},l),{x:i-c/2,y:a-h/2,width:c,height:h,defaultValue:o,bordered:!1,showDropdownIcon:!1,selectRadius:2,dropdownPadding:this.padding,dropdownRadius:2,dropdownSpacing:t/5,placeholderFontSize:t/2,optionPadding:0,optionLabelFontSize:t/2,optionBackgroundRadius:1,options:[{label:"1x",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}]});bn(this.icon).maybeAppend(".speed",function(){return new X8({style:p})}).attr("className","speed").each(function(){this.update(p)})},e.tag="SpeedSelect",e}(ms),o0=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,t)||this;return n.icon=n.appendChild(new Ei({})),n.currentType=n.attributes.type,n}return e.prototype.getType=function(){return this.currentType},e.prototype.render=function(){var t=this,n=this.attributes,i=n.onChange,a=(0,we._T)(n,["onChange"]);bn(this.icon).selectAll(".icon").data([this.currentType]).join(function(s){return s.append(function(o){var l,c=(l=t.toggles.find(function(h){var p=(0,we.CR)(h,1),C=p[0];return C===o}))===null||l===void 0?void 0:l[1];if(!c)throw new Error("Invalid type: ".concat(o));return new c({})}).attr("className","icon").styles(a,!1).update({})},function(s){return s.styles({restStyles:a}).update({})},function(s){return s.remove()})},e.prototype.bindEvents=function(){var t=this,n=this.attributes.onChange;this.addEventListener("click",function(i){i.preventDefault(),i.stopPropagation();var a=(t.toggles.findIndex(function(o){var l=(0,we.CR)(o,1),c=l[0];return c===t.currentType})+1)%t.toggles.length,s=t.toggles[a][0];n==null||n(t.currentType),t.currentType=s,t.render()})},e.tag="ToggleIcon",e}(ti),l0=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,Oi({},{style:{type:"play"}},t))||this;return n.toggles=[["play",q8],["pause",$8]],n}return e}(o0),c0=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,Oi({},{style:{type:"range"}},t))||this;return n.toggles=[["range",ek],["value",tk]],n}return e}(o0),u0=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,Oi({},{style:{type:"column"}},t))||this;return n.toggles=[["line",nk],["column",rk]],n}return e}(o0),ak={reset:Y8,speed:s0,backward:Q8,playPause:l0,forward:J8,selectionType:c0,chartType:u0,split:ik},sk=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,Oi({},e.defaultOptions,t))||this;return n.background=n.appendChild(new Ii({})),n.functions=n.appendChild(new Ei({})),n}return Object.defineProperty(e.prototype,"padding",{get:function(){return zi(this.attributes.padding)},enumerable:!1,configurable:!0}),e.prototype.renderBackground=function(){var t=this.style,n=t.x,i=t.y,a=t.width,s=t.height,o=Yn(this.attributes,"background");this.background.attr((0,we.pi)({x:n,y:i,width:a,height:s},o))},e.prototype.renderFunctions=function(){var t=this,n,i=this.attributes,a=i.functions,s=i.iconSize,o=i.iconSpacing,l=i.x,c=i.y,h=i.width,p=i.height,C=i.align,k=(0,we.CR)(this.padding,4),W=k[1],j=k[3],K=a.reduce(function(re,ve){return re.length&&ve.length?re.concat.apply(re,(0,we.ev)(["split"],(0,we.CR)(ve),!1)):re.concat.apply(re,(0,we.ev)([],(0,we.CR)(ve),!1))},[]),Q=K.length*(s+o)-o,ee={left:j+s/2,center:(h-Q)/2+s/2,right:h-Q-j-W+s/2}[C]||0;(n=this.speedSelect)===null||n===void 0||n.destroy(),this.functions.removeChildren(),K.forEach(function(re,ve){var he,pe=ak[re],_e={x:l+ve*(s+o)+ee,y:c+p/2,size:s};if(pe===s0?(_e.speed=t.attributes.speed,_e.onSelect=function(De){return t.handleFunctionChange(re,{value:De})}):[l0,c0,u0].includes(pe)?(_e.onChange=function(De){return t.handleFunctionChange(re,{value:De})},pe===l0&&(_e.type=t.attributes.state==="play"?"pause":"play"),pe===c0&&(_e.type=t.attributes.selectionType==="range"?"value":"range"),pe===u0&&(_e.type=t.attributes.chartType==="line"?"column":"line")):_e.onClick=function(){return t.handleFunctionChange(re,{value:re})},pe===s0){var Ee=(he=t.ownerDocument)===null||he===void 0?void 0:he.defaultView;Ee&&(t.speedSelect=new pe({style:(0,we.pi)((0,we.pi)({},_e),{zIndex:100})}),Ee.appendChild(t.speedSelect))}else t.functions.appendChild(new pe({style:_e}))})},e.prototype.disconnectedCallback=function(){var t;r.prototype.disconnectedCallback.call(this),(t=this.speedSelect)===null||t===void 0||t.destroy()},e.prototype.render=function(){this.renderBackground(),this.renderFunctions()},e.prototype.handleFunctionChange=function(t,n){var i=this.attributes.onChange;i==null||i(t,n)},e.defaultOptions={style:{x:0,y:0,width:300,height:40,padding:0,align:"center",iconSize:25,iconSpacing:0,speed:1,state:"pause",chartType:"line",selectionType:"range",backgroundFill:"#fbfdff",backgroundStroke:"#ebedf0",functions:[["reset","speed"],["backward","playPause","forward"],["selectionType","chartType"]]}},e}(ti),ok=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,Oi({},e.defaultOptions,t))||this;return n.bindEvents(),n}return e.prototype.bindEvents=function(){var t=this;this.addEventListener("mouseenter",function(){t.attr("lineWidth",Math.ceil(+(t.style.r||0)/2))}),this.addEventListener("mouseleave",function(){t.attr("lineWidth",0)})},e.defaultOptions={style:{r:5,fill:"#3f7cf7",lineWidth:0,stroke:"#3f7cf7",strokeOpacity:.5,cursor:"pointer"}},e}(Ws),lk=function(r){(0,we.ZT)(e,r);function e(t){return r.call(this,Oi({},e.defaultOptions,t))||this}return e.prototype.renderBackground=function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=Yn(this.attributes,"background");bn(this).maybeAppend("background","rect").attr("className","background").styles((0,we.pi)({x:n-a/2,y:i-s/2,width:a,height:s},o))},e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.iconSize,s=Yn(this.attributes,"icon"),o=1,l=a/2;bn(this).maybeAppend("icon-left-line","line").attr("className","icon-left-line").styles((0,we.pi)({x1:n-o,y1:i-l,x2:n-o,y2:i+l},s)),bn(this).maybeAppend("icon-right-line","line").attr("className","icon-right-line").styles((0,we.pi)({x1:n+o,y1:i-l,x2:n+o,y2:i+l},s))},e.prototype.renderBorder=function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=t.type,l=Yn(this.attributes,"border"),c=o==="start"?+a/2:-a/2;bn(this).maybeAppend("border","line").attr("className","border").styles((0,we.pi)({x1:c+n,y1:i-s/2,x2:c+n,y2:i+s/2},l))},e.prototype.render=function(){this.renderBackground(),this.renderIcon(),this.renderBorder()},e.defaultOptions={style:{x:0,y:0,width:10,height:50,iconSize:10,type:"start",backgroundFill:"#fff",backgroundFillOpacity:.5,iconStroke:"#9a9a9a",iconLineWidth:1,borderStroke:"#e8e8e8",borderLineWidth:1}},e}(ti);function ck(r,e){return typeof r=="number"?Ib(r):uk(r,e)}function uk(r,e){var t=new Date(r);switch(e){case"half-hour":case"hour":case"four-hour":return[0,6,12,18].includes(t.getHours())&&t.getMinutes()===0?ca(t,`HH:mm
YYYY-MM-DD`):ca(t,"HH:mm");case"half-day":return t.getHours()<12?`AM
`.concat(ca(t,"YYYY-MM-DD")):"PM";case"day":return[1,10,20].includes(t.getDate())?ca(t,`DD
YYYY-MM`):ca(t,"DD");case"week":return t.getDate()<=7?ca(t,`DD
YYYY-MM`):ca(t,"DD");case"month":return[0,6].includes(t.getMonth())?ca(t,`MM\u6708
YYYY`):ca(t,"MM\u6708");case"season":return[0].includes(t.getMonth())?ca(t,`MM\u6708
YYYY`):ca(t,"MM\u6708");case"year":return ca(t,"YYYY");default:return ca(t,"YYYY-MM-DD HH:mm")}}function Ib(r){var e=String(Math.floor(r/3600)).padStart(2,"0"),t=String(Math.floor(r%3600/60)).padStart(2,"0"),n=String(Math.floor(r%60)).padStart(2,"0");return r<3600?"".concat(t,":").concat(n):"".concat(e,":").concat(t,":").concat(n)}var hk=function(r){(0,we.ZT)(e,r);function e(t){var n=r.call(this,Oi({},e.defaultOptions,t))||this;n.axis=n.appendChild(new l8({style:{type:"linear",startPos:[0,0],endPos:[0,0],data:[],showArrow:!1,animate:!1}})),n.timeline=n.appendChild(new G8({style:{onChange:function(p){n.handleSliderChange(p)}}})),n.controller=n.appendChild(new sk({})),n.states={},n.handleSliderChange=function(p){var C=function(){var k=n.states.values;return Array.isArray(k)?(0,we.ev)([],(0,we.CR)(k),!1):k}();n.setBySliderValues(p),n.dispatchOnChange(C)};var i=n.attributes,a=i.selectionType,s=i.chartType,o=i.speed,l=i.state,c=i.playMode,h=i.values;return n.states={chartType:s,playMode:c,selectionType:a,speed:o,state:l},n.setByTimebarValues(h),n}return Object.defineProperty(e.prototype,"data",{get:function(){var t=this.attributes.data,n=function(i,a){return i.time<a.time?-1:i.time>a.time?1:0};return t.sort(n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"space",{get:function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=t.type,l=t.controllerHeight,c=Yr(+s-l,0,+s),h=new Yi(n,i+ +s-l,+a,l),p,C=0;o==="chart"?(C=35,p=new Yi(n,i+c-C,+a,C)):p=new Yi;var k=o==="time"?10:c,W=new Yi(n,i+(o==="time"?c:c-k),+a,k-C);return{axisBBox:p,controllerBBox:h,timelineBBox:W}},enumerable:!1,configurable:!0}),e.prototype.setBySliderValues=function(t){var n,i,a=this.data,s=(0,we.CR)(Array.isArray(t)?t:[0,t],2),o=s[0],l=s[1],c=a.length,h=a[Math.floor(o*c)],p=a[Math.ceil(l*c)-(Array.isArray(t)?0:1)];this.states.values=[(n=h==null?void 0:h.time)!==null&&n!==void 0?n:a[0].time,(i=p==null?void 0:p.time)!==null&&i!==void 0?i:1/0]},e.prototype.setByTimebarValues=function(t){var n,i,a,s=this.data,o=(0,we.CR)(Array.isArray(t)?t:[void 0,t],2),l=o[0],c=o[1],h=s.find(function(C){var k=C.time;return k===l}),p=s.find(function(C){var k=C.time;return k===c});this.states.values=[(n=h==null?void 0:h.time)!==null&&n!==void 0?n:(i=s[0])===null||i===void 0?void 0:i.time,(a=p==null?void 0:p.time)!==null&&a!==void 0?a:1/0]},e.prototype.setByIndex=function(t){var n,i,a,s,o=this.data,l=(0,we.CR)(t,2),c=l[0],h=l[1];this.states.values=[(i=(n=o[c])===null||n===void 0?void 0:n.time)!==null&&i!==void 0?i:o[0].time,(s=(a=this.data[h])===null||a===void 0?void 0:a.time)!==null&&s!==void 0?s:1/0]},Object.defineProperty(e.prototype,"sliderValues",{get:function(){var t=this.states,n=t.values,i=t.selectionType,a=(0,we.CR)(Array.isArray(n)?n:[void 0,n],2),s=a[0],o=a[1],l=this.data,c=l.length,h=i==="value",p=function(){var k=l.findIndex(function(W){var j=W.time;return j===s});return h?0:k>-1?k/c:0},C=function(){if(o===1/0)return 1;var k=l.findIndex(function(W){var j=W.time;return j===o});return k>-1?k/c:h?.5:1};return[p(),C()]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"values",{get:function(){var t=this.states,n=t.values,i=t.selectionType,a=(0,we.CR)(Array.isArray(n)?n:[this.data[0].time,n],2),s=a[0],o=a[1];return i==="value"?o:[s,o]},enumerable:!1,configurable:!0}),e.prototype.getDatumByRatio=function(t){var n=this.data,i=n.length,a=Math.floor(t*(i-1));return n[a]},Object.defineProperty(e.prototype,"chartHandleIconShape",{get:function(){var t=this.states.selectionType,n=this.space.timelineBBox.height;return t==="range"?function(i){return new lk({style:{type:i,height:n,iconSize:n/6}})}:function(){return new qo({style:{x1:0,y1:-n/2,x2:0,y2:n/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),e.prototype.getChartStyle=function(t){var n=this,i=t.x,a=t.y,s=t.width,o=t.height,l=this.states,c=l.selectionType,h=l.chartType,p=this.data,C=this.attributes,k=C.type,W=C.labelFormatter,j=Yn(this.attributes,"chart"),K=j.type,Q=(0,we._T)(j,["type"]),ee=c==="range";if(k==="time")return(0,we.pi)({handleIconShape:function(){return new ok({})},selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:ee?-15:0,autoFitLabel:ee,handleSpacing:ee?-15:0,trackFill:"#edeeef",trackLength:s,trackOpacity:.5,trackRadius:o/2,trackSize:o/2,type:c,values:this.sliderValues,formatter:function(he){if(W)return W(he);var pe=n.getDatumByRatio(he).time;return typeof pe=="number"?Ib(pe):ca(pe,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(i,", ").concat(a,")"),zIndex:1},Q);var re=c==="range"?5:0,ve=p.map(function(he){var pe=he.value;return pe});return(0,we.pi)({handleIconOffset:re,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:ve,sparklineType:h,sparklineScale:.8,trackLength:s,trackSize:o,type:c,values:this.sliderValues,transform:"translate(".concat(i,", ").concat(a,")"),zIndex:1},Q)},e.prototype.renderChart=function(t){t===void 0&&(t=this.space.timelineBBox),this.timeline.update(this.getChartStyle(t))},e.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},e.prototype.getAxisStyle=function(t){var n=this.data,i=this.attributes,a=i.interval,s=i.labelFormatter,o=Yn(this.attributes,"axis"),l=t.x,c=t.y,h=t.width,p=(0,we.ev)((0,we.ev)([],(0,we.CR)(n),!1),[{time:0}],!1).map(function(k,W,j){var K=k.time;return{label:"".concat(K),value:W/(j.length-1),time:K}}),C=(0,we.pi)({startPos:[l,c],endPos:[l+h,c],data:p,labelFilter:function(k,W){return W<p.length-1},labelFormatter:function(k){var W=k.time;return s?s(W):ck(W,a)}},o);return C},e.prototype.renderAxis=function(t){t===void 0&&(t=this.space.axisBBox);var n=this.attributes.type;n==="chart"&&this.axis.update(this.getAxisStyle(t))},e.prototype.renderController=function(t){t===void 0&&(t=this.space.controllerBBox);var n=this.attributes.type,i=this.states,a=i.state,s=i.speed,o=i.selectionType,l=i.chartType,c=Yn(this.attributes,"controller"),h=this,p=(0,we.pi)((0,we.pi)((0,we.pi)({},t),{iconSize:20,speed:s,state:a,selectionType:o,chartType:l,onChange:function(C,k){var W=k.value;switch(C){case"reset":h.internalReset();break;case"speed":h.handleSpeedChange(W);break;case"backward":h.internalBackward();break;case"playPause":W==="play"?h.internalPlay():h.internalPause();break;case"forward":h.internalForward();break;case"selectionType":h.handleSelectionTypeChange(W);break;case"chartType":h.handleChartTypeChange(W);break;default:break}}}),c);n==="time"&&(p.functions=[["reset","speed"],["backward","playPause","forward"],["selectionType"]]),this.controller.update(p)},e.prototype.dispatchOnChange=function(t){var n=this.data,i=this.attributes.onChange,a=this.states,s=a.values,o=a.selectionType,l=(0,we.CR)(s,2),c=l[0],h=l[1],p=h===1/0?n.at(-1).time:h,C=o==="range"?[c,p]:p,k=function(W,j){return Array.isArray(W)?Array.isArray(j)?W[0]===j[0]&&(W[1]===j[1]||W[1]===1/0||j[1]===1/0):!1:Array.isArray(j)?!1:W===j};(!t||!k(t,C))&&(i==null||i(o==="range"?[c,p]:p))},e.prototype.internalReset=function(t){var n,i,a=this.states.selectionType;this.internalPause(),this.setBySliderValues(a==="range"?[0,1]:[0,0]),this.renderController(),this.updateSelection(),t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onReset)===null||i===void 0||i.call(n),this.dispatchOnChange())},e.prototype.reset=function(){this.internalReset()},e.prototype.moveSelection=function(t,n){var i=this.data,a=i.length,s=this.states,o=s.values,l=s.selectionType,c=s.playMode,h=(0,we.CR)(o,2),p=h[0],C=h[1],k=i.findIndex(function(re){var ve=re.time;return ve===p}),W=i.findIndex(function(re){var ve=re.time;return ve===C});W===-1&&(W=a);var j=t==="backward"?-1:1,K;l==="range"?c==="acc"?(K=[k,W+j],j===-1&&k===W&&(K=[k,a])):K=[k+j,W+j]:K=[k,W+j];var Q=function(re){var ve=(0,we.CR)(re.sort(function(Ee,De){return Ee-De}),2),he=ve[0],pe=ve[1],_e=function(Ee){return Yr(Ee,0,a)};return pe>a?l==="value"?[0,0]:c==="acc"?[_e(he),_e(he)]:[0,_e(pe-he)]:he<0?c==="acc"?[0,_e(pe)]:[_e(he+a-pe),a]:[_e(he),_e(pe)]},ee=Q(K);return this.setByIndex(ee),this.updateSelection(),ee},e.prototype.internalBackward=function(t){var n,i,a=this.moveSelection("backward",t);return t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onBackward)===null||i===void 0||i.call(n),this.dispatchOnChange()),a},e.prototype.backward=function(){this.internalBackward()},e.prototype.internalPlay=function(t){var n=this,i,a,s=this.data,o=this.attributes.loop,l=this.states.speed,c=l===void 0?1:l;this.playInterval=window.setInterval(function(){var h=n.internalForward();h[1]===s.length&&!o&&(n.internalPause(),n.renderController())},1e3/c),this.states.state="play",!t&&((a=(i=this.attributes)===null||i===void 0?void 0:i.onPlay)===null||a===void 0||a.call(i))},e.prototype.play=function(){this.internalPlay()},e.prototype.internalPause=function(t){var n,i;clearInterval(this.playInterval),this.states.state="pause",!t&&((i=(n=this.attributes)===null||n===void 0?void 0:n.onPause)===null||i===void 0||i.call(n))},e.prototype.pause=function(){this.internalPause()},e.prototype.internalForward=function(t){var n,i,a=this.moveSelection("forward",t);return t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onForward)===null||i===void 0||i.call(n),this.dispatchOnChange()),a},e.prototype.forward=function(){this.internalForward()},e.prototype.handleSpeedChange=function(t){var n,i;this.states.speed=t;var a=this.states.state;a==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(i=(n=this.attributes)===null||n===void 0?void 0:n.onSpeedChange)===null||i===void 0||i.call(n,t)},e.prototype.handleSelectionTypeChange=function(t){var n,i;this.states.selectionType=t,this.renderChart(),(i=(n=this.attributes)===null||n===void 0?void 0:n.onSelectionTypeChange)===null||i===void 0||i.call(n,t)},e.prototype.handleChartTypeChange=function(t){var n,i;this.states.chartType=t,this.renderChart(),(i=(n=this.attributes)===null||n===void 0?void 0:n.onChartTypeChange)===null||i===void 0||i.call(n,t)},e.prototype.render=function(){var t=this.space,n=t.axisBBox,i=t.controllerBBox,a=t.timelineBBox;this.renderController(i),this.renderAxis(n),this.renderChart(a),this.states.state==="play"&&this.internalPlay()},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.internalPause(!0)},e.defaultOptions={style:{x:0,y:0,axisLabelFill:"#6e6e6e",axisLabelTextAlign:"left",axisLabelTextBaseline:"top",axisLabelTransform:"translate(5, -12)",axisLineLineWidth:1,axisLineStroke:"#cacdd1",axisTickLength:15,axisTickLineWidth:1,axisTickStroke:"#cacdd1",chartShowLabel:!1,chartType:"line",controllerAlign:"center",controllerHeight:40,data:[],interval:"day",loop:!1,playMode:"acc",selectionType:"range",type:"time"}},e}(ti);function fk(r){return r instanceof Date}var dk=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})},vk=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const gk=["timestamp","time","date","datetime"];class Cd extends ki{get padding(){return os(this.options.padding)}constructor(e,t){super(e,Object.assign({},Cd.defaultOptions,t)),this.backup(),this.upsertTimebar()}play(){var e;(e=this.timebar)===null||e===void 0||e.play()}pause(){var e;(e=this.timebar)===null||e===void 0||e.pause()}forward(){var e;(e=this.timebar)===null||e===void 0||e.forward()}backward(){var e;(e=this.timebar)===null||e===void 0||e.backward()}reset(){var e;(e=this.timebar)===null||e===void 0||e.reset()}update(e){super.update(e),this.backup(),this.upsertTimebar()}backup(){this.originalData=Nb(this.context.graph.getData())}upsertTimebar(){const{canvas:e}=this.context,t=this.options,{onChange:n,timebarType:i,data:a,x:s,y:o,width:l,height:c,mode:h}=t,p=vk(t,["onChange","timebarType","data","x","y","width","height","mode"]),C=e.getSize(),[k]=this.padding;this.upsertCanvas().ready.then(()=>{var W;const j=Object.assign(Object.assign({x:C[0]/2-l/2,y:k,onChange:K=>{const Q=(Ma(K)?K:[K,K]).map(ee=>fk(ee)?ee.getTime():ee);this.options.mode==="modify"?this.filterElements(Q):this.hiddenElements(Q),n==null||n(Q)}},p),{data:a.map(K=>dn(K)?{time:K,value:0}:K),width:l,height:c,type:i});this.timebar?this.timebar.update(j):(this.timebar=new hk({style:j}),(W=this.canvas)===null||W===void 0||W.appendChild(this.timebar))})}upsertCanvas(){if(this.canvas)return this.canvas;const{className:e,height:t,position:n}=this.options,i=this.context.canvas,[a]=i.getSize(),[s,,o]=this.padding,[l,c]=Bp({width:a,height:t+s+o,graphCanvas:i,className:"timebar",placement:n});return this.container=l,e&&l.classList.add(e),this.canvas=c,this.canvas}filterElements(e){return dk(this,void 0,void 0,function*(){var t;if(!this.originalData)return;const{elementTypes:n,getTime:i}=this.options,{graph:a,element:s}=this.context,o=Nb(this.originalData);n.forEach(c=>{const h=`${c}s`;o[h]=(this.originalData[h]||[]).filter(p=>{const C=i(p);return!!Bb(C,e)})});const l=[...o.nodes,...o.combos].map(c=>Mt(c));o.edges=o.edges.filter(c=>{const h=c.source,p=c.target;return l.includes(h)&&l.includes(p)}),a.setData(o),yield(t=s.draw({animation:!1,silence:!0}))===null||t===void 0?void 0:t.finished})}hiddenElements(e){const{graph:t}=this.context,{elementTypes:n,getTime:i}=this.options,a=[],s=[];n.forEach(o=>{var l;const c=`${o}s`;(((l=this.originalData)===null||l===void 0?void 0:l[c])||[]).forEach(p=>{const C=Mt(p),k=i(p);Bb(k,e)?s.push(C):a.push(C)})}),t.hideElement(a,!1),t.showElement(s,!1)}destroy(){var e,t,n;const{graph:i}=this.context;this.originalData&&i.setData(Object.assign({},this.originalData)),(e=this.timebar)===null||e===void 0||e.destroy(),(t=this.canvas)===null||t===void 0||t.destroy(),(n=this.container)===null||n===void 0||n.remove(),this.originalData=void 0,this.container=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}Cd.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:r=>pk(r,gk,void 0),loop:!1};const Nb=r=>{const{nodes:e=[],edges:t=[],combos:n=[]}=r;return{nodes:[...e],edges:[...t],combos:[...n]}},Bb=(r,e)=>{if(dn(e))return r===e;const[t,n]=e;return r>=t&&r<=n},pk=(r,e,t)=>{var n;for(let i=0;i<e.length;i++){const a=e[i],s=(n=r.data)===null||n===void 0?void 0:n[a];if(s)return s}return t};function mk(r){const e={top:"unset",right:"unset",bottom:"unset",left:"unset"};return r.split("-").forEach(n=>{e[n]="8px"}),e.flexDirection=r.startsWith("top")||r.startsWith("bottom")?"row":"column",e}const yk=`
.g6-toolbar {
position: absolute;
z-index: 100;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
border-radius: 4px;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
opacity: 0.65;
}
.g6-toolbar .g6-toolbar-item {
display: inline-block;
width: 16px;
height: 16px;
padding: 4px;
cursor: pointer;
box-sizing: content-box;
}
.g6-toolbar .g6-toolbar-item:hover {
background-color: #f0f0f0;
}
.g6-toolbar .g6-toolbar-item svg {
display: inline-block;
width: 100%;
height: 100%;
pointer-events: none;
}
`,_k=`
<svg>
<symbol id="zoom-in" viewBox="64 64 896 896">
<path d="M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
</symbol>
<symbol id="zoom-out" viewBox="64 64 896 896">
<path d="M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
</symbol>
<symbol id="edit" viewBox="64 64 896 896">
<path d="M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"></path>
</symbol>
<symbol id="delete" viewBox="64 64 896 896">
<path d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"></path>
</symbol>
<symbol id="redo" viewBox="64 64 896 896">
<path d="M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 00-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z"></path>
</symbol>
<symbol id="undo" viewBox="64 64 896 896">
<path d="M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z"></path>
</symbol>
<symbol id="export" viewBox="64 64 896 896">
<path d="M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z"></path>
</symbol>
<symbol id="auto-fit" viewBox="64 64 896 896">
<path d="M952 474H829.8C812.5 327.6 696.4 211.5 550 194.2V72c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v122.2C327.6 211.5 211.5 327.6 194.2 474H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h122.2C211.5 696.4 327.6 812.5 474 829.8V952c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V829.8C696.4 812.5 812.5 696.4 829.8 550H952c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM512 756c-134.8 0-244-109.2-244-244s109.2-244 244-244 244 109.2 244 244-109.2 244-244 244z"></path>
<path d="M512 392c-32.1 0-62.1 12.4-84.8 35.2-22.7 22.7-35.2 52.7-35.2 84.8s12.5 62.1 35.2 84.8C449.9 619.4 480 632 512 632s62.1-12.5 84.8-35.2C619.4 574.1 632 544 632 512s-12.5-62.1-35.2-84.8A118.57 118.57 0 00512 392z"></path>
</symbol>
<symbol id="reset" viewBox="64 64 896 896">
<path d="M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"></path>
</symbol>
<symbol id="exit-fullscreen" viewBox="0 0 1024 1024">
<path d="M418.13333333 361.43786666c0 0.2048-0.13653333 0.4096-0.13653334 0.68266667C417.99679999 362.32533333 418.13333333 362.53013333 418.13333333 362.73493333 418.13333333 371.54133333 414.44693333 379.392 408.78079999 385.39946666 408.43946666 385.7408 408.30293333 386.21866666 408.02986666 386.49173333c-1.09226667 1.09226667-2.59413333 1.77493333-3.82293333 2.73066667C398.40426666 393.65973333 391.64586666 396.8 383.93173333 396.8 383.72693333 396.8 383.59039999 396.73173333 383.38559999 396.73173333S382.97599999 396.8 382.77119999 396.8L112.29866666 396.8C92.50133333 396.8 76.79999999 381.50826666 76.79999999 362.66666666 76.66346666 343.89333333 92.63786666 328.53333333 112.16213333 328.53333333l189.44 0L87.44959999 114.51733333C73.59146666 100.59093333 73.25013333 78.5408 86.63039999 65.29706666c13.17546667-13.44853333 35.36213333-12.97066667 49.152 0.88746667l214.08426667 214.08426667L349.86666666 90.89706666C349.79839999 71.23626666 365.22666666 55.46666666 383.99999999 55.46666666 402.77333333 55.33013333 418.13333333 71.30453333 418.13333333 90.8288L418.13333333 361.43786666zM928.90453333 328.53333333l-189.44 0 214.15253333-214.08426667c13.85813333-13.9264 14.19946667-35.90826667 0.88746667-49.22026666-13.17546667-13.44853333-35.36213333-12.97066667-49.152 0.88746666l-214.08426667 214.08426667L691.26826666 90.89706666C691.26826666 71.23626666 675.83999999 55.46666666 657.06666666 55.46666666 638.29333333 55.33013333 622.93333333 71.30453333 622.93333333 90.8288l0 270.60906666c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 362.32533333 622.93333333 362.53013333 622.93333333 362.73493333 622.93333333 371.54133333 626.61973333 379.392 632.28586666 385.39946666c0.34133333 0.34133333 0.47786667 0.8192 0.8192 1.09226667 1.09226667 1.09226667 2.59413333 1.77493333 3.8912 2.73066667C642.66239999 393.65973333 649.42079999 396.8 657.13493333 396.8c0.2048 0 0.34133333-0.06826667 0.54613333-0.06826667S658.09066666 396.8 658.29546666 396.8l270.5408 0C948.56533333 396.8 964.26666666 381.50826666 964.26666666 362.66666666 964.40319999 343.89333333 948.42879999 328.53333333 928.90453333 328.53333333zM418.13333333 635.73333333c0-8.8064-3.6864-16.5888-9.35253334-22.66453333C408.43946666 612.72746666 408.30293333 612.2496 408.02986666 611.90826666 406.86933333 610.88426666 405.43573333 610.2016 404.20693333 609.24586666 398.47253333 604.80853333 391.64586666 601.6 383.93173333 601.6 383.72693333 601.6 383.59039999 601.73653333 383.38559999 601.73653333S382.97599999 601.6 382.77119999 601.6L112.29866666 601.6C92.50133333 601.6 76.79999999 616.96 76.79999999 635.73333333 76.66346666 654.50666666 92.63786666 669.86666666 112.16213333 669.86666666l189.44 0-214.15253334 214.15253334c-13.85813333 13.85813333-14.19946667 35.84-0.88746666 49.22026666 13.17546667 13.44853333 35.36213333 12.9024 49.152-0.95573333l214.08426666-214.08426667 0 189.37173334c0 19.59253333 15.42826667 35.49866667 34.2016 35.36213333C402.77333333 943.2064 418.13333333 927.232 418.13333333 907.5712L418.13333333 637.09866666c0-0.27306667-0.13653333-0.47786667-0.13653334-0.68266666C417.99679999 636.14293333 418.13333333 635.93813333 418.13333333 635.73333333zM739.46453333 669.86666666l189.44 0c19.456 0 35.49866667-15.36 35.36213333-34.13333333C964.26666666 616.96 948.56533333 601.6 928.76799999 601.6L658.29546666 601.6C658.09066666 601.6 657.88586666 601.73653333 657.68106666 601.73653333S657.33973333 601.6 657.13493333 601.6C649.42079999 601.6 642.59413333 604.80853333 636.85973333 609.24586666 635.63093333 610.2016 634.19733333 610.88426666 633.03679999 611.90826666 632.76373333 612.2496 632.62719999 612.72746666 632.28586666 613.0688 626.61973333 619.14453333 622.93333333 626.92693333 622.93333333 635.73333333c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 636.6208 622.93333333 636.8256 622.93333333 637.09866666l0 270.5408C622.93333333 927.232 638.29333333 943.2064 657.06666666 942.93333333c18.77333333 0.13653333 34.2016-15.70133333 34.2016-35.36213333l0-189.37173334 214.08426667 214.08426667c13.78986667 13.85813333 35.90826667 14.40426667 49.152 0.95573333 13.312-13.312 12.97066667-35.36213333-0.88746667-49.22026666L739.46453333 669.86666666z" ></path></symbol>
<symbol id="request-fullscreen" viewBox="0 0 1024 1024">
<path d="M69.818182 87.598545v273.128728a34.909091 34.909091 0 0 0 69.818182 0V163.653818l221.928727 222.021818a33.512727 33.512727 0 0 0 47.383273-47.383272L186.926545 116.363636h197.073455a34.909091 34.909091 0 0 0 0-69.818181H110.871273C85.364364 46.545455 69.818182 59.671273 69.818182 87.598545zM938.542545 46.545455H665.413818a34.909091 34.909091 0 0 0 0 69.818181h197.073455L640.465455 338.292364a33.512727 33.512727 0 0 0 47.383272 47.383272l221.928728-222.021818v197.073455a34.909091 34.909091 0 0 0 69.818181 0V87.598545c0-27.927273-15.453091-41.053091-40.96-41.05309z m-827.671272 907.636363h273.128727a34.909091 34.909091 0 0 0 0-69.818182H186.926545l222.021819-221.928727a33.512727 33.512727 0 0 0-47.383273-47.383273L139.636364 837.073455V640a34.909091 34.909091 0 0 0-69.818182 0v273.128727c0 27.927273 15.546182 41.053091 41.053091 41.053091z m868.724363-41.053091V640a34.909091 34.909091 0 0 0-69.818181 0v197.073455L687.941818 615.051636a33.512727 33.512727 0 0 0-47.383273 47.383273L862.487273 884.363636H665.413818a34.909091 34.909091 0 0 0 0 69.818182h273.128727c25.6 0 41.053091-13.125818 41.053091-41.053091z" ></path></symbol>
</svg>
`;var kb=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Od extends ki{constructor(e,t){super(e,Object.assign({},Od.defaultOptions,t)),this.$element=tc("toolbar",!1),this.onToolbarItemClick=i=>{const{onClick:a}=this.options;if(i.target instanceof Element&&i.target.className.includes("g6-toolbar-item")){const s=i.target.getAttribute("value");a==null||a(s,i.target)}};const n=this.context.canvas.getContainer();this.$element.style.display="flex",n.appendChild(this.$element),wp("g6-toolbar-css","style",{},yk,document.head),wp("g6-toolbar-svgicon","div",{display:"none"},_k),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return kb(this,void 0,void 0,function*(){t.update.call(this,e);const{className:n,position:i,style:a}=this.options;this.$element.className=`g6-toolbar ${n||""}`,Object.assign(this.$element.style,a,mk(i)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return kb(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(t=>`
<div class="g6-toolbar-item" value="${t.value}">
<svg aria-hidden="true" focusable="false">
<use xlink:href="#${t.id}"></use>
</svg>
</div>`).join("")})}}Od.defaultOptions={position:"top-left"};function h0(r){var e=document.createElement("div");e.innerHTML=r;var t=e.childNodes[0];return t&&e.contains(t)&&e.removeChild(t),t}function Ek(r,e){return!r||!e?r:r.replace(/\\?\{([^{}]+)\}/g,function(t,n){return t.charAt(0)==="\\"?t.slice(1):e[n]===void 0?"":e[n]})}var xk=Ek,zb=function(r,e){if(e==null){r.innerHTML="";return}r.replaceChildren?Array.isArray(e)?r.replaceChildren.apply(r,(0,we.ev)([],(0,we.CR)(e),!1)):r.replaceChildren(e):(r.innerHTML="",Array.isArray(e)?e.forEach(function(t){return r.appendChild(t)}):r.appendChild(e))};function f0(r){return r===void 0&&(r=""),{CONTAINER:"".concat(r,"tooltip"),TITLE:"".concat(r,"tooltip-title"),LIST:"".concat(r,"tooltip-list"),LIST_ITEM:"".concat(r,"tooltip-list-item"),NAME:"".concat(r,"tooltip-list-item-name"),MARKER:"".concat(r,"tooltip-list-item-marker"),NAME_LABEL:"".concat(r,"tooltip-list-item-name-label"),VALUE:"".concat(r,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(r,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(r,"tooltip-crosshair-y")}}var Fb={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function bk(r){var e;r===void 0&&(r="");var t=f0(r);return e={},e[".".concat(t.CONTAINER)]={position:"absolute",visibility:"visible","z-index":8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)","background-color":"rgba(255, 255, 255, 0.96)","box-shadow":"0 6px 12px 0 rgba(0, 0, 0, 0.12)","border-radius":"4px",color:"rgba(0, 0, 0, 0.65)","font-size":"12px","line-height":"20px",padding:"12px","min-width":"120px","max-width":"360px","font-family":"Roboto-Regular"},e[".".concat(t.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},e[".".concat(t.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},e[".".concat(t.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},e[".".concat(t.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},e[".".concat(t.NAME)]={display:"flex","align-items":"center","max-width":"216px"},e[".".concat(t.NAME_LABEL)]=(0,we.pi)({flex:1},Fb),e[".".concat(t.VALUE)]=(0,we.pi)({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},Fb),e[".".concat(t.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},e[".".concat(t.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},e}var wk=function(r){(0,we.ZT)(e,r);function e(t){var n=this,i,a,s=(a=(i=t.style)===null||i===void 0?void 0:i.template)===null||a===void 0?void 0:a.prefixCls,o=f0(s);return n=r.call(this,t,{data:[],x:0,y:0,visibility:"visible",title:"",position:"bottom-right",offset:[5,5],enterable:!1,container:{x:0,y:0},bounding:null,template:{prefixCls:"",container:'<div class="'.concat(o.CONTAINER,'"></div>'),title:'<div class="'.concat(o.TITLE,'"></div>'),item:'<li class="'.concat(o.LIST_ITEM,`" data-index={index}>
<span class="`).concat(o.NAME,`">
<span class="`).concat(o.MARKER,`" style="background:{color}"></span>
<span class="`).concat(o.NAME_LABEL,`" title="{name}">{name}</span>
</span>
<span class="`).concat(o.VALUE,`" title="{value}">{value}</span>
</li>`)},style:bk(s)})||this,n.timestamp=-1,n.prevCustomContentKey=n.attributes.contentKey,n.initShape(),n.render(n.attributes,n),n}return Object.defineProperty(e.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),e.prototype.getContainer=function(){return this.element},Object.defineProperty(e.prototype,"elementSize",{get:function(){var t=this.element.offsetWidth,n=this.element.offsetHeight;return{width:t,height:n}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"HTMLTooltipItemsElements",{get:function(){var t=this.attributes,n=t.data,i=t.template;return n.map(function(a,s){var o=a.name,l=o===void 0?"":o,c=a.color,h=c===void 0?"black":c,p=a.index,C=(0,we._T)(a,["name","color","index"]),k=(0,we.pi)({name:l,color:h,index:p!=null?p:s},C);return h0(xk(i.item,k))})},enumerable:!1,configurable:!0}),e.prototype.render=function(t,n){this.renderHTMLTooltipElement(),this.updatePosition()},e.prototype.destroy=function(){var t;(t=this.element)===null||t===void 0||t.remove(),r.prototype.destroy.call(this)},e.prototype.show=function(t,n){var i=this;if(t!==void 0&&n!==void 0){var a=this.element.style.visibility==="hidden",s=function(){i.attributes.x=t!=null?t:i.attributes.x,i.attributes.y=n!=null?n:i.attributes.y,i.updatePosition()};a?this.closeTransition(s):s()}this.element.style.visibility="visible"},e.prototype.hide=function(t,n){t===void 0&&(t=0),n===void 0&&(n=0);var i=this.attributes.enterable;i&&this.isCursorEntered(t,n)||(this.element.style.visibility="hidden")},e.prototype.initShape=function(){var t=this.attributes.template;this.element=h0(t.container),this.id&&this.element.setAttribute("id",this.id)},e.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var t=this.attributes.content;t&&(typeof t=="string"?this.element.innerHTML=t:zb(this.element,t))}},e.prototype.renderHTMLTooltipElement=function(){var t,n,i=this.attributes,a=i.template,s=i.title,o=i.enterable,l=i.style,c=i.content,h=f0(a.prefixCls),p=this.element;if(this.element.style.pointerEvents=o?"auto":"none",c)this.renderCustomContent();else{s?(p.innerHTML=a.title,p.getElementsByClassName(h.TITLE)[0].innerHTML=s):(n=(t=p.getElementsByClassName(h.TITLE))===null||t===void 0?void 0:t[0])===null||n===void 0||n.remove();var C=this.HTMLTooltipItemsElements,k=document.createElement("ul");k.className=h.LIST,zb(k,C);var W=this.element.querySelector(".".concat(h.LIST));W?W.replaceWith(k):p.appendChild(k)}a5(p,l)},e.prototype.getRelativeOffsetFromCursor=function(t){var n=this.attributes,i=n.position,a=n.offset,s=t||i,o=s.split("-"),l={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},c=this.elementSize,h=c.width,p=c.height,C=[-h/2,-p/2];return o.forEach(function(k){var W=(0,we.CR)(C,2),j=W[0],K=W[1],Q=(0,we.CR)(l[k],2),ee=Q[0],re=Q[1];C=[j+(h/2+a[0])*ee,K+(p/2+a[1])*re]}),C},e.prototype.setOffsetPosition=function(t){var n=(0,we.CR)(t,2),i=n[0],a=n[1],s=this.attributes,o=s.x,l=o===void 0?0:o,c=s.y,h=c===void 0?0:c,p=s.container,C=p.x,k=p.y;this.element.style.left="".concat(+l+C+i,"px"),this.element.style.top="".concat(+h+k+a,"px")},e.prototype.updatePosition=function(){var t=this.attributes.showDelay,n=t===void 0?60:t,i=Date.now();this.timestamp>0&&i-this.timestamp<n||(this.timestamp=i,this.setOffsetPosition(this.autoPosition(this.getRelativeOffsetFromCursor())))},e.prototype.autoPosition=function(t){var n=(0,we.CR)(t,2),i=n[0],a=n[1],s=this.attributes,o=s.x,l=s.y,c=s.bounding,h=s.position;if(!c)return[i,a];var p=this.element,C=p.offsetWidth,k=p.offsetHeight,W=(0,we.CR)([+o+i,+l+a],2),j=W[0],K=W[1],Q={left:"right",right:"left",top:"bottom",bottom:"top"},ee=c.x,re=c.y,ve=c.width,he=c.height,pe={left:j<ee,right:j+C>ee+ve,top:K<re,bottom:K+k>re+he},_e=[];h.split("-").forEach(function(De){pe[De]?_e.push(Q[De]):_e.push(De)});var Ee=_e.join("-");return this.getRelativeOffsetFromCursor(Ee)},e.prototype.isCursorEntered=function(t,n){if(this.element){var i=this.element.getBoundingClientRect(),a=i.x,s=i.y,o=i.width,l=i.height;return new Yi(a,s,o,l).isPointIn(t,n)}return!1},e.prototype.closeTransition=function(t){var n=this,i=this.element.style.transition;this.element.style.transition="none",t(),setTimeout(function(){n.element.style.transition=i},10)},e.tag="tooltip",e}(ti),Ub=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Pd extends ki{constructor(e,t){super(e,Object.assign({},Pd.defaultOptions,t)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=(n,i)=>{const{enable:a}=this.options;return typeof a=="function"?a(n,i):a},this.onClick=n=>{const{target:{id:i}}=n;this.currentTarget===i?this.hide(n):this.show(n)},this.onPointerMove=n=>{const{target:i}=n;!this.currentTarget||i.id===this.currentTarget||this.show(n)},this.onPointerLeave=n=>{this.hide(n)},this.onCanvasMove=n=>{this.hide(n)},this.onPointerEnter=n=>{this.show(n)},this.showById=n=>Ub(this,void 0,void 0,function*(){const i={target:{id:n}};yield this.show(i)}),this.getElementData=(n,i)=>{const{model:a}=this.context;switch(i){case"node":return a.getNodeData([n]);case"edge":return a.getEdgeData([n]);case"combo":return a.getComboData([n]);default:return[]}},this.show=n=>Ub(this,void 0,void 0,function*(){var i,a;const{client:s,target:{id:o}}=n;if(_f(n.target))return;const l=this.context.graph.getElementType(o),{getContent:c,title:h}=this.options,p=this.getElementData(o,l);if(!this.tooltipElement||!this.isEnable(n,p))return;let C={};if(c){if(C.content=yield c(n,p),!C.content)return}else{const j=this.context.graph.getElementRenderStyle(o),K=l==="node"?j.fill:j.stroke;C={title:h||l,data:p.map(Q=>({name:"ID",value:Q.id||`${Q.source} -> ${Q.target}`,color:K}))}}this.currentTarget=o;let k,W;if(s)k=s.x,W=s.y;else{const j=aa(p,"0.style",{x:0,y:0});k=j.x,W=j.y}(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!0),this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:k,y:W,style:{".tooltip":{visibility:"visible"}}}),C))}),this.hide=n=>{var i,a,s,o,l;if(!n){(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!1),(s=this.tooltipElement)===null||s===void 0||s.hide(),this.currentTarget=null;return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:c,y:h}}=n;(l=(o=this.options).onOpenChange)===null||l===void 0||l.call(o,!1),this.tooltipElement.hide(c,h),this.currentTarget=null},this.initTooltip=()=>{var n;const i=new wk({className:"tooltip",style:this.tooltipStyleProps});return(n=this.container)===null||n===void 0||n.appendChild(i.HTMLTooltipElement),i},this.render(),this.bindEvents()}getEvents(){return this.options.trigger==="click"?{"node:click":this.onClick,"edge:click":this.onClick,"combo:click":this.onClick,"canvas:click":this.onPointerLeave,contextmenu:this.onPointerLeave,drag:this.onPointerLeave}:{"node:pointerenter":this.onPointerEnter,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerenter":this.onPointerEnter,"edge:pointermove":this.onPointerMove,"combo:pointerenter":this.onPointerEnter,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(e){var t;this.unbindEvents(),super.update(e),this.tooltipElement&&((t=this.container)===null||t===void 0||t.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:e}=this.context,t=e.getContainer();t&&(this.container=t,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:e}=this.context,t=this.getEvents();Object.keys(t).forEach(n=>{e.off(n,t[n])})}bindEvents(){const{graph:e}=this.context,t=this.getEvents();Object.keys(t).forEach(n=>{e.on(n,t[n])})}get tooltipStyleProps(){const{canvas:e}=this.context,{center:t}=e.getBounds(),n=e.getContainer(),{top:i,left:a}=n.getBoundingClientRect(),{style:s,position:o,enterable:l,container:c={x:-a,y:-i},title:h,offset:p}=this.options,[C,k]=t,[W,j]=e.getSize();return{x:C,y:k,container:c,title:h,bounding:{x:0,y:0,width:W,height:j},position:o,enterable:l,offset:p,style:s}}destroy(){var e;this.unbindEvents(),this.tooltipElement&&((e=this.container)===null||e===void 0||e.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}Pd.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var Wb=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};let sc;function Hb(r,e){return sc||(sc=document.createElement("canvas")),sc.width=r,sc.height=e,sc.getContext("2d").clearRect(0,0,r,e),sc}function Mk(r,e,t,n){return Wb(this,void 0,void 0,function*(){const i=Hb(r,e),a=i.getContext("2d"),{rotate:s,opacity:o,textFill:l,textFontSize:c,textFontFamily:h,textFontVariant:p,textFontWeight:C,textAlign:k,textBaseline:W}=n;return a.textAlign=k,a.textBaseline=W,a.translate(r/2,e/2),a.font=`${c}px ${h} ${p} ${C}`,s&&a.rotate(s),o&&(a.globalAlpha=o),l&&(a.fillStyle=l,a.fillText(`${t}`,0,0)),i.toDataURL()})}function Sk(r,e,t,n){return Wb(this,void 0,void 0,function*(){const i=Hb(r,e),a=i.getContext("2d"),{rotate:s,opacity:o}=n;s&&a.rotate(s),o&&(a.globalAlpha=o);const l=new Image;return l.crossOrigin="anonymous",l.src=t,new Promise(c=>{l.onload=function(){const h=r>l.width?(r-l.width)/2:0,p=e>l.height?(e-l.height)/2:0;a.drawImage(l,0,0,l.width,l.height,h,p,r-h*2,e-p*2),c(i.toDataURL())}})})}var Tk=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})},Ak=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Dd extends ki{constructor(e,t){super(e,Object.assign({},Dd.defaultOptions,t)),this.$element=tc("watermark"),this.context.canvas.getContainer().appendChild(this.$element),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return Tk(this,void 0,void 0,function*(){t.update.call(this,e);const n=this.options,{width:i,height:a,text:s,imageURL:o}=n,l=Ak(n,["width","height","text","imageURL"]);Object.keys(l).forEach(h=>{h.startsWith("background")&&(this.$element.style[h]=e[h])});const c=o?yield Sk(i,a,o,l):yield Mk(i,a,s,l);this.$element.style.backgroundImage=`url(${c})`})}destroy(){super.destroy(),this.$element.remove()}}Dd.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const Ck=["#7E92B5","#F4664A","#FFBE3A"],Ok={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},Pk={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function jb(r){const{bgColor:e,textColor:t,nodeColor:n,nodeColorDisabled:i,nodeStroke:a,nodeHaloStrokeOpacityActive:s=.15,nodeHaloStrokeOpacitySelected:o=.25,nodeOpacityDisabled:l=.06,nodeIconOpacityInactive:c=.85,nodeOpacityInactive:h=.25,nodeBadgePalette:p=Ck,nodePaletteOptions:C=Ok,edgeColor:k,edgeColorDisabled:W,edgePaletteOptions:j=Pk,comboColor:K,comboColorDisabled:Q,comboStroke:ee,comboStrokeDisabled:re,edgeColorInactive:ve}=r;return{background:e,node:{palette:C,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:p,fill:n,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:t,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:n,portLineWidth:1,portStroke:a,portStrokeOpacity:.65,size:32,stroke:a,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:o,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:a},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:s},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:a,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:h,donutOpacity:h,fillOpacity:h,iconOpacity:c,labelFill:t,labelFillOpacity:h,strokeOpacity:h},disabled:{badgeBackgroundOpacity:.25,donutOpacity:l,fill:i,fillOpacity:l,iconFill:i,iconOpacity:.25,labelFill:t,labelFillOpacity:.25,strokeOpacity:l}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"node-expand",collapse:"node-collapse",update:[{fields:["x","y","fill","stroke"]}],translate:[{fields:["x","y"]}]}},edge:{palette:j,style:{badgeBackgroundFill:k,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:t,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:k,strokeOpacity:1,zIndex:1},state:{selected:{halo:!0,haloStrokeOpacity:.25,labelFontSize:14,labelFontWeight:"bold",lineWidth:3},active:{halo:!0,haloStrokeOpacity:.15},highlight:{labelFontWeight:"bold",lineWidth:3},inactive:{stroke:ve,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:W,fillOpacity:.45,strokeOpacity:.45,labelOpacity:.25,badgeBackgroundOpacity:.45}},animation:{enter:"fade",exit:"fade",expand:"path-in",collapse:"path-out",show:"fade",hide:"fade",update:[{fields:["sourceNode","targetNode"]},{fields:["stroke"],shape:"key"}],translate:[{fields:["sourceNode","targetNode"]}]}},combo:{style:{collapsedMarkerFill:e,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:K,halo:!1,haloLineWidth:12,haloStroke:ee,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:t,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:ee},state:{selected:{halo:!0,labelFontSize:14,labelFontWeight:700,lineWidth:4},active:{halo:!0},highlight:{labelFontWeight:700,lineWidth:4},inactive:{fillOpacity:.65,labelOpacity:.25,strokeOpacity:.65},disabled:{fill:Q,fillOpacity:.25,labelOpacity:.25,stroke:re,strokeOpacity:.25}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"combo-expand",collapse:"combo-collapse",update:[{fields:["x","y"]},{fields:["fill","stroke","lineWidth"],shape:"key"}],translate:[{fields:["x","y"]}]}}}}const Dk=jb({bgColor:"#000000",comboColor:"#fdfdfd",comboColorDisabled:"#d0e4ff",comboStroke:"#99add1",comboStrokeDisabled:"#969696",edgeColor:"#637088",edgeColorDisabled:"#637088",edgeColorInactive:"#D0E4FF",edgePaletteOptions:{type:"group",color:["#637088","#0F55A6","#008383","#9C5D38","#8B53A6","#4E40A6","#8F6608","#3E801D","#A65383","#175E75","#0F8248"]},nodeColor:"#1783ff",nodeColorDisabled:"#D0E4FF",nodeHaloStrokeOpacityActive:.25,nodeHaloStrokeOpacitySelected:.45,nodeIconOpacityInactive:.45,nodeOpacityDisabled:.25,nodeOpacityInactive:.45,nodeStroke:"#d0e4ff",textColor:"#ffffff"}),Lk=jb({bgColor:"#ffffff",comboColor:"#99ADD1",comboColorDisabled:"#f0f0f0",comboStroke:"#99add1",comboStrokeDisabled:"#d9d9d9",edgeColor:"#99add1",edgeColorDisabled:"#d9d9d9",edgeColorInactive:"#1B324F",nodeColor:"#1783ff",nodeColorDisabled:"#1B324F",nodeHaloStrokeOpacityActive:.15,nodeHaloStrokeOpacitySelected:.25,nodeIconOpacityInactive:.85,nodeOpacityDisabled:.06,nodeOpacityInactive:.25,nodeStroke:"#000000",textColor:"#000000"});class Do extends xg{beforeDraw(e,t){return e}afterLayout(e,t){}}class Rk extends Do{beforeDraw(e){const{model:t}=this.context,n=e.add.combos,i=a=>{const s=[];return a.forEach((o,l)=>{const h=t.getAncestorsData(l,"combo").map(p=>Mt(p)).reverse();s.push([l,o,h.length])}),new Map(s.sort(([,,o],[,,l])=>l-o).map(([o,l])=>[o,l]))};return e.add.combos=i(n),e.update.combos=i(e.update.combos),e}}function Na(r,e,t,n,i){const a=Mt(n),s=`${t}s`,o=i?n:r.add[s].get(a)||r.update[s].get(a)||r.remove[s].get(a)||n;Object.entries(r).forEach(([l,c])=>{e===l?c[s].set(a,o):c[s].delete(a)})}function Ld(r,e){return Object.keys(r).every(t=>r[t]===e[t])}class Ik extends Do{beforeDraw(e,t){if(t.stage==="visibility"||!this.context.model.model.hasTreeStructure(Lr))return e;const{model:n}=this.context,{add:i,update:a}=e,s=[...e.update.combos.entries(),...e.add.combos.entries()];for(;s.length;){const[o,l]=s.pop();if(xa(l)){const c=n.getDescendantsData(o),h=c.map(Mt),{internal:p,external:C}=Gg(h,k=>n.getRelatedEdgesData(k));c.forEach(k=>{const W=Mt(k),j=s.findIndex(([Q])=>Q===W);j!==-1&&s.splice(j,1);const K=n.getElementType(W);Na(e,"remove",K,k)}),p.forEach(k=>Na(e,"remove","edge",k)),C.forEach(k=>{var W;const j=Mt(k);((W=this.context.element)===null||W===void 0?void 0:W.getElement(j))?a.edges.set(j,k):i.edges.set(j,k)})}else{const c=n.getChildrenData(o),h=c.map(Mt),{edges:p}=Gg(h,C=>n.getRelatedEdgesData(C));[...c,...p].forEach(C=>{var k;const W=Mt(C),j=n.getElementType(W);((k=this.context.element)===null||k===void 0?void 0:k.getElement(W))?Na(e,"update",j,C):Na(e,"add",j,C),j==="combo"&&s.push([W,C])})}}return e}}const Gb=(r,e,t,n)=>{const i=`${t}s`,a=Mt(n);!r.add[i].has(a)&&!r.update[i].has(a)&&r[e][i].set(Mt(n),n)};class Nk extends Do{getElement(e){return this.context.element.getElement(e)}handleExpand(e,t){if(Gb(t,"add","node",e),xa(e))return;const n=Mt(e);Gb(t,"add","node",e),this.context.model.getRelatedEdgesData(n,"out").forEach(s=>{Na(t,"add","edge",s)}),this.context.model.getChildrenData(n).forEach(s=>{this.handleExpand(s,t)})}beforeDraw(e){const{graph:t,model:n}=this.context;if(!n.model.hasTreeStructure(Ca))return e;const{add:{nodes:i,edges:a},update:{nodes:s}}=e,o=new Map,l=new Map;i.forEach((h,p)=>{xa(h)&&o.set(p,h)}),a.forEach(h=>{if(t.getElementType(h.source)!=="node")return;const p=t.getNodeData(h.source);xa(p)&&o.set(h.source,p)}),s.forEach((h,p)=>{const C=this.getElement(p);if(!C)return;const k=C.attributes.collapsed;xa(h)?k||o.set(p,h):k&&l.set(p,h)});const c=new Set;return o.forEach((h,p)=>{n.getDescendantsData(p).forEach(k=>{const W=Mt(k);if(c.has(W))return;Na(e,"remove","node",k),n.getRelatedEdgesData(W).forEach(K=>{Na(e,"remove","edge",K)}),c.add(W)})}),l.forEach((h,p)=>{if(n.getAncestorsData(p,Ca).some(xa)){Na(e,"remove","node",h);return}this.handleExpand(h,e)}),e}}const d0=new WeakMap;function CW(r,e,t){d0.has(r)||d0.set(r,{});const n=d0.get(r);if(!n[e])return n[e]=t,!0;const i=n[e];return Vb(i,t)?!1:(n[e]=t,!0)}const Vb=(r,e,t=2)=>{if(typeof r!="object"||typeof e!="object")return r===e;const n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(const a of n){const s=r[a],o=e[a];if(t>1&&typeof s=="object"&&typeof o=="object"){if(!Vb(s,o,t-1))return!1}else if(s!==o)return!1}return!0};function Bk(r,e,t,n=!1){const i=ig[r][e];!n&&i?i!==t&&Ea.warn(`The extension ${e} of ${r} has been registered before.`):Object.assign(ig[r],{[e]:t})}var Zb=function(){function r(e){(0,b.Z)(this,r),this.dragndropPluginOptions=e}return(0,z.Z)(r,[{key:"apply",value:function(t){var n=this,i=t.renderingService,a=t.renderingContext,s=a.root.ownerDocument,o=s.defaultView,l=function(h){var p=h.target,C=p===s,k=C&&n.dragndropPluginOptions.isDocumentDraggable?s:p.closest&&p.closest("[draggable=true]");if(k){var W=!1,j=h.timeStamp,K=[h.clientX,h.clientY],Q=null,ee=[h.clientX,h.clientY],re=function(){var he=(0,so.Z)((0,Ki.Z)().mark(function pe(_e){var Ee,De,Be,Fe,Xe,qe;return(0,Ki.Z)().wrap(function(ht){for(;;)switch(ht.prev=ht.next){case 0:if(W){ht.next=8;break}if(Ee=_e.timeStamp-j,De=va([_e.clientX,_e.clientY],K),!(Ee<=n.dragndropPluginOptions.dragstartTimeThreshold||De<=n.dragndropPluginOptions.dragstartDistanceThreshold)){ht.next=5;break}return ht.abrupt("return");case 5:_e.type="dragstart",k.dispatchEvent(_e),W=!0;case 8:if(_e.type="drag",_e.dx=_e.clientX-ee[0],_e.dy=_e.clientY-ee[1],k.dispatchEvent(_e),ee=[_e.clientX,_e.clientY],C){ht.next=21;break}return Be=n.dragndropPluginOptions.overlap==="pointer"?[_e.canvasX,_e.canvasY]:p.getBounds().center,ht.next=17,s.elementsFromPoint(Be[0],Be[1]);case 17:Fe=ht.sent,Xe=Fe[Fe.indexOf(p)+1],qe=(Xe==null?void 0:Xe.closest("[droppable=true]"))||(n.dragndropPluginOptions.isDocumentDroppable?s:null),Q!==qe&&(Q&&(_e.type="dragleave",_e.target=Q,Q.dispatchEvent(_e)),qe&&(_e.type="dragenter",_e.target=qe,qe.dispatchEvent(_e)),Q=qe,Q&&(_e.type="dragover",_e.target=Q,Q.dispatchEvent(_e)));case 21:case"end":return ht.stop()}},pe)}));return function(_e){return he.apply(this,arguments)}}();o.addEventListener("pointermove",re);var ve=function(pe){if(W){pe.detail={preventClick:!0};var _e=pe.clone();Q&&(_e.type="drop",_e.target=Q,Q.dispatchEvent(_e)),_e.type="dragend",k.dispatchEvent(_e),W=!1}o.removeEventListener("pointermove",re)};p.addEventListener("pointerup",ve,{once:!0}),p.addEventListener("pointerupoutside",ve,{once:!0})}};i.hooks.init.tap(r.tag,function(){o.addEventListener("pointerdown",l)}),i.hooks.destroy.tap(r.tag,function(){o.removeEventListener("pointerdown",l)})}}])}();Zb.tag="Dragndrop";var kk=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,b.Z)(this,e),t=_(this,e),t.name="dragndrop",t.options=n,t}return(0,g.Z)(e,r),(0,z.Z)(e,[{key:"init",value:function(){this.addRenderingPlugin(new Zb((0,H.Z)({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(n){Object.assign(this.plugins[0].dragndropPluginOptions,n)}}])}(oo),Kb=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})},Xb=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const Yb=["main"],Qb=["background","main","label","transient"];function zk(r){return r.main}class Jb{getConfig(){return this.config}getLayer(e="main"){return this.extends.layers[e]||zk(this.getLayers())}getLayers(){return this.extends.layers}getRenderer(e){return this.extends.renderers[e]}getCamera(e="main"){return this.getLayer(e).getCamera()}getRoot(e="main"){return this.getLayer(e).getRoot()}getContextService(e="main"){return this.getLayer(e).getContextService()}setCursor(e){this.config.cursor=e,this.getLayer().setCursor(e)}get document(){return this.getLayer().document}get context(){return this.getLayer().context}constructor(e){this.config={enableMultiLayer:!0},Object.assign(this.config,e);const t=this.config,{renderer:n,background:i,cursor:a,enableMultiLayer:s}=t,o=Xb(t,["renderer","background","cursor","enableMultiLayer"]),l=s?Qb:Yb,c=qb(n,l),h=Object.fromEntries(l.map(p=>{const C=new Kv(Object.assign(Object.assign({},o),{supportsMutipleCanvasesInOneContainer:s,renderer:c[p],background:s?p==="background"?i:void 0:i}));return[p,C]}));$b(h),this.extends={config:this.config,renderer:n,renderers:c,layers:h}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,e])=>e.ready))}resize(e,t){Object.assign(this.extends.config,{width:e,height:t}),Object.values(this.getLayers()).forEach(n=>{const i=n.getCamera(),a=i.getPosition(),s=i.getFocalPoint();n.resize(e,t),i.setPosition(a),i.setFocalPoint(s)})}getBounds(e){return Hc(Object.values(this.getLayers()).map(t=>e?t.getRoot().childNodes.find(i=>i.classList.includes(e)):t.getRoot()).filter(t=>(t==null?void 0:t.childNodes.length)>0).map(t=>t.getBounds()))}getContainer(){const e=this.extends.config.container;return typeof e=="string"?document.getElementById(e):e}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(e,t){var n;const i=((n=e.style)===null||n===void 0?void 0:n.$layer)||"main";return this.getLayer(i).appendChild(e,t)}setRenderer(e){if(e===this.extends.renderer)return;const t=qb(e,this.config.enableMultiLayer?Qb:Yb);this.extends.renderers=t,Object.entries(t).forEach(([n,i])=>this.getLayer(n).setRenderer(i)),$b(this.getLayers())}getCanvasByViewport(e){return Ni(this.getLayer().viewport2Canvas(hs(e)))}getViewportByCanvas(e){return Ni(this.getLayer().canvas2Viewport(hs(e)))}getViewportByClient(e){return Ni(this.getLayer().client2Viewport(hs(e)))}getClientByViewport(e){return Ni(this.getLayer().viewport2Client(hs(e)))}getClientByCanvas(e){return this.getClientByViewport(this.getViewportByCanvas(e))}getCanvasByClient(e){const t=this.getLayer(),n=t.client2Viewport(hs(e));return Ni(t.viewport2Canvas(n))}toDataURL(){return Kb(this,arguments,void 0,function*(e={}){const t=globalThis.devicePixelRatio||1,{mode:n="viewport"}=e,i=Xb(e,["mode"]);let[a,s,o,l]=[0,0,0,0];if(n==="viewport")[o,l]=this.getSize();else if(n==="overall"){const Q=this.getBounds(),ee=fo(Q);[a,s]=Q.min,[o,l]=ee}const c=h0('<div id="virtual-image"></div>'),h=new Kv({width:o,height:l,renderer:new $c,devicePixelRatio:t,container:c,background:this.extends.config.background});yield h.ready,h.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),h.appendChild(this.getRoot().cloneNode(!0));const p=this.getLayer("label").getRoot().cloneNode(!0),C=h.viewport2Canvas({x:0,y:0}),k=this.getCanvasByViewport([0,0]);p.translate([k[0]-C.x,k[1]-C.y]),p.scale(1/this.getCamera().getZoom()),h.appendChild(p),h.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const W=this.getCamera(),j=h.getCamera();if(n==="viewport")j.setZoom(W.getZoom()),j.setPosition(W.getPosition()),j.setFocalPoint(W.getFocalPoint());else if(n==="overall"){const[Q,ee,re]=j.getPosition(),[ve,he,pe]=j.getFocalPoint();j.setPosition([Q+a,ee+s,re]),j.setFocalPoint([ve+a,he+s,pe])}const K=h.getContextService();return new Promise(Q=>{h.addEventListener(Aa.RERENDER,()=>Kb(this,void 0,void 0,function*(){yield new Promise(re=>setTimeout(re,300));const ee=yield K.toDataURL(i);Q(ee)}))})})}destroy(){Object.values(this.getLayers()).forEach(e=>{e.getCamera().cancelLandmarkAnimation(),e.destroy()})}}function qb(r,e){return Object.fromEntries(e.map(t=>{const n=(r==null?void 0:r(t))||new $c;return n instanceof $c&&n.setConfig({enableDirtyRectangleRendering:!1}),t==="main"?n.registerPlugin(new kk({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):n.unregisterPlugin(n.getPlugin("dom-interaction")),[t,n]}))}function $b(r){Object.entries(r).forEach(([e,t])=>{const n=t.getContextService().getDomElement();n!=null&&n.style&&(n.style.gridArea="1 / 1 / 2 / 2",n.style.outline="none",n.tabIndex=1,e!=="main"&&(n.style.pointerEvents="none")),n!=null&&n.parentElement&&(n.parentElement.style.display="grid")})}const oc=r=>r?parseInt(r):0;function Fk(r){const e=getComputedStyle(r),t=r.clientWidth||oc(e.width),n=r.clientHeight||oc(e.height),i=oc(e.paddingLeft)+oc(e.paddingRight),a=oc(e.paddingTop)+oc(e.paddingBottom);return[t-i,n-a]}function e2(r){if(!r)return[0,0];let e=640,t=480;const[n,i]=Fk(r);e=n||e,t=i||t;const a=1,s=1;return[Math.max(dn(e)?e:a,a),Math.max(dn(t)?t:s,s)]}class Rd{constructor(e){this.type=e}}class mi extends Rd{constructor(e,t){super(e),this.data=t}}class Ja extends Rd{constructor(e,t,n,i){super(e),this.animationType=t,this.animation=n,this.data=i}}class lc extends Rd{constructor(e,t,n){super(e),this.elementType=t,this.data=n}}class Id extends Rd{constructor(e,t){super(e),this.data=t}}function wi(r,e){r.emit(e.type,e)}function Uk(r){if(!r)return null;if(r instanceof py)return{type:"canvas",element:r};let e=r;for(;e;){if(tu(e))return{type:"node",element:e};if(N_(e))return{type:"edge",element:e};if(Vg(e))return{type:"combo",element:e};e=e.parentElement}return null}function t2(r){var e;return((e=r==null?void 0:r.style)===null||e===void 0?void 0:e.zIndex)||0}const cc="cachedStyle",Nd=r=>`__${r}__`;function Wk(r,e){const t=Array.isArray(e)?e:[e];aa(r,cc)||Yc(r,cc,{}),t.forEach(n=>{Yc(aa(r,cc),Nd(n),r.attributes[n])})}function n2(r,e){return aa(r,[cc,Nd(e)])}function Hk(r,e){return Nd(e)in(aa(r,cc)||{})}function OW(r,e,t){set(r,[cc,Nd(e)],t)}class jk{constructor(e){this.tasks=[],this.animations=new Set,this.context=e}getTasks(){const e=[...this.tasks];return this.tasks=[],e}add(e,t){this.tasks.push([e,t])}animate(e,t,n){var i,a,s;(i=t==null?void 0:t.before)===null||i===void 0||i.call(t);const o=this.getTasks().map(([c,h])=>{var p,C,k;const{element:W,elementType:j,stage:K}=c,Q=hC(this.context.options,j,K,e);(p=h==null?void 0:h.before)===null||p===void 0||p.call(h);const ee=Q.length?dC(W,this.inferStyle(c,n),Q):null;return ee?((C=h==null?void 0:h.beforeAnimate)===null||C===void 0||C.call(h,ee),ee.finished.then(()=>{var re,ve;(re=h==null?void 0:h.afterAnimate)===null||re===void 0||re.call(h,ee),(ve=h==null?void 0:h.after)===null||ve===void 0||ve.call(h),this.animations.delete(ee)})):(k=h==null?void 0:h.after)===null||k===void 0||k.call(h),ee}).filter(Boolean);o.forEach(c=>this.animations.add(c));const l=ag(o);return l?((a=t==null?void 0:t.beforeAnimate)===null||a===void 0||a.call(t,l),l.finished.then(()=>{var c,h;(c=t==null?void 0:t.afterAnimate)===null||c===void 0||c.call(t,l),(h=t==null?void 0:t.after)===null||h===void 0||h.call(t),this.release()})):(s=t==null?void 0:t.after)===null||s===void 0||s.call(t),l}inferStyle(e,t){var n,i;const{element:a,elementType:s,stage:o,originalStyle:l,updatedStyle:c={}}=e;e.modifiedStyle||(e.modifiedStyle=Object.assign(Object.assign({},l),c));const{modifiedStyle:h}=e,p={},C={};if(o==="enter")Object.assign(p,{opacity:0});else if(o==="exit")Object.assign(C,{opacity:0});else if(o==="show")Object.assign(p,{opacity:0}),Object.assign(C,{opacity:(n=n2(a,"opacity"))!==null&&n!==void 0?n:Wc("opacity")});else if(o==="hide")Object.assign(p,{opacity:(i=n2(a,"opacity"))!==null&&i!==void 0?i:Wc("opacity")}),Object.assign(C,{opacity:0});else if(o==="collapse"){const{collapse:k}=t||{},{target:W,descendants:j,position:K}=k;if(s==="node"){if(j.includes(a.id)){const[Q,ee,re]=K;Object.assign(C,{x:Q,y:ee,z:re})}}else if(s==="combo"){if(a.id===W||j.includes(a.id)){const[Q,ee]=K;Object.assign(C,{x:Q,y:ee,childrenNode:l.childrenNode})}}else s==="edge"&&Object.assign(C,{sourceNode:h.sourceNode,targetNode:h.targetNode})}else if(o==="expand"){const{expand:k}=t||{},{target:W,descendants:j,position:K}=k;if(s==="node"){if(a.id===W||j.includes(a.id)){const[Q,ee,re]=K;Object.assign(p,{x:Q,y:ee,z:re})}}else if(s==="combo"){if(a.id===W||j.includes(a.id)){const[Q,ee,re]=K;Object.assign(p,{x:Q,y:ee,z:re,childrenNode:h.childrenNode})}}else s==="edge"&&Object.assign(p,{sourceNode:h.sourceNode,targetNode:h.targetNode})}return[Object.keys(p).length>0?Object.assign({},l,p):l,Object.keys(C).length>0?Object.assign({},h,C):h]}stop(){this.animations.forEach(e=>e.cancel())}clear(){this.tasks=[]}release(){var e,t;const{canvas:n}=this.context,i=(t=(e=n.document)===null||e===void 0?void 0:e.timeline)===null||t===void 0?void 0:t.animationsWithPromises;i&&(n.document.timeline.animationsWithPromises=i.filter(a=>a.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class Gk{constructor(e){this.batchCount=0,this.context=e}emit(e){const{graph:t}=this.context;t.emit(e.type,e)}startBatch(e=!0){this.batchCount++,this.batchCount===1&&this.emit(new mi(qt.BATCH_START,{initiate:e}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new mi(qt.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class Vk extends Eg{constructor(e){super(e),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=t=>{const{target:n}=t,i=Uk(n);if(!i)return;const{graph:a,canvas:s}=this.context,{type:o,element:l}=i;if("destroyed"in l&&(_f(l)||l.destroyed))return;const{type:c,detail:h,button:p}=t,C=Object.assign(Object.assign({},t),{target:l,targetType:o,originalTarget:n});c===Nt.POINTER_MOVE&&(this.currentTarget!==l&&(this.currentTarget&&a.emit(`${this.currentTargetType}:${Nt.POINTER_LEAVE}`,Object.assign(Object.assign({},C),{type:Nt.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),l&&(Object.assign(C,{type:Nt.POINTER_ENTER}),a.emit(`${o}:${Nt.POINTER_ENTER}`,C))),this.currentTarget=l,this.currentTargetType=o),c===Nt.CLICK&&p===2||(a.emit(`${o}:${c}`,C),a.emit(c,C)),c===Nt.CLICK&&h===2&&(Object.assign(C,{type:Nt.DBLCLICK}),a.emit(`${o}:${Nt.DBLCLICK}`,C),a.emit(Nt.DBLCLICK,C)),c===Nt.POINTER_DOWN&&p===2&&(Object.assign(C,{type:Nt.CONTEXT_MENU,preventDefault:()=>{var k;(k=s.getContainer())===null||k===void 0||k.addEventListener(Nt.CONTEXT_MENU,W=>W.preventDefault(),{once:!0})}}),a.emit(`${o}:${Nt.CONTEXT_MENU}`,C),a.emit(Nt.CONTEXT_MENU,C))},this.forwardContainerEvents=t=>{this.context.graph.emit(t.type,t)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(e){this.setExtensions(e)}forwardEvents(){const e=this.context.canvas.getContainer();e&&[Hl.KEY_DOWN,Hl.KEY_UP].forEach(n=>{e.addEventListener(n,this.forwardContainerEvents)});const t=this.context.canvas.document;t&&[Nt.CLICK,Nt.DBLCLICK,Nt.POINTER_OVER,Nt.POINTER_LEAVE,Nt.POINTER_ENTER,Nt.POINTER_MOVE,Nt.POINTER_OUT,Nt.POINTER_DOWN,Nt.POINTER_UP,Nt.CONTEXT_MENU,Nt.DRAG_START,Nt.DRAG,Nt.DRAG_END,Nt.DRAG_ENTER,Nt.DRAG_OVER,Nt.DRAG_LEAVE,Nt.DROP,Nt.WHEEL].forEach(n=>{t.addEventListener(n,this.forwardCanvasEvents)})}destroy(){const e=this.context.canvas.getContainer();e&&[Hl.KEY_DOWN,Hl.KEY_UP].forEach(t=>{e.removeEventListener(t,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}function Zk(r,e){e===void 0&&(e=new Map);var t=[];if(Array.isArray(r))for(var n=0,i=r.length;n<i;n++){var a=r[n];e.has(a)||(t.push(a),e.set(a,!0))}return t}var Mu=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function Lo(r,e){const{data:t,style:n}=r,i=Mu(r,["data","style"]),{data:a,style:s}=e,o=Mu(e,["data","style"]),l=Object.assign(Object.assign({},i),o);return(t||a)&&Object.assign(l,{data:Object.assign(Object.assign({},t),a)}),(n||s)&&Object.assign(l,{style:Object.assign(Object.assign({},n),s)}),l}function v0(r){const{data:e,style:t}=r,i=Mu(r,["data","style"]);return e&&(i.data=Object.assign({},e)),t&&(i.style=Object.assign({},t)),i}function PW(r){return!get(r,["nodes","length"])&&!get(r,["edges","length"])&&!get(r,["combos","length"])}function uc(r={},e={}){const{states:t=[],data:n={},style:i={},children:a=[]}=r,s=Mu(r,["states","data","style","children"]),{states:o=[],data:l={},style:c={},children:h=[]}=e,p=Mu(e,["states","data","style","children"]),C=(W,j)=>W.length!==j.length?!1:W.every((K,Q)=>K===j[Q]),k=(W,j)=>{const K=Object.keys(W),Q=Object.keys(j);return K.length!==Q.length?!1:K.every(ee=>W[ee]===j[ee])};return!(!k(s,p)||!C(a,h)||!C(t,o)||!k(n,l)||!k(i,c))}var Kk=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function g0(r){const{id:e=Mt(r),style:t,data:n}=r,i=Kk(r,["id","style","data"]),a=Object.assign(Object.assign({},r),{style:Object.assign({},t),data:Object.assign({},n)});return xC(r)?Object.assign({id:e,data:a},i):{id:e,data:a}}function Pi(r){return r.data}function Xk(r){if(r.hasTreeStructure(Ca))return;r.attachTreeStructure(Ca);const e=r.getAllEdges();for(const t of e){const{source:n,target:i}=t;r.setParent(i,n,Ca)}}class Yk{constructor(){this.latestRemovedComboIds=new Set,this.comboIds=new Set,this.changes=[],this.batchCount=0,this.isTraceless=!1,this.enableUpdateNodeLikeHierarchy=!0,this.model=new ci}pushChange(e){if(this.isTraceless)return;const{type:t}=e;if(t===Gr.NodeUpdated||t===Gr.EdgeUpdated||t===Gr.ComboUpdated){const{value:n,original:i}=e;this.changes.push({value:v0(n),original:v0(i),type:t})}else this.changes.push({value:v0(e.value),type:t})}getChanges(){return this.changes}clearChanges(){this.changes=[]}batch(e){this.batchCount++,this.model.batch(e),this.batchCount--}isBatching(){return this.batchCount>0}silence(e){this.isTraceless=!0,e(),this.isTraceless=!1}isCombo(e){return this.comboIds.has(e)||this.latestRemovedComboIds.has(e)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Pi(n);return this.isCombo(Mt(i))||(e===void 0||e.includes(Mt(i)))&&t.push(i),t},[])}getEdgeDatum(e){return Pi(this.model.getEdge(e))}getEdgeData(e){return this.model.getAllEdges().reduce((t,n)=>{const i=Pi(n);return(e===void 0||e.includes(Mt(i)))&&t.push(i),t},[])}getComboData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Pi(n);return this.isCombo(Mt(i))&&(e===void 0||e.includes(Mt(i)))&&t.push(i),t},[])}getRootsData(e=Ca){return this.model.getRoots(e).map(Pi)}getAncestorsData(e,t){const{model:n}=this;return!n.hasNode(e)||!n.hasTreeStructure(t)?[]:n.getAncestors(e,t).map(Pi)}getDescendantsData(e){const t=this.getElementDataById(e),n=[];return ol(t,i=>{i!==t&&n.push(i)},i=>this.getChildrenData(Mt(i)),"TB"),n}getParentData(e,t){const{model:n}=this;if(!t){Ea.warn("The hierarchy structure key is not specified");return}if(!n.hasNode(e)||!n.hasTreeStructure(t))return;const i=n.getParent(e,t);return i?Pi(i):void 0}getChildrenData(e){const t=this.getElementType(e)==="node"?Ca:Lr,{model:n}=this;return!n.hasNode(e)||!n.hasTreeStructure(t)?[]:n.getChildren(e,t).map(Pi)}getElementsDataByType(e){return e==="node"?this.getNodeData():e==="edge"?this.getEdgeData():e==="combo"?this.getComboData():[]}getElementDataById(e){return this.getElementType(e)==="edge"?this.getEdgeDatum(e):this.getNodeLikeDatum(e)}getNodeLikeDatum(e){const t=this.model.getNode(e);return Pi(t)}getNodeLikeData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Pi(n);return e?e.includes(Mt(i))&&t.push(i):t.push(i),t},[])}getElementDataByState(e,t){return this.getElementsDataByType(e).filter(i=>{var a;return(a=i.states)===null||a===void 0?void 0:a.includes(t)})}getElementState(e){var t;return((t=this.getElementDataById(e))===null||t===void 0?void 0:t.states)||[]}hasNode(e){return this.model.hasNode(e)&&!this.isCombo(e)}hasEdge(e){return this.model.hasEdge(e)}hasCombo(e){return this.model.hasNode(e)&&this.isCombo(e)}getRelatedEdgesData(e,t="both"){return this.model.getRelatedEdges(e,t).map(Pi)}getNeighborNodesData(e){return this.model.getNeighbors(e).map(Pi)}setData(e){const{nodes:t=[],edges:n=[],combos:i=[]}=e,{nodes:a,edges:s,combos:o}=this.getData(),l=po(a,t,p=>Mt(p),uc),c=po(s,n,p=>Mt(p),uc),h=po(o,i,p=>Mt(p),uc);this.batch(()=>{const p={nodes:l.enter,edges:c.enter,combos:h.enter};this.addData(p),this.computeZIndex(p,"add",!0);const C={nodes:l.update,edges:c.update,combos:h.update};this.updateData(C),this.computeZIndex(C,"update",!0);const k={nodes:l.exit.map(Mt),edges:c.exit.map(Mt),combos:h.exit.map(Mt)};this.removeData(k)})}addData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.addComboData(i),this.addNodeData(t),this.addEdgeData(n)}),this.computeZIndex(e,"add")}addNodeData(e=[]){e.length&&(this.model.addNodes(e.map(t=>(this.pushChange({value:t,type:Gr.NodeAdded}),g0(t)))),this.updateNodeLikeHierarchy(e),this.computeZIndex({nodes:e},"add"))}addEdgeData(e=[]){e.length&&(this.model.addEdges(e.map(t=>(this.pushChange({value:t,type:Gr.EdgeAdded}),g0(t)))),this.computeZIndex({edges:e},"add"))}addComboData(e=[]){if(!e.length)return;const{model:t}=this;t.hasTreeStructure(Lr)||t.attachTreeStructure(Lr),t.addNodes(e.map(n=>(this.comboIds.add(Mt(n)),this.pushChange({value:n,type:Gr.ComboAdded}),g0(n)))),this.updateNodeLikeHierarchy(e),this.computeZIndex({combos:e},"add")}addChildrenData(e,t){const n=this.getNodeLikeDatum(e),i=t.map(Mt);this.addNodeData(t),this.updateNodeData([{id:e,children:[...n.children||[],...i]}]),this.addEdgeData(i.map(a=>({source:e,target:a})))}computeZIndex(e,t,n=!1){!n&&this.isBatching()||this.batch(()=>{const{nodes:i=[],edges:a=[],combos:s=[]}=e;s.forEach(o=>{var l,c,h;const p=Mt(o);if(t==="add"&&dn((l=o.style)===null||l===void 0?void 0:l.zIndex)||t==="update"&&!("combo"in o))return;const C=this.getParentData(p,Lr),k=C?((h=(c=C.style)===null||c===void 0?void 0:c.zIndex)!==null&&h!==void 0?h:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:p,style:{zIndex:k}}])})}),i.forEach(o=>{var l,c,h;const p=Mt(o);if(t==="add"&&dn((l=o.style)===null||l===void 0?void 0:l.zIndex)||t==="update"&&!("combo"in o)&&!("children"in o))return;let C=0;const k=this.getParentData(p,Lr);if(k)C=(((c=k.style)===null||c===void 0?void 0:c.zIndex)||0)+1;else{const W=this.getParentData(p,Ca);W&&(C=((h=W==null?void 0:W.style)===null||h===void 0?void 0:h.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:p,style:{zIndex:C}}])})}),a.forEach(o=>{var l,c,h,p,C;if(dn((l=o.style)===null||l===void 0?void 0:l.zIndex))return;let{id:k,source:W,target:j}=o;if(!k)k=Mt(o);else{const ee=this.getEdgeDatum(k);W=ee.source,j=ee.target}if(!W||!j)return;const K=((h=(c=this.getNodeLikeDatum(W))===null||c===void 0?void 0:c.style)===null||h===void 0?void 0:h.zIndex)||0,Q=((C=(p=this.getNodeLikeDatum(j))===null||p===void 0?void 0:p.style)===null||C===void 0?void 0:C.zIndex)||0;this.updateEdgeData([{id:Mt(o),style:{zIndex:Math.max(K,Q)-1}}])})})}getFrontZIndex(e){var t;const n=this.getElementType(e),i=this.getElementDataById(e),a=this.getData();if(Object.assign(a,{[`${n}s`]:a[`${n}s`].filter(s=>Mt(s)!==e)}),n==="combo"&&!xa(i)){const s=new Set(this.getAncestorsData(e,Lr).map(Mt));a.nodes=a.nodes.filter(o=>!s.has(Mt(o))),a.combos=a.combos.filter(o=>!s.has(Mt(o))),a.edges=a.edges.filter(({source:o,target:l})=>!s.has(o)&&!s.has(l))}return Math.max(((t=i.style)===null||t===void 0?void 0:t.zIndex)||0,0,...Object.values(a).flat().map(s=>{var o;return(((o=s==null?void 0:s.style)===null||o===void 0?void 0:o.zIndex)||0)+1}))}updateNodeLikeHierarchy(e){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:t}=this;e.forEach(n=>{const i=Mt(n),a=Wh(n);a!==void 0&&(t.hasTreeStructure(Lr)||t.attachTreeStructure(Lr),a===null&&this.refreshComboData(i),this.setParent(i,Wh(n),Lr));const s=n.children||[];if(s.length){t.hasTreeStructure(Ca)||t.attachTreeStructure(Ca);const o=s.filter(l=>t.hasNode(l));o.forEach(l=>this.setParent(l,i,Ca)),o.length!==s.length&&this.updateNodeData([{id:i,children:o}])}})}preventUpdateNodeLikeHierarchy(e){this.enableUpdateNodeLikeHierarchy=!1,e(),this.enableUpdateNodeLikeHierarchy=!0}updateData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.updateNodeData(t),this.updateComboData(i),this.updateEdgeData(n)}),this.computeZIndex(e,"update")}updateNodeData(e=[]){if(!e.length)return;const{model:t}=this;this.batch(()=>{const n=[];e.forEach(i=>{const a=Mt(i),s=Pi(t.getNode(a));if(uc(s,i))return;const o=Lo(s,i);this.pushChange({value:o,original:s,type:Gr.NodeUpdated}),t.mergeNodeData(a,o),n.push(o)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({nodes:e},"update")}refreshData(){const{nodes:e,edges:t,combos:n}=this.getData();e.forEach(i=>{this.pushChange({value:i,original:i,type:Gr.NodeUpdated})}),t.forEach(i=>{this.pushChange({value:i,original:i,type:Gr.EdgeUpdated})}),n.forEach(i=>{this.pushChange({value:i,original:i,type:Gr.ComboUpdated})})}syncNodeLikeDatum(e){const{model:t}=this,n=Mt(e);if(!t.hasNode(n))return;const i=Pi(t.getNode(n)),a=Lo(i,e);t.mergeNodeData(n,a)}syncEdgeDatum(e){const{model:t}=this,n=Mt(e);if(!t.hasEdge(n))return;const i=Pi(t.getEdge(n)),a=Lo(i,e);t.mergeEdgeData(n,a)}updateEdgeData(e=[]){if(!e.length)return;const{model:t}=this;this.batch(()=>{e.forEach(n=>{const i=Mt(n),a=Pi(t.getEdge(i));if(uc(a,n))return;n.source&&a.source!==n.source&&t.updateEdgeSource(i,n.source),n.target&&a.target!==n.target&&t.updateEdgeTarget(i,n.target);const s=Lo(a,n);this.pushChange({value:s,original:a,type:Gr.EdgeUpdated}),t.mergeEdgeData(i,s)})}),this.computeZIndex({edges:e},"update")}updateComboData(e=[]){if(!e.length)return;const{model:t}=this;t.batch(()=>{const n=[];e.forEach(i=>{const a=Mt(i),s=Pi(t.getNode(a));if(uc(s,i))return;const o=Lo(s,i);this.pushChange({value:o,original:s,type:Gr.ComboUpdated}),t.mergeNodeData(a,o),n.push(o)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({combos:e},"update")}setParent(e,t,n,i=!0){if(e===t)return;const a=this.getNodeLikeDatum(e),s=Wh(a);if(s!==t&&n===Lr){const o={id:e,combo:t};this.isCombo(e)?this.syncNodeLikeDatum(o):this.syncNodeLikeDatum(o)}this.model.setParent(e,t,n),i&&n===Lr&&Zk([s,t]).forEach(o=>{o!==void 0&&this.refreshComboData(o)})}refreshComboData(e){const t=this.getComboData([e])[0],n=this.getAncestorsData(e,Lr);t&&this.pushChange({value:t,original:t,type:Gr.ComboUpdated}),n.forEach(i=>{this.pushChange({value:i,original:i,type:Gr.ComboUpdated})})}getElementPosition(e){const t=this.getElementDataById(e);return xi(t)}translateNodeLikeBy(e,t){this.isCombo(e)?this.translateComboBy(e,t):this.translateNodeBy(e,t)}translateNodeLikeTo(e,t){this.isCombo(e)?this.translateComboTo(e,t):this.translateNodeTo(e,t)}translateNodeBy(e,t){const n=this.getElementPosition(e),i=Jn(n,[...t,0].slice(0,3));this.translateNodeTo(e,i)}translateNodeTo(e,t){const[n=0,i=0,a=0]=t;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:e,style:{x:n,y:i,z:a}}])})}translateComboBy(e,t){const[n=0,i=0,a=0]=t;if([n,i,a].some(isNaN)||[n,i,a].every(l=>l===0))return;const s=this.getComboData([e])[0];if(!s)return;const o=new Set;ol(s,l=>{const c=Mt(l);if(o.has(c))return;o.add(c);const[h,p,C]=xi(l),k=Lo(l,{style:{x:h+n,y:p+i,z:C+a}});this.pushChange({value:k,original:l,type:this.isCombo(c)?Gr.ComboUpdated:Gr.NodeUpdated}),this.model.mergeNodeData(c,k)},l=>this.getChildrenData(Mt(l)),"BT")}translateComboTo(e,t){var n;if(t.some(isNaN))return;const[i=0,a=0,s=0]=t,o=(n=this.getComboData([e]))===null||n===void 0?void 0:n[0];if(!o)return;const[l,c,h]=xi(o),p=i-l,C=a-c,k=s-h;ol(o,W=>{const j=Mt(W),[K,Q,ee]=xi(W),re=Lo(W,{style:{x:K+p,y:Q+C,z:ee+k}});this.pushChange({value:re,original:W,type:this.isCombo(j)?Gr.ComboUpdated:Gr.NodeUpdated}),this.model.mergeNodeData(j,re)},W=>this.getChildrenData(Mt(W)),"BT")}removeData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.removeEdgeData(n),this.removeNodeData(t),this.removeComboData(i),this.latestRemovedComboIds=new Set(i)})}removeNodeData(e=[]){e.length&&this.batch(()=>{e.forEach(t=>{this.removeEdgeData(this.getRelatedEdgesData(t).map(Mt)),this.pushChange({value:this.getNodeData([t])[0],type:Gr.NodeRemoved}),this.removeNodeLikeHierarchy(t)}),this.model.removeNodes(e)})}removeEdgeData(e=[]){e.length&&(e.forEach(t=>this.pushChange({value:this.getEdgeData([t])[0],type:Gr.EdgeRemoved})),this.model.removeEdges(e))}removeComboData(e=[]){e.length&&this.batch(()=>{e.forEach(t=>{this.pushChange({value:this.getComboData([t])[0],type:Gr.ComboRemoved}),this.removeNodeLikeHierarchy(t),this.comboIds.delete(t)}),this.model.removeNodes(e)})}removeNodeLikeHierarchy(e){if(this.model.hasTreeStructure(Lr)){const t=Wh(this.getNodeLikeDatum(e));this.setParent(e,void 0,Lr,!1),this.model.getChildren(e,Lr).forEach(n=>{const i=Pi(n),a=Mt(i);this.setParent(Mt(i),t,Lr,!1);const s=Lo(i,{id:Mt(i),combo:t});this.pushChange({value:s,original:i,type:this.isCombo(a)?Gr.ComboUpdated:Gr.NodeUpdated}),this.model.mergeNodeData(Mt(i),s)}),Rn(t)||this.refreshComboData(t)}}getElementType(e){if(this.model.hasNode(e))return this.isCombo(e)?"combo":"node";if(this.model.hasEdge(e))return"edge";throw new Error(Vs(`Unknown element type of id: ${e}`))}destroy(){const{model:e}=this,t=e.getAllNodes(),n=e.getAllEdges();e.removeEdges(n.map(i=>i.id)),e.removeNodes(t.map(i=>i.id)),this.context={}}}var Su=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Qk{constructor(e){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=e}init(){this.initContainer()}initContainer(){if(!this.container||this.container.destroyed){const{canvas:e}=this.context;this.container=e.appendChild(new Ei({className:"elements"}))}}emit(e,t){t.silence||wi(this.context.graph,e)}forEachElementData(e){sl.forEach(t=>{const n=this.context.model.getElementsDataByType(t);e(t,n)})}getElementType(e,t){var n;const{options:i,graph:a}=this.context,s=((n=i[e])===null||n===void 0?void 0:n.type)||t.type;return s?typeof s=="string"?s:s.call(a,t):e==="edge"?"line":"circle"}getTheme(e){return Uy(this.context.options)[e]||{}}getThemeStyle(e){return this.getTheme(e).style||{}}getThemeStateStyle(e,t){const{state:n={}}=this.getTheme(e);return Object.assign({},...t.map(i=>n[i]||{}))}computePaletteStyle(){const{options:e}=this.context;this.paletteStyle={},this.forEachElementData((t,n)=>{var i,a;const s=Object.assign({},q1((i=this.getTheme(t))===null||i===void 0?void 0:i.palette),q1((a=e[t])===null||a===void 0?void 0:a.palette));s!=null&&s.field&&Object.assign(this.paletteStyle,IP(n,s))})}getPaletteStyle(e,t){const n=this.paletteStyle[t];return n?e==="edge"?{stroke:n}:{fill:n}:{}}computeElementDefaultStyle(e,t){var n;const{options:i}=this.context,a=((n=i[e])===null||n===void 0?void 0:n.style)||{};"transform"in a&&Array.isArray(a.transform)&&(a.transform=[...a.transform]),this.defaultStyle[Mt(t.datum)]=J1(a,t)}computeElementsDefaultStyle(e){const{graph:t}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];(e===void 0||e.includes(Mt(o)))&&this.computeElementDefaultStyle(n,{datum:o,graph:t})}})}getDefaultStyle(e){return this.defaultStyle[e]||{}}getElementState(e){try{const{model:t}=this.context;return t.getElementState(e)}catch(t){return[]}}getElementStateStyle(e,t,n){var i,a;const{options:s}=this.context,o=((a=(i=s[e])===null||i===void 0?void 0:i.state)===null||a===void 0?void 0:a[t])||{};return J1(o,n)}computeElementStatesStyle(e,t,n){this.stateStyle[Mt(n.datum)]=Object.assign({},...t.map(i=>this.getElementStateStyle(e,i,n)))}computeElementsStatesStyle(e){const{graph:t}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];if(e===void 0||e.includes(Mt(o))){const l=this.getElementState(Mt(o));this.computeElementStatesStyle(n,l,{datum:o,graph:t})}}})}getStateStyle(e){return this.stateStyle[e]||{}}computeStyle(e,t){e&&["translate","zIndex"].includes(e)||(this.computePaletteStyle(),this.computeElementsDefaultStyle(t),this.computeElementsStatesStyle(t))}getElement(e){return this.elementMap[e]}getNodes(){return this.context.model.getNodeData().map(({id:e})=>this.elementMap[e])}getEdges(){return this.context.model.getEdgeData().map(e=>this.elementMap[Mt(e)])}getCombos(){return this.context.model.getComboData().map(({id:e})=>this.elementMap[e])}getElementComputedStyle(e,t){const n=Mt(t),i=this.getThemeStyle(e),a=this.getPaletteStyle(e,n),s=t.style||{},o=this.getDefaultStyle(n),l=this.getThemeStateStyle(e,this.getElementState(n)),c=this.getStateStyle(n),h=Object.assign({},i,a,s,o,l,c);if(e==="combo"){const p=this.context.model.getChildrenData(n),k=!!h.collapsed?[]:p.map(Mt).filter(W=>this.getElement(W));Object.assign(h,{childrenNode:k,childrenData:p})}return h}getDrawData(e){this.init();const t=this.computeChangesAndDrawData(e);if(!t)return null;const{type:n="draw",stage:i=n}=e;return this.markDestroyElement(t.drawData),this.computeStyle(i),{type:n,stage:i,data:t}}draw(e={animation:!0}){const t=this.getDrawData(e);if(!t)return;const{data:{drawData:{add:n,update:i,remove:a}}}=t;return this.destroyElements(a,e),this.createElements(n,e),this.updateElements(i,e),this.setAnimationTask(e,t)}preLayoutDraw(){return Su(this,arguments,void 0,function*(e={animation:!0}){var t,n;const i=this.getDrawData(e);if(!i)return;const{data:{drawData:a}}=i;yield(n=(t=this.context.layout)===null||t===void 0?void 0:t.preLayout)===null||n===void 0?void 0:n.call(t,a);const{add:s,update:o,remove:l}=a;return this.destroyElements(l,e),this.createElements(s,e),this.updateElements(o,e),this.setAnimationTask(e,i)})}setAnimationTask(e,t){const{animation:n,silence:i}=e,{data:{dataChanges:a,drawData:s},stage:o,type:l}=t;return this.context.animation.animate(n,i?{}:{before:()=>this.emit(new mi(qt.BEFORE_DRAW,{dataChanges:a,animation:n,stage:o,render:l==="render"}),e),beforeAnimate:c=>this.emit(new Ja(qt.BEFORE_ANIMATE,_a.DRAW,c,s),e),afterAnimate:c=>this.emit(new Ja(qt.AFTER_ANIMATE,_a.DRAW,c,s),e),after:()=>this.emit(new mi(qt.AFTER_DRAW,{dataChanges:a,animation:n,stage:o,render:l==="render",firstRender:this.context.graph.rendered===!1}),e)})}computeChangesAndDrawData(e){const{model:t}=this.context,n=t.getChanges(),i=Cp(n);if(i.length===0)return null;const{NodeAdded:a=[],NodeUpdated:s=[],NodeRemoved:o=[],EdgeAdded:l=[],EdgeUpdated:c=[],EdgeRemoved:h=[],ComboAdded:p=[],ComboUpdated:C=[],ComboRemoved:k=[]}=Ah(i,Q=>Q.type),W=Q=>new Map(Q.map(ee=>{const re=ee.value;return[Mt(re),re]})),j={add:{nodes:W(a),edges:W(l),combos:W(p)},update:{nodes:W(s),edges:W(c),combos:W(C)},remove:{nodes:W(o),edges:W(h),combos:W(k)}},K=this.transformData(j,e);return t.clearChanges(),{dataChanges:n,drawData:K}}transformData(e,t){const n=this.context.transform.getTransformInstance();return Object.values(n).reduce((i,a)=>a.beforeDraw(i,t),e)}createElement(e,t,n){var i;const a=Mt(t);if(this.getElement(a))return;const o=this.getElementType(e,t),l=this.getElementComputedStyle(e,t),c=Gs(e,o);if(!c)return Ea.warn(`The element ${o} of ${e} is not registered.`);this.emit(new lc(qt.BEFORE_ELEMENT_CREATE,e,t),n);const h=this.container.appendChild(new c({id:a,context:this.context,style:l}));this.shapeTypeMap[a]=o,this.elementMap[a]=h;const{stage:p="enter"}=n;(i=this.context.animation)===null||i===void 0||i.add({element:h,elementType:e,stage:p,originalStyle:Object.assign({},h.attributes),updatedStyle:l},{after:()=>{var C;this.emit(new lc(qt.AFTER_ELEMENT_CREATE,e,t),n),(C=h.onCreate)===null||C===void 0||C.call(h)}})}createElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["node",n],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(c=>this.createElement(o,c,t))})}getUpdateStageStyle(e,t,n){const{stage:i="update"}=n;if(i==="translate")if(e==="node"||e==="combo"){const{style:{x:a=0,y:s=0,z:o=0}={}}=t;return{x:a,y:s,z:o}}else return{};return this.getElementComputedStyle(e,t)}updateElement(e,t,n){var i;const a=Mt(t),{stage:s="update"}=n,o=this.getElement(a);if(!o)return()=>null;this.emit(new lc(qt.BEFORE_ELEMENT_UPDATE,e,t),n);const l=this.getElementType(e,t),c=this.getUpdateStageStyle(e,t,n);this.shapeTypeMap[a]!==l&&(o.destroy(),delete this.shapeTypeMap[a],delete this.elementMap[a],this.createElement(e,t,{animation:!1,silence:!0}));const h=s!=="visibility"?s:c.visibility==="hidden"?"hide":"show";h==="hide"&&delete c.visibility,(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:e,stage:h,originalStyle:Object.assign({},o.attributes),updatedStyle:c},{before:()=>{const p=this.elementMap[a];s!=="collapse"&&Yg(p,c),s==="visibility"&&(Hk(p,"opacity")||Wk(p,"opacity"),this.visibilityCache.set(p,h==="show"?"visible":"hidden"),h==="show"&&il(p,"visible"))},after:()=>{var p;const C=this.elementMap[a];s==="collapse"&&Yg(C,c),h==="hide"&&il(C,this.visibilityCache.get(C)),this.emit(new lc(qt.AFTER_ELEMENT_UPDATE,e,t),n),(p=C.onUpdate)===null||p===void 0||p.call(C)}})}updateElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["node",n],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(c=>this.updateElement(o,c,t))})}markDestroyElement(e){Object.values(e.remove).forEach(t=>{t.forEach(n=>{const i=Mt(n),a=this.getElement(i);a&&KL(a)})})}destroyElement(e,t,n){var i;const{stage:a="exit"}=n,s=Mt(t),o=this.elementMap[s];if(!o)return()=>null;this.emit(new lc(qt.BEFORE_ELEMENT_DESTROY,e,t),n),(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:e,stage:a,originalStyle:Object.assign({},o.attributes),updatedStyle:{}},{after:()=>{var l;this.clearElement(s),o.destroy(),(l=o.onDestroy)===null||l===void 0||l.call(o),this.emit(new lc(qt.AFTER_ELEMENT_DESTROY,e,t),n)}})}destroyElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["combo",a],["edge",i],["node",n]].forEach(([o,l])=>{l.forEach(c=>this.destroyElement(o,c,t))})}clearElement(e){delete this.paletteStyle[e],delete this.defaultStyle[e],delete this.stateStyle[e],delete this.elementMap[e],delete this.shapeTypeMap[e]}alignLayoutResultToElement(e,t){var n,i;const a=(n=e.nodes)===null||n===void 0?void 0:n.find(s=>Mt(s)===t);if(a){const s=xi(this.context.model.getNodeLikeDatum(t)),o=xi(a),l=Or(s,o);(i=e.nodes)===null||i===void 0||i.forEach(c=>{var h,p,C;!((h=c.style)===null||h===void 0)&&h.x&&(c.style.x+=l[0]),!((p=c.style)===null||p===void 0)&&p.y&&(c.style.y+=l[1]),!((C=c.style)===null||C===void 0)&&C.z&&(c.style.z+=l[2]||0)})}}collapseNode(e,t){return Su(this,void 0,void 0,function*(){var n;const{animation:i,align:a}=t,{model:s,layout:o}=this.context,l=this.computeChangesAndDrawData({stage:"collapse",animation:i});if(!l)return;this.markDestroyElement(l.drawData);const c=yield o.simulate();a&&this.alignLayoutResultToElement(c,e),s.updateData(c);const h=this.computeChangesAndDrawData({stage:"collapse",animation:i});if(!h)return;const{drawData:p}=h,{add:C,remove:k,update:W}=p;this.markDestroyElement(p);const j={animation:i,stage:"collapse",data:p};this.destroyElements(k,j),this.createElements(C,j),this.updateElements(W,j),yield(n=this.context.animation.animate(i,{beforeAnimate:K=>this.emit(new Ja(qt.BEFORE_ANIMATE,_a.COLLAPSE,K,p),j),afterAnimate:K=>this.emit(new Ja(qt.AFTER_ANIMATE,_a.COLLAPSE,K,p),j)},{collapse:{target:e,descendants:Array.from(k.nodes).map(([,K])=>Mt(K)),position:xi(W.nodes.get(e))}}))===null||n===void 0?void 0:n.finished})}expandNode(e,t){return Su(this,void 0,void 0,function*(){var n;const{model:i,layout:a}=this.context,{animation:s,align:o}=t,l=xi(i.getNodeData([e])[0]),c=this.computeChangesAndDrawData({stage:"expand",animation:s});if(!c)return;const{drawData:{add:h}}=c;this.createElements(h,{animation:!1,stage:"expand",target:e}),this.context.animation.clear();const p=yield a.simulate();o&&this.alignLayoutResultToElement(p,e),i.updateData(p),this.computeStyle("expand");const C=this.computeChangesAndDrawData({stage:"collapse",animation:s});if(!C)return;const{drawData:k}=C,{update:W}=k,j={animation:s,stage:"expand",data:k};h.edges.forEach(K=>W.edges.set(Mt(K),K)),h.nodes.forEach(K=>W.nodes.set(Mt(K),K)),this.updateElements(W,j),yield(n=this.context.animation.animate(s,{beforeAnimate:K=>this.emit(new Ja(qt.BEFORE_ANIMATE,_a.EXPAND,K,k),j),afterAnimate:K=>this.emit(new Ja(qt.AFTER_ANIMATE,_a.EXPAND,K,k),j)},{expand:{target:e,descendants:Array.from(h.nodes).map(([,K])=>Mt(K)),position:l}}))===null||n===void 0?void 0:n.finished})}collapseCombo(e,t){return Su(this,void 0,void 0,function*(){var n;const{model:i,element:a}=this.context;if(i.getAncestorsData(e,Lr).some(j=>xa(j)))return;const s=a.getElement(e),o=s.getComboPosition(Object.assign(Object.assign({},s.attributes),{collapsed:!0})),l=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!l)return;const{dataChanges:c,drawData:h}=l;this.markDestroyElement(h);const{update:p,remove:C}=h,k={animation:t,stage:"collapse",data:h};this.destroyElements(C,k),this.updateElements(p,k);const W=j=>Array.from(j).map(([,K])=>Mt(K));yield(n=this.context.animation.animate(t,{before:()=>this.emit(new mi(qt.BEFORE_DRAW,{dataChanges:c,animation:t}),k),beforeAnimate:j=>this.emit(new Ja(qt.BEFORE_ANIMATE,_a.COLLAPSE,j,h),k),afterAnimate:j=>this.emit(new Ja(qt.AFTER_ANIMATE,_a.COLLAPSE,j,h),k),after:()=>this.emit(new mi(qt.AFTER_DRAW,{dataChanges:c,animation:t}),k)},{collapse:{target:e,descendants:[...W(C.nodes),...W(C.combos)],position:o}}))===null||n===void 0?void 0:n.finished})}expandCombo(e,t){return Su(this,void 0,void 0,function*(){var n;const{model:i}=this.context,a=xi(i.getComboData([e])[0]);this.computeStyle("expand");const s=this.computeChangesAndDrawData({stage:"expand",animation:t});if(!s)return;const{dataChanges:o,drawData:l}=s,{add:c,update:h}=l,p={animation:t,stage:"expand",data:l,target:e};this.createElements(c,p),this.updateElements(h,p);const C=k=>Array.from(k).map(([,W])=>Mt(W));yield(n=this.context.animation.animate(t,{before:()=>this.emit(new mi(qt.BEFORE_DRAW,{dataChanges:o,animation:t}),p),beforeAnimate:k=>this.emit(new Ja(qt.BEFORE_ANIMATE,_a.EXPAND,k,l),p),afterAnimate:k=>this.emit(new Ja(qt.AFTER_ANIMATE,_a.EXPAND,k,l),p),after:()=>this.emit(new mi(qt.AFTER_DRAW,{dataChanges:o,animation:t}),p)},{expand:{target:e,descendants:[...C(c.nodes),...C(c.combos)],position:a}}))===null||n===void 0?void 0:n.finished})}clear(){this.container.destroy(),this.initContainer(),this.elementMap={},this.shapeTypeMap={},this.defaultStyle={},this.stateStyle={},this.paletteStyle={}}destroy(){this.clear(),this.container.destroy(),this.context={}}}const r2=Symbol("Comlink.proxy"),Jk=Symbol("Comlink.endpoint"),i2=Symbol("Comlink.releaseProxy"),p0=Symbol("Comlink.finalizer"),Bd=Symbol("Comlink.thrown"),a2=r=>typeof r=="object"&&r!==null||typeof r=="function",qk={canHandle:r=>a2(r)&&r[r2],serialize(r){const{port1:e,port2:t}=new MessageChannel;return o2(r,e),[t,[t]]},deserialize(r){return r.start(),c2(r)}},$k={canHandle:r=>a2(r)&&Bd in r,serialize({value:r}){let e;return r instanceof Error?e={isError:!0,value:{message:r.message,name:r.name,stack:r.stack}}:e={isError:!1,value:r},[e,[]]},deserialize(r){throw r.isError?Object.assign(new Error(r.value.message),r.value):r.value}},s2=new Map([["proxy",qk],["throw",$k]]);function e6(r,e){for(const t of r)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function o2(r,e=globalThis,t=["*"]){e.addEventListener("message",function n(i){if(!i||!i.data)return;if(!e6(t,i.origin)){console.warn(`Invalid origin '${i.origin}' for comlink proxy`);return}const{id:a,type:s,path:o}=Object.assign({path:[]},i.data),l=(i.data.argumentList||[]).map(xl);let c;try{const h=o.slice(0,-1).reduce((C,k)=>C[k],r),p=o.reduce((C,k)=>C[k],r);switch(s){case"GET":c=p;break;case"SET":h[o.slice(-1)[0]]=xl(i.data.value),c=!0;break;case"APPLY":c=p.apply(h,l);break;case"CONSTRUCT":{const C=new p(...l);c=s6(C)}break;case"ENDPOINT":{const{port1:C,port2:k}=new MessageChannel;o2(r,k),c=a6(C,[C])}break;case"RELEASE":c=void 0;break;default:return}}catch(h){c={value:h,[Bd]:0}}Promise.resolve(c).catch(h=>({value:h,[Bd]:0})).then(h=>{const[p,C]=Ud(h);e.postMessage(Object.assign(Object.assign({},p),{id:a}),C),s==="RELEASE"&&(e.removeEventListener("message",n),l2(e),p0 in r&&typeof r[p0]=="function"&&r[p0]())}).catch(h=>{const[p,C]=Ud({value:new TypeError("Unserializable return value"),[Bd]:0});e.postMessage(Object.assign(Object.assign({},p),{id:a}),C)})}),e.start&&e.start()}function t6(r){return r.constructor.name==="MessagePort"}function l2(r){t6(r)&&r.close()}function c2(r,e){const t=new Map;return r.addEventListener("message",function(i){const{data:a}=i;if(!a||!a.id)return;const s=t.get(a.id);if(s)try{s(a)}finally{t.delete(a.id)}}),m0(r,t,[],e)}function kd(r){if(r)throw new Error("Proxy has been released and is not useable")}function u2(r){return hc(r,new Map,{type:"RELEASE"}).then(()=>{l2(r)})}const zd=new WeakMap,Fd="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{const e=(zd.get(r)||0)-1;zd.set(r,e),e===0&&u2(r)});function n6(r,e){const t=(zd.get(e)||0)+1;zd.set(e,t),Fd&&Fd.register(r,e,r)}function r6(r){Fd&&Fd.unregister(r)}function m0(r,e,t=[],n=function(){}){let i=!1;const a=new Proxy(n,{get(s,o){if(kd(i),o===i2)return()=>{r6(a),u2(r),e.clear(),i=!0};if(o==="then"){if(t.length===0)return{then:()=>a};const l=hc(r,e,{type:"GET",path:t.map(c=>c.toString())}).then(xl);return l.then.bind(l)}return m0(r,e,[...t,o])},set(s,o,l){kd(i);const[c,h]=Ud(l);return hc(r,e,{type:"SET",path:[...t,o].map(p=>p.toString()),value:c},h).then(xl)},apply(s,o,l){kd(i);const c=t[t.length-1];if(c===Jk)return hc(r,e,{type:"ENDPOINT"}).then(xl);if(c==="bind")return m0(r,e,t.slice(0,-1));const[h,p]=h2(l);return hc(r,e,{type:"APPLY",path:t.map(C=>C.toString()),argumentList:h},p).then(xl)},construct(s,o){kd(i);const[l,c]=h2(o);return hc(r,e,{type:"CONSTRUCT",path:t.map(h=>h.toString()),argumentList:l},c).then(xl)}});return n6(a,r),a}function i6(r){return Array.prototype.concat.apply([],r)}function h2(r){const e=r.map(Ud);return[e.map(t=>t[0]),i6(e.map(t=>t[1]))]}const f2=new WeakMap;function a6(r,e){return f2.set(r,e),r}function s6(r){return Object.assign(r,{[r2]:!0})}function DW(r,e=globalThis,t="*"){return{postMessage:(n,i)=>r.postMessage(n,t,i),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e)}}function Ud(r){for(const[e,t]of s2)if(t.canHandle(r)){const[n,i]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},i]}return[{type:"RAW",value:r},f2.get(r)||[]]}function xl(r){switch(r.type){case"HANDLER":return s2.get(r.name).deserialize(r.value);case"RAW":return r.value}}function hc(r,e,t,n){return new Promise(i=>{const a=o6();e.set(a,i),r.start&&r.start(),r.postMessage(Object.assign({id:a},t),n)})}function o6(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class l6 extends Tf{constructor(e,t,n){super(),this.graph=e,this.layout=t,this.options=n,this.spawnWorker()}spawnWorker(){this.proxy=c2(new Worker(new URL(Z.p+Z.u(1188),Z.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var e;return(0,we.mG)(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const t=this.layout.options,{onTick:n}=t,i=(0,we._T)(t,["onTick"]),a={};Object.keys(i).forEach(c=>{xn(i[c])||(a[c]=i[c])});const s={layout:{id:this.layout.id,options:a,iterations:(e=this.options)===null||e===void 0?void 0:e.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},o=new Float32Array([0]),[l]=yield this.proxy.calculateLayout(s,[o]);return l})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[i2]()}isRunning(){return this.running}}var fc=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})},c6=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class u6{get presetOptions(){return{animation:!!Wy(this.context.options,!0)}}get options(){const{options:e}=this.context;return e.layout}constructor(e){this.instances=[],this.context=e}getLayoutInstance(){return this.instances}preLayout(e){return fc(this,void 0,void 0,function*(){var t,n,i,a;const{graph:s,model:o}=this.context,{add:l}=e;wi(s,new mi(qt.BEFORE_LAYOUT,{type:"pre"}));const c=yield(t=this.context.layout)===null||t===void 0?void 0:t.simulate();(n=c==null?void 0:c.nodes)===null||n===void 0||n.forEach(h=>{const p=Mt(h),C=l.nodes.get(p);o.syncNodeLikeDatum(h),C&&Object.assign(C.style,h.style)}),(i=c==null?void 0:c.edges)===null||i===void 0||i.forEach(h=>{const p=Mt(h),C=l.edges.get(p);o.syncEdgeDatum(h),C&&Object.assign(C.style,h.style)}),(a=c==null?void 0:c.combos)===null||a===void 0||a.forEach(h=>{const p=Mt(h),C=l.combos.get(p);o.syncNodeLikeDatum(h),C&&Object.assign(C.style,h.style)}),wi(s,new mi(qt.AFTER_LAYOUT,{type:"pre"})),this.transformDataAfterLayout("pre",e)})}postLayout(){return fc(this,arguments,void 0,function*(e=this.options){if(!e)return;const t=Array.isArray(e)?e:[e],{graph:n}=this.context;wi(n,new mi(qt.BEFORE_LAYOUT,{type:"post"}));for(const i of t){const a=t.indexOf(i),s=this.getLayoutData(i),o=Object.assign(Object.assign({},this.presetOptions),i);wi(n,new mi(qt.BEFORE_STAGE_LAYOUT,{options:o,index:a}));const l=yield this.stepLayout(s,o,a);wi(n,new mi(qt.AFTER_STAGE_LAYOUT,{options:o,index:a})),i.animation||this.updateElementPosition(l,!1)}wi(n,new mi(qt.AFTER_LAYOUT,{type:"post"})),this.transformDataAfterLayout("post")})}transformDataAfterLayout(e,t){const n=this.context.transform.getTransformInstance();Object.values(n).forEach(i=>i.afterLayout(e,t))}simulate(){return fc(this,void 0,void 0,function*(){if(!this.options)return{};const e=Array.isArray(this.options)?this.options:[this.options];let t={};for(const n of e){const i=e.indexOf(n),a=this.getLayoutData(n);t=yield this.stepLayout(a,Object.assign(Object.assign(Object.assign({},this.presetOptions),n),{animation:!1}),i)}return t})}stepLayout(e,t,n){return fc(this,void 0,void 0,function*(){return rR(t)?yield this.treeLayout(e,t,n):yield this.graphLayout(e,t,n)})}graphLayout(e,t,n){return fc(this,void 0,void 0,function*(){const{animation:i,enableWorker:a,iterations:s=300}=t,o=this.initGraphLayout(t);if(!o)return{};if(this.instances[n]=o,this.instance=o,a){const c=o;return this.supervisor=new l6(c.graphData2LayoutModel(e),c.instance,{iterations:s}),Of(yield this.supervisor.execute())}if(vp(o))return i?yield o.execute(e,{onTick:c=>{this.updateElementPosition(c,!1)}}):(o.execute(e),o.stop(),o.tick(s));const l=yield o.execute(e);if(i){const c=this.updateElementPosition(l,i);yield c==null?void 0:c.finished}return l})}treeLayout(e,t,n){return fc(this,void 0,void 0,function*(){const{type:i,animation:a}=t,s=Gs("layout",i);if(!s)return{};const{nodes:o=[],edges:l=[]}=e,c=new ci({nodes:o.map(W=>({id:Mt(W),data:W.data||{}})),edges:l.map(W=>({id:Mt(W),source:W.source,target:W.target,data:W.data||{}}))});Xk(c);const h={nodes:[],edges:[]},p={nodes:[],edges:[]};c.getRoots(Ca).forEach(W=>{ol(W,re=>{re.children=c.getSuccessors(re.id)},re=>c.getSuccessors(re.id),"TB");const j=s(W,t),{x:K,y:Q,z:ee=0}=j;ol(j,re=>{const{id:ve,x:he,y:pe,z:_e=0}=re;h.nodes.push({id:ve,style:{x:K,y:Q,z:ee}}),p.nodes.push({id:ve,style:{x:he,y:pe,z:_e}})},re=>re.children,"TB")});const k=this.inferTreeLayoutOffset(p);if(d2(p,k),a){d2(h,k),this.updateElementPosition(h,!1);const W=this.updateElementPosition(p,a);yield W==null?void 0:W.finished}return p})}inferTreeLayoutOffset(e){var t;let[n,i]=[1/0,-1/0],[a,s]=[1/0,-1/0];(t=e.nodes)===null||t===void 0||t.forEach(j=>{const{x:K=0,y:Q=0}=j.style||{};n=Math.min(n,K),i=Math.max(i,K),a=Math.min(a,Q),s=Math.max(s,Q)});const{canvas:o}=this.context,l=o.getSize(),[c,h]=o.getCanvasByViewport([0,0]),[p,C]=o.getCanvasByViewport(l);if(n>=c&&i<=p&&a>=h&&s<=C)return[0,0];const k=(c+p)/2,W=(h+C)/2;return[k-(n+i)/2,W-(a+s)/2]}stopLayout(){this.instance&&vp(this.instance)&&(this.instance.stop(),this.instance=void 0),this.supervisor&&(this.supervisor.stop(),this.supervisor=void 0),this.animationResult&&(this.animationResult.finish(),this.animationResult=void 0)}getLayoutData(e){const{nodeFilter:t=()=>!0,preLayout:n=!1,isLayoutInvisibleNodes:i=!1}=e,{nodes:a,edges:s,combos:o}=this.context.model.getData(),{element:l,model:c}=this.context,h=j=>l.getElement(j),p=n?j=>{var K;return!i&&(((K=j.style)===null||K===void 0?void 0:K.visibility)==="hidden"||c.getAncestorsData(j.id,Ca).some(xa)||c.getAncestorsData(j.id,Lr).some(xa))?!1:t(j)}:j=>{const K=Mt(j),Q=h(K);return!Q||_f(Q)?!1:t(j)},C=a.filter(p),k=new Map(C.map(j=>[Mt(j),j]));o.forEach(j=>k.set(Mt(j),j));const W=s.filter(({source:j,target:K})=>k.has(j)&&k.has(K));return{nodes:C,edges:W,combos:o}}initGraphLayout(e){var t;const{element:n,viewport:i}=this.context,{type:a,enableWorker:s,animation:o,iterations:l}=e,c=c6(e,["type","enableWorker","animation","iterations"]),[h,p]=i.getCanvasSize(),C=[h/2,p/2],k=(t=e==null?void 0:e.nodeSize)!==null&&t!==void 0?t:ee=>{const re=n==null?void 0:n.getElement(ee.id);return re?re.attributes.size:n==null?void 0:n.getElementComputedStyle("node",ee).size},W=Gs("layout",a);if(!W)return Ea.warn(`The layout of ${a} is not registered.`);const j=Object.getPrototypeOf(W.prototype)===Cf.prototype?W:aR(W,this.context),K=new j(this.context),Q={nodeSize:k,width:h,height:p,center:C};switch(K.id){case"d3-force":case"d3-force-3d":Object.assign(Q,{center:{x:h/2,y:p/2,z:0}});break;default:break}return ia(K.options,Q,c),K}updateElementPosition(e,t){const{model:n,element:i}=this.context;return i?(n.updateData(e),i.draw({animation:t,silence:!0})):null}destroy(){var e;this.stopLayout(),this.context={},(e=this.supervisor)===null||e===void 0||e.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const d2=(r,e)=>{var t;const[n,i]=e;(t=r.nodes)===null||t===void 0||t.forEach(a=>{if(a.style){const{x:s=0,y:o=0}=a.style;a.style.x=s+n,a.style.y=o+i}else a.style={x:n,y:i}})};function h6(r){return[f6].reduce((t,n)=>n(t),r)}function f6(r){return!r.layout||Array.isArray(r.layout)||"preLayout"in r.layout||["antv-dagre","combo-combined","compact-box","circular","concentric","dagre","fishbone","grid","indented","mds","radial","random","snake","dendrogram","mindmap"].includes(r.layout.type)&&(r.layout.preLayout=!0),r}class d6 extends Eg{constructor(e){super(e),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(e){this.setExtensions(e)}getPluginInstance(e){const t=this.extensionMap[e];if(t)return t;Ea.warn(`Cannot find the plugin ${e}, will try to find it by type.`);const n=this.extensions.find(i=>i.type===e);if(n)return this.extensionMap[n.key]}}const Wd=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class v6 extends Eg{constructor(e){super(e),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(e){this.setExtensions([...Wd.slice(0,Wd.length-1),...e,Wd[Wd.length-1]])}getTransformInstance(e){return e?this.extensionMap[e]:this.extensionMap}}var Tu=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class g6{get padding(){return os(this.context.options.padding)}get paddingOffset(){const[e,t,n,i]=this.padding,[a,s,o]=[(i-t)/2,(e-n)/2,0];return[a,s,o]}constructor(e){this.landmarkCounter=0,this.context=e;const[t,n]=this.paddingOffset,{zoom:i,rotation:a,x:s=t,y:o=n}=e.options;this.transform({mode:"absolute",scale:i,translate:[s,o],rotate:a},!1)}get camera(){const{canvas:e}=this.context;return new Proxy(e.getCamera(),{get:(t,n)=>{const a=Object.entries(e.getLayers()).filter(([o])=>!["main"].includes(o)).map(([,o])=>o.getCamera()),s=t[n];if(typeof s=="function")return(...o)=>{const l=s.apply(t,o);return a.forEach(c=>{c[n].apply(c,o)}),l}}})}createLandmark(e){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,e)}getAnimation(e){const t=Wy(this.context.options,e);return t?ul(Object.assign({},t),["easing","duration"]):!1}getCanvasSize(){const{canvas:e}=this.context,{width:t=0,height:n=0}=e.getConfig();return[t,n]}getCanvasCenter(){const{canvas:e}=this.context,{width:t=0,height:n=0}=e.getConfig();return[t/2,n/2,0]}getViewportCenter(){const[e,t]=this.camera.getPosition();return[e,t,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(e){const{camera:t}=this,{mode:n,translate:i=[]}=e,a=this.getZoom(),s=t.getPosition(),o=t.getFocalPoint(),[l,c]=this.getCanvasCenter(),[h=0,p=0,C=0]=i,k=us([-h,-p,-C],a);return n==="relative"?{position:Jn(s,k),focalPoint:Jn(o,k)}:{position:Jn([l,c,s[2]],k),focalPoint:Jn([l,c,o[2]],k)}}getRotateOptions(e){const{mode:t,rotate:n=0}=e;return{roll:t==="relative"?this.camera.getRoll()+n:n}}getZoomOptions(e){const{zoomRange:t}=this.context.options,n=this.camera.getZoom(),{mode:i,scale:a=1}=e;return Yr(i==="relative"?n*a:a,...t)}transform(e,t){return Tu(this,void 0,void 0,function*(){const{graph:n}=this.context,{translate:i,rotate:a,scale:s,origin:o}=e;this.cancelAnimation();const l=this.getAnimation(t);if(wi(n,new Id(qt.BEFORE_TRANSFORM,e)),!a&&s&&!i&&o&&!l){this.camera.setZoomByViewportPoint(this.getZoomOptions(e),o),wi(n,new Id(qt.AFTER_TRANSFORM,e));return}const c={};if(i&&Object.assign(c,this.getTranslateOptions(e)),dn(a)&&Object.assign(c,this.getRotateOptions(e)),dn(s)&&Object.assign(c,{zoom:this.getZoomOptions(e)}),l)return wi(n,new Ja(qt.BEFORE_ANIMATE,_a.TRANSFORM,null,e)),new Promise(h=>{this.transformResolver=h,this.camera.gotoLandmark(this.createLandmark(c),Object.assign(Object.assign({},l),{onfinish:()=>{wi(n,new Ja(qt.AFTER_ANIMATE,_a.TRANSFORM,null,e)),wi(n,new Id(qt.AFTER_TRANSFORM,e)),this.transformResolver=void 0,h()}}))});this.camera.gotoLandmark(this.createLandmark(c),{duration:0}),wi(n,new Id(qt.AFTER_TRANSFORM,e))})}fitView(e,t){return Tu(this,void 0,void 0,function*(){const[n,i,a,s]=this.padding,{when:o="always",direction:l="both"}=e||{},[c,h]=this.context.canvas.getSize(),p=c-s-i,C=h-n-a,k=this.context.canvas.getBounds(),W=this.getBBoxInViewport(k),[j,K]=fo(W),Q=l==="x"&&j>=p||l==="y"&&K>=C||l==="both"&&j>=p&&K>=C;if(o==="overflow"&&!Q)return yield this.fitCenter({animation:t});const ee=p/j,re=C/K,ve=l==="x"?ee:l==="y"?re:Math.min(ee,re),he=this.getAnimation(t);yield this.transform({mode:"relative",scale:ve,translate:Jn(Or(this.getCanvasCenter(),this.getBBoxInViewport(k).center),us(this.paddingOffset,ve))},he)})}fitCenter(e){return Tu(this,void 0,void 0,function*(){const t=this.context.canvas.getBounds();yield this.focus(t,e)})}focusElements(e){return Tu(this,arguments,void 0,function*(t,n={}){const{element:i}=this.context;if(!i)return;const a=o=>n.shapes?o.getShape(n.shapes).getRenderBounds():o.getRenderBounds(),s=Hc(t.map(o=>a(i.getElement(o))));yield this.focus(s,n)})}focus(e,t){return Tu(this,void 0,void 0,function*(){const n=this.context.graph.getViewportByCanvas(e.center),i=t.position||this.getCanvasCenter(),a=Or(i,n);yield this.transform({mode:"relative",translate:Jn(a,this.paddingOffset)},t.animation)})}getBBoxInViewport(e){const{min:t,max:n}=e,{graph:i}=this.context,[a,s]=i.getViewportByCanvas(t),[o,l]=i.getViewportByCanvas(n),c=new Nr;return c.setMinMax([a,s,0],[o,l,0]),c}isInViewport(e,t=!1,n=0){const{graph:i}=this.context,a=this.getCanvasSize(),[s,o]=i.getCanvasByViewport([0,0]),[l,c]=i.getCanvasByViewport(a);let h=new Nr;return h.setMinMax([s,o,0],[l,c,0]),n&&(h=go(h,n)),Gl(e)?ls(e,h):t?MC(e,h):h.intersects(e)}cancelAnimation(){var e,t;!((e=this.camera.landmarks)===null||e===void 0)&&e.length&&this.camera.cancelLandmarkAnimation(),(t=this.transformResolver)===null||t===void 0||t.call(this)}}var kr=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{c(n.next(h))}catch(p){s(p)}}function l(h){try{c(n.throw(h))}catch(p){s(p)}}function c(h){h.done?a(h.value):i(h.value).then(o,l)}c((n=n.apply(r,e||[])).next())})};class Hd extends Tf{constructor(e){var t;super(),this.options={},this.rendered=!1,this.destroyed=!1,this.context={model:new Yk},this.isCollapsingExpanding=!1,this.onResize=ru(()=>{this.resize()},300),this._setOptions(Object.assign({},Hd.defaultOptions,e),!0),this.context.graph=this,this.options.autoResize&&((t=globalThis.addEventListener)===null||t===void 0||t.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(e){this._setOptions(e,!1)}_setOptions(e,t){if(this.updateCanvas(e),Object.assign(this.options,h6(e)),t){const{data:C}=e;C&&this.addData(C);return}const{behaviors:n,combo:i,data:a,edge:s,layout:o,node:l,plugins:c,theme:h,transforms:p}=e;n&&this.setBehaviors(n),a&&this.setData(a),l&&this.setNode(l),s&&this.setEdge(s),i&&this.setCombo(i),o&&this.setLayout(o),h&&this.setTheme(h),c&&this.setPlugins(c),p&&this.setTransforms(p)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(e,t){e&&(this.options.width=e),t&&(this.options.height=t),this.resize(e,t)}setZoomRange(e){this.options.zoomRange=e}getZoomRange(){return this.options.zoomRange}setNode(e){this.options.node=e,this.context.model.refreshData()}setEdge(e){this.options.edge=e,this.context.model.refreshData()}setCombo(e){this.options.combo=e,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(e){this.options.theme=xn(e)?e(this.getTheme()):e}setLayout(e){this.options.layout=xn(e)?e(this.getLayout()):e}getLayout(){return this.options.layout}setBehaviors(e){var t;this.options.behaviors=xn(e)?e(this.getBehaviors()):e,(t=this.context.behavior)===null||t===void 0||t.setBehaviors(this.options.behaviors)}updateBehavior(e){this.setBehaviors(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n))}getBehaviors(){return this.options.behaviors||[]}setPlugins(e){var t;this.options.plugins=xn(e)?e(this.getPlugins()):e,(t=this.context.plugin)===null||t===void 0||t.setPlugins(this.options.plugins)}updatePlugin(e){this.setPlugins(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n))}getPlugins(){return this.options.plugins||[]}getPluginInstance(e){return this.context.plugin.getPluginInstance(e)}setTransforms(e){var t;this.options.transforms=xn(e)?e(this.getTransforms()):e,(t=this.context.transform)===null||t===void 0||t.setTransforms(this.options.transforms)}updateTransform(e){this.setTransforms(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}getElementData(e){return Array.isArray(e)?e.map(t=>this.context.model.getElementDataById(t)):this.context.model.getElementDataById(e)}getNodeData(e){return e===void 0?this.context.model.getNodeData():Array.isArray(e)?this.context.model.getNodeData(e):this.context.model.getNodeLikeDatum(e)}getEdgeData(e){return e===void 0?this.context.model.getEdgeData():Array.isArray(e)?this.context.model.getEdgeData(e):this.context.model.getEdgeDatum(e)}getComboData(e){return e===void 0?this.context.model.getComboData():Array.isArray(e)?this.context.model.getComboData(e):this.context.model.getNodeLikeDatum(e)}setData(e){this.context.model.setData(xn(e)?e(this.getData()):e)}addData(e){this.context.model.addData(xn(e)?e(this.getData()):e)}addNodeData(e){this.context.model.addNodeData(xn(e)?e(this.getNodeData()):e)}addEdgeData(e){this.context.model.addEdgeData(xn(e)?e(this.getEdgeData()):e)}addComboData(e){this.context.model.addComboData(xn(e)?e(this.getComboData()):e)}addChildrenData(e,t){this.context.model.addChildrenData(e,t)}updateData(e){this.context.model.updateData(xn(e)?e(this.getData()):e)}updateNodeData(e){this.context.model.updateNodeData(xn(e)?e(this.getNodeData()):e)}updateEdgeData(e){this.context.model.updateEdgeData(xn(e)?e(this.getEdgeData()):e)}updateComboData(e){this.context.model.updateComboData(xn(e)?e(this.getComboData()):e)}removeData(e){this.context.model.removeData(xn(e)?e(this.getData()):e)}removeNodeData(e){this.context.model.removeNodeData(xn(e)?e(this.getNodeData()):e)}removeEdgeData(e){this.context.model.removeEdgeData(xn(e)?e(this.getEdgeData()):e)}removeComboData(e){this.context.model.removeComboData(xn(e)?e(this.getComboData()):e)}getElementType(e){return this.context.model.getElementType(e)}getRelatedEdgesData(e,t="both"){return this.context.model.getRelatedEdgesData(e,t)}getNeighborNodesData(e){return this.context.model.getNeighborNodesData(e)}getAncestorsData(e,t){return this.context.model.getAncestorsData(e,t)}getParentData(e,t){return this.context.model.getParentData(e,t)}getChildrenData(e){return this.context.model.getChildrenData(e)}getDescendantsData(e){return this.context.model.getDescendantsData(e)}getElementDataByState(e,t){return this.context.model.getElementDataByState(e,t)}initCanvas(){return kr(this,void 0,void 0,function*(){var e;if(this.context.canvas)return yield this.context.canvas.ready;const{container:t="container",width:n,height:i,renderer:a,cursor:s,background:o,canvas:l,devicePixelRatio:c=(e=globalThis.devicePixelRatio)!==null&&e!==void 0?e:1}=this.options;if(t instanceof Jb)this.context.canvas=t,s&&t.setCursor(s),a&&t.setRenderer(a),yield t.ready;else{const h=dr(t)?document.getElementById(t):t,p=e2(h);this.emit(qt.BEFORE_CANVAS_INIT,{container:h,width:n,height:i});const C=Object.assign(Object.assign({},l),{container:h,width:n||p[0],height:i||p[1],background:o,renderer:a,cursor:s,devicePixelRatio:c}),k=new Jb(C);this.context.canvas=k,yield k.ready,this.emit(qt.AFTER_CANVAS_INIT,{canvas:k})}})}updateCanvas(e){var t,n;const{renderer:i,cursor:a,height:s,width:o}=e,l=this.context.canvas;l&&(i&&(this.emit(qt.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),l.setRenderer(i),this.emit(qt.AFTER_RENDERER_CHANGE,{renderer:i})),a&&l.setCursor(a),(dn(o)||dn(s))&&this.setSize((t=o!=null?o:this.options.width)!==null&&t!==void 0?t:0,(n=s!=null?s:this.options.height)!==null&&n!==void 0?n:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new Gk(this.context)),this.context.plugin||(this.context.plugin=new d6(this.context)),this.context.viewport||(this.context.viewport=new g6(this.context)),this.context.transform||(this.context.transform=new v6(this.context)),this.context.element||(this.context.element=new Qk(this.context)),this.context.animation||(this.context.animation=new jk(this.context)),this.context.layout||(this.context.layout=new u6(this.context)),this.context.behavior||(this.context.behavior=new Vk(this.context))}prepare(){return kr(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed)throw new Error(Vs("The graph instance has been destroyed"));yield this.initCanvas(),this.initRuntime()})}render(){return kr(this,void 0,void 0,function*(){if(yield this.prepare(),wi(this,new mi(qt.BEFORE_RENDER)),this.options.layout)if(!this.rendered&&iR(this.options.layout)){const e=yield this.context.element.preLayoutDraw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.autoFit()])}else{const e=this.context.element.draw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.context.layout.postLayout()]),yield this.autoFit()}else{const e=this.context.element.draw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.autoFit()])}this.rendered=!0,wi(this,new mi(qt.AFTER_RENDER))})}draw(){return kr(this,void 0,void 0,function*(){var e;yield this.prepare(),yield(e=this.context.element.draw())===null||e===void 0?void 0:e.finished})}layout(e){return kr(this,void 0,void 0,function*(){yield this.context.layout.postLayout(e)})}stopLayout(){this.context.layout.stopLayout()}clear(){return kr(this,void 0,void 0,function*(){const{model:e,element:t}=this.context;e.setData({}),e.clearChanges(),t==null||t.clear()})}destroy(){var e;wi(this,new mi(qt.BEFORE_DESTROY));const{layout:t,animation:n,element:i,model:a,canvas:s,behavior:o,plugin:l}=this.context;l==null||l.destroy(),o==null||o.destroy(),t==null||t.destroy(),n==null||n.destroy(),i==null||i.destroy(),a.destroy(),s==null||s.destroy(),this.options={},this.context={},this.off(),(e=globalThis.removeEventListener)===null||e===void 0||e.call(globalThis,"resize",this.onResize),this.destroyed=!0,wi(this,new mi(qt.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(e,t){var n;const i=e2((n=this.context.canvas)===null||n===void 0?void 0:n.getContainer()),a=[e||i[0],t||i[1]];if(!this.context.canvas)return;const s=this.context.canvas.getSize();si(a,s)||(wi(this,new mi(qt.BEFORE_SIZE_CHANGE,{size:a})),this.context.canvas.resize(...a),wi(this,new mi(qt.AFTER_SIZE_CHANGE,{size:a})))}fitView(e,t){return kr(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.fitView(e,t)})}fitCenter(e){return kr(this,void 0,void 0,function*(){var t;yield(t=this.context.viewport)===null||t===void 0?void 0:t.fitCenter({animation:e})})}autoFit(){return kr(this,void 0,void 0,function*(){const{autoFit:e}=this.context.options;if(e)if(dr(e))e==="view"?yield this.fitView():e==="center"&&(yield this.fitCenter());else{const{type:t,animation:n}=e;t==="view"?yield this.fitView(e.options,n):t==="center"&&(yield this.fitCenter(n))}})}focusElement(e,t){return kr(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.focusElements(Array.isArray(e)?e:[e],{animation:t})})}zoomBy(e,t,n){return kr(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:e,origin:n},t)})}zoomTo(e,t,n){return kr(this,void 0,void 0,function*(){this.context.viewport.transform({mode:"absolute",scale:e,origin:n},t)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(e,t,n){return kr(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:e,origin:n},t)})}rotateTo(e,t,n){return kr(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:e,origin:n},t)})}getRotation(){return this.context.viewport.getRotation()}translateBy(e,t){return kr(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:e},t)})}translateTo(e,t){return kr(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:e},t)})}getPosition(){return Or([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(e,t){return kr(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,c]=ii(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a];Object.entries(l).forEach(([h,p])=>this.context.model.translateNodeLikeBy(h,p)),yield(o=this.context.element.draw({animation:c,stage:"translate"}))===null||o===void 0?void 0:o.finished})}translateElementTo(e,t){return kr(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,c]=ii(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a];Object.entries(l).forEach(([h,p])=>this.context.model.translateNodeLikeTo(h,p)),yield(o=this.context.element.draw({animation:c,stage:"translate"}))===null||o===void 0?void 0:o.finished})}getElementPosition(e){return this.context.model.getElementPosition(e)}getElementRenderStyle(e){return bp(this.context.element.getElement(e).attributes,["context"])}setElementVisibility(e,t){return kr(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,c]=ii(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a],h={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([k,W])=>{const j=this.getElementType(k);h[`${j}s`].push({id:k,style:{visibility:W}})});const{model:p,element:C}=this.context;p.preventUpdateNodeLikeHierarchy(()=>{p.updateData(h)}),yield(o=C.draw({animation:c,stage:"visibility"}))===null||o===void 0?void 0:o.finished})}showElement(e,t){return kr(this,void 0,void 0,function*(){const n=Array.isArray(e)?e:[e];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"visible"])),t)})}hideElement(e,t){return kr(this,void 0,void 0,function*(){const n=Array.isArray(e)?e:[e];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"hidden"])),t)})}getElementVisibility(e){var t,n;const i=this.context.element.getElement(e);return(n=(t=i==null?void 0:i.style)===null||t===void 0?void 0:t.visibility)!==null&&n!==void 0?n:"visible"}setElementZIndex(e,t){return kr(this,void 0,void 0,function*(){var n;const i={nodes:[],edges:[],combos:[]},a=ii(e)?e:{[e]:t};Object.entries(a).forEach(([l,c])=>{const h=this.getElementType(l);i[`${h}s`].push({id:l,style:{zIndex:c}})});const{model:s,element:o}=this.context;s.preventUpdateNodeLikeHierarchy(()=>s.updateData(i)),yield(n=o.draw({animation:!1,stage:"zIndex"}))===null||n===void 0?void 0:n.finished})}frontElement(e){return kr(this,void 0,void 0,function*(){const t=Array.isArray(e)?e:[e],{model:n}=this.context,i={};t.map(a=>{const s=n.getFrontZIndex(a);if(n.getElementType(a)==="combo"){const l=n.getAncestorsData(a,Lr).at(-1)||this.getComboData(a),c=[l,...n.getDescendantsData(Mt(l))],h=s-t2(l);c.forEach(C=>{i[Mt(C)]=this.getElementZIndex(Mt(C))+h});const{internal:p}=Gg(c.map(Mt),C=>n.getRelatedEdgesData(C));p.forEach(C=>{const k=Mt(C);i[k]=this.getElementZIndex(k)+h})}else i[a]=s}),yield this.setElementZIndex(i)})}getElementZIndex(e){return t2(this.context.model.getElementDataById(e))}setElementState(e,t){return kr(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,c]=ii(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a],h=C=>C?Array.isArray(C)?C:[C]:[],p={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([C,k])=>{const W=this.getElementType(C);p[`${W}s`].push({id:C,states:h(k)})}),this.updateData(p),yield(o=this.context.element.draw({animation:c,stage:"state"}))===null||o===void 0?void 0:o.finished})}getElementState(e){return this.context.model.getElementState(e)}getElementRenderBounds(e){return this.context.element.getElement(e).getRenderBounds()}collapseElement(e){return kr(this,arguments,void 0,function*(t,n=!0){const{model:i,element:a}=this.context;if(xa(i.getNodeLikeData([t])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!0});const s=i.getElementType(t);yield this.frontElement(t),this.isCollapsingExpanding=!0,this.setElementCollapsibility(t,!0),s==="node"?yield a.collapseNode(t,n):s==="combo"&&(yield a.collapseCombo(t,!!n.animation)),this.isCollapsingExpanding=!1})}expandElement(e){return kr(this,arguments,void 0,function*(t,n=!0){const{model:i,element:a}=this.context;if(!xa(i.getNodeLikeData([t])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!0});const s=i.getElementType(t);this.isCollapsingExpanding=!0,this.setElementCollapsibility(t,!1),s==="node"?yield a.expandNode(t,n):s==="combo"&&(yield a.expandCombo(t,!!n.animation)),this.isCollapsingExpanding=!1})}setElementCollapsibility(e,t){const n=this.getElementType(e);n==="node"?this.updateNodeData([{id:e,style:{collapsed:t}}]):n==="combo"&&this.updateComboData([{id:e,style:{collapsed:t}}])}toDataURL(){return kr(this,arguments,void 0,function*(e={}){return this.context.canvas.toDataURL(e)})}getCanvasByViewport(e){return this.context.canvas.getCanvasByViewport(e)}getViewportByCanvas(e){return this.context.canvas.getViewportByCanvas(e)}getClientByCanvas(e){return this.context.canvas.getClientByCanvas(e)}getCanvasByClient(e){return this.context.canvas.getCanvasByClient(e)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(e,t,n){return super.on(e,t,n)}once(e,t){return super.once(e,t)}off(e,t){return super.off(e,t)}}Hd.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var p6=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function m6(r,e){const{getNodeData:t=(o,l)=>{if(o.depth=l,!o.children)return o;const{children:c}=o,h=p6(o,["children"]);return Object.assign(Object.assign({},h),{children:c.map(p=>p.id)})},getEdgeData:n=(o,l)=>({source:o.id,target:l.id}),getChildren:i=o=>o.children||[]}=e||{},a=[],s=[];return ol(r,(o,l)=>{a.push(t(o,l));const c=i(o);for(const h of c)s.push(n(o,h))},o=>i(o),"TB"),{nodes:a,edges:s}}class y6 extends Do{beforeDraw(e){const{add:t,update:n}=e,{model:i}=this.context;return[...t.edges.entries(),...n.edges.entries()].forEach(([,a])=>{v2(i,a)}),e}}const v2=(r,e)=>{const{source:t,target:n}=e,i=r.getElementDataById(t),a=r.getElementDataById(n),s=O_(i,p=>r.getParentData(p,Lr)),o=O_(a,p=>r.getParentData(p,Lr)),l=Mt(s),c=Mt(o),h={sourceNode:l,targetNode:c};return e.style?Object.assign(e.style,h):e.style=h,e},_6=(r,e,t)=>{const[n,i]=e,[a,s]=t;if(i===n)return a;const o=(r-n)/(i-n);return a+o*(s-a)},E6=(r,e,t)=>{const[n,i]=e,[a,s]=t,o=Math.log(r-n+1)/Math.log(i-n+1);return a+o*(s-a)},x6=(r,e,t,n=2)=>{const[i,a]=e,[s,o]=t,l=Math.pow((r-i)/(a-i),n);return s+l*(o-s)},b6=(r,e,t)=>{const[n,i]=e,[a,s]=t,o=Math.sqrt((r-n)/(i-n));return a+o*(s-a)};class jd extends Do{constructor(e,t){super(e,ia({},jd.defaultOptions,t)),this.assignSizeByCentrality=(n,i,a,s,o,l)=>{const c=[i,a],h=[s[0],o[0]],p=[s[1],o[1]],C=[s[2],o[2]],k=(W,j)=>{if(typeof l=="function")return l(W,c,j);switch(l){case"linear":return _6(W,c,j);case"log":return E6(W,c,j);case"pow":return x6(W,c,j,2);case"sqrt":return b6(W,c,j);default:return j[0]}};return[k(n,h),k(n,p),k(n,C)]}}beforeDraw(e){const{model:t}=this.context,n=t.getNodeData(),i=Pa(this.options.maxSize),a=Pa(this.options.minSize),s=this.getCentralities(this.options.centrality),o=s.size>0?Math.max(...s.values()):0,l=s.size>0?Math.min(...s.values()):0;return n.forEach(c=>{var h;const p=this.assignSizeByCentrality(s.get(Mt(c))||0,l,o,a,i,this.options.scale),C=(h=this.context.element)===null||h===void 0?void 0:h.getElement(Mt(c)),k={size:p};this.assignLabelStyle(k,p,c,C),(!C||!Ld(k,C.attributes))&&Na(e,C?"update":"add","node",ia(c,{style:k}),!0)}),e}assignLabelStyle(e,t,n,i){var a;const s=i?i.config.style:(a=this.context.element)===null||a===void 0?void 0:a.getElementComputedStyle("node",n);if(Object.assign(e,ul(s,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const o=this.getLabelSizeByNodeSize(t,1/0,Number(e.labelFontSize));Object.assign(e,{labelFontSize:o,labelLineHeight:o+wC(e.labelPadding)})}return e}getLabelSizeByNodeSize(e,t,n){const i=Math.min(...e)/2,[a,s]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[n,t];return Math.min(s,Math.max(i,a))}getCentralities(e){const{model:t}=this.context,n=t.getData();if(typeof e=="function")return e(n);const i=t.getRelatedEdgesData.bind(t);return L1(n,i,e)}}jd.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class Gd extends Do{constructor(e,t){super(e,Object.assign({},Gd.defaultOptions,t))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var e;const t=xi(this.ref),{graph:n,model:i}=this.context;(e=i.getData().nodes)===null||e===void 0||e.forEach(s=>{var o;if(Mt(s)===Mt(this.ref))return;const l=B1(Or(xi(s),t)),c=Math.abs(l)>Math.PI/2,h=!s.children||s.children.length===0,p=Mt(s),C=(o=this.context.element)===null||o===void 0?void 0:o.getElement(p);if(!C||!C.isVisible())return;const k=Pa(n.getElementRenderStyle(p).size)[0]/2,W=(h?1:-1)*(k+this.options.offset),j=[["translate",W*Math.cos(l),W*Math.sin(l)],["rotate",c?ga(l)+180:ga(l)]];i.updateNodeData([{id:Mt(s),style:{labelTextAlign:c===h?"right":"left",labelTextBaseline:"middle",labelTransform:j}}])}),n.draw()}}Gd.defaultOptions={offset:5};const w6="quadratic",g2=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class Vd extends Do{constructor(e,t){super(e,Object.assign({},Vd.defaultOptions,t)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=n=>{const{add:{edges:i},update:{nodes:a,edges:s,combos:o},remove:{edges:l}}=n,{model:c}=this.context,h=new Map,p=(W,j)=>{c.getRelatedEdgesData(j).forEach(Q=>!h.has(Mt(Q))&&h.set(Mt(Q),Q))};a.forEach(p),o.forEach(p);const C=W=>{const j=c.getEdgeData().map(Q=>v2(c,Q));M6(W,j,!0).forEach(Q=>!h.has(Mt(Q))&&h.set(Mt(Q),Q))};if(l.size&&l.forEach(C),i.size&&i.forEach(C),s.size){const W=Ex(Cp(c.getChanges())).update.edges;s.forEach(j=>{var K;C(j);const Q=(K=W.find(ee=>Mt(ee.value)===Mt(j)))===null||K===void 0?void 0:K.original;Q&&!y0(j,Q)&&C(Q)})}Ls(this.options.edges)||h.forEach((W,j)=>!this.options.edges.includes(j)&&h.delete(j));const k=c.getEdgeData().map(Mt);return new Map([...h].sort((W,j)=>k.indexOf(W[0])-k.indexOf(j[0])))},this.applyBundlingStyle=(n,i,a)=>{const{edgeMap:s,reverses:o}=p2(i);s.forEach(l=>{l.forEach((c,h,p)=>{var C;const k=p.length,W=c.style||{};if(c.source===c.target){const Q=g2.length;W.loopPlacement=g2[h%Q],W.loopDist=Math.floor(h/Q)*a+50}else if(k===1)W.curveOffset=0;else{const Q=(h%2===0?1:-1)*(o[`${c.source}|${c.target}|${h}`]?-1:1);W.curveOffset=k%2===1?Q*Math.ceil(h/2)*a*2:Q*(Math.floor(h/2)*a*2+a)}const j=Object.assign(c,{type:w6,style:W}),K=(C=this.context.element)===null||C===void 0?void 0:C.getElement(Mt(c));(!K||!Ld(j.style,K.attributes))&&Na(n,K?"update":"add","edge",j,!0)})})},this.resetEdgeStyle=n=>{const i=n.style||{},a=this.cacheMergeStyle.get(Mt(n))||{};return Object.keys(a).forEach(s=>{si(i[s],a[s])&&(n[s]?i[s]=n[s]:delete i[s])}),Object.assign(n,{style:i})},this.applyMergingStyle=(n,i)=>{const{edgeMap:a,reverses:s}=p2(i);a.forEach(o=>{var l;if(o.length===1){const h=o[0],p=(l=this.context.element)===null||l===void 0?void 0:l.getElement(Mt(h)),C=this.resetEdgeStyle(h);(!p||!Ld(C,p.attributes))&&Na(n,p?"update":"add","edge",C);return}const c=o.map(({source:h,target:p,style:C={}},k)=>{const{startArrow:W,endArrow:j}=C,K={},[Q,ee]=s[`${h}|${p}|${k}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return ku(W)&&(K[Q]=W),ku(j)&&(K[ee]=j),K}).reduce((h,p)=>Object.assign(Object.assign({},h),p),{});o.forEach((h,p,C)=>{var k;if(p!==0){Na(n,"remove","edge",h);return}const W=Object.assign({},xn(this.options.style)?this.options.style(C):this.options.style,{childrenData:C});this.cacheMergeStyle.set(Mt(h),W);const j=Object.assign(Object.assign({},h),{type:"line",style:Object.assign(Object.assign(Object.assign({},h.style),c),W)}),K=(k=this.context.element)===null||k===void 0?void 0:k.getElement(Mt(h));(!K||!Ld(j.style,K.attributes))&&Na(n,K?"update":"add","edge",j,!0)})})}}beforeDraw(e){const t=this.getAffectedParallelEdges(e);return t.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(e,t,this.options.distance):this.applyMergingStyle(e,t)),e}}Vd.defaultOptions={mode:"bundle",distance:15};const p2=r=>{const e=new Map,t=new Set,n={};for(const[i,a]of r){if(t.has(i))continue;const{source:s,target:o}=a,l=`${s}-${o}`;e.has(l)||e.set(l,[]),e.get(l).push(a),t.add(i);for(const[c,h]of r)t.has(c)||y0(a,h)&&(e.get(l).push(h),t.add(c),s===h.target&&o===h.source&&(n[`${h.source}|${h.target}|${e.get(l).length-1}`]=!0))}return{edgeMap:e,reverses:n}},M6=(r,e,t)=>e.filter(n=>(t||Mt(n)!==Mt(r))&&y0(n,r)),y0=(r,e)=>{const{sourceNode:t,targetNode:n}=r.style||{},{sourceNode:i,targetNode:a}=e.style||{};return t===i&&n===a||t===a&&n===i};class S6 extends Do{beforeDraw(e,t){const{stage:n}=t;if(n==="visibility")return e;const{model:i}=this.context,{update:{nodes:a,edges:s,combos:o}}=e,l=(c,h)=>{i.getRelatedEdgesData(h).forEach(C=>!s.has(Mt(C))&&s.set(Mt(C),C))};return a.forEach(l),o.forEach(l),e}}const T6={animation:{"combo-collapse":Vy,"combo-expand":yC,"node-collapse":jy,"node-expand":pC,"path-in":Gy,"path-out":mC,fade:vC,translate:gC},behavior:{"brush-select":Xc,"click-select":Xh,"collapse-expand":Ef,"create-edge":Mf,"drag-canvas":Sf,"drag-element-force":oR,"drag-element":iu,"fix-element-size":Pf,"focus-element":Df,"hover-activate":Lf,"lasso-select":cR,"auto-adapt-label":Hh,"optimize-viewport-transform":Rf,"scroll-canvas":If,"zoom-canvas":Nf},combo:{circle:qD,rect:$D},edge:{cubic:hl,line:pf,polyline:mf,quadratic:yf,"cubic-horizontal":df,"cubic-radial":vf,"cubic-vertical":gf},layout:{"antv-dagre":X3,"combo-combined":qI,"compact-box":Bf.compactBox,"d3-force":SN,"force-atlas2":CN,circular:J3,concentric:lp,dagre:Hf,dendrogram:Bf.dendrogram,fishbone:Vf,force:BE,fruchterman:DN,grid:RN,indented:Bf.indented,mds:jE,mindmap:Bf.mindmap,radial:HN,random:YN,snake:Zf},node:{circle:ll,diamond:$P,ellipse:$h,hexagon:iD,html:lf,image:cf,rect:QD,star:JD,donut:Jh,triangle:uf},palette:{spectral:eB,tableau:tB,oranges:nB,greens:rB,blues:iB},theme:{dark:Dk,light:Lk},plugin:{"bubble-sets":nd,"edge-bundling":id,"edge-filter-lens":ad,"grid-line":ld,background:Kf,contextmenu:rd,fisheye:sd,fullscreen:od,history:cd,hull:ud,legend:gd,minimap:pd,snapline:md,timebar:Cd,toolbar:Od,tooltip:Pd,watermark:Dd},transform:{"arrange-draw-order":Rk,"collapse-expand-combo":Ik,"collapse-expand-node":Nk,"get-edge-actual-ends":y6,"map-node-size":jd,"place-radial-labels":Gd,"process-parallel-edges":Vd,"update-related-edges":S6},shape:{circle:Ws,ellipse:Ic,group:Ei,html:Nc,image:Og,line:qo,path:Ta,polygon:$o,polyline:sh,rect:Ii,text:el,label:_o,badge:Kl}};function A6(){Object.entries(T6).forEach(([r,e])=>{Object.entries(e).forEach(([t,n])=>{Bk(r,t,n)})})}A6();const LW={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"}},13722:function(Ae){(function(Z,X){Ae.exports=X()})(typeof self!="undefined"?self:this,function(){return function(Ce){var Z={};function X(q){if(Z[q])return Z[q].exports;var H=Z[q]={i:q,l:!1,exports:{}};return Ce[q].call(H.exports,H,H.exports,X),H.l=!0,H.exports}return X.m=Ce,X.c=Z,X.d=function(q,H,b){X.o(q,H)||Object.defineProperty(q,H,{configurable:!1,enumerable:!0,get:b})},X.n=function(q){var H=q&&q.__esModule?function(){return q.default}:function(){return q};return X.d(H,"a",H),H},X.o=function(q,H){return Object.prototype.hasOwnProperty.call(q,H)},X.p="",X(X.s=5)}([function(Ce,Z){function X(q,H,b,z){return z===void 0&&(z="height"),b==="center"?(q[z]+H[z])/2:q.height}Ce.exports={assign:Object.assign,getHeight:X}},function(Ce,Z,X){var q=X(3),H=function(){function b(P,T){T===void 0&&(T={});var x=this;x.options=T,x.rootNode=q(P,T)}var z=b.prototype;return z.execute=function(){throw new Error("please override this method")},b}();Ce.exports=H},function(Ce,Z,X){var q=X(4),H=["LR","RL","TB","BT","H","V"],b=["LR","RL","H"],z=function(O){return b.indexOf(O)>-1},P=H[0];Ce.exports=function(x,O,_){var g=O.direction||P;if(O.isHorizontal=z(g),g&&H.indexOf(g)===-1)throw new TypeError("Invalid direction: "+g);if(g===H[0])_(x,O);else if(g===H[1])_(x,O),x.right2left();else if(g===H[2])_(x,O);else if(g===H[3])_(x,O),x.bottom2top();else if(g===H[4]||g===H[5]){var m=q(x,O),L=m.left,d=m.right;_(L,O),_(d,O),O.isHorizontal?L.right2left():L.bottom2top(),d.translate(L.x-d.x,L.y-d.y),x.x=L.x,x.y=d.y;var v=x.getBoundingBox();O.isHorizontal?v.top<0&&x.translate(0,-v.top):v.left<0&&x.translate(-v.left,0)}var M=O.fixedRoot;return M===void 0&&(M=!0),M&&x.translate(-(x.x+x.width/2+x.hgap),-(x.y+x.height/2+x.vgap)),T(x,O),x};function T(x,O){if(O.radial){var _=O.isHorizontal?["x","y"]:["y","x"],g=_[0],m=_[1],L={x:1/0,y:1/0},d={x:-1/0,y:-1/0},v=0;x.DFTraverse(function(S){v++;var A=S.x,R=S.y;L.x=Math.min(L.x,A),L.y=Math.min(L.y,R),d.x=Math.max(d.x,A),d.y=Math.max(d.y,R)});var M=d[m]-L[m];if(M===0)return;var w=Math.PI*2/v;x.DFTraverse(function(S){var A=(S[m]-L[m])/M*(Math.PI*2-w)+w,R=S[g]-x[g];S.x=Math.cos(A)*R,S.y=Math.sin(A)*R})}}},function(Ce,Z,X){var q=X(0),H=18,b=H*2,z=H,P={getId:function(_){return _.id||_.name},getPreH:function(_){return _.preH||0},getPreV:function(_){return _.preV||0},getHGap:function(_){return _.hgap||z},getVGap:function(_){return _.vgap||z},getChildren:function(_){return _.children},getHeight:function(_){return _.height||b},getWidth:function(_){var g=_.label||" ";return _.width||g.split("").length*H}};function T(O,_){var g=this;if(g.vgap=g.hgap=0,O instanceof T)return O;g.data=O;var m=_.getHGap(O),L=_.getVGap(O);return g.preH=_.getPreH(O),g.preV=_.getPreV(O),g.width=_.getWidth(O),g.height=_.getHeight(O),g.width+=g.preH,g.height+=g.preV,g.id=_.getId(O),g.x=g.y=0,g.depth=0,g.children||(g.children=[]),g.addGap(m,L),g}q.assign(T.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(_,g){var m=this;m.hgap+=_,m.vgap+=g,m.width+=2*_,m.height+=2*g},eachNode:function(_){for(var g=this,m=[g],L;L=m.shift();)_(L),m=L.children.concat(m)},DFTraverse:function(_){this.eachNode(_)},BFTraverse:function(_){for(var g=this,m=[g],L;L=m.shift();)_(L),m=m.concat(L.children)},getBoundingBox:function(){var _={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(g){_.left=Math.min(_.left,g.x),_.top=Math.min(_.top,g.y),_.width=Math.max(_.width,g.x+g.width),_.height=Math.max(_.height,g.y+g.height)}),_},translate:function(_,g){_===void 0&&(_=0),g===void 0&&(g=0),this.eachNode(function(m){m.x+=_,m.y+=g,m.x+=m.preH,m.y+=m.preV})},right2left:function(){var _=this,g=_.getBoundingBox();_.eachNode(function(m){m.x=m.x-(m.x-g.left)*2-m.width}),_.translate(g.width,0)},bottom2top:function(){var _=this,g=_.getBoundingBox();_.eachNode(function(m){m.y=m.y-(m.y-g.top)*2-m.height}),_.translate(0,g.height)}});function x(O,_,g){_===void 0&&(_={}),_=q.assign({},P,_);var m=new T(O,_),L=[m],d;if(!g&&!O.collapsed){for(;d=L.shift();)if(!d.data.collapsed){var v=_.getChildren(d.data),M=v?v.length:0;if(d.children=new Array(M),v&&M)for(var w=0;w<M;w++){var S=new T(v[w],_);d.children[w]=S,L.push(S),S.parent=d,S.depth=d.depth+1}}}return m}Ce.exports=x},function(Ce,Z,X){var q=X(3);Ce.exports=function(H,b){for(var z=q(H.data,b,!0),P=q(H.data,b,!0),T=H.children.length,x=Math.round(T/2),O=b.getSide||function(L,d){return d<x?"right":"left"},_=0;_<T;_++){var g=H.children[_],m=O(g,_);m==="right"?P.children.push(g):z.children.push(g)}return z.eachNode(function(L){L.isRoot()||(L.side="left")}),P.eachNode(function(L){L.isRoot()||(L.side="right")}),{left:z,right:P}}},function(Ce,Z,X){var q={compactBox:X(6),dendrogram:X(8),indented:X(10),mindmap:X(12)};Ce.exports=q},function(Ce,Z,X){function q(g,m){g.prototype=Object.create(m.prototype),g.prototype.constructor=g,H(g,m)}function H(g,m){return H=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(L,d){return L.__proto__=d,L},H(g,m)}var b=X(1),z=X(7),P=X(2),T=X(0),x=function(g){function m(){return g.apply(this,arguments)||this}q(m,g);var L=m.prototype;return L.execute=function(){var v=this;return P(v.rootNode,v.options,z)},m}(b),O={};function _(g,m){return m=T.assign({},O,m),new x(g,m).execute()}Ce.exports=_},function(Ce,Z){function X(T,x,O,_){_===void 0&&(_=[]);var g=this;g.w=T||0,g.h=x||0,g.y=O||0,g.x=0,g.c=_||[],g.cs=_.length,g.prelim=0,g.mod=0,g.shift=0,g.change=0,g.tl=null,g.tr=null,g.el=null,g.er=null,g.msel=0,g.mser=0}X.fromNode=function(T,x){if(!T)return null;var O=[];return T.children.forEach(function(_){O.push(X.fromNode(_,x))}),x?new X(T.height,T.width,T.x,O):new X(T.width,T.height,T.y,O)};function q(T,x,O){O?T.y+=x:T.x+=x,T.children.forEach(function(_){q(_,x,O)})}function H(T,x){var O=x?T.y:T.x;return T.children.forEach(function(_){O=Math.min(H(_,x),O)}),O}function b(T,x){var O=H(T,x);q(T,-O,x)}function z(T,x,O){O?x.y=T.x:x.x=T.x,T.c.forEach(function(_,g){z(_,x.children[g],O)})}function P(T,x,O){O===void 0&&(O=0),x?(T.x=O,O+=T.width):(T.y=O,O+=T.height),T.children.forEach(function(_){P(_,x,O)})}Ce.exports=function(T,x){x===void 0&&(x={});var O=x.isHorizontal;function _(I){if(I.cs===0){g(I);return}_(I.c[0]);for(var U=y(M(I.c[0].el),0,null),F=1;F<I.cs;++F){_(I.c[F]);var G=M(I.c[F].er);m(I,F,U),U=y(G,F,U)}A(I),g(I)}function g(I){I.cs===0?(I.el=I,I.er=I,I.msel=I.mser=0):(I.el=I.c[0].el,I.msel=I.c[0].msel,I.er=I.c[I.cs-1].er,I.mser=I.c[I.cs-1].mser)}function m(I,U,F){for(var G=I.c[U-1],Y=G.mod,te=I.c[U],$=te.mod;G!==null&&te!==null;){M(G)>F.low&&(F=F.nxt);var oe=Y+G.prelim+G.w-($+te.prelim);oe>0&&($+=oe,L(I,U,F.index,oe));var ie=M(G),ne=M(te);ie<=ne&&(G=v(G),G!==null&&(Y+=G.mod)),ie>=ne&&(te=d(te),te!==null&&($+=te.mod))}!G&&te?w(I,U,te,$):G&&!te&&S(I,U,G,Y)}function L(I,U,F,G){I.c[U].mod+=G,I.c[U].msel+=G,I.c[U].mser+=G,u(I,U,F,G)}function d(I){return I.cs===0?I.tl:I.c[0]}function v(I){return I.cs===0?I.tr:I.c[I.cs-1]}function M(I){return I.y+I.h}function w(I,U,F,G){var Y=I.c[0].el;Y.tl=F;var te=G-F.mod-I.c[0].msel;Y.mod+=te,Y.prelim-=te,I.c[0].el=I.c[U].el,I.c[0].msel=I.c[U].msel}function S(I,U,F,G){var Y=I.c[U].er;Y.tr=F;var te=G-F.mod-I.c[U].mser;Y.mod+=te,Y.prelim-=te,I.c[U].er=I.c[U-1].er,I.c[U].mser=I.c[U-1].mser}function A(I){I.prelim=(I.c[0].prelim+I.c[0].mod+I.c[I.cs-1].mod+I.c[I.cs-1].prelim+I.c[I.cs-1].w)/2-I.w/2}function R(I,U){U+=I.mod,I.x=I.prelim+U,f(I);for(var F=0;F<I.cs;F++)R(I.c[F],U)}function u(I,U,F,G){if(F!==U-1){var Y=U-F;I.c[F+1].shift+=G/Y,I.c[U].shift-=G/Y,I.c[U].change-=G-G/Y}}function f(I){for(var U=0,F=0,G=0;G<I.cs;G++)U+=I.c[G].shift,F+=U+I.c[G].change,I.c[G].mod+=F}function y(I,U,F){for(;F!==null&&I>=F.low;)F=F.nxt;return{low:I,index:U,nxt:F}}P(T,O);var D=X.fromNode(T,O);return _(D),R(D,0),z(D,T,O),b(T,O),T}},function(Ce,Z,X){function q(g,m){g.prototype=Object.create(m.prototype),g.prototype.constructor=g,H(g,m)}function H(g,m){return H=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(L,d){return L.__proto__=d,L},H(g,m)}var b=X(1),z=X(9),P=X(2),T=X(0),x=function(g){function m(){return g.apply(this,arguments)||this}q(m,g);var L=m.prototype;return L.execute=function(){var v=this;return v.rootNode.width=0,P(v.rootNode,v.options,z)},m}(b),O={};function _(g,m){return m=T.assign({},O,m),new x(g,m).execute()}Ce.exports=_},function(Ce,Z,X){var q=X(0);function H(P,T){P===void 0&&(P=0),T===void 0&&(T=[]);var x=this;x.x=x.y=0,x.leftChild=x.rightChild=null,x.height=0,x.children=T}var b={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function z(P,T,x){x?(T.x=P.x,T.y=P.y):(T.x=P.y,T.y=P.x),P.children.forEach(function(O,_){z(O,T.children[_],x)})}Ce.exports=function(P,T){T===void 0&&(T={}),T=q.assign({},b,T);var x=0;function O(d){if(!d)return null;d.width=0,d.depth&&d.depth>x&&(x=d.depth);var v=d.children,M=v.length,w=new H(d.height,[]);return v.forEach(function(S,A){var R=O(S);w.children.push(R),A===0&&(w.leftChild=R),A===M-1&&(w.rightChild=R)}),w.originNode=d,w.isLeaf=d.isLeaf(),w}function _(d){if(d.isLeaf||d.children.length===0)d.drawingDepth=x;else{var v=d.children.map(function(w){return _(w)}),M=Math.min.apply(null,v);d.drawingDepth=M-1}return d.drawingDepth}var g;function m(d){d.x=d.drawingDepth*T.rankSep,d.isLeaf?(d.y=0,g&&(d.y=g.y+g.height+T.nodeSep,d.originNode.parent!==g.originNode.parent&&(d.y+=T.subTreeSep)),g=d):(d.children.forEach(function(v){m(v)}),d.y=(d.leftChild.y+d.rightChild.y)/2)}var L=O(P);return _(L),m(L),z(L,P,T.isHorizontal),P}},function(Ce,Z,X){function q(L,d){L.prototype=Object.create(d.prototype),L.prototype.constructor=L,H(L,d)}function H(L,d){return H=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(v,M){return v.__proto__=M,v},H(L,d)}var b=X(1),z=X(11),P=X(4),T=X(0),x=["LR","RL","H"],O=x[0],_=function(L){function d(){return L.apply(this,arguments)||this}q(d,L);var v=d.prototype;return v.execute=function(){var w=this,S=w.options,A=w.rootNode;S.isHorizontal=!0;var R=S.indent,u=R===void 0?20:R,f=S.dropCap,y=f===void 0?!0:f,D=S.direction,I=D===void 0?O:D,U=S.align;if(I&&x.indexOf(I)===-1)throw new TypeError("Invalid direction: "+I);if(I===x[0])z(A,u,y,U);else if(I===x[1])z(A,u,y,U),A.right2left();else if(I===x[2]){var F=P(A,S),G=F.left,Y=F.right;z(G,u,y,U),G.right2left(),z(Y,u,y,U);var te=G.getBoundingBox();Y.translate(te.width,0),A.x=Y.x-A.width/2}return A},d}(b),g={};function m(L,d){return d=T.assign({},g,d),new _(L,d).execute()}Ce.exports=m},function(Ce,Z,X){var q=X(0);function H(b,z,P,T,x){var O=(typeof P=="function"?P(b):P)*b.depth;if(!T)try{if(b.id===b.parent.children[0].id){b.x+=O,b.y=z?z.y:0;return}}catch(m){}if(b.x+=O,z){if(b.y=z.y+q.getHeight(z,b,x),z.parent&&b.parent.id!==z.parent.id){var _=z.parent,g=_.y+q.getHeight(_,b,x);b.y=g>b.y?g:b.y}}else b.y=0}Ce.exports=function(b,z,P,T){var x=null;b.eachNode(function(O){H(O,x,z,P,T),x=O})}},function(Ce,Z,X){function q(g,m){g.prototype=Object.create(m.prototype),g.prototype.constructor=g,H(g,m)}function H(g,m){return H=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(L,d){return L.__proto__=d,L},H(g,m)}var b=X(1),z=X(13),P=X(2),T=X(0),x=function(g){function m(){return g.apply(this,arguments)||this}q(m,g);var L=m.prototype;return L.execute=function(){var v=this;return P(v.rootNode,v.options,z)},m}(b),O={};function _(g,m){return m=T.assign({},O,m),new x(g,m).execute()}Ce.exports=_},function(Ce,Z,X){var q=X(0);function H(P,T){var x=0;return P.children.length?P.children.forEach(function(O){x+=H(O,T)}):x=P.height,P._subTreeSep=T.getSubTreeSep(P.data),P.totalHeight=Math.max(P.height,x)+2*P._subTreeSep,P.totalHeight}function b(P){var T=P.children,x=T.length;if(x){T.forEach(function(d){b(d)});var O=T[0],_=T[x-1],g=_.y-O.y+_.height,m=0;if(T.forEach(function(d){m+=d.totalHeight}),g>P.height)P.y=O.y+g/2-P.height/2;else if(T.length!==1||P.height>m){var L=P.y+(P.height-g)/2-O.y;T.forEach(function(d){d.translate(0,L)})}else P.y=(O.y+O.height/2+_.y+_.height/2)/2-P.height/2}}var z={getSubTreeSep:function(){return 0}};Ce.exports=function(P,T){T===void 0&&(T={}),T=q.assign({},z,T),P.parent={x:0,width:0,height:0,y:0},P.BFTraverse(function(x){x.x=x.parent.x+x.parent.width}),P.parent=null,H(P,T),P.startY=0,P.y=P.totalHeight/2-P.height/2,P.eachNode(function(x){var O=x.children,_=O.length;if(_){var g=O[0];if(g.startY=x.startY+x._subTreeSep,_===1)g.y=x.y+x.height/2-g.height/2;else{g.y=g.startY+g.totalHeight/2-g.height/2;for(var m=1;m<_;m++){var L=O[m];L.startY=O[m-1].startY+O[m-1].totalHeight,L.y=L.startY+L.totalHeight/2-L.height/2}}}}),b(P)}}])})},36371:function(Ae,Ce,Z){"use strict";var X=Z(59301),q=Z(42441),H=Z(48961),b=Z.n(H),z=Object.defineProperty,P=Object.defineProperties,T=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,O=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable,g=(w,S,A)=>S in w?z(w,S,{enumerable:!0,configurable:!0,writable:!0,value:A}):w[S]=A,m=(w,S)=>{for(var A in S||(S={}))O.call(S,A)&&g(w,A,S[A]);if(x)for(var A of x(S))_.call(S,A)&&g(w,A,S[A]);return w},L=(w,S)=>P(w,T(S));function d(w,S,A=1/3,R){let u=w*Math.PI*2,f=S*Math.PI*2;return{u:{min:-Math.PI,max:Math.PI*3,step:Math.PI/32},v:{min:0,max:Math.PI*2,step:Math.PI/20},x:function(y,D){return y<u?Math.cos(u)*(1+Math.cos(D)*A):y>f?Math.cos(f)*(1+Math.cos(D)*A):Math.cos(y)*(1+Math.cos(D)*A)},y:function(y,D){return y<u?Math.sin(u)*(1+Math.cos(D)*A):y>f?Math.sin(f)*(1+Math.cos(D)*A):Math.sin(y)*(1+Math.cos(D)*A)},z:function(y,D){return y<-Math.PI*.5?Math.sin(y):y>Math.PI*2.5?Math.sin(y)*R*.1:Math.sin(D)>0?1*R*.1:-1}}}function v({pieData:w=[],internalDiameterRatio:S=1/3}){var A,R,u,f;const y=[],D=w==null?void 0:w.reduce((Y,te)=>(Y||0)+((te==null?void 0:te.value)||0),0);let I=0,U=0;const F=[];for(let Y=0;Y<(w==null?void 0:w.length);Y++){U=I+(D==0?1:((A=w==null?void 0:w[Y])==null?void 0:A.value)||0);const te={itemStyle:((R=w==null?void 0:w[Y])==null?void 0:R.itemStyle)||{},name:((u=w==null?void 0:w[Y])==null?void 0:u.name)||`name${Y}`,type:"surface",parametric:!0,parametricEquation:d(I/(D||(w==null?void 0:w.length)),U/(D||(w==null?void 0:w.length)),S,((f=w==null?void 0:w[Y])==null?void 0:f.value)||(D==0?25:0)),wireframe:{show:!1},pieData:w==null?void 0:w[Y]};F.push(te.name),y.push(te),I=U}return y.push({name:"pie2d",type:"pie",showEmptyCircle:!0,label:{show:!0,formatter:Y=>`${Y.value}
${Y.name}`},startAngle:-35,radius:["49%","50%"],center:["50%","40%"],data:[...w||[]].reverse(),itemStyle:{opacity:0}}),{legend:{left:"50%",top:"center",textStyle:{fontSize:12},data:F},xAxis3D:{},yAxis3D:{},zAxis3D:{},grid3D:{viewControl:{alpha:45,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1},left:"center",top:"-10%",show:!1,boxHeight:25},series:y}}const M=({dataSource:w=[{name:"\u638C\u63E1\u738780%~100%",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u638C\u63D0\u738760%~79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63A8\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}}],className:S="",style:A={},legend:R={},internalDiameterRatio:u=1/3})=>{const[f,y]=(0,X.useState)([]),D=(0,X.useCallback)(F=>{const G=F.selected||{},Y=w.map(te=>te.name).filter(te=>G[te]===!1);y(Y)},[w]),I=(0,X.useMemo)(()=>w.filter(F=>!f.includes(F.name)),[w,f]),U=(0,X.useMemo)(()=>{const F=v({pieData:I,internalDiameterRatio:u}),G=w.map(te=>te.name),Y=w.reduce((te,$)=>(te[$.name]=!f.includes($.name),te),{});return F.legend=L(m(m({},F.legend),R),{data:G,selected:Y}),F},[I,R,u,w,f]);return X.createElement(q.Z,{onEvents:{legendselectchanged:D},className:`w-full h-full ${S}`,option:U,style:m({height:"100%"},A)})};Ce.Z=M},8797:function(Ae,Ce,Z){"use strict";var X=Z(59301),q=Z(93314),H=Z(3113),b=Object.defineProperty,z=Object.defineProperties,P=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,x=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,_=(d,v,M)=>v in d?b(d,v,{enumerable:!0,configurable:!0,writable:!0,value:M}):d[v]=M,g=(d,v)=>{for(var M in v||(v={}))x.call(v,M)&&_(d,M,v[M]);if(T)for(var M of T(v))O.call(v,M)&&_(d,M,v[M]);return d},m=(d,v)=>z(d,P(v));const L=({img:d,buttonProps:v={},styles:M={},customText:w,ButtonText:S,ButtonClick:A,Buttonclass:R,ButtonTwo:u,imgStyles:f,loading:y=!1,className:D=""})=>X.createElement("section",{className:`tc animated fadeIn ${D}`,style:g({color:"#999",margin:"100px auto",visibility:y?"hidden":"visible"},M)},X.createElement("img",{src:d||q,style:m(g({},f),{pointerEvents:"none",userSelect:"none"})}),X.createElement("p",{className:"mt20 font14"},w||"\u6682\u65F6\u8FD8\u6CA1\u6709\u76F8\u5173\u6570\u636E\u54E6!"),S&&X.createElement(H.ZP,g({className:R,onClick:A},v),S),u&&u);Ce.Z=L},23210:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return R}});var X=Z(59301),q={wrp:"wrp___dq7YK",bgBlack:"bgBlack___ARIUV",monaco:"monaco___VnZC3",darkBlue:"darkBlue___UprA9",close:"close___LKoWu",embed:"embed___hvpEJ"},H=Z(3113),b=Z(70557),z=Z(23954),P=Z(6848),T=Z(955),x=Z(94941),O=Z(8797),_=Z(3294),g=Z(19381),m=Z(59301),L=Object.defineProperty,d=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable,w=(u,f,y)=>f in u?L(u,f,{enumerable:!0,configurable:!0,writable:!0,value:y}):u[f]=y,S=(u,f)=>{for(var y in f||(f={}))v.call(f,y)&&w(u,y,f[y]);if(d)for(var y of d(f))M.call(f,y)&&w(u,y,f[y]);return u},A=(u,f,y)=>new Promise((D,I)=>{var U=Y=>{try{G(y.next(Y))}catch(te){I(te)}},F=Y=>{try{G(y.throw(Y))}catch(te){I(te)}},G=Y=>Y.done?D(Y.value):Promise.resolve(Y.value).then(U,F);G((y=y.apply(u,f)).next())}),R=({editOffice:u="view",data:f,theme:y,type:D,filename:I,monacoEditor:U,className:F,style:G,close:Y,onClose:te,hasMask:$,disabledDownload:oe,onImgDimensions:ie,showNodata:ne,recordInfo:le})=>{const[ae,de]=(0,X.useState)("https://view.officeapps.live.com/op/view.aspx?src=http://testgs.educoder.net//rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--03541f6234b93d7ac3b2d84e7eb0e6594a952945/1.ppt"),[se,fe]=(0,X.useState)(""),[ye,ge]=(0,X.useState)(),xe=window.ENV==="build"?"/react/build":"",Me=location.host.startsWith("localhost")?_.Z.PROXY_SERVER:_.Z.API_SERVER,We=10*(1024*1024),tt=(0,X.useRef)();f!=null&&f.startsWith("/api")&&D!=="txt"&&(f=_.Z.API_SERVER+f);const Je=Ke=>Ke.substring(Ke.lastIndexOf("/")+1).split(".").pop();I&&U&&(U.filename=I),(0,X.useEffect)(()=>{var Ke,nt;const Ze=(nt=(Ke=document.cookie)==null?void 0:Ke.replace(/\s/g,""))==null?void 0:nt.split(";");Ze==null||Ze.map(Ve=>{let Pe=Ve.split("=");Pe[0]==="_educoder_session"&&fe(Pe[1])})},[]),(0,X.useEffect)(()=>{D==="office"&&(f.indexOf("bigfilescdn.")>-1||f.indexOf("bigfiles1")>-1?ge({url:f,fileType:Je(f),model:f.indexOf("model=edit")?"edit":"view"}):st())},[D,f]);const st=()=>A(void 0,null,function*(){console.log("data:",f);let Ke=f;f.startsWith("http")||(Ke=location.origin+Ke);let nt=new URL(Ke).pathname.split("/").pop();const Ze=yield(0,x.gJ)({attachment_id:nt});Ze.url=Me+Ze.url,ge(Ze)}),yt=()=>{if(f.startsWith("http")||f.startsWith("blob:")){gt();return}(0,T.Sv)(I||"educoder",f,I)},gt=()=>{le&&(0,g.fc)({id:le==null?void 0:le.id,watch_type:1,course_id:le==null?void 0:le.course_id}),(0,T.Nd)(I||"educoder",decodeURIComponent(f))};return m.createElement("div",{style:S({},G||{}),className:`${$&&q.bgBlack} ${D?q.wrp:"hide"}`},Y&&m.createElement("div",{className:q.close,ref:tt},!!ie&&m.createElement(P.Z,{title:"\u70B9\u51FB\u5BF9\u56FE\u7247\u8FDB\u884C\u6279\u6CE8",getPopupContainer:()=>tt.current},m.createElement("span",{onClick:()=>{te(),ie()}},m.createElement("i",{className:"icon-yulanpizhu"}))),!oe&&m.createElement(P.Z,{title:"\u70B9\u51FB\u4E0B\u8F7D\u6B64\u6587\u4EF6",getPopupContainer:()=>tt.current},m.createElement("span",{onClick:gt},m.createElement("i",{className:"icon-quxiaozhiding"}))),m.createElement(P.Z,{title:"\u5173\u95ED",getPopupContainer:()=>tt.current},m.createElement("span",{className:"",onClick:te},m.createElement("i",{className:"icon-guanbi1"})))),m.createElement("div",{className:`${q[F]} ${F} ${q.monaco} ${D==="txt"?"show":"hide"}`},D==="txt"&&m.createElement(m.Fragment,null,m.createElement(z.ZP,S({},U)))),D==="audio"&&m.createElement("audio",{src:`${(f==null?void 0:f.indexOf("http://"))>-1||(f==null?void 0:f.indexOf("https://"))>-1?"":"data:audio/mp3;base64,"}${f}`,autoPlay:!0}),D==="video"&&m.createElement(m.Fragment,null,(f==null?void 0:f.indexOf("http"))>-1?m.createElement("video",{controls:!0,src:`${f}`,autoPlay:!0}):m.createElement("video",{controls:!0,src:`data:video/mp4;base64,${f}`,autoPlay:!0})),D==="office"&&ye&&m.createElement("iframe",{src:`${xe}/office.html?key=${ye.key}&url=${btoa(ye.url)}&callbackUrl=${Me+(ye.callbackUrl||"")}&fileType=${ye.fileType}&title=${ye.title||""}&model=${u}&officeServer=${_.Z.ONLYOFFICE}&disabledDownload=${!!oe}`}),D==="html"&&m.createElement("iframe",{src:f+"&disposition=inline"}),D==="pdf"&&m.createElement("iframe",{src:`${xe}/js/pdfview/index.html?filename=${I||"educoder.pdf"}&url=${encodeURIComponent(f)}&disabledDownload=${!!oe}`}),D==="image"&&m.createElement("img",{src:`${(f==null?void 0:f.indexOf("http://"))>-1||(f==null?void 0:f.indexOf("https://"))>-1?"":"data:image/png;base64,"}${f}`}),(D==="other"||D==="download")&&m.createElement(m.Fragment,null,ne?m.createElement(O.Z,{customText:"\u5F53\u524D\u6587\u4EF6\u4E0D\u652F\u6301\u9884\u89C8\uFF0C\u53EF\u70B9\u51FB\u4E0B\u8F7D\u67E5\u770B",ButtonTwo:m.createElement(H.ZP,{icon:m.createElement("i",{className:"iconfont icon-xiazai4 font14"}),type:"primary",size:"middle",onClick:yt,disabled:oe},"\u4E0B\u8F7D")}):m.createElement(H.ZP,{type:"primary",size:"middle",onClick:yt,disabled:oe},m.createElement(b.Z,null),"\u70B9\u51FB\u4E0B\u8F7D")))}},71839:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return v}});var X=Z(59301),q=Z(8591),H=Z(38854),b=Z(29382),z=Z(65157),P=Z(24065),T=Z(56102),x=Z(4901),O={watermark:"watermark___hNYlv",videovideo:"videovideo___ovOkV",animate__loop:"animate__loop___mvL6s",upDown:"upDown___SlgHv",container:"container___g1WYG","video-container":"video-container___XPkWR","video-controls":"video-controls___to0Zq",hide:"hide___NA3DV","video-progress":"video-progress___gqHsd",seek:"seek___iZHBm","seek-tooltip":"seek-tooltip___uWyXx","bottom-controls":"bottom-controls___uoIBm","left-controls":"left-controls___mBEx4","right-controls":"right-controls___e9L6r",rateOverlay:"rateOverlay___HHBWe",controlText:"controlText___M_BWR","volume-controls":"volume-controls___fa3mE","fullscreen-button":"fullscreen-button___ur0es","fullscreen-button1":"fullscreen-button1___rfaXm","pip-button":"pip-button___GFO8W","playback-animation":"playback-animation___ndURq",volume:"volume___OTmpP",hidden:"hidden___o7GkT"},_=(M,w,S)=>new Promise((A,R)=>{var u=D=>{try{y(S.next(D))}catch(I){R(I)}},f=D=>{try{y(S.throw(D))}catch(I){R(I)}},y=D=>D.done?A(D.value):Promise.resolve(D.value).then(u,f);y((S=S.apply(M,w)).next())});function g(M){if(isNaN(M))return{minutes:"00",seconds:"00"};const w=new Date(M*1e3).toISOString().substr(11,8);return{hour:w.substr(0,2),minutes:w.substr(3,2),seconds:w.substr(6,2)}}Object.defineProperty(HTMLMediaElement.prototype,"playing",{get:function(){return this.currentTime>0&&!this.paused&&!this.ended&&this.readyState>2}});function m(M,w){return M-w}function L(M){M.sort(m);let w=0;for(let S=0;S<M.length-1;S++){let A=Math.abs(M[S+1]-M[S]);A<21&&(w+=A)}return w}const d=/(android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)/i;var v=(0,X.forwardRef)(({allow_skip:M,src:w,toLog:S,videoId:A,logWatchHistory:R,courseId:u=null,startTime:f,handlePause:y=()=>{},handlePlay:D=()=>{},handlePlayEnded:I=()=>{},autoPlay:U=!1,onPlayEnded:F=()=>{},isShowWaterMark:G=!0},Y)=>{var te;w=w==null?void 0:w.replace("http://","https://");const oe=((te=w==null?void 0:w.split("."))==null?void 0:te.pop())==="flv",ie=(0,X.useRef)(),ne=(0,X.useRef)(),le=(0,X.useRef)(),ae=(0,X.useRef)(),de=(0,X.useRef)(),se=(0,X.useRef)(),fe=(0,X.useRef)(),ye=(0,X.useRef)(),ge=(0,X.useRef)(),xe=(0,X.useRef)(),Me=(0,X.useRef)(),Ne=(0,X.useRef)(),We=(0,X.useRef)(),tt=(0,X.useRef)(),Je=navigator.userAgent.toLowerCase().match(d),st=Je?Je[0]:"pc",yt=(0,X.useRef)(!1),gt=(0,P.eY)();let Ke=0,nt=0,Ze=0,Ve=null,Pe=!1,He=20,be=1,Ie=!1,Te=!1,Re=[];(0,X.useImperativeHandle)(Y,()=>({getLastUpdatedTime:()=>ie.current.currentTime,getDuration:()=>ie.current.duration})),q.ZP.config({maxCount:1,getContainer:()=>le.current});const Ge=(0,X.useCallback)((Tt,At=!1)=>{let Ye={point:ie.current.currentTime};Ve?(Ye.log_id=Ve,Ye.watch_duration=L(Re),Ye.total_duration=nt):(u?(Ye.video_id=parseInt(A,10),Ye.course_id=u):Ye.video_id=A,Ye.duration=Ke,Ye.device=st),At&&(Ye.ed="1");function ft(){return _(this,null,function*(){Ie=!0,Ve=yield R==null?void 0:R(Ye),Ie=!1,Tt&&Tt()})}ft()},[A,u]);(0,X.useEffect)(()=>{ie.current&&(ae.current.style.display="none",de.current.style.display="block"),q.ZP.destroy();let Tt=null;return b.Z.isSupported&&oe&&w&&(w==null?void 0:w.indexOf(".m3u8"))<0?(Tt=b.Z.createPlayer({type:"flv",volume:.8,cors:!0,url:w,muted:!1}),ie.current&&(Tt.attachMediaElement(ie.current),Tt.load())):ie.current.setAttribute("src",w),Ue(),()=>{Tt&&(Tt.unload(),Tt.pause(),Tt.destroy(),Tt=null)}},[ie,oe,w]);function Le(){ie.current.paused?(ae.current.style.display="none",de.current.style.display="block"):(ae.current.style.display="block",de.current.style.display="none")}function Ue(){Me.current.style.display="none",We.current.style.display="none",Ne.current.style.display="none",ie.current.muted||ie.current.volume===0?Me.current.style.display="block":ie.current.volume>0&&ie.current.volume<=.5?We.current.style.display="block":Ne.current.style.display="block"}(0,X.useEffect)(()=>{const Tt=document.getElementById("play"),At=document.querySelectorAll(".playback-icons use");function Ye(){D(),f&&!yt.current&&(ie.current.currentTime=f),yt.current=!0,Re.push(ie.current.currentTime),Pe||(Pe=!0,S&&Ge())}function ft(){return _(this,null,function*(){Le(),Re.push(ie.current.currentTime),S&&Ge(()=>{Ve=null,Ze=0,Pe=!1,Ie=!1,Te=!1,Re=[],nt=0,be=1},!0),F()})}function pt(){se.current.value=Math.round(ie.current.currentTime),fe.current.value=Math.round(ie.current.currentTime)}function _t(){const Kt=g(Math.round(ie.current.currentTime));ge.current.innerText=`${Kt.hour>0?Kt.hour+":":""}${Kt.minutes}:${Kt.seconds}`,ge.current.setAttribute("datetime",`${Kt.hour>0?" "+Kt.hour+" ":""}${Kt.minutes}m ${Kt.seconds}s`)}function Ot(){var Kt,rn,ln,Gt,An,Dn,hn;const In=Math.round((Kt=ie.current)==null?void 0:Kt.duration);(ln=(rn=se.current)==null?void 0:rn.setAttribute)==null||ln.call(rn,"max",In),(An=(Gt=fe.current)==null?void 0:Gt.setAttribute)==null||An.call(Gt,"max",In);const Un=g(In);ye.current&&(ye.current.innerText=`${Un.hour>0?Un.hour+":":""}${Un.minutes}:${Un.seconds}`,(hn=(Dn=ye.current).setAttribute)==null||hn.call(Dn,"datetime",`${Un.hour>0?" "+Un.hour+" ":""}${Un.minutes}m ${Un.seconds}s`))}function Wt(){try{const Kt=Math.round(ie.current.duration);se.current.setAttribute("max",Kt),fe.current.setAttribute("max",Kt);const rn=g(Kt);ye.current.innerText=`${rn.hour>0?rn.hour+":":""}${rn.minutes}:${rn.seconds}`,ye.current.setAttribute("datetime",`${rn.hour>0?" "+rn.hour+" ":""}${rn.minutes}m ${rn.seconds}s`),pt(),_t();const{width:ln,height:Gt,x:An,y:Dn}=ne.current.getBoundingClientRect();if(An<0||Dn<0||!ln)return;if(!Te){let hn=ie.current.currentTime,In=hn-Ze;Math.abs(In)<10?(nt+=Math.abs(In),Ze=hn,Ie||nt-be*He>=0&&(be++,Re.push(Ze),S&&Ge())):(Ze=hn,S&&Ge())}}catch(Kt){console.log(Kt)}}function jt(){Te=!0}function zt(){ie.current.playing&&Re.push(ie.current.currentTime,Ze),Ze=ie.current.currentTime,Te=!1}function $t(){Ke=ie.current.duration,Ke<=20&&(He=Ke/3),ie.current.addEventListener("play",Ye)}function pn(Kt){Kt.preventDefault(),(0,x.vp)()?(ie.current.style.width="100%",ie.current.style.height="100%"):ie.current.style.cssText=""}function on(){y()}function un(Kt){if(!M){q.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");return}const rn=Kt.target.dataset.seek?Kt.target.dataset.seek:Kt.target.value;ie.current.currentTime=rn,fe.current.value=rn,se.current.value=rn}function On(Kt){const rn=Math.round(Kt.offsetX/Kt.target.clientWidth*parseInt(Kt.target.getAttribute("max"),10));se.current.setAttribute("data-seek",rn);const ln=g(rn);xe.current.textContent=`${ln.hour>0?ln.hour+":":""}${ln.minutes}:${ln.seconds}`;const Gt=ie.current.getBoundingClientRect();xe.current.style.left=`${Kt.pageX-Gt.left}px`}function Mn(Kt){switch(Kt.code){case"Space":Kt.preventDefault(),dt();break;case"ArrowRight":if(Kt.preventDefault(),!M){q.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(ie.current.currentTime>=ie.current.duration)break;ie.current.currentTime=parseInt(ie.current.currentTime)+5,pt();break;case"ArrowLeft":if(Kt.preventDefault(),!M){q.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(ie.current.currentTime===0)break;ie.current.currentTime=parseInt(ie.current.currentTime)-5,pt();break;case"ArrowUp":Kt.preventDefault(),ie.current.volume<1&&(ie.current.volume=(parseInt(ie.current.volume*10)+1)/10);break;case"ArrowDown":Kt.preventDefault(),ie.current.volume>0&&(ie.current.volume=(parseInt(ie.current.volume*10)-1)/10);break}}return le.current.addEventListener((0,x.gH)(),pn),ie.current.addEventListener("canplay",$t),ie.current.addEventListener("ended",ft),ie.current.addEventListener("seeking",jt),ie.current.addEventListener("seeked",zt),ie.current.addEventListener("loadedmetadata",Ot),se.current.addEventListener("mousemove",On),se.current.addEventListener("input",un),ie.current.addEventListener("timeupdate",Wt),ie.current.addEventListener("pause",on),ie.current.addEventListener("volumechange",Ue),document.addEventListener("keydown",Mn),()=>{var Kt,rn,ln,Gt,An,Dn,hn,In,Un,Cn,Ft,me;(Kt=ie.current)==null||Kt.removeEventListener("canplay",$t),(rn=ie.current)==null||rn.removeEventListener("play",Ye),(ln=ie.current)==null||ln.removeEventListener("ended",ft),(Gt=ie.current)==null||Gt.removeEventListener("seeking",jt),(An=ie.current)==null||An.removeEventListener("seeked",zt),(Dn=se.current)==null||Dn.removeEventListener("mousemove",On),(hn=se.current)==null||hn.removeEventListener("input",un),(In=ie.current)==null||In.removeEventListener("timeupdate",Wt),(Un=ie.current)==null||Un.removeEventListener("pause",on),(Cn=ie.current)==null||Cn.removeEventListener("loadedmetadata",Ot),(Ft=ie.current)==null||Ft.removeEventListener("volumechange",Ue),document.removeEventListener("keydown",Mn),(me=ie.current)!=null&&me.playing&&(Re.push(Ze,ie.current.currentTime),S&&Ge())}},[ie,w]),(0,X.useEffect)(()=>{if(ie.current.onended=()=>{I(ie)},ie.current.oncontextmenu=()=>!1,(w==null?void 0:w.indexOf(".m3u8"))>-1){if(ie.current.canPlayType("application/vnd.apple.mpegurl"))ie.current.src=w;else if(z.ZP.isSupported()){var Tt=new z.ZP;Tt.loadSource(w),Tt.attachMedia(ie.current)}}},[w]);const[Qe,et]=(0,X.useState)(1),dt=()=>{ie.current.paused||ie.current.ended?ie.current.play():ie.current.pause(),Le()};function mt(){ie.current.muted=!ie.current.muted,ie.current.muted?(tt.current.setAttribute("data-volume",volume.value),tt.current.value=0):tt.current.value=tt.current.dataset.volume}return X.createElement("div",{style:{position:"relative"},ref:le},X.createElement("div",{ref:ne,className:`${O.watermark} animated_alternate animate__animated_10s animate__infinite animate__stepstart ${O.animate__loop}`},G&&gt?gt.login:" "),X.createElement("div",{className:O.container},X.createElement("div",{className:O["video-container"],id:"video-container"},X.createElement("div",{className:O["playback-animation"],id:"playback-animation"},X.createElement("svg",{className:O["playback-icons"]},X.createElement("use",{className:"hidden",href:"#play-icon"}),X.createElement("use",{href:"#pause"}))),X.createElement("video",{className:O.video,id:"video",preload:"auto",disablePictureInPicture:!0,ref:ie,autoPlay:U}),X.createElement("div",{className:`${O["video-controls"]} `,id:"video-controls"},X.createElement("div",{className:O["bottom-controls"]},X.createElement("div",{className:O["left-controls"]},X.createElement("button",{"data-title":"\u64AD\u653E/\u6682\u505C",id:"play",onClick:dt},X.createElement("svg",{className:O["playback-icons"]},X.createElement("use",{ref:de,href:"#play-icon"}),X.createElement("use",{ref:ae,style:{display:"none"},href:"#pause"}))),X.createElement("div",{className:O.time},X.createElement("time",{id:"time-elapsed",ref:ge},"00:00"),X.createElement("span",null," / "),X.createElement("time",{id:"duration",ref:ye},"00:00"))),X.createElement("div",{className:O["right-controls"]},M&&X.createElement(H.Z,{placement:"top",overlayClassName:O.rateOverlay,getPopupContainer:Tt=>Tt.parentNode,menu:{items:[{key:"1",label:X.createElement("span",{onClick:()=>{et(1),ie.current.playbackRate=1}},"1.0x")},{key:"2",label:X.createElement("span",{onClick:()=>{et(1.5),ie.current.playbackRate=1.5}},"1.5x")},{key:"3",label:X.createElement("span",{onClick:()=>{et(2),ie.current.playbackRate=2}},"2.0x")}]}},X.createElement("div",{className:`${O.controlText} mr5`},"\u500D\u901F")),X.createElement(T.CopyToClipboard,{text:w,onCopy:()=>q.ZP.success("\u590D\u5236\u6210\u529F")},X.createElement("button",{"data-title":"\u590D\u5236\u94FE\u63A5"},X.createElement("i",{className:"icon-lianjie2 iconfont",style:{fontSize:"12px",color:"white"}}))),X.createElement("div",{className:O["volume-controls"]},X.createElement("button",{"data-title":"\u5F00\u542F/\u5173\u95ED\u58F0\u97F3",className:O["volume-button"],id:"volume-button",onClick:mt},X.createElement("i",{ref:Me,className:"icon-a-bianzu8 iconfont",style:{fontSize:"14px",color:"white"}}),X.createElement("i",{ref:We,className:"icon-shengyinkaibeifen iconfont",style:{fontSize:"14px",color:"white"}}),X.createElement("i",{ref:Ne,className:"icon-shengyinkai iconfont",style:{fontSize:"14px",color:"white"}})),X.createElement("input",{className:O.volume,id:"volume",value:"1","data-mute":"0.5",type:"range",max:"1",min:"0",step:"0.01",ref:tt,style:{display:"none"},onClick:Ue})),X.createElement("button",{"data-title":"\u5168\u5C4F/\u9000\u51FA\u5168\u5C4F",className:O["fullscreen-button"],onClick:()=>{(0,x.vp)()?(0,x.BU)():(0,x.Dj)(le.current)}},X.createElement("i",{className:"icon-fangda1 iconfont",style:{fontSize:"12px",color:"white"}})))),X.createElement("div",{className:O["video-progress"]},X.createElement("progress",{ref:fe,value:"0",min:"0"}),X.createElement("input",{className:O.seek,ref:se,value:"0",min:"0",type:"range",step:"1"}),X.createElement("div",{className:O["seek-tooltip"],ref:xe,id:"seek-tooltip"},"00:00"))))),X.createElement("svg",{style:{display:"none"}},X.createElement("defs",null,X.createElement("symbol",{id:"pause",viewBox:"0 0 24 24"},X.createElement("path",{d:"M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"})),X.createElement("symbol",{id:"play-icon",viewBox:"0 0 24 24"},X.createElement("path",{d:"M8.016 5.016l10.969 6.984-10.969 6.984v-13.969z"})),X.createElement("symbol",{id:"volume-high",viewBox:"0 0 24 24"},X.createElement("path",{d:"M14.016 3.234q3.047 0.656 5.016 3.117t1.969 5.648-1.969 5.648-5.016 3.117v-2.063q2.203-0.656 3.586-2.484t1.383-4.219-1.383-4.219-3.586-2.484v-2.063zM16.5 12q0 2.813-2.484 4.031v-8.063q1.031 0.516 1.758 1.688t0.727 2.344zM3 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6z"})),X.createElement("symbol",{id:"volume-low",viewBox:"0 0 24 24"},X.createElement("path",{d:"M5.016 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6zM18.516 12q0 2.766-2.531 4.031v-8.063q1.031 0.516 1.781 1.711t0.75 2.32z"})),X.createElement("symbol",{id:"volume-mute",viewBox:"0 0 24 24"},X.createElement("path",{d:"M12 3.984v4.219l-2.109-2.109zM4.266 3l16.734 16.734-1.266 1.266-2.063-2.063q-1.547 1.313-3.656 1.828v-2.063q1.172-0.328 2.25-1.172l-4.266-4.266v6.75l-5.016-5.016h-3.984v-6h4.734l-4.734-4.734zM18.984 12q0-2.391-1.383-4.219t-3.586-2.484v-2.063q3.047 0.656 5.016 3.117t1.969 5.648q0 2.203-1.031 4.172l-1.5-1.547q0.516-1.266 0.516-2.625zM16.5 12q0 0.422-0.047 0.609l-2.438-2.438v-2.203q1.031 0.516 1.758 1.688t0.727 2.344z"})),X.createElement("symbol",{id:"fullscreen",viewBox:"0 0 24 24"},X.createElement("path",{d:"M14.016 5.016h4.969v4.969h-1.969v-3h-3v-1.969zM17.016 17.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 9.984v-4.969h4.969v1.969h-3v3h-1.969zM6.984 14.016v3h3v1.969h-4.969v-4.969h1.969z"})),X.createElement("symbol",{id:"fullscreen-exit",viewBox:"0 0 24 24"},X.createElement("path",{d:"M15.984 8.016h3v1.969h-4.969v-4.969h1.969v3zM14.016 18.984v-4.969h4.969v1.969h-3v3h-1.969zM8.016 8.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 15.984v-1.969h4.969v4.969h-1.969v-3h-3z"})),X.createElement("symbol",{id:"pip",viewBox:"0 0 24 24"},X.createElement("path",{d:"M21 19.031v-14.063h-18v14.063h18zM23.016 18.984q0 0.797-0.609 1.406t-1.406 0.609h-18q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h18q0.797 0 1.406 0.586t0.609 1.383v14.016zM18.984 11.016v6h-7.969v-6h7.969z"})))))})},23954:function(Ae,Ce,Z){"use strict";Z.d(Ce,{SV:function(){return be},ZP:function(){return He}});var X=Z(59301),q=Z(76374);const H={keywords:["print","auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof","static","struct","switch","typedef","union","unsigned","void","volatile","while"]},b={quickKey:[{label:"main",content:["public static void main(String[] args) {"," $0","}"].join(`
`)},{label:"System.out.println",content:["System.out.println($0)"].join(`
`)},{label:"System.out.print",content:["System.out.print($0)"].join(`
`)}],keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"]},z={keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","friend","gcnew","generic","goto","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],quickKey:[{label:"ifelse",content:["if (${1:condition}) {"," $0","} else {"," ","}"].join(`
`)},{label:"include",content:"include<$0>"},{label:"printf",content:"printf($0)"},{label:"system",content:'system("$0")'},{label:"main",content:["int main () {"," $0","}"].join(`
`)},{label:"if",content:["if () {"," $0","}"].join(`
`)},{label:"for",content:["for(int j=0 ; j<10; j++){"," $0","}"].join(`
`)},{label:"trycatch",content:["try{"," $0","}catch(ExceptionName e){","}"].join(`
`)},{label:"using namespace std;",content:["using namespace std;"].join(`
`)},{label:"include <iostream>",content:["#include <iostream>"].join(`
`)},{label:"include <vector>",content:["#include <vector>"].join(`
`)},{label:"include <cstdio>",content:["#include <cstdio>"].join(`
`)},{label:"include <cstring>",content:["#include <cstring>"].join(`
`)},{label:"include <sstream>",content:["#include <sstream>"].join(`
`)},{label:"include <fstream>",content:["#include <fstream>"].join(`
`)},{label:"include <map>",content:["#include <map>"].join(`
`)},{label:"include <string>",content:["#include <string>"].join(`
`)},{label:"include <cmath>",content:["#include <cmath>"].join(`
`)}]},P={keywords:["and","as","assert","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","None","not","or","pass","raise","return","self","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","True","False","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],quickKey:[{label:"print",content:["print($0)"].join(`
`)}]},T={keywords:["asInstanceOf","catch","class","classOf","def","do","else","extends","finally","for","foreach","forSome","if","import","isInstanceOf","macro","match","new","object","package","return","throw","trait","try","type","until","val","var","while","with","yield","given","enum","then"],quickKey:[{label:"println",content:["println($0)"].join(`
`)}]};var x=Z(53184),O=Z.n(x),_=Object.defineProperty,g=Object.defineProperties,m=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,M=(Ie,Te,Re)=>Te in Ie?_(Ie,Te,{enumerable:!0,configurable:!0,writable:!0,value:Re}):Ie[Te]=Re,w=(Ie,Te)=>{for(var Re in Te||(Te={}))d.call(Te,Re)&&M(Ie,Re,Te[Re]);if(L)for(var Re of L(Te))v.call(Te,Re)&&M(Ie,Re,Te[Re]);return Ie},S=(Ie,Te)=>g(Ie,m(Te)),A=(Ie,Te,Re)=>new Promise((Ge,Le)=>{var Ue=dt=>{try{et(Re.next(dt))}catch(mt){Le(mt)}},Qe=dt=>{try{et(Re.throw(dt))}catch(mt){Le(mt)}},et=dt=>dt.done?Ge(dt.value):Promise.resolve(dt.value).then(Ue,Qe);et((Re=Re.apply(Ie,Te)).next())});const R={languages:["c","abap","apex","azcli","bat","cameligo","clojure","coffee","cpp","csharp","csp","css","dockerfile","fsharp","go","graphql","handlebars","html","ini","java","javascript","json","kotlin","less","lua","markdown","mips","msdax","mysql","objective-c","pascal","pascaligo","perl","pgsql","php","postiats","powerquery","powershell","pug","python","r","razor","redis","redshift","restructuredtext","ruby","rust","sb","scheme","scss","shell","solidity","sophia","sql","st","swift","tcl","twig","vb","xml","yaml'"],tables:{users:["name","id","email","phone","password"],roles:["id","name","order","created_at","updated_at","deleted_at"]}},u=(Ie,Te)=>Te.map(Re=>({label:Re,kind:Ie.languages.CompletionItemKind.Keyword,insertText:Re})),f=Ie=>Object.keys(R.tables).map(Te=>({label:Te,kind:Ie.languages.CompletionItemKind.Variable,insertText:Te})),y=(Ie,Te)=>{const Re=R.tables[Ie];return Re?Re.map(Ge=>({label:Ge,kind:Te.languages.CompletionItemKind.Field,insertText:Ge})):[]};function D(Ie,Te,Re,Ge,Le){let Ue=Te.getWordUntilPosition(Re),Qe={startLineNumber:Re.lineNumber,endLineNumber:Re.lineNumber,startColumn:Ue.startColumn,endColumn:Ue.endColumn},et=Ge.map(dt=>({label:dt,kind:Ie.languages.CompletionItemKind.Keyword,insertText:dt,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Qe}));return Le.map(dt=>{et.push(S(w({},dt),{range:Qe}))}),et}var I=Ie=>{R.languages.map(Le=>(Ie.languages.registerDocumentFormattingEditProvider(Le,{provideDocumentFormattingEdits(Ue,Qe,et){return A(this,null,function*(){const dt=O()(Ue.getValue(),{indent_size:"2",indent_char:" ",max_preserve_newlines:"2",preserve_newlines:!0,keep_array_indentation:!0,break_chained_methods:!1,indent_scripts:"normal",brace_style:"collapse",space_before_conditional:!0,unescape_strings:!1,jslint_happy:!1,end_with_newline:!0,wrap_line_length:"0",indent_inner_html:!1,comma_first:!1,e4x:!1,indent_empty_lines:!1});return[{range:Ue.getFullModelRange(),text:dt}]})}}),Le));const Te=z.quickKey.map(Le=>({label:Le.label,kind:Ie.languages.CompletionItemKind.Method,insertText:Le.content,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet})),Re=P.quickKey.map(Le=>({label:Le.label,kind:Ie.languages.CompletionItemKind.Method,insertText:Le.content,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet})),Ge=b.quickKey.map(Le=>({label:Le.label,kind:Ie.languages.CompletionItemKind.Method,insertText:Le.content,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet}));Ie.languages.registerCompletionItemProvider("cpp",{provideCompletionItems:function(Le,Ue){var Qe=Le.getWordUntilPosition(Ue),et={startLineNumber:Ue.lineNumber,endLineNumber:Ue.lineNumber,startColumn:Qe.startColumn,endColumn:Qe.endColumn},dt=Le.getLineContent(Ue.lineNumber).substring(Qe.startColumn-2,Qe.endColumn);return{suggestions:[...z.keywords.map(mt=>({label:mt,kind:Ie.languages.CompletionItemKind.Function,documentation:mt,insertText:mt,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:et})),...z.quickKey.map(mt=>({label:mt.label,kind:Ie.languages.CompletionItemKind.Function,documentation:mt.content,insertText:dt.startsWith("#")?mt.content.replace(/#/,""):mt.content,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:et}))]}}}),Ie.languages.registerCompletionItemProvider("c",{provideCompletionItems:function(Le,Ue){var Qe=Le.getWordUntilPosition(Ue),et={startLineNumber:Ue.lineNumber,endLineNumber:Ue.lineNumber,startColumn:Qe.startColumn,endColumn:Qe.endColumn};return{suggestions:[...H.keywords.map(dt=>({label:dt,kind:Ie.languages.CompletionItemKind.Function,documentation:dt,insertText:dt,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:et}))]}}}),Ie.languages.registerCompletionItemProvider("java",{provideCompletionItems:function(Le,Ue){var Qe=Le.getWordUntilPosition(Ue),et={startLineNumber:Ue.lineNumber,endLineNumber:Ue.lineNumber,startColumn:Qe.startColumn,endColumn:Qe.endColumn},dt=Le.getLineContent(Ue.lineNumber).substring(Qe.startColumn-2,Qe.endColumn);return{suggestions:[...b.keywords.map(mt=>({label:mt,kind:Ie.languages.CompletionItemKind.Function,documentation:mt,insertText:mt,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:et})),...b.quickKey.map(mt=>({label:mt.label,kind:Ie.languages.CompletionItemKind.Function,documentation:mt.content,insertText:dt.startsWith("#")?mt.content.replace(/#/,""):mt.content,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:et}))]}}}),Ie.languages.registerCompletionItemProvider("scala",{provideCompletionItems:function(Le,Ue){var Qe=Le.getWordUntilPosition(Ue),et={startLineNumber:Ue.lineNumber,endLineNumber:Ue.lineNumber,startColumn:Qe.startColumn,endColumn:Qe.endColumn},dt=Le.getLineContent(Ue.lineNumber).substring(Qe.startColumn-2,Qe.endColumn);return{suggestions:[...T.keywords.map(mt=>({label:mt,kind:Ie.languages.CompletionItemKind.Function,documentation:mt,insertText:mt,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:et})),...T.quickKey.map(mt=>({label:mt.label,kind:Ie.languages.CompletionItemKind.Function,documentation:mt.content,insertText:dt.startsWith("#")?mt.content.replace(/#/,""):mt.content,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:et}))]}}}),Ie.languages.registerCompletionItemProvider("python",{provideCompletionItems:function(Le,Ue){var Qe=Le.getWordUntilPosition(Ue),et={startLineNumber:Ue.lineNumber,endLineNumber:Ue.lineNumber,startColumn:Qe.startColumn,endColumn:Qe.endColumn},dt=Le.getLineContent(Ue.lineNumber).substring(Qe.startColumn-2,Qe.endColumn);return{suggestions:[...P.keywords.map(mt=>({label:mt,kind:Ie.languages.CompletionItemKind.Function,documentation:mt,insertText:mt,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:et})),...P.quickKey.map(mt=>({label:mt.label,kind:Ie.languages.CompletionItemKind.Function,documentation:mt.content,insertText:dt.startsWith("#")?mt.content.replace(/#/,""):mt.content,insertTextRules:Ie.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:et}))]}}})};const U="\u8BE5\u4EFB\u52A1\u5173\u5361\u8BBE\u7F6E\u4E86\u7981\u6B62\u590D\u5236\u7C98\u8D34\uFF0C\u8BF7\u624B\u52A8\u8F93\u5165\u4EE3\u7801\u3002";var F=Object.defineProperty,G=(Ie,Te,Re)=>Te in Ie?F(Ie,Te,{enumerable:!0,configurable:!0,writable:!0,value:Re}):Ie[Te]=Re,Y=(Ie,Te,Re)=>G(Ie,typeof Te!="symbol"?Te+"":Te,Re);const te=class S2{constructor(Te,Re,Ge){this.placeholder=Te,this.editor=Re,this.monaco=Ge,Re.onDidChangeModelContent(()=>this.onDidChangeModelContent()),this.onDidChangeModelContent()}onDidChangeModelContent(){this.editor.getValue()===""?this.editor.addContentWidget(this):this.editor.removeContentWidget(this)}getId(){return S2.ID}getDomNode(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="max-content",this.domNode.textContent=this.placeholder,this.domNode.style.fontStyle="initial",this.domNode.style.color="#D7D7D7",this.domNode.style.pointerEvents="none",this.editor.applyFontInfo(this.domNode)),this.domNode}getPosition(){return{position:{lineNumber:1,column:1},preference:[this.monaco.editor.ContentWidgetPositionPreference.EXACT]}}dispose(){this.editor.removeContentWidget(this)}};Y(te,"ID","editor.widget.placeholderHint");var oe=te,ie=Z(96236),ne=Z(8591),le=Z(6848),ae=Z(89392),de=Z(34604),se=Z(56102),fe=Object.defineProperty,ye=Object.defineProperties,ge=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,We=(Ie,Te,Re)=>Te in Ie?fe(Ie,Te,{enumerable:!0,configurable:!0,writable:!0,value:Re}):Ie[Te]=Re,tt=(Ie,Te)=>{for(var Re in Te||(Te={}))Me.call(Te,Re)&&We(Ie,Re,Te[Re]);if(xe)for(var Re of xe(Te))Ne.call(Te,Re)&&We(Ie,Re,Te[Re]);return Ie},Je=(Ie,Te)=>ye(Ie,ge(Te)),st=(Ie,Te)=>{var Re={};for(var Ge in Ie)Me.call(Ie,Ge)&&Te.indexOf(Ge)<0&&(Re[Ge]=Ie[Ge]);if(Ie!=null&&xe)for(var Ge of xe(Ie))Te.indexOf(Ge)<0&&Ne.call(Ie,Ge)&&(Re[Ge]=Ie[Ge]);return Re},yt=(Ie,Te,Re)=>new Promise((Ge,Le)=>{var Ue=dt=>{try{et(Re.next(dt))}catch(mt){Le(mt)}},Qe=dt=>{try{et(Re.throw(dt))}catch(mt){Le(mt)}},et=dt=>dt.done?Ge(dt.value):Promise.resolve(dt.value).then(Ue,Qe);et((Re=Re.apply(Ie,Te)).next())});function gt(Ie){return/^\d+$/.test(Ie)?`${Ie}px`:Ie}function Ke(){}let nt=!1;const Ze={"Python3.6":"python","Python2.7":"python",Dynamips:"cpp",Java:"java",Web:"php",Html:"html",Hive:"sql",Hadoop:"java",SDL:"cpp",PHP:"php",Matlab:"python",Git:"python",Python:"python","C/C++":"cpp","C++":"cpp",C:"cpp",Ruby:"ruby",Shell:"shell",JavaScript:"javascript",Perl6:"perl",Kotlin:"kotlin",Elixir:"elixir",Android:"java",JavaWeb:"java",Go:"go",Spark:"sql",MachineLearning:"python",Verilog:"xml","Verilog/VNC":"xml",Docker:"dockerfile","C#":"csharp",SQLite3:"sql",Oracle:"sql",Vhdl:"vhdl",R:"r",Swift:"swift",SQLServer:"mysql",MySQL:"mysql",Mongo:"sql",PostgreSql:"pgsql",Hbase:"powershell",Sqoop:"sql",Nasm:"cpp",Kafka:"java",Flink:"java",Sml:"javascript",OpenGL:"cpp",Perl5:"perl",Orange:"python",Scala:"scale",solidity:"sol"};function Ve(Ie=[]){let Te=Ie;if(Array.isArray(Ie)){for(let Re=0;Re<Ie.length;Re++){let Ge=Ze[Ie[Re]];if(Ge)return Ge}return Te[0]}return Ze[Te]||Te}let Pe=null;var He=Ie=>{var Te=Ie,{width:Re="100%",height:Ge="100%",value:Le,language:Ue="javascript",style:Qe={},options:et={},overrideServices:dt={},theme:mt="vs-dark",onEditBlur:Tt,isCopy:At=!1,onSave:Ye,autoHeight:ft=!1,forbidCopy:pt=!1,onChange:_t=Ke,editorDidMount:Ot=Ke,onFocus:Wt=Ke,onBreakPoint:jt=Ke,breakPointValue:zt=[],filename:$t="educoder.txt",errorLine:pn,errorContent:on="",highlightLine:un,openBreakPoint:On=!1,placeholder:Mn="",showMiniMap:Kt=!0}=Te,rn=st(Te,["width","height","value","language","style","options","overrideServices","theme","onEditBlur","isCopy","onSave","autoHeight","forbidCopy","onChange","editorDidMount","onFocus","onBreakPoint","breakPointValue","filename","errorLine","errorContent","highlightLine","openBreakPoint","placeholder","showMiniMap"]);const ln=(0,X.useRef)(),Gt=(0,X.useRef)({}),An=(0,X.useRef)(),Dn=(0,X.useRef)(),hn=(0,X.useRef)([]),In=(0,X.useRef)(!1),Un=(0,X.useRef)(),Cn=(0,X.useRef)(),Ft=(0,X.useRef)(!1),[me,E]=(0,X.useState)(!1);function B(){let ke;return ln.current&&(ke=new q.Z(at=>{for(let vt of at)(vt.target.offsetHeight>0||vt.target.offsetWidth>0)&&Gt.current.instance.layout()}),ke.observe(ln.current)),ke}function N(){ne.ZP.warning({content:decodeURIComponent(U),key:"monaco-editor-tip"})}const V=()=>{let ke=Gt.current.instance;if(Le!=null&&ke&&me){const at=ke.getModel();at&&Le!==at.getValue()&&(nt=!0,at.setValue(Le),ke.layout(),nt=!1)}};(0,X.useEffect)(()=>{const ke=de.Z.subscribe("formatDocument",at=>{var vt;let Pt=Gt.current.instance;(vt=Pt==null?void 0:Pt.getAction)==null||vt.call(Pt,"editor.action.formatDocument").run()});return window.updateMonacoValue=at=>{_t(at)},ke},[]),(0,X.useEffect)(()=>{var ke;let at=Gt.current.instance;Dn.current&&clearTimeout(Dn.current),Dn.current=setTimeout(()=>{V()},500),Le&&(Le!=null&&Le.length)&&((ke=at==null?void 0:at.updateOptions)==null||ke.call(at,{lineNumbersMinChars:Math.max(Math.floor(Math.log10(Le.split(/\r\n|\r|\n/g).length))+3,5)}))},[Le,me,Gt.current]),(0,X.useEffect)(()=>{if(pn&&Gt.current&&Gt.current.instance){let at=Gt.current.instance;at.changeViewZones(function(vt){var Pt=document.createElement("div");Pt.style.padding="10px 20px",Pt.style.width="calc(100% - 20px)",Pt.className="my-error-line-wrp",Pt.innerHTML=on,vt.addZone({afterLineNumber:pn||11,heightInLines:3,domNode:Pt})});var ke={domNode:null,getId:function(){return"my.overlay.widget"},getDomNode:function(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.innerHTML="",this.domNode.style.width="100%",this.domNode.style.padding="20px 100px",this.domNode.style.right="0px",this.domNode.style.top="50px",this.domNode.style.position="relative",this.domNode.style.color="#333"),this.domNode},getPosition:function(){return null}};at.addOverlayWidget(ke),at.revealPositionInCenter({lineNumber:20,column:1})}},[pn,Gt.current,me]);const J=(ke="",at)=>{if(!ke||ke.trim()==="")return!0;const Pt=Gt.current.instance.getModel().getLineTokens(at);let kt=!1;for(let Zt=0;Zt<2;Zt++)Pt.getStandardTokenType(Zt)===1&&(kt=!0);return kt};(0,X.useEffect)(()=>{var ke;const at=(ke=Gt.current)==null?void 0:ke.instance;if(at&&me&&pt){const vt=at.onDidBlurEditorWidget(()=>{Ft.current=!1}),Pt=at.onDidFocusEditorText(()=>{Ft.current=!0});return()=>{vt.dispose(),Pt.dispose()}}},[Gt.current,me,pt]),(0,X.useEffect)(()=>{var ke;if((ke=Gt.current)!=null&&ke.instance&&me&&On){let at=Gt.current.instance,vt=at.getModel();if(!vt)return;(()=>{var Yt;let Qt=[],Jt=[];const _n=vt.getAllDecorations();for(let cn of _n)cn.options.className==="highlighted-line"&&(Qt.push((Yt=cn==null?void 0:cn.range)==null?void 0:Yt.startLineNumber),Jt.push(cn==null?void 0:cn.id));if(un===Qt[0])return;vt.deltaDecorations(Jt,[]);const yn=vt.getLineCount();un&&un<=yn&&(at.deltaDecorations([],[{range:new Pe.Range(un,1,un,vt.getLineMaxColumn(un)),options:{isWholeLine:!0,className:"highlighted-line"}}]),at.revealLineInCenter(un))})();const kt=(Yt=!1)=>{var Qt;let Jt=[],_n=[];const yn=vt.getAllDecorations();for(let cn of yn)cn.options.linesDecorationsClassName==="breakpoints-select"&&(Jt.push((Qt=cn==null?void 0:cn.range)==null?void 0:Qt.startLineNumber),_n.push(cn==null?void 0:cn.id));if(Yt)return{lines:Jt,ids:_n};jt(Jt)},Zt=Yt=>yt(void 0,null,function*(){let Qt={range:new Pe.Range(Yt,1,Yt,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}};yield vt.deltaDecorations([],[Qt]),kt()}),Ct=Yt=>yt(void 0,null,function*(){let Qt=[];const Jt=at.getLineDecorations(Yt);for(let _n of Jt)_n.options.linesDecorationsClassName==="breakpoints-select"&&Qt.push(_n.id);yield vt.deltaDecorations(Qt,[]),kt()}),Bt=Yt=>{let Qt=at.getLineDecorations(Yt);for(let Jt of Qt)if(Jt.options.linesDecorationsClassName==="breakpoints-select")return!0;return!1};if(!(0,ae.isEqual)(zt,kt(!0).lines)){vt.deltaDecorations(kt(!0).ids,[]);const Yt=zt.map(Qt=>({range:new Pe.Range(Qt,1,Qt,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}}));vt.deltaDecorations([],Yt)}const Vt=at.onDidChangeModelContent(Yt=>{let Qt=at.getPosition();if(Qt){let Jt=Qt.lineNumber;clearTimeout(Cn.current),Cn.current=setTimeout(()=>{J(vt.getLineContent(Jt),Jt)?Ct(Jt):Bt(Jt)?(Ct(Jt),Zt(Jt)):kt()},100)}}),lt=at.onMouseDown(Yt=>{var Qt,Jt,_n;if(Yt.target.detail&&((_n=(Jt=(Qt=Yt.target)==null?void 0:Qt.element)==null?void 0:Jt.className)!=null&&_n.includes("line-numbers"))){let yn=Yt.target.position.lineNumber;if(J(vt.getLineContent(yn),yn))return;Bt(yn)?Ct(yn):Zt(yn)}}),wt=Yt=>{let Qt={range:new Pe.Range(Yt,1,Yt,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-fake"}};hn.current=at.deltaDecorations(hn.current,[Qt])},Lt=()=>{hn.current=at.deltaDecorations(hn.current,[])},It=at.onMouseMove(Yt=>{var Qt,Jt,_n;if(Lt(),Yt.target.detail&&((_n=(Jt=(Qt=Yt.target)==null?void 0:Qt.element)==null?void 0:Jt.className)!=null&&_n.includes("line-numbers"))){let yn=Yt.target.position.lineNumber;if(J(vt.getLineContent(yn),yn))return;wt(yn)}}),fn=at.onMouseLeave(()=>{Lt()});return()=>{Vt.dispose(),lt.dispose(),It.dispose(),fn.dispose()}}},[Gt.current,me,zt,un,On,Ue]),(0,X.useEffect)(()=>{var ke;(ke=Gt.current)!=null&&ke.instance&&On&&Gt.current.instance.setPosition({lineNumber:0,column:0})},[un]);function ue(){let ke=Gt.current.instance;if(ke){const at=ke.getSelection(),vt=Gt.current.pastePos||{},Pt=new Pe.Range(vt.startLineNumber||at.endLineNumber,vt.startColumn||at.endColumn,vt.endLineNumber||at.endLineNumber,vt.endColumn||at.endColumn);setTimeout(()=>{ke.executeEdits("",[{range:Pt,text:""}])},300)}}function ce(ke){(window.navigator.platform.match("Mac")?ke.metaKey:ke.ctrlKey)&&ke.keyCode==83&&(ke.preventDefault(),Ye())}const Oe=()=>{if(ft&&Gt.current.instance){const ke=Gt.current.instance.getContentHeight();it(ke<Ge?Ge:ke)}else it(Ge)};function Se(ke){var at=document.createEvent("MouseEvents");at.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),ke.dispatchEvent(at)}const ze=ke=>{if(!Ft.current)return;const{keyCode:at,ctrlKey:vt,metaKey:Pt,target:kt,type:Zt}=ke;return(Zt==="paste"||(at===67||at===86)&&(Pt||vt))&&kt.nodeName==="TEXTAREA"&&(N(),ke.preventDefault()),!1};function je(ke,at){var vt=window.URL||window.webkitURL||window,Pt=new Blob([at]),kt=document.createElementNS("http://www.w3.org/1999/xhtml","a");kt.href=vt.createObjectURL(Pt),kt.download=ke,Se(kt)}(0,X.useEffect)(()=>{Oe()},[Oe]),(0,X.useEffect)(()=>{ln.current&&!me&&Promise.all([Z.e(8909),Z.e(3267)]).then(Z.bind(Z,71448)).then(ke=>{try{Pe=ke,Gt.current.instance=Pe.editor.create(ln.current,{value:Le,language:Ve(Ue),theme:mt,requireConfig:{"vs/nls":{availableLanguages:{"*":"zh-cn"}}},wordWrap:!0,autoIndent:!0,contextmenu:!0,formatOnType:!0,minimap:{enabled:Kt||!1}},dt);const at=Gt.current.instance;let kt=[...ie.BH._menuItems].find(Vt=>Vt[0]._debugName=="EditorContext")[1],Zt=["editor.action.clipboardCopyWithSyntaxHighlightingAction","editor.action.quickCommand","editor.action.clipboardCopyAction","editor.action.clipboardPasteAction","editor.action.clipboardCutAction"],Ct=(Vt,lt)=>{var wt,Lt;let It=Vt._first;do lt.includes((Lt=(wt=It.element)==null?void 0:wt.command)==null?void 0:Lt.id)&&Vt._remove(It);while(It=It.next)};if(Ot(at,Pe),setTimeout(()=>{Oe(),Gt.current.instance.addAction({id:"d123123",label:"Download File",contextMenuGroupId:"9_cutcopypaste",run:()=>{je($t||"educoder.txt",at.getValue())}})},500),Gt.current.subscription=at.onDidChangeModelContent(Vt=>{In.current?clearTimeout(Un.current):(Oe(),_t(at.getValue(),Vt)),Un.current=setTimeout(()=>{In.current=!1},500)}),window.Monaco||I(Pe,Ve(Ue)),pt&&(Ct(kt,Zt),ln.current.classList.add("noCopyPaste"),window.removeEventListener("keydown",ze),window.removeEventListener("paste",ze),window.addEventListener("keydown",ze),window.addEventListener("paste",ze)),window.Monaco=Pe,Tt&&at.onDidBlurEditorWidget(()=>{Tt(at.getValue())}),Wt&&at.onDidFocusEditorText(()=>{Wt(at.getValue())}),pt)try{at.onDidPaste(Vt=>{const lt=at.getSelection(),wt=Gt.current.pastePos||{},Lt=new Pe.Range(wt.startLineNumber||lt.endLineNumber,wt.startColumn||lt.endColumn,wt.endLineNumber||lt.endLineNumber,wt.endColumn||lt.endColumn);at.executeEdits("",[{range:Vt.range,text:""}])})}catch(Vt){}let Bt=B();return Mn&&typeof Mn=="string"&&new oe(Mn,at,Pe),E(!0),()=>{const Vt=Gt.current.instance;Vt.dispose();const lt=Vt.getModel();lt&&lt.dispose(),Gt.current.subscription&&Gt.current.subscription.dispose(),Bt.unobserve(ln.current)}}catch(at){}})},[]),(0,X.useEffect)(()=>{if(Gt.current.instance&&me)return document.addEventListener("keydown",ce,!1),()=>{document.removeEventListener("keydown",ce)}},[Ye,me]),(0,X.useEffect)(()=>{let ke=Gt.current.instance;if(ke&&me){let at=Ve(Ue);Pe.editor.setModelLanguage(ke.getModel(),at)}},[Ue,me]),(0,X.useEffect)(()=>{Gt.current.instance&&me&&Pe.editor.setTheme(mt)},[mt,me]),(0,X.useEffect)(()=>{let ke=Gt.current.instance;An.current=et,ke&&me&&(ke.updateOptions(tt({},et)),setTimeout(()=>{ke.getModel().updateOptions(tt({},et))},200))},[JSON.stringify(et),me]),(0,X.useEffect)(()=>{let ke=Gt.current.instance;ke&&me&&ke.layout()},[Re,Ge,me]);const[rt,ot]=(0,X.useState)(gt(Re)),[$e,it]=(0,X.useState)(gt(Ge)),ut=Je(tt({},Qe),{width:rt,height:$e,position:"relative"});return X.createElement("div",{className:"my-monaco-editor",ref:ln,style:ut},At&&X.createElement(se.CopyToClipboard,{text:Le,onCopy:()=>ne.ZP.success("\u590D\u5236\u6210\u529F")},X.createElement(le.Z,{title:"\u590D\u5236\u4EE3\u7801"},X.createElement("div",{style:{position:"absolute",top:0,right:10,cursor:"pointer",zIndex:10,color:"#165DFF"}},X.createElement("i",{className:"iconfont icon-fuzhi8",style:{fontSize:14}})," \u590D\u5236\u4EE3\u7801"))))};function be({width:Ie="100%",height:Te="100%",original:Re,modified:Ge,language:Le,options:Ue={}}){const Qe=(0,X.useRef)(),[et,dt]=(0,X.useState)(null);function mt(ft){let pt;return Qe.current&&(pt=new q.Z(_t=>{for(let Ot of _t)(Ot.target.offsetHeight>0||Ot.target.offsetWidth>0)&&ft.layout()}),pt.observe(Qe.current)),pt}(0,X.useEffect)(()=>(Qe.current&&Promise.all([Z.e(8909),Z.e(9404)]).then(Z.bind(Z,2550)).then(ft=>{Pe=ft;const pt=Pe.editor.createDiffEditor(Qe.current,Je(tt({enableSplitViewResizing:!1,scrollBeyondLastLine:!1,roundedSelection:!1,renderIndicators:!1,useShadows:!1,horizontal:"hidden",lineNumbers:"off",wordWrap:"off",ignoreTrimWhitespace:!1,"semanticHighlighting.enabled":!0,followsCaret:!0,ignoreCharChanges:!0,minimap:{enabled:!1},readOnly:!0},Ue),{wordWrap:!0}));dt(pt);let _t=mt(pt);return()=>{pt.dispose();const Ot=pt.getModel();Ot&&Ot.dispose(),_t.unobserve(Qe.current)}}),()=>{window.removeEventListener("keydown",checkPaste),window.removeEventListener("paste",checkPaste)}),[]),(0,X.useEffect)(()=>{et&&et.setModel({original:Pe.editor.createModel(Re,Le),modified:Pe.editor.createModel(Ge,Le)})},[Re,Ge,Le,et]);const Tt=gt(Ie),At=gt(Te),Ye={width:Tt,height:At};return X.createElement("div",{className:"my-diff-editor",ref:Qe,style:Ye})}},85057:function(Ae,Ce,Z){"use strict";Z.d(Ce,{jL:function(){return z},w9:function(){return Me},QD:function(){return _t},cQ:function(){return se},op:function(){return mt},O5:function(){return Cn},_b:function(){return pn},t7:function(){return S},Gi:function(){return yt},YG:function(){return Je},qp:function(){return g},vr:function(){return jt},qE:function(){return Ye},Je:function(){return u},wb:function(){return ie},cq:function(){return Pe},tp:function(){return d}});var X=Z(59301),q={flex_box_center:"flex_box_center___NeSU8",flex_space_between:"flex_space_between___ImTGl",flex_box_vertical_center:"flex_box_vertical_center___BtRd9",flex_box_center_end:"flex_box_center_end___qcLe3",flex_box_column:"flex_box_column___Ze_3q",banner:"banner___PoUBO",content:"content___XoDjy",btns:"btns___Pb35j"},H="data:image/png;base64,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",z=({dataSource:Ft=[],img:me,imgWidth:E=346,title:B,sunTitle:N,bannerExtraContent:V})=>X.createElement("div",{className:q.banner},X.createElement("div",{className:q.content},X.createElement("aside",null,X.createElement("p",null,X.createElement("b",null,B),X.createElement("span",null,N)),Ft.length>0&&X.createElement("div",{className:q.btns},Ft.map((J,ue)=>X.createElement("div",{key:ue,onClick:J.click},J.name,J.sign?X.createElement("img",{src:H,width:39}):null))),V),me&&X.createElement("img",{style:{marginTop:33,marginRight:38},src:me,width:E}))),P={flex_box_center:"flex_box_center___hG6RI",flex_space_between:"flex_space_between___ss3Fh",flex_box_vertical_center:"flex_box_vertical_center___K80p9",flex_box_center_end:"flex_box_center_end___qmXX3",flex_box_column:"flex_box_column___GFV8F",row:"row___aXJjm",title:"title___HUKL0",tagsWrap:"tagsWrap___XB2W3",action:"action___VdHb1",bar:"bar___t1kKC",tag:"tag___V7Eft",name:"name___Hk1Ip",num:"num___xQpcH",active:"active___XryTX",tagsBorderWrap:"tagsBorderWrap___OMxjs"},T=Z(92310),x=Z.n(T),O=Z(89392),g=({dataSource:Ft=[],value:me,onChange:E,onTitleChange:B,className:N,title:V,titleWidth:J=41,style:ue={},fontColor:ce="#6A7283",showCount:Oe})=>{const[Se,ze]=(0,X.useState)(0),[je,rt]=(0,X.useState)(!1),ot=(0,X.useRef)(null),$e=(0,X.useRef)(null);return(0,X.useEffect)(()=>{var it;Ft.length!==0&&(((it=ot==null?void 0:ot.current)==null?void 0:it.clientHeight)>97?ze(1):ze(0)),Ft.length===0&&ze(0),rt(!1)},[Ft]),X.createElement("div",{className:x()(P.row,N),style:ue},X.createElement("div",{onClick:(0,O.throttle)(()=>B==null?void 0:B(),2e3),style:{width:J,marginTop:je?12:4},className:`${P.title} ${B?"current":""}`},V),X.createElement("div",{className:je?`${P.tagsWrap} ${P.tagsBorderWrap}`:P.tagsWrap},X.createElement("div",{className:P.bar,ref:$e,style:Se>0?{height:Se===1?97:"auto",overflow:Se===1?"hidden":"auto",paddingRight:55}:{paddingRight:0}},X.createElement("div",{className:P.tag,ref:ot},Ft==null?void 0:Ft.map(it=>X.createElement("span",{onClick:()=>E(it.id),key:it.id,style:{color:ce},className:me===it.id?P.active:""},X.createElement("span",{title:it.name,className:P.name},it.name),!!Oe&&X.createElement("span",{className:P.num},it.count))))),!!Se&&X.createElement(X.Fragment,null,Se===1?X.createElement("div",{onClick:()=>{var it;ze(2),((it=ot==null?void 0:ot.current)==null?void 0:it.clientHeight)>245?rt(!0):rt(!1)},className:P.action},"\u5C55\u5F00",X.createElement("i",{style:{transform:"translateY(1px) scale(0.6)"},className:"iconfont icon-zhankai4"})):X.createElement("div",{onClick:()=>{$e.current.scrollTop=0,ze(1),rt(!1)},className:P.action},"\u6536\u8D77",X.createElement("i",{style:{transform:"translateY(0px) scale(0.6)"},className:"iconfont icon-shouqi3"})))))},m={flex_box_center:"flex_box_center___aK2n3",flex_space_between:"flex_space_between___HX0Oh",flex_box_vertical_center:"flex_box_vertical_center___LJOJr",flex_box_center_end:"flex_box_center_end___SCakF",flex_box_column:"flex_box_column___AYv4m",tabs:"tabs___GTqPV",active:"active___F26E8"},d=({dataSource:Ft=[],value:me,onChange:E,className:B,style:N={}})=>X.createElement("div",{style:N,className:x()(m.tabs,B)},Ft.map(V=>X.createElement("span",{onClick:()=>E(V.id),className:me===V.id?m.active:"",key:V.id},V.name))),v={flex_box_center:"flex_box_center___yX6Oa",flex_space_between:"flex_space_between___t7oqF",flex_box_vertical_center:"flex_box_vertical_center___dEIHy",flex_box_center_end:"flex_box_center_end___taQDF",flex_box_column:"flex_box_column___xY_Lr",input:"input___PW2zI",dropdown:"dropdown___vSy8B",menu:"menu___NiyBu",text:"text___Grueu",b1:"b1___ZKryM",b2:"b2___aKyGa"},M=Z(92832),S=({dataSource:Ft=[],value:me="",onChange:E,onInputChange:B=()=>{},className:N,style:V={},placeholder:J,allowClear:ue=!1})=>{var ce;const[Oe,Se]=(0,X.useState)(""),[ze,je]=(0,X.useState)("");(0,X.useEffect)(()=>{var $e;let it=me;($e=JSON.stringify(me))!=null&&$e.includes("{")&&(Se(me.id),it=me.value||"");try{je(decodeURIComponent(it||""))}catch(ut){je(decodeURIComponent(it||""))}},[me]);const rt=()=>{E(encodeURIComponent(ze),Oe||null)},ot=$e=>{$e!==Oe&&(Se($e),E(encodeURIComponent(ze),$e))};return X.createElement("div",{className:x()(v.input,N),style:V},!!Ft.length&&X.createElement("div",{className:v.dropdown},X.createElement("div",{className:v.text},(ce=Ft.find($e=>$e.id===Oe))==null?void 0:ce.name,X.createElement("i",{className:"iconfont icon-zhankai4"}),X.createElement("b",{className:v.b1}),X.createElement("b",{className:v.b2})),X.createElement("div",{className:v.menu},Ft.map(($e,it)=>X.createElement("div",{key:it,onClick:()=>ot($e.id)},$e.name)))),X.createElement(M.default,{onPressEnter:rt,value:ze,onChange:$e=>{je($e.target.value),B(encodeURIComponent($e.target.value),Oe||null)},bordered:!1,placeholder:J}),X.createElement("i",{onClick:rt,className:"iconfont icon-sousuo9 font14 pl10 current"}))},A={flex_box_center:"flex_box_center___tol8o",flex_space_between:"flex_space_between___Z235C",flex_box_vertical_center:"flex_box_vertical_center___Wq1sZ",flex_box_center_end:"flex_box_center_end___LLxom",flex_box_column:"flex_box_column___DbMSN",quickPager:"quickPager___GM30J",disabled:"disabled___Ozc8I"},u=({value:Ft,onChange:me,className:E,total:B,pageSize:N,style:V={}})=>{const J=Ft<2,ue=Ft>=Math.ceil(B/N);return B<=N?X.createElement(X.Fragment,null):X.createElement("div",{className:x()(A.quickPager,E),style:V},X.createElement("div",{onClick:()=>{J||me(Ft-1,"prev")},className:J?A.disabled:""},"\u4E0A\u4E00\u9875"),X.createElement("div",{onClick:()=>{ue||me(Ft+1,"next")},className:ue?A.disabled:""},"\u4E0B\u4E00\u9875"))},f={flex_box_center:"flex_box_center___FO7TP",flex_space_between:"flex_space_between___LotYx",flex_box_vertical_center:"flex_box_vertical_center___bWdaw",flex_box_center_end:"flex_box_center_end___mVJ1o",flex_box_column:"flex_box_column___M83Mm",list:"list___oOsiS",wrap:"wrap___G6T7F",lockWrap:"lockWrap___Rl79E",li:"li___oZZ7l",cover:"cover___b2bYW",img:"img___IQX7w",sign:"sign___HkT6C",name:"name___SsJx8",e:"e___TMqq0",tags:"tags___bcjyo",rate:"rate___YACg7"},y=Z(71418),D=Z(6848),I=Z(13570),U=Z(3294),F=Z(955),G=Z(96908),Y=Z(57177),te=Z(81378),$=Z(8797),ie=({className:Ft,dataSource:me=[],col:E=4,right:B,bottom:N=23,precision:V=0,wrapWidth:J=1200,trackEventItems:ue,loading:ce})=>{const Oe=Math.floor((J-(E-1)*B)/E);return X.createElement(y.Z,{spinning:ce},X.createElement("div",{className:x()(f.list,Ft)},!!me.length&&me.map((Se,ze)=>{const{name:je,id:rt,identifier:ot,power:$e,cover_image_id:it,pic:ut}=Se;return X.createElement("div",{className:f.wrap,key:rt,style:{width:Oe,marginRight:(1+ze)%E===0?0:B+V,marginBottom:N}},X.createElement("a",{target:"_blank",href:`/shixuns/${ot}/challenges`,className:f.li,onClick:ke=>{ke.preventDefault(),ue&&(0,F.L9)([ue]),$e&&(0,F.xg)(`/shixuns/${ot}/challenges`)}},X.createElement("div",{className:f.img},X.createElement("img",{className:f.cover,src:`${ut}`}),Se.is_jupyter&&X.createElement("img",{className:f.sign,src:G}),Se.is_jupyter_lab&&X.createElement("img",{className:f.sign,src:Y}),Se.is_unity_3d&&X.createElement("img",{className:f.sign,src:te})),X.createElement("div",{className:f.name},X.createElement(D.Z,{title:je||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"},X.createElement("span",{className:f.e},je||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"))),X.createElement("div",{className:f.tags},X.createElement(D.Z,{placement:"bottom",title:"\u5173\u5361\u6570"},X.createElement("span",null,X.createElement("i",{className:"iconfont icon-shixunguanqia font14 mr2"}),X.createElement("span",null,Se.challenges_count))),!!Se.myshixuns_count&&X.createElement(D.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},X.createElement("span",null,X.createElement("i",{className:"iconfont icon-chengyuan font14 mr2"}),X.createElement("span",null,Se.myshixuns_count))),X.createElement(D.Z,{placement:"bottom",title:"\u96BE\u5EA6\u7B49\u7EA7"},X.createElement("span",null,X.createElement("span",null,Se.level))),X.createElement("div",{className:f.rate},X.createElement(I.Z,{allowHalf:!0,disabled:!0,defaultValue:Se.score_info}),X.createElement("span",null,"\xA0",Se.score_info?`${Se.score_info}\u5206`:"5\u5206")))),!$e&&X.createElement("div",{className:f.lockWrap},X.createElement("img",{src:`${U.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),X.createElement("span",{className:"mt15 font16 c-white"},"\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743")))}),!me.length&&X.createElement($.Z,null)))},ne={flex_box_center:"flex_box_center___AQ53o",flex_space_between:"flex_space_between___i2aIa",flex_box_vertical_center:"flex_box_vertical_center___sPEKB",flex_box_center_end:"flex_box_center_end___GhSSH",flex_box_column:"flex_box_column___R9_Hb",list:"list___jb2Ay",wrap:"wrap___VsQDr",lockWrap:"lockWrap___g1k1T",li:"li___IxCLC",cover:"cover___Mu8wr",img:"img___IpFLA",movebq:"movebq___mF7wt",bq:"bq___Bil0T",sign:"sign___DXJ4d",name:"name___l7FoJ",e:"e___pXQUG",unit:"unit___wCIFR",tags:"tags___w_Mil",tag1:"tag1___dxm7r",tag2:"tag2___llZkf"},le=Z(24065),ae=Z(59301),se=({className:Ft,dataSource:me=[],col:E=4,right:B,bottom:N=23,precision:V=0,wrapWidth:J=1200,trackEventItems:ue,loading:ce,onRemove:Oe=()=>{},isCurrent:Se=!0,showAlias:ze=!1})=>{const je=Math.floor((J-(E-1)*B)/E),rt=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:"/images/tjzx.png",swimg:"/images/sw_tjzx.png"},{name:"101\u8BA1\u5212",ptimg:"/images/jh.png",swimg:"/images/sw_jh.png"},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:"/images/gjyl.png",swimg:"/images/sw_gjyl.png"},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:"/images/sjyl.png",swimg:"/images/sw_sjyl.png"},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:"/images/jpkc.png",swimg:"/images/sw_jpkc.png"},{name:"\u519B\u961F\u4E00\u6D41",ptimg:"/images/jdyl.png",swimg:"/images/sw_jdyl.png"},{name:"\u65B0\u578B\u6559\u6750",ptimg:"/images/xxjc.png",swimg:"/images/sw_xxjc.png"}];return ae.createElement(y.Z,{spinning:ce},ae.createElement("div",{className:x()(ne.list,Ft)},!!(me!=null&&me.length)&&(me==null?void 0:me.map((ot,$e)=>{var it;const{name:ut,id:ke,identifier:at,featured:vt,school_name:Pt,image_url:kt,excellent:Zt,is_plan:Ct}=ot;return ae.createElement("div",{key:ke,className:ne.wrap,style:{width:je,marginRight:(1+$e)%E===0?0:B+V,marginBottom:N}},ae.createElement("a",{className:ne.li,onClick:Bt=>{Bt.preventDefault(),Bt.stopPropagation(),ue&&(0,F.L9)([ue]),(0,F.xg)(`/paths/${at}`)}},ae.createElement("div",{className:ne.img},ae.createElement("img",{className:ne.cover,src:`${kt}`}),Se&&(0,le.bg)()&&(ot==null?void 0:ot.studying)&&ae.createElement("div",{className:`${ne.movebq} user-path-items`,onClick:Bt=>{Bt.stopPropagation(),Oe(ot)}},ae.createElement("i",{className:"iconfont icon-yichu1 mr5 c-red"}),ae.createElement("span",{className:"c-red"},"\u79FB\u9664")),(it=ot==null?void 0:ot.subject_tags)==null?void 0:it.map((Bt,Vt)=>{var lt,wt;if(Vt===0){const It=(lt=rt.find(fn=>fn.name==Bt))==null?void 0:lt.swimg;return ae.createElement("img",{className:ne.sign,src:It,style:{left:"-4px"}})}const Lt=(wt=rt.find(It=>It.name==Bt))==null?void 0:wt.ptimg;return ae.createElement("img",{className:ne.sign,src:Lt,style:{left:`${48+52*(Vt-1)+2*Vt}px`}})}),ae.createElement("div",{style:{position:"absolute",top:"150px",left:"4px"}},(ot==null?void 0:ot.excellent)&&ae.createElement("div",{className:ne.bq},"\u5F00\u653E\u8BFE\u7A0B"))),ae.createElement("div",{className:ne.name},ae.createElement(D.Z,{title:ze&&(ot!=null&&ot.excellent_alias_name)?ae.createElement("span",null,`\u8BFE\u7A0B\u539F\u540D\uFF1A${ut}`,ae.createElement("br",null),ae.createElement("span",null,`\u8BFE\u7A0B\u522B\u540D\uFF1A${ot==null?void 0:ot.excellent_alias_name}`)):ut},ae.createElement("span",{className:ne.e},ze&&(ot==null?void 0:ot.excellent_alias_name)||ut))),ae.createElement(D.Z,{title:`\u53D1\u5E03\u5355\u4F4D\uFF1A${Pt}`},ae.createElement("div",{className:ne.unit},ae.createElement("i",{className:"iconfont icon-danwei1 font14 mr3"}),Pt)),ae.createElement("div",{className:ne.tags},ae.createElement("div",null,ae.createElement(D.Z,{placement:"bottom",title:"\u7AE0\u8282\u6570"},ae.createElement("span",null,ae.createElement("i",{className:"iconfont icon-zhangjie1 font14 mr3"}),ae.createElement("span",null,ot.stages_count))),ae.createElement(D.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},ae.createElement("span",null,ae.createElement("i",{className:"iconfont icon-chengyuan font14 mr3"}),ae.createElement("span",null,ot.members_count)))))))})),!me.length&&ae.createElement($.Z,null)))},fe={flex_box_center:"flex_box_center___eMcr7",flex_space_between:"flex_space_between___HcNca",flex_box_vertical_center:"flex_box_vertical_center___ZnvVN",flex_box_center_end:"flex_box_center_end___fdgDf",flex_box_column:"flex_box_column___SEKvd",list:"list___L1hmU",wrap:"wrap___pKgcW",lockWrap:"lockWrap___SMhkK",top:"top___udHSB",sign:"sign___uwRpq",name:"name___Fpf90",img:"img___AMLhL",text:"text___KiTb7",btns:"btns___i6IuZ",bottom:"bottom____k2sh"},ye="data:image/png;base64,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",ge=Z(59301),Me=({className:Ft,dataSource:me=[],col:E=4,right:B,bottom:N=23,precision:V=0,wrapWidth:J=1200,trackEventItems:ue,loading:ce,handleVery:Oe=()=>!0})=>{const Se=Math.floor((J-(E-1)*B)/E);return ge.createElement(y.Z,{spinning:ce},ge.createElement("div",{className:x()(fe.list,Ft)},!!me.length&&me.map((ze,je)=>{const{subject_identifier:rt,id:ot,identifier:$e,power:it}=ze,ut=ze.is_public!=0&&ze.is_public;return ge.createElement("div",{className:fe.wrap,key:ot,style:{width:Se,marginRight:(1+je)%E===0?0:B+V,marginBottom:N}},ge.createElement("a",{className:fe.li,onClick:ke=>{ke.preventDefault(),Oe(ze==null?void 0:ze.first_category_url)&&(ue&&(0,F.L9)([ue]),(0,F.xg)(ze.first_category_url))}},ge.createElement("div",{className:fe.top},ge.createElement(D.Z,{title:ze.name},ge.createElement("div",{className:fe.name},ze.name)),ge.createElement("img",{className:fe.img,src:U.Z.IMG_SERVER+"/images/"+ze.avatar_url}),ge.createElement("div",{className:fe.text,title:ze.creator},ze.creator),rt&&ge.createElement("div",{className:fe.btns},ge.createElement("div",null,"\u5F00\u653E\u8BFE\u7A0B"),ge.createElement("aside",null,"\u5F00\u653E\u8BFE\u5802")),ut&&ge.createElement("div",{className:fe.sign},"\u516C\u5F00")),ge.createElement("div",{className:fe.bottom},ze.visits>0&&ge.createElement(D.Z,{title:"\u8BBF\u95EE\u91CF",placement:"bottom"},ge.createElement("span",null,ge.createElement("i",{className:"iconfont icon-liulanyan"}),ge.createElement("span",null,ze.visits))),ze.course_members_count>0&&ge.createElement(D.Z,{title:"\u6210\u5458",placement:"bottom"},ge.createElement("span",null,ge.createElement("i",{className:"iconfont icon-chengyuan"}),ze.course_members_count)),ze.tasks_count>0&&ge.createElement(D.Z,{title:"\u4F5C\u4E1A",placement:"bottom"},ge.createElement("span",null,ge.createElement("i",{className:"iconfont icon-zuoye"}),ze.tasks_count)),ze.is_end?ge.createElement("div",{style:{color:"#6B758B"}},"\u5DF2\u7ED3\u675F"):ge.createElement("div",{style:{color:"#00B187"}},"\u8FDB\u884C\u4E2D"))),!ze.is_accessible&&ge.createElement("div",{className:fe.lockWrap},ge.createElement("img",{src:`${U.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),ge.createElement("span",{className:"mt15 font16 c-white"},"\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165")))}),!me.length&&ge.createElement($.Z,null)))},Ne={flex_box_center:"flex_box_center___d27mZ",flex_space_between:"flex_space_between___qfRU9",flex_box_vertical_center:"flex_box_vertical_center___fCRld",flex_box_center_end:"flex_box_center_end___ORMV8",flex_box_column:"flex_box_column___PNKtZ",tabs:"tabs___alpa7",tabsWrap:"tabsWrap___aCQjw",tab:"tab___MKLr4",active:"active___nl_4v"},We=Z(89070),Je=({dataSource:Ft=[],value:me,onChange:E,className:B,style:N={},tabBarExtraContent:V})=>X.createElement("div",{className:x()(Ne.tabs,B),style:N},X.createElement("div",{className:Ne.tabsWrap},Ft.map((J,ue)=>!(J!=null&&J.hide)&&X.createElement("aside",{className:Ne.tab,onClick:()=>{E(J.id),J.link&&We.history.push(J.link)},key:ue},X.createElement("div",{className:me===J.id?Ne.active:""},J.name),(J==null?void 0:J.resetCount)==null&&(J==null?void 0:J.total)!==void 0&&X.createElement("span",null,"\uFF08",J==null?void 0:J.total,"\uFF09"),(J==null?void 0:J.resetCount)!==void 0&&(J==null?void 0:J.total)!==void 0&&X.createElement(D.Z,{title:(J==null?void 0:J.tip)!=null?J==null?void 0:J.tip:""},X.createElement("span",{style:{color:"#9096A3"}},"\uFF08",X.createElement("span",{style:{color:"#000"}},J==null?void 0:J.resetCount),"/",X.createElement("span",null,J==null?void 0:J.total),"\uFF09"))))),X.createElement("div",{className:Ne.tabBar},V)),yt=({className:Ft,style:me={},children:E})=>X.createElement("div",{className:x()(Ft),style:me},E),gt={flex_box_center:"flex_box_center___e6HxQ",flex_space_between:"flex_space_between___RnXYe",flex_box_vertical_center:"flex_box_vertical_center___lVxPk",flex_box_center_end:"flex_box_center_end___bu8yv",flex_box_column:"flex_box_column___JczGj",orderWrap:"orderWrap___ZfyGX",orderIconWrap:"orderIconWrap___XTB_O",orderAsc:"orderAsc___KWHmA",orderDesc:"orderDesc___rHdbB",active:"active___a7eSP",cursorPointer:"cursorPointer___gs9kL",orderTextWrap:"orderTextWrap___teAKn"},Ke=Z(38854),nt=Z(20834);const Ze=[{id:"updated_at",name:"\u6700\u65B0\u52A8\u6001"},{id:"created_at",name:"\u6700\u65B0\u521B\u5EFA"},{id:"name",name:"\u540D\u79F0\u6392\u5E8F"}];var Pe=({sortValue:Ft,dropValue:me,className:E,onSort:B,onDrop:N,dataSource:V=Ze})=>{var J;return X.createElement("div",{className:x()(gt.orderWrap,E)},X.createElement(Ke.Z,{dropdownRender:()=>X.createElement(nt.default,null,V.map((ue,ce)=>X.createElement(nt.default.Item,{key:ce,onClick:()=>N(ue.id)},ue.name)))},X.createElement("span",{className:gt.orderTextWrap},(J=V.find(ue=>me===ue.id))==null?void 0:J.name)),X.createElement("span",{className:gt.orderIconWrap},X.createElement("span",{className:gt.orderAsc},X.createElement("i",{className:Ft==="asc"?`iconfont icon-sanjiaoxing-up font12 ${gt.cursorPointer} ${gt.active}`:`iconfont icon-sanjiaoxing-up font12 ${gt.cursorPointer}`,onClick:()=>B(Ft==="asc"?"desc":"asc")})),X.createElement("span",{className:gt.orderDesc},X.createElement("i",{className:Ft==="desc"?`iconfont icon-sanjiaoxing-down font12 ${gt.cursorPointer} ${gt.active}`:`iconfont icon-sanjiaoxing-down font12 ${gt.cursorPointer}`,onClick:()=>B(Ft==="asc"?"desc":"asc")}))))},He={flex_box_center:"flex_box_center___LCi0B",flex_space_between:"flex_space_between___hzONe",flex_box_vertical_center:"flex_box_vertical_center___ZyQRE",flex_box_center_end:"flex_box_center_end___XKM74",flex_box_column:"flex_box_column___p8LCU",btn:"btn___In02G","mediacy-round":"mediacy-round___uveEv","mediacy-default":"mediacy-default___dDxsd",default:"default___K791v"},be=Z(3113),Ie=Object.defineProperty,Te=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable,Le=(Ft,me,E)=>me in Ft?Ie(Ft,me,{enumerable:!0,configurable:!0,writable:!0,value:E}):Ft[me]=E,Ue=(Ft,me)=>{for(var E in me||(me={}))Re.call(me,E)&&Le(Ft,E,me[E]);if(Te)for(var E of Te(me))Ge.call(me,E)&&Le(Ft,E,me[E]);return Ft},Qe=(Ft,me)=>{var E={};for(var B in Ft)Re.call(Ft,B)&&me.indexOf(B)<0&&(E[B]=Ft[B]);if(Ft!=null&&Te)for(var B of Te(Ft))me.indexOf(B)<0&&Ge.call(Ft,B)&&(E[B]=Ft[B]);return E},et=(Ft,me,E)=>new Promise((B,N)=>{var V=ce=>{try{ue(E.next(ce))}catch(Oe){N(Oe)}},J=ce=>{try{ue(E.throw(ce))}catch(Oe){N(Oe)}},ue=ce=>ce.done?B(ce.value):Promise.resolve(ce.value).then(V,J);ue((E=E.apply(Ft,me)).next())}),mt=Ft=>{var me=Ft,{className:E,style:B,children:N,loading:V=!1,openLoading:J,onClick:ue=()=>{},size:ce="middle",shape:Oe="round"}=me,Se=Qe(me,["className","style","children","loading","openLoading","onClick","size","shape"]);const[ze,je]=(0,X.useState)(!1);return X.createElement(be.ZP,Ue({onClick:(0,O.throttle)(rt=>et(void 0,null,function*(){J&&je(!0);try{yield ue(rt)}catch(ot){console.log("error",ot)}J&&je(!1)}),2e3,{leading:!0,trailing:!1}),className:x()(He.btn,He[`${ce}-${Oe}`],E),style:B,size:ce,shape:Oe,loading:ze||V},Se),N)},Tt={flex_box_center:"flex_box_center___TB7bQ",flex_space_between:"flex_space_between___oBlTb",flex_box_vertical_center:"flex_box_vertical_center___b5XbB",flex_box_center_end:"flex_box_center_end___CNhe7",flex_box_column:"flex_box_column___yHXKW",head:"head___ghH72",node:"node___mjPEy"},Ye=({className:Ft,style:me,children:E=null,onClick:B,title:N})=>X.createElement("div",{className:x()(Tt.head,Ft),style:me},X.createElement("span",{className:"primary-hover",onClick:B},X.createElement("i",{className:"iconfont icon-fanhui2 font12"}),"\u8FD4\u56DE"),X.createElement("b",{title:N},N),X.createElement("div",{className:Tt.node},E)),ft={flex_box_center:"flex_box_center___AlHuF",flex_space_between:"flex_space_between___vN2LW",flex_box_vertical_center:"flex_box_vertical_center___Ac7D2",flex_box_center_end:"flex_box_center_end___y38I7",flex_box_column:"flex_box_column___iQE6P",btns:"btns___sNgTb",confirm:"confirm___Ozirl",cancel:"cancel___aiq1I"},_t=({confirmShow:Ft=!0,confirmTitle:me,confirmClick:E,cancelShow:B=!0,cancelTitle:N,cancelClick:V,className:J,style:ue,confirmLoading:ce=!1})=>X.createElement("div",{className:x()(ft.btns,J),style:ue},Ft&&X.createElement(be.ZP,{loading:ce,onClick:E,type:"primary",className:ft.confirm},me),B&&X.createElement(be.ZP,{onClick:V,className:ft.cancel},N)),Ot={flex_box_center:"flex_box_center___jkpdr",flex_space_between:"flex_space_between___OtsL8",flex_box_vertical_center:"flex_box_vertical_center___rbcb_",flex_box_center_end:"flex_box_center_end___zBR21",flex_box_column:"flex_box_column___nS_eP",fixedBottom:"fixedBottom___oJl7m",wrap:"wrap___A3Oq1",center:"center____VL1y"},jt=({className:Ft,style:me={},LeftContent:E,children:B,RightContent:N})=>X.createElement("div",{className:x()(Ot.fixedBottom,Ft),style:me},X.createElement("div",{className:Ot.wrap},X.createElement("div",{className:Ot.left},E),X.createElement("div",{className:Ot.center},B),X.createElement("div",{className:Ot.right},N))),zt={flex_box_center:"flex_box_center___tY8Yn",flex_space_between:"flex_space_between___vHdYA",flex_box_vertical_center:"flex_box_vertical_center___pa61F",flex_box_center_end:"flex_box_center_end___HyDXt",flex_box_column:"flex_box_column___UjZek",crumbs:"crumbs___V41Oe",hover:"hover___bEIVd"},pn=({className:Ft,style:me={},dataSource:E=[]})=>X.createElement("div",{className:x()(zt.crumbs,Ft),style:me},E.map((B,N)=>N<E.length-1?X.createElement(X.Fragment,{key:N},B.path||B.onClick?X.createElement("span",{className:zt.hover,onClick:B!=null&&B.onClick?B.onClick:()=>We.history.push(B.path)},B.name):X.createElement("span",null,B.name),X.createElement("span",null,"\xA0",">","\xA0")):X.createElement("span",{key:N,style:{color:"#5F6368"}},B.name))),on=Z(31797),un=Object.defineProperty,On=Object.defineProperties,Mn=Object.getOwnPropertyDescriptors,Kt=Object.getOwnPropertySymbols,rn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,Gt=(Ft,me,E)=>me in Ft?un(Ft,me,{enumerable:!0,configurable:!0,writable:!0,value:E}):Ft[me]=E,An=(Ft,me)=>{for(var E in me||(me={}))rn.call(me,E)&&Gt(Ft,E,me[E]);if(Kt)for(var E of Kt(me))ln.call(me,E)&&Gt(Ft,E,me[E]);return Ft},Dn=(Ft,me)=>On(Ft,Mn(me)),hn=(Ft,me)=>{var E={};for(var B in Ft)rn.call(Ft,B)&&me.indexOf(B)<0&&(E[B]=Ft[B]);if(Ft!=null&&Kt)for(var B of Kt(Ft))me.indexOf(B)<0&&ln.call(Ft,B)&&(E[B]=Ft[B]);return E};const{Countdown:In}=on.default;var Cn=Ft=>{var me=Ft,{onChange:E}=me,B=hn(me,["onChange"]);const[N,V]=(0,X.useState)(null);(0,X.useEffect)(()=>{typeof N=="number"&&N>=0&&E(N)},[N]);const J=ue=>{const ce=Math.floor(ue/1e3);V(ce)};return X.createElement(In,Dn(An({},B),{onChange:J}))}},89076:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return D}});var X=Z(6848),q=Z(59301),H=Z(89070),b=Z(955),z=Z.p+"static/nltpbg.f01aad4b.png",P=Z.p+"static/nltpbg2.303fcb0b.png",T={title:"title___m9Fww",bg:"bg___f9tLu"},x="data:image/png;base64,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",O=Z.p+"static/2.3612d2e5.png",_=Z.p+"static/3.0ae7bccf.png",g=Z.p+"static/4.d75cb058.png",m=Z.p+"static/5.89f1948f.png",L=Z.p+"static/6.cc2d55ef.png",d=Z.p+"static/7.3afb9435.png",v=Z.p+"static/8.5401d4a7.png",M=Object.defineProperty,w=Object.getOwnPropertySymbols,S=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,R=(I,U,F)=>U in I?M(I,U,{enumerable:!0,configurable:!0,writable:!0,value:F}):I[U]=F,u=(I,U)=>{for(var F in U||(U={}))S.call(U,F)&&R(I,F,U[F]);if(w)for(var F of w(U))A.call(U,F)&&R(I,F,U[F]);return I};const f=({DataProps:I=[],baifenbi:U=1,pathsDetail:F,isShow:G,item:Y,i:te})=>{const $=(0,H.useParams)(),[oe,ie]=(0,q.useState)(0),ne=33,le=Math.PI/2+te*(Math.PI*2/(I==null?void 0:I.length)),ae=ne*Math.cos(le)/100,de=ne*Math.sin(le)/100;return q.createElement(X.Z,{color:"#444FC2",title:G?null:q.createElement("div",{style:{fontSize:`${14*U}rem`}},q.createElement("div",null,"\u8986\u76D6",(Y==null?void 0:Y.children_count)||0,"\u4E2A\u5B50\u80FD\u529B\u3001",(Y==null?void 0:Y.subject_knowledge_graph_count)||0,"\u4E2A\u77E5\u8BC6\u70B9"),q.createElement("div",{style:{marginTop:"10rem"}},"\u70B9\u51FB\u67E5\u770B\u8BE6\u60C5"))},q.createElement("div",{className:`flex flex-col item-center justify-center absolute ${G?"":"current"} ${T.title}`,onClick:()=>{G||(0,b.xg)(`/knowledgegraph/${$==null?void 0:$.pathId}/abilityMap/detail/${Y==null?void 0:Y.id}${window.location.search}`)},onMouseOver:()=>{G||ie(2)},onMouseOut:()=>{G||ie(0)},style:{left:`calc(50% - ${ae*100}%)`,top:`calc(50% - ${de*100}%)`,transform:"translate(-50%,-50%)",width:"20%",fontSize:`${(14+oe)*U}rem`}},q.createElement("div",{style:{opacity:"0.8"}},"\u4E3B\u80FD\u529B"),q.createElement("div",{className:"multi_ellipsis1",style:{fontSize:`${18*U}rem`,fontWeight:500}},Y==null?void 0:Y.name),!(F!=null&&F.detail.can_managed)&&q.createElement("div",null,"\u638C\u63E1\u7387 ",Y==null?void 0:Y.grasp_rate," %")))},y=({DataProps:I=[],className:U="",style:F={},baifenbi:G=1,pathsDetail:Y,isShow:te})=>{const $=(0,q.useMemo)(()=>{const oe=["",x,O,_,g,m,L,d,v];return oe==null?void 0:oe[(I==null?void 0:I.length)||0]},[I]);return q.createElement("div",{className:`w-full h-full flex item-center justify-center relative overflow_hidden ${U} ${T.bg}`,style:u({backgroundImage:`url(${I!=null&&I.length?P:z})`,backgroundSize:"auto 100%",height:"100%"},F)},((I==null?void 0:I.length)||0)>0&&q.createElement("img",{className:`absolute ${T.bg}`,src:$,style:{width:"95%",height:"95%",left:"50%",top:"50%",transform:`translate(-50%, -50%) ${[2,3,6].includes(I==null?void 0:I.length)?"rotate(90deg)":(I==null?void 0:I.length)==7?"rotate(25deg)":""}`}}),I==null?void 0:I.map((oe,ie)=>q.createElement(f,{key:ie,i:ie,item:oe,DataProps:I,className:U,style:F,baifenbi:G,pathsDetail:Y,isShow:te})),q.createElement("div",{className:"text-center"},q.createElement("div",{style:{fontSize:`${28*G}rem`}},"\u80FD\u529B\u76EE\u6807"),q.createElement("div",{style:{fontSize:`${12*G}rem`}},"\u70B9\u51FB\u73AF\u56FE\u67E5\u770B\u80FD\u529B\u8BE6\u60C5")))};var D=(0,H.connect)(({pathsDetail:I})=>({pathsDetail:I}))(y)},4901:function(Ae,Ce,Z){"use strict";Z.d(Ce,{BU:function(){return q},Dj:function(){return X},gH:function(){return H},vp:function(){return b}});function X(z){try{z.mozRequestFullScreen?z.mozRequestFullScreen():z.webkitRequestFullScreen&&z.webkitRequestFullScreen()}catch(P){console.log(P,":e")}}function q(){window.top.document.webkitExitFullscreen?window.top.document.webkitExitFullscreen():document.exitFullscreen?window.top.document.exitFullscreen():document.msExitFullscreen?window.top.document.msExitFullscreen():document.mozCancelFullScreen&&window.top.document.mozCancelFullScreen()}const H=()=>{if(document.webkitExitFullscreen)return"webkitfullscreenchange";if(document.exitFullscreen)return"fullscreenchange";if(document.msExitFullscreen)return"msfullscreenchange";if(document.mozCancelFullScreen)return"mozfullscreenchange"};function b(){var z=window.top.document.fullscreenElement||window.top.document.mozFullscreenElement||window.top.document.webkitFullscreenElement,P=document.fullscreenEnabled||document.mozFullscreenEnabled||document.webkitFullscreenEnabled;return console.log("fullscreenElement",z),window.isFullScreen?window.isFullScreen:z!=null}},83312:function(Ae,Ce,Z){"use strict";Z.d(Ce,{U:function(){return O}});var X=Z(59301),q=Object.defineProperty,H=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,P=(_,g,m)=>g in _?q(_,g,{enumerable:!0,configurable:!0,writable:!0,value:m}):_[g]=m,T=(_,g)=>{for(var m in g||(g={}))b.call(g,m)&&P(_,m,g[m]);if(H)for(var m of H(g))z.call(g,m)&&P(_,m,g[m]);return _},x=(_,g,m)=>new Promise((L,d)=>{var v=S=>{try{w(m.next(S))}catch(A){d(A)}},M=S=>{try{w(m.throw(S))}catch(A){d(A)}},w=S=>S.done?L(S.value):Promise.resolve(S.value).then(v,M);w((m=m.apply(_,g)).next())});function O(_,g){const[m,L]=(0,X.useState)(g),[d,v]=(0,X.useState)(!1),[M,w]=(0,X.useState)();return[m,d,(A,R=!1)=>x(this,null,function*(){const u=R?g:T(T({},m),A);v(!0),L(u);const f=yield _(u);return v(!1),w(f),f}),M,w]}},29382:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return Ft}});class X{static install(){Object.setPrototypeOf=Object.setPrototypeOf||function(E,B){return E.__proto__=B,E},Object.assign=Object.assign||function(E){if(E==null)throw new TypeError("Cannot convert undefined or null to object");let B=Object(E);for(let N=1;N<arguments.length;N++){let V=arguments[N];if(V!=null)for(let J in V)V.hasOwnProperty(J)&&(B[J]=V[J])}return B},typeof self.Promise!="function"&&Z(3867).polyfill()}}X.install();var q=X,H=Z(86204),b=Z.n(H);class z{static e(E,B){(!E||z.FORCE_GLOBAL_TAG)&&(E=z.GLOBAL_TAG);let N=`[${E}] > ${B}`;z.ENABLE_CALLBACK&&z.emitter.emit("log","error",N),z.ENABLE_ERROR&&(console.error?console.error(N):console.warn?console.warn(N):console.log(N))}static i(E,B){(!E||z.FORCE_GLOBAL_TAG)&&(E=z.GLOBAL_TAG);let N=`[${E}] > ${B}`;z.ENABLE_CALLBACK&&z.emitter.emit("log","info",N),z.ENABLE_INFO&&(console.info?console.info(N):console.log(N))}static w(E,B){(!E||z.FORCE_GLOBAL_TAG)&&(E=z.GLOBAL_TAG);let N=`[${E}] > ${B}`;z.ENABLE_CALLBACK&&z.emitter.emit("log","warn",N),z.ENABLE_WARN&&(console.warn?console.warn(N):console.log(N))}static d(E,B){(!E||z.FORCE_GLOBAL_TAG)&&(E=z.GLOBAL_TAG);let N=`[${E}] > ${B}`;z.ENABLE_CALLBACK&&z.emitter.emit("log","debug",N),z.ENABLE_DEBUG&&(console.debug?console.debug(N):console.log(N))}static v(E,B){(!E||z.FORCE_GLOBAL_TAG)&&(E=z.GLOBAL_TAG);let N=`[${E}] > ${B}`;z.ENABLE_CALLBACK&&z.emitter.emit("log","verbose",N),z.ENABLE_VERBOSE&&console.log(N)}}z.GLOBAL_TAG="flv.js",z.FORCE_GLOBAL_TAG=!1,z.ENABLE_ERROR=!0,z.ENABLE_INFO=!0,z.ENABLE_WARN=!0,z.ENABLE_DEBUG=!0,z.ENABLE_VERBOSE=!0,z.ENABLE_CALLBACK=!1,z.emitter=new(b());var P=z;class T{constructor(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}reset(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}addBytes(E){this._firstCheckpoint===0?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=E,this._totalBytes+=E):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=E,this._totalBytes+=E):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=E,this._totalBytes+=E,this._lastCheckpoint=this._now())}get currentKBps(){this.addBytes(0);let E=(this._now()-this._lastCheckpoint)/1e3;return E==0&&(E=1),this._intervalBytes/E/1024}get lastSecondKBps(){return this.addBytes(0),this._lastSecondBytes!==0?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}get averageKBps(){let E=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/E/1024}}var x=T;class O{constructor(E){this._message=E}get name(){return"RuntimeException"}get message(){return this._message}toString(){return this.name+": "+this.message}}class _ extends O{constructor(E){super(E)}get name(){return"IllegalStateException"}}class g extends O{constructor(E){super(E)}get name(){return"InvalidArgumentException"}}class m extends O{constructor(E){super(E)}get name(){return"NotImplementedException"}}const L={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},d={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"};class v{constructor(E){this._type=E||"undefined",this._status=L.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}destroy(){this._status=L.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}isWorking(){return this._status===L.kConnecting||this._status===L.kBuffering}get type(){return this._type}get status(){return this._status}get needStashBuffer(){return this._needStash}get onContentLengthKnown(){return this._onContentLengthKnown}set onContentLengthKnown(E){this._onContentLengthKnown=E}get onURLRedirect(){return this._onURLRedirect}set onURLRedirect(E){this._onURLRedirect=E}get onDataArrival(){return this._onDataArrival}set onDataArrival(E){this._onDataArrival=E}get onError(){return this._onError}set onError(E){this._onError=E}get onComplete(){return this._onComplete}set onComplete(E){this._onComplete=E}open(E,B){throw new m("Unimplemented abstract function!")}abort(){throw new m("Unimplemented abstract function!")}}let M={};function w(){let me=self.navigator.userAgent.toLowerCase(),E=/(edge)\/([\w.]+)/.exec(me)||/(opr)[\/]([\w.]+)/.exec(me)||/(chrome)[ \/]([\w.]+)/.exec(me)||/(iemobile)[\/]([\w.]+)/.exec(me)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(me)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(me)||/(webkit)[ \/]([\w.]+)/.exec(me)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(me)||/(msie) ([\w.]+)/.exec(me)||me.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(me)||me.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(me)||[],B=/(ipad)/.exec(me)||/(ipod)/.exec(me)||/(windows phone)/.exec(me)||/(iphone)/.exec(me)||/(kindle)/.exec(me)||/(android)/.exec(me)||/(windows)/.exec(me)||/(mac)/.exec(me)||/(linux)/.exec(me)||/(cros)/.exec(me)||[],N={browser:E[5]||E[3]||E[1]||"",version:E[2]||E[4]||"0",majorVersion:E[4]||E[2]||"0",platform:B[0]||""},V={};if(N.browser){V[N.browser]=!0;let J=N.majorVersion.split(".");V.version={major:parseInt(N.majorVersion,10),string:N.version},J.length>1&&(V.version.minor=parseInt(J[1],10)),J.length>2&&(V.version.build=parseInt(J[2],10))}if(N.platform&&(V[N.platform]=!0),(V.chrome||V.opr||V.safari)&&(V.webkit=!0),V.rv||V.iemobile){V.rv&&delete V.rv;let J="msie";N.browser=J,V[J]=!0}if(V.edge){delete V.edge;let J="msedge";N.browser=J,V[J]=!0}if(V.opr){let J="opera";N.browser=J,V[J]=!0}if(V.safari&&V.android){let J="android";N.browser=J,V[J]=!0}V.name=N.browser,V.platform=N.platform;for(let J in M)M.hasOwnProperty(J)&&delete M[J];Object.assign(M,V)}w();var S=M;class A extends v{static isSupported(){try{let E=S.msedge&&S.version.minor>=15048,B=S.msedge?E:!0;return self.fetch&&self.ReadableStream&&B}catch(E){return!1}}constructor(E,B){super("fetch-stream-loader"),this.TAG="FetchStreamLoader",this._seekHandler=E,this._config=B,this._needStash=!0,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),super.destroy()}open(E,B){this._dataSource=E,this._range=B;let N=E.url;this._config.reuseRedirectedURL&&E.redirectedURL!=null&&(N=E.redirectedURL);let V=this._seekHandler.getConfig(N,B),J=new self.Headers;if(typeof V.headers=="object"){let ce=V.headers;for(let Oe in ce)ce.hasOwnProperty(Oe)&&J.append(Oe,ce[Oe])}let ue={method:"GET",headers:J,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if(typeof this._config.headers=="object")for(let ce in this._config.headers)J.append(ce,this._config.headers[ce]);E.cors===!1&&(ue.mode="same-origin"),E.withCredentials&&(ue.credentials="include"),E.referrerPolicy&&(ue.referrerPolicy=E.referrerPolicy),this._status=L.kConnecting,self.fetch(V.url,ue).then(ce=>{if(this._requestAbort){this._requestAbort=!1,this._status=L.kIdle;return}if(ce.ok&&ce.status>=200&&ce.status<=299){if(ce.url!==V.url&&this._onURLRedirect){let Se=this._seekHandler.removeURLParameters(ce.url);this._onURLRedirect(Se)}let Oe=ce.headers.get("Content-Length");return Oe!=null&&(this._contentLength=parseInt(Oe),this._contentLength!==0&&this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)),this._pump.call(this,ce.body.getReader())}else if(this._status=L.kError,this._onError)this._onError(d.HTTP_STATUS_CODE_INVALID,{code:ce.status,msg:ce.statusText});else throw new O("FetchStreamLoader: Http code invalid, "+ce.status+" "+ce.statusText)}).catch(ce=>{if(this._status=L.kError,this._onError)this._onError(d.EXCEPTION,{code:-1,msg:ce.message});else throw ce})}abort(){this._requestAbort=!0}_pump(E){return E.read().then(B=>{if(B.done)if(this._contentLength!==null&&this._receivedLength<this._contentLength){this._status=L.kError;let N=d.EARLY_EOF,V={code:-1,msg:"Fetch stream meet Early-EOF"};if(this._onError)this._onError(N,V);else throw new O(V.msg)}else this._status=L.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1);else{if(this._requestAbort===!0)return this._requestAbort=!1,this._status=L.kComplete,E.cancel();this._status=L.kBuffering;let N=B.value.buffer,V=this._range.from+this._receivedLength;this._receivedLength+=N.byteLength,this._onDataArrival&&this._onDataArrival(N,V,this._receivedLength),this._pump(E)}}).catch(B=>{if(B.code===11&&S.msedge)return;this._status=L.kError;let N=0,V=null;if((B.code===19||B.message==="network error")&&(this._contentLength===null||this._contentLength!==null&&this._receivedLength<this._contentLength)?(N=d.EARLY_EOF,V={code:B.code,msg:"Fetch stream meet Early-EOF"}):(N=d.EXCEPTION,V={code:B.code,msg:B.message}),this._onError)this._onError(N,V);else throw new O(V.msg)})}}var R=A;class u extends v{static isSupported(){try{let E=new XMLHttpRequest;return E.open("GET","https://example.com",!0),E.responseType="moz-chunked-arraybuffer",E.responseType==="moz-chunked-arraybuffer"}catch(E){return P.w("MozChunkedLoader",E.message),!1}}constructor(E,B){super("xhr-moz-chunked-loader"),this.TAG="MozChunkedLoader",this._seekHandler=E,this._config=B,this._needStash=!0,this._xhr=null,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}open(E,B){this._dataSource=E,this._range=B;let N=E.url;this._config.reuseRedirectedURL&&E.redirectedURL!=null&&(N=E.redirectedURL);let V=this._seekHandler.getConfig(N,B);this._requestURL=V.url;let J=this._xhr=new XMLHttpRequest;if(J.open("GET",V.url,!0),J.responseType="moz-chunked-arraybuffer",J.onreadystatechange=this._onReadyStateChange.bind(this),J.onprogress=this._onProgress.bind(this),J.onloadend=this._onLoadEnd.bind(this),J.onerror=this._onXhrError.bind(this),E.withCredentials&&(J.withCredentials=!0),typeof V.headers=="object"){let ue=V.headers;for(let ce in ue)ue.hasOwnProperty(ce)&&J.setRequestHeader(ce,ue[ce])}if(typeof this._config.headers=="object"){let ue=this._config.headers;for(let ce in ue)ue.hasOwnProperty(ce)&&J.setRequestHeader(ce,ue[ce])}this._status=L.kConnecting,J.send()}abort(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=L.kComplete}_onReadyStateChange(E){let B=E.target;if(B.readyState===2){if(B.responseURL!=null&&B.responseURL!==this._requestURL&&this._onURLRedirect){let N=this._seekHandler.removeURLParameters(B.responseURL);this._onURLRedirect(N)}if(B.status!==0&&(B.status<200||B.status>299))if(this._status=L.kError,this._onError)this._onError(d.HTTP_STATUS_CODE_INVALID,{code:B.status,msg:B.statusText});else throw new O("MozChunkedLoader: Http code invalid, "+B.status+" "+B.statusText);else this._status=L.kBuffering}}_onProgress(E){if(this._status===L.kError)return;this._contentLength===null&&E.total!==null&&E.total!==0&&(this._contentLength=E.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));let B=E.target.response,N=this._range.from+this._receivedLength;this._receivedLength+=B.byteLength,this._onDataArrival&&this._onDataArrival(B,N,this._receivedLength)}_onLoadEnd(E){if(this._requestAbort===!0){this._requestAbort=!1;return}else if(this._status===L.kError)return;this._status=L.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)}_onXhrError(E){this._status=L.kError;let B=0,N=null;if(this._contentLength&&E.loaded<this._contentLength?(B=d.EARLY_EOF,N={code:-1,msg:"Moz-Chunked stream meet Early-Eof"}):(B=d.EXCEPTION,N={code:-1,msg:E.constructor.name+" "+E.type}),this._onError)this._onError(B,N);else throw new O(N.msg)}}var f=u;class y extends null{static isSupported(){try{if(typeof self.MSStream=="undefined"||typeof self.MSStreamReader=="undefined")return!1;let E=new XMLHttpRequest;return E.open("GET","https://example.com",!0),E.responseType="ms-stream",E.responseType==="ms-stream"}catch(E){return Log.w("MSStreamLoader",E.message),!1}}constructor(E,B){super("xhr-msstream-loader"),this.TAG="MSStreamLoader",this._seekHandler=E,this._config=B,this._needStash=!0,this._xhr=null,this._reader=null,this._totalRange=null,this._currentRange=null,this._currentRequestURL=null,this._currentRedirectedURL=null,this._contentLength=null,this._receivedLength=0,this._bufferLimit=16*1024*1024,this._lastTimeBufferSize=0,this._isReconnecting=!1}destroy(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),super.destroy()}open(E,B){this._internalOpen(E,B,!1)}_internalOpen(E,B,N){this._dataSource=E,N?this._currentRange=B:this._totalRange=B;let V=E.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?V=this._currentRedirectedURL:E.redirectedURL!=null&&(V=E.redirectedURL));let J=this._seekHandler.getConfig(V,B);this._currentRequestURL=J.url;let ue=this._reader=new self.MSStreamReader;ue.onprogress=this._msrOnProgress.bind(this),ue.onload=this._msrOnLoad.bind(this),ue.onerror=this._msrOnError.bind(this);let ce=this._xhr=new XMLHttpRequest;if(ce.open("GET",J.url,!0),ce.responseType="ms-stream",ce.onreadystatechange=this._xhrOnReadyStateChange.bind(this),ce.onerror=this._xhrOnError.bind(this),E.withCredentials&&(ce.withCredentials=!0),typeof J.headers=="object"){let Oe=J.headers;for(let Se in Oe)Oe.hasOwnProperty(Se)&&ce.setRequestHeader(Se,Oe[Se])}if(typeof this._config.headers=="object"){let Oe=this._config.headers;for(let Se in Oe)Oe.hasOwnProperty(Se)&&ce.setRequestHeader(Se,Oe[Se])}this._isReconnecting?this._isReconnecting=!1:this._status=LoaderStatus.kConnecting,ce.send()}abort(){this._internalAbort(),this._status=LoaderStatus.kComplete}_internalAbort(){this._reader&&(this._reader.readyState===1&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}_xhrOnReadyStateChange(E){let B=E.target;if(B.readyState===2)if(B.status>=200&&B.status<=299){if(this._status=LoaderStatus.kBuffering,B.responseURL!=null){let V=this._seekHandler.removeURLParameters(B.responseURL);B.responseURL!==this._currentRequestURL&&V!==this._currentRedirectedURL&&(this._currentRedirectedURL=V,this._onURLRedirect&&this._onURLRedirect(V))}let N=B.getResponseHeader("Content-Length");if(N!=null&&this._contentLength==null){let V=parseInt(N);V>0&&(this._contentLength=V,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else if(this._status=LoaderStatus.kError,this._onError)this._onError(LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:B.status,msg:B.statusText});else throw new RuntimeException("MSStreamLoader: Http code invalid, "+B.status+" "+B.statusText);else if(B.readyState===3&&B.status>=200&&B.status<=299){this._status=LoaderStatus.kBuffering;let N=B.response;this._reader.readAsArrayBuffer(N)}}_xhrOnError(E){this._status=LoaderStatus.kError;let B=LoaderErrors.EXCEPTION,N={code:-1,msg:E.constructor.name+" "+E.type};if(this._onError)this._onError(B,N);else throw new RuntimeException(N.msg)}_msrOnProgress(E){let N=E.target.result;if(N==null){this._doReconnectIfNeeded();return}let V=N.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=N.byteLength;let J=this._totalRange.from+this._receivedLength;this._receivedLength+=V.byteLength,this._onDataArrival&&this._onDataArrival(V,J,this._receivedLength),N.byteLength>=this._bufferLimit&&(Log.v(this.TAG,`MSStream buffer exceeded max size near ${J+V.byteLength}, reconnecting...`),this._doReconnectIfNeeded())}_doReconnectIfNeeded(){if(this._contentLength==null||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();let E={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,E,!0)}}_msrOnLoad(E){this._status=LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}_msrOnError(E){this._status=LoaderStatus.kError;let B=0,N=null;if(this._contentLength&&this._receivedLength<this._contentLength?(B=LoaderErrors.EARLY_EOF,N={code:-1,msg:"MSStream meet Early-Eof"}):(B=LoaderErrors.EARLY_EOF,N={code:-1,msg:E.constructor.name+" "+E.type}),this._onError)this._onError(B,N);else throw new RuntimeException(N.msg)}}var D=null;class I extends v{static isSupported(){try{let E=new XMLHttpRequest;return E.open("GET","https://example.com",!0),E.responseType="arraybuffer",E.responseType==="arraybuffer"}catch(E){return P.w("RangeLoader",E.message),!1}}constructor(E,B){super("xhr-range-loader"),this.TAG="RangeLoader",this._seekHandler=E,this._config=B,this._needStash=!1,this._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],this._currentChunkSizeKB=384,this._currentSpeedNormalized=0,this._zeroSpeedChunkCount=0,this._xhr=null,this._speedSampler=new x,this._requestAbort=!1,this._waitForTotalLength=!1,this._totalLengthReceived=!1,this._currentRequestURL=null,this._currentRedirectedURL=null,this._currentRequestRange=null,this._totalLength=null,this._contentLength=null,this._receivedLength=0,this._lastTimeLoaded=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}get currentSpeed(){return this._speedSampler.lastSecondKBps}open(E,B){this._dataSource=E,this._range=B,this._status=L.kConnecting;let N=!1;this._dataSource.filesize!=null&&this._dataSource.filesize!==0&&(N=!0,this._totalLength=this._dataSource.filesize),!this._totalLengthReceived&&!N?(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1})):this._openSubRange()}_openSubRange(){let E=this._currentChunkSizeKB*1024,B=this._range.from+this._receivedLength,N=B+E;this._contentLength!=null&&N-this._range.from>=this._contentLength&&(N=this._range.from+this._contentLength-1),this._currentRequestRange={from:B,to:N},this._internalOpen(this._dataSource,this._currentRequestRange)}_internalOpen(E,B){this._lastTimeLoaded=0;let N=E.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?N=this._currentRedirectedURL:E.redirectedURL!=null&&(N=E.redirectedURL));let V=this._seekHandler.getConfig(N,B);this._currentRequestURL=V.url;let J=this._xhr=new XMLHttpRequest;if(J.open("GET",V.url,!0),J.responseType="arraybuffer",J.onreadystatechange=this._onReadyStateChange.bind(this),J.onprogress=this._onProgress.bind(this),J.onload=this._onLoad.bind(this),J.onerror=this._onXhrError.bind(this),E.withCredentials&&(J.withCredentials=!0),typeof V.headers=="object"){let ue=V.headers;for(let ce in ue)ue.hasOwnProperty(ce)&&J.setRequestHeader(ce,ue[ce])}if(typeof this._config.headers=="object"){let ue=this._config.headers;for(let ce in ue)ue.hasOwnProperty(ce)&&J.setRequestHeader(ce,ue[ce])}J.send()}abort(){this._requestAbort=!0,this._internalAbort(),this._status=L.kComplete}_internalAbort(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}_onReadyStateChange(E){let B=E.target;if(B.readyState===2){if(B.responseURL!=null){let N=this._seekHandler.removeURLParameters(B.responseURL);B.responseURL!==this._currentRequestURL&&N!==this._currentRedirectedURL&&(this._currentRedirectedURL=N,this._onURLRedirect&&this._onURLRedirect(N))}if(B.status>=200&&B.status<=299){if(this._waitForTotalLength)return;this._status=L.kBuffering}else if(this._status=L.kError,this._onError)this._onError(d.HTTP_STATUS_CODE_INVALID,{code:B.status,msg:B.statusText});else throw new O("RangeLoader: Http code invalid, "+B.status+" "+B.statusText)}}_onProgress(E){if(this._status===L.kError)return;if(this._contentLength===null){let N=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,N=!0;let V=E.total;this._internalAbort(),V!=null&V!==0&&(this._totalLength=V)}if(this._range.to===-1?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,N){this._openSubRange();return}this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}let B=E.loaded-this._lastTimeLoaded;this._lastTimeLoaded=E.loaded,this._speedSampler.addBytes(B)}_normalizeSpeed(E){let B=this._chunkSizeKBList,N=B.length-1,V=0,J=0,ue=N;if(E<B[0])return B[0];for(;J<=ue;){if(V=J+Math.floor((ue-J)/2),V===N||E>=B[V]&&E<B[V+1])return B[V];B[V]<E?J=V+1:ue=V-1}}_onLoad(E){if(this._status===L.kError)return;if(this._waitForTotalLength){this._waitForTotalLength=!1;return}this._lastTimeLoaded=0;let B=this._speedSampler.lastSecondKBps;if(B===0&&(this._zeroSpeedChunkCount++,this._zeroSpeedChunkCount>=3&&(B=this._speedSampler.currentKBps)),B!==0){let ue=this._normalizeSpeed(B);this._currentSpeedNormalized!==ue&&(this._currentSpeedNormalized=ue,this._currentChunkSizeKB=ue)}let N=E.target.response,V=this._range.from+this._receivedLength;this._receivedLength+=N.byteLength;let J=!1;this._contentLength!=null&&this._receivedLength<this._contentLength?this._openSubRange():J=!0,this._onDataArrival&&this._onDataArrival(N,V,this._receivedLength),J&&(this._status=L.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}_onXhrError(E){this._status=L.kError;let B=0,N=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(B=d.EARLY_EOF,N={code:-1,msg:"RangeLoader meet Early-Eof"}):(B=d.EXCEPTION,N={code:-1,msg:E.constructor.name+" "+E.type}),this._onError)this._onError(B,N);else throw new O(N.msg)}}var U=I;class F extends v{static isSupported(){try{return typeof self.WebSocket!="undefined"}catch(E){return!1}}constructor(){super("websocket-loader"),this.TAG="WebSocketLoader",this._needStash=!0,this._ws=null,this._requestAbort=!1,this._receivedLength=0}destroy(){this._ws&&this.abort(),super.destroy()}open(E){try{let B=this._ws=new self.WebSocket(E.url);B.binaryType="arraybuffer",B.onopen=this._onWebSocketOpen.bind(this),B.onclose=this._onWebSocketClose.bind(this),B.onmessage=this._onWebSocketMessage.bind(this),B.onerror=this._onWebSocketError.bind(this),this._status=L.kConnecting}catch(B){this._status=L.kError;let N={code:B.code,msg:B.message};if(this._onError)this._onError(d.EXCEPTION,N);else throw new O(N.msg)}}abort(){let E=this._ws;E&&(E.readyState===0||E.readyState===1)&&(this._requestAbort=!0,E.close()),this._ws=null,this._status=L.kComplete}_onWebSocketOpen(E){this._status=L.kBuffering}_onWebSocketClose(E){if(this._requestAbort===!0){this._requestAbort=!1;return}this._status=L.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}_onWebSocketMessage(E){if(E.data instanceof ArrayBuffer)this._dispatchArrayBuffer(E.data);else if(E.data instanceof Blob){let B=new FileReader;B.onload=()=>{this._dispatchArrayBuffer(B.result)},B.readAsArrayBuffer(E.data)}else{this._status=L.kError;let B={code:-1,msg:"Unsupported WebSocket message type: "+E.data.constructor.name};if(this._onError)this._onError(d.EXCEPTION,B);else throw new O(B.msg)}}_dispatchArrayBuffer(E){let B=E,N=this._receivedLength;this._receivedLength+=B.byteLength,this._onDataArrival&&this._onDataArrival(B,N,this._receivedLength)}_onWebSocketError(E){this._status=L.kError;let B={code:E.code,msg:E.message};if(this._onError)this._onError(d.EXCEPTION,B);else throw new O(B.msg)}}var G=F;class Y{constructor(E){this._zeroStart=E||!1}getConfig(E,B){let N={};if(B.from!==0||B.to!==-1){let V;B.to!==-1?V=`bytes=${B.from.toString()}-${B.to.toString()}`:V=`bytes=${B.from.toString()}-`,N.Range=V}else this._zeroStart&&(N.Range="bytes=0-");return{url:E,headers:N}}removeURLParameters(E){return E}}var te=Y;class ${constructor(E,B){this._startName=E,this._endName=B}getConfig(E,B){let N=E;if(B.from!==0||B.to!==-1){let V=!0;N.indexOf("?")===-1&&(N+="?",V=!1),V&&(N+="&"),N+=`${this._startName}=${B.from.toString()}`,B.to!==-1&&(N+=`&${this._endName}=${B.to.toString()}`)}return{url:N,headers:{}}}removeURLParameters(E){let B=E.split("?")[0],N,V=E.indexOf("?");V!==-1&&(N=E.substring(V+1));let J="";if(N!=null&&N.length>0){let ue=N.split("&");for(let ce=0;ce<ue.length;ce++){let Oe=ue[ce].split("="),Se=ce>0;Oe[0]!==this._startName&&Oe[0]!==this._endName&&(Se&&(J+="&"),J+=ue[ce])}}return J.length===0?B:B+"?"+J}}var oe=$;class ie{constructor(E,B,N){this.TAG="IOController",this._config=B,this._extraData=N,this._stashInitialSize=1024*384,B.stashInitialSize!=null&&B.stashInitialSize>0&&(this._stashInitialSize=B.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=1024*1024*3,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,B.enableStashBuffer===!1&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=E,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(E.url),this._refTotalLength=E.filesize?E.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new x,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}destroy(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}isWorking(){return this._loader&&this._loader.isWorking()&&!this._paused}isPaused(){return this._paused}get status(){return this._loader.status}get extraData(){return this._extraData}set extraData(E){this._extraData=E}get onDataArrival(){return this._onDataArrival}set onDataArrival(E){this._onDataArrival=E}get onSeeked(){return this._onSeeked}set onSeeked(E){this._onSeeked=E}get onError(){return this._onError}set onError(E){this._onError=E}get onComplete(){return this._onComplete}set onComplete(E){this._onComplete=E}get onRedirect(){return this._onRedirect}set onRedirect(E){this._onRedirect=E}get onRecoveredEarlyEof(){return this._onRecoveredEarlyEof}set onRecoveredEarlyEof(E){this._onRecoveredEarlyEof=E}get currentURL(){return this._dataSource.url}get hasRedirect(){return this._redirectedURL!=null||this._dataSource.redirectedURL!=null}get currentRedirectedURL(){return this._redirectedURL||this._dataSource.redirectedURL}get currentSpeed(){return this._loaderClass===U?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}get loaderType(){return this._loader.type}_selectSeekHandler(){let E=this._config;if(E.seekType==="range")this._seekHandler=new te(this._config.rangeLoadZeroStart);else if(E.seekType==="param"){let B=E.seekParamStart||"bstart",N=E.seekParamEnd||"bend";this._seekHandler=new oe(B,N)}else if(E.seekType==="custom"){if(typeof E.customSeekHandler!="function")throw new g("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new E.customSeekHandler}else throw new g(`Invalid seekType in config: ${E.seekType}`)}_selectLoader(){if(this._config.customLoader!=null)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=G;else if(R.isSupported())this._loaderClass=R;else if(f.isSupported())this._loaderClass=f;else if(U.isSupported())this._loaderClass=U;else throw new O("Your browser doesn't support xhr with arraybuffer responseType!")}_createLoader(){this._loader=new this._loaderClass(this._seekHandler,this._config),this._loader.needStashBuffer===!1&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}open(E){this._currentRange={from:0,to:-1},E&&(this._currentRange.from=E),this._speedSampler.reset(),E||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}abort(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}pause(){this.isWorking()&&(this._loader.abort(),this._stashUsed!==0?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}resume(){if(this._paused){this._paused=!1;let E=this._resumeFrom;this._resumeFrom=0,this._internalSeek(E,!0)}}seek(E){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(E,!0)}_internalSeek(E,B){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(B),this._loader.destroy(),this._loader=null;let N={from:E,to:-1};this._currentRange={from:N.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,N),this._onSeeked&&this._onSeeked()}updateUrl(E){if(!E||typeof E!="string"||E.length===0)throw new g("Url must be a non-empty string!");this._dataSource.url=E}_expandBuffer(E){let B=this._stashSize;for(;B+1024*1024*1<E;)B*=2;if(B+=1024*1024*1,B===this._bufferSize)return;let N=new ArrayBuffer(B);if(this._stashUsed>0){let V=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(N,0,B).set(V,0)}this._stashBuffer=N,this._bufferSize=B}_normalizeSpeed(E){let B=this._speedNormalizeList,N=B.length-1,V=0,J=0,ue=N;if(E<B[0])return B[0];for(;J<=ue;){if(V=J+Math.floor((ue-J)/2),V===N||E>=B[V]&&E<B[V+1])return B[V];B[V]<E?J=V+1:ue=V-1}}_adjustStashSize(E){let B=0;this._config.isLive||E<512?B=E:E>=512&&E<=1024?B=Math.floor(E*1.5):B=E*2,B>8192&&(B=8192);let N=B*1024+1024*1024*1;this._bufferSize<N&&this._expandBuffer(N),this._stashSize=B*1024}_dispatchChunks(E,B){return this._currentRange.to=B+E.byteLength-1,this._onDataArrival(E,B)}_onURLRedirect(E){this._redirectedURL=E,this._onRedirect&&this._onRedirect(E)}_onContentLengthKnown(E){E&&this._fullRequestFlag&&(this._totalLength=E,this._fullRequestFlag=!1)}_onLoaderChunkArrival(E,B,N){if(!this._onDataArrival)throw new _("IOController: No existing consumer (onDataArrival) callback!");if(this._paused)return;this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(E.byteLength);let V=this._speedSampler.lastSecondKBps;if(V!==0){let J=this._normalizeSpeed(V);this._speedNormalized!==J&&(this._speedNormalized=J,this._adjustStashSize(J))}if(this._enableStash)if(this._stashUsed===0&&this._stashByteStart===0&&(this._stashByteStart=B),this._stashUsed+E.byteLength<=this._stashSize)new Uint8Array(this._stashBuffer,0,this._stashSize).set(new Uint8Array(E),this._stashUsed),this._stashUsed+=E.byteLength;else{let J=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){let ue=this._stashBuffer.slice(0,this._stashUsed),ce=this._dispatchChunks(ue,this._stashByteStart);if(ce<ue.byteLength){if(ce>0){let Oe=new Uint8Array(ue,ce);J.set(Oe,0),this._stashUsed=Oe.byteLength,this._stashByteStart+=ce}}else this._stashUsed=0,this._stashByteStart+=ce;this._stashUsed+E.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+E.byteLength),J=new Uint8Array(this._stashBuffer,0,this._bufferSize)),J.set(new Uint8Array(E),this._stashUsed),this._stashUsed+=E.byteLength}else{let ue=this._dispatchChunks(E,B);if(ue<E.byteLength){let ce=E.byteLength-ue;ce>this._bufferSize&&(this._expandBuffer(ce),J=new Uint8Array(this._stashBuffer,0,this._bufferSize)),J.set(new Uint8Array(E,ue),0),this._stashUsed+=ce,this._stashByteStart=B+ue}}}else if(this._stashUsed===0){let J=this._dispatchChunks(E,B);if(J<E.byteLength){let ue=E.byteLength-J;ue>this._bufferSize&&this._expandBuffer(ue),new Uint8Array(this._stashBuffer,0,this._bufferSize).set(new Uint8Array(E,J),0),this._stashUsed+=ue,this._stashByteStart=B+J}}else{this._stashUsed+E.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+E.byteLength);let J=new Uint8Array(this._stashBuffer,0,this._bufferSize);J.set(new Uint8Array(E),this._stashUsed),this._stashUsed+=E.byteLength;let ue=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(ue<this._stashUsed&&ue>0){let ce=new Uint8Array(this._stashBuffer,ue);J.set(ce,0)}this._stashUsed-=ue,this._stashByteStart+=ue}}_flushStashBuffer(E){if(this._stashUsed>0){let B=this._stashBuffer.slice(0,this._stashUsed),N=this._dispatchChunks(B,this._stashByteStart),V=B.byteLength-N;if(N<B.byteLength)if(E)P.w(this.TAG,`${V} bytes unconsumed data remain when flush buffer, dropped`);else{if(N>0){let J=new Uint8Array(this._stashBuffer,0,this._bufferSize),ue=new Uint8Array(B,N);J.set(ue,0),this._stashUsed=ue.byteLength,this._stashByteStart+=N}return 0}return this._stashUsed=0,this._stashByteStart=0,V}return 0}_onLoaderComplete(E,B){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}_onLoaderError(E,B){switch(P.e(this.TAG,`Loader error, code = ${B.code}, msg = ${B.msg}`),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,E=d.UNRECOVERABLE_EARLY_EOF),E){case d.EARLY_EOF:{if(!this._config.isLive&&this._totalLength){let N=this._currentRange.to+1;N<this._totalLength&&(P.w(this.TAG,"Connection lost, trying reconnect..."),this._isEarlyEofReconnecting=!0,this._internalSeek(N,!1));return}E=d.UNRECOVERABLE_EARLY_EOF;break}case d.UNRECOVERABLE_EARLY_EOF:case d.CONNECTING_TIMEOUT:case d.HTTP_STATUS_CODE_INVALID:case d.EXCEPTION:break}if(this._onError)this._onError(E,B);else throw new O("IOException: "+B.msg)}}var ne=ie;const le={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:3*60,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:3*60,autoCleanupMinBackwardDuration:2*60,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0};function ae(){return Object.assign({},le)}class de{static supportMSEH264Playback(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}static supportNetworkStreamIO(){let E=new ne({},ae()),B=E.loaderType;return E.destroy(),B=="fetch-stream-loader"||B=="xhr-moz-chunked-loader"}static getNetworkLoaderTypeName(){let E=new ne({},ae()),B=E.loaderType;return E.destroy(),B}static supportNativeMediaPlayback(E){de.videoElement==null&&(de.videoElement=window.document.createElement("video"));let B=de.videoElement.canPlayType(E);return B==="probably"||B=="maybe"}static getFeatureList(){let E={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return E.mseFlvPlayback=de.supportMSEH264Playback(),E.networkStreamIO=de.supportNetworkStreamIO(),E.networkLoaderName=de.getNetworkLoaderTypeName(),E.mseLiveFlvPlayback=E.mseFlvPlayback&&E.networkStreamIO,E.nativeMP4H264Playback=de.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),E.nativeWebmVP8Playback=de.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),E.nativeWebmVP9Playback=de.supportNativeMediaPlayback('video/webm; codecs="vp9"'),E}}var se=de,ye={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"};class ge{static get forceGlobalTag(){return P.FORCE_GLOBAL_TAG}static set forceGlobalTag(E){P.FORCE_GLOBAL_TAG=E,ge._notifyChange()}static get globalTag(){return P.GLOBAL_TAG}static set globalTag(E){P.GLOBAL_TAG=E,ge._notifyChange()}static get enableAll(){return P.ENABLE_VERBOSE&&P.ENABLE_DEBUG&&P.ENABLE_INFO&&P.ENABLE_WARN&&P.ENABLE_ERROR}static set enableAll(E){P.ENABLE_VERBOSE=E,P.ENABLE_DEBUG=E,P.ENABLE_INFO=E,P.ENABLE_WARN=E,P.ENABLE_ERROR=E,ge._notifyChange()}static get enableDebug(){return P.ENABLE_DEBUG}static set enableDebug(E){P.ENABLE_DEBUG=E,ge._notifyChange()}static get enableVerbose(){return P.ENABLE_VERBOSE}static set enableVerbose(E){P.ENABLE_VERBOSE=E,ge._notifyChange()}static get enableInfo(){return P.ENABLE_INFO}static set enableInfo(E){P.ENABLE_INFO=E,ge._notifyChange()}static get enableWarn(){return P.ENABLE_WARN}static set enableWarn(E){P.ENABLE_WARN=E,ge._notifyChange()}static get enableError(){return P.ENABLE_ERROR}static set enableError(E){P.ENABLE_ERROR=E,ge._notifyChange()}static getConfig(){return{globalTag:P.GLOBAL_TAG,forceGlobalTag:P.FORCE_GLOBAL_TAG,enableVerbose:P.ENABLE_VERBOSE,enableDebug:P.ENABLE_DEBUG,enableInfo:P.ENABLE_INFO,enableWarn:P.ENABLE_WARN,enableError:P.ENABLE_ERROR,enableCallback:P.ENABLE_CALLBACK}}static applyConfig(E){P.GLOBAL_TAG=E.globalTag,P.FORCE_GLOBAL_TAG=E.forceGlobalTag,P.ENABLE_VERBOSE=E.enableVerbose,P.ENABLE_DEBUG=E.enableDebug,P.ENABLE_INFO=E.enableInfo,P.ENABLE_WARN=E.enableWarn,P.ENABLE_ERROR=E.enableError,P.ENABLE_CALLBACK=E.enableCallback}static _notifyChange(){let E=ge.emitter;if(E.listenerCount("change")>0){let B=ge.getConfig();E.emit("change",B)}}static registerListener(E){ge.emitter.addListener("change",E)}static removeListener(E){ge.emitter.removeListener("change",E)}static addLogListener(E){P.emitter.addListener("log",E),P.emitter.listenerCount("log")>0&&(P.ENABLE_CALLBACK=!0,ge._notifyChange())}static removeLogListener(E){P.emitter.removeListener("log",E),P.emitter.listenerCount("log")===0&&(P.ENABLE_CALLBACK=!1,ge._notifyChange())}}ge.emitter=new(b());var xe=ge;class Me{constructor(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}isComplete(){let E=this.hasAudio===!1||this.hasAudio===!0&&this.audioCodec!=null&&this.audioSampleRate!=null&&this.audioChannelCount!=null,B=this.hasVideo===!1||this.hasVideo===!0&&this.videoCodec!=null&&this.width!=null&&this.height!=null&&this.fps!=null&&this.profile!=null&&this.level!=null&&this.refFrames!=null&&this.chromaFormat!=null&&this.sarNum!=null&&this.sarDen!=null;return this.mimeType!=null&&this.duration!=null&&this.metadata!=null&&this.hasKeyframesIndex!=null&&E&&B}isSeekable(){return this.hasKeyframesIndex===!0}getNearestKeyframe(E){if(this.keyframesIndex==null)return null;let B=this.keyframesIndex,N=this._search(B.times,E);return{index:N,milliseconds:B.times[N],fileposition:B.filepositions[N]}}_search(E,B){let N=0,V=E.length-1,J=0,ue=0,ce=V;for(B<E[0]&&(N=0,ue=ce+1);ue<=ce;)if(J=ue+Math.floor((ce-ue)/2),J===V||B>=E[J]&&B<E[J+1]){N=J;break}else E[J]<B?ue=J+1:ce=J-1;return N}}var Ne=Me;function We(me,E,B){let N=me;if(E+B<N.length){for(;B--;)if((N[++E]&192)!==128)return!1;return!0}else return!1}function tt(me){let E=[],B=me,N=0,V=me.length;for(;N<V;){if(B[N]<128){E.push(String.fromCharCode(B[N])),++N;continue}else if(!(B[N]<192)){if(B[N]<224){if(We(B,N,1)){let J=(B[N]&31)<<6|B[N+1]&63;if(J>=128){E.push(String.fromCharCode(J&65535)),N+=2;continue}}}else if(B[N]<240){if(We(B,N,2)){let J=(B[N]&15)<<12|(B[N+1]&63)<<6|B[N+2]&63;if(J>=2048&&(J&63488)!==55296){E.push(String.fromCharCode(J&65535)),N+=3;continue}}}else if(B[N]<248&&We(B,N,3)){let J=(B[N]&7)<<18|(B[N+1]&63)<<12|(B[N+2]&63)<<6|B[N+3]&63;if(J>65536&&J<1114112){J-=65536,E.push(String.fromCharCode(J>>>10|55296)),E.push(String.fromCharCode(J&1023|56320)),N+=4;continue}}}E.push("\uFFFD"),++N}return E.join("")}var Je=tt;let st=function(){let me=new ArrayBuffer(2);return new DataView(me).setInt16(0,256,!0),new Int16Array(me)[0]===256}();class yt{static parseScriptData(E,B,N){let V={};try{let J=yt.parseValue(E,B,N),ue=yt.parseValue(E,B+J.size,N-J.size);V[J.data]=ue.data}catch(J){P.e("AMF",J.toString())}return V}static parseObject(E,B,N){if(N<3)throw new _("Data not enough when parse ScriptDataObject");let V=yt.parseString(E,B,N),J=yt.parseValue(E,B+V.size,N-V.size),ue=J.objectEnd;return{data:{name:V.data,value:J.data},size:V.size+J.size,objectEnd:ue}}static parseVariable(E,B,N){return yt.parseObject(E,B,N)}static parseString(E,B,N){if(N<2)throw new _("Data not enough when parse String");let J=new DataView(E,B,N).getUint16(0,!st),ue;return J>0?ue=Je(new Uint8Array(E,B+2,J)):ue="",{data:ue,size:2+J}}static parseLongString(E,B,N){if(N<4)throw new _("Data not enough when parse LongString");let J=new DataView(E,B,N).getUint32(0,!st),ue;return J>0?ue=Je(new Uint8Array(E,B+4,J)):ue="",{data:ue,size:4+J}}static parseDate(E,B,N){if(N<10)throw new _("Data size invalid when parse Date");let V=new DataView(E,B,N),J=V.getFloat64(0,!st),ue=V.getInt16(8,!st);return J+=ue*60*1e3,{data:new Date(J),size:10}}static parseValue(E,B,N){if(N<1)throw new _("Data not enough when parse Value");let V=new DataView(E,B,N),J=1,ue=V.getUint8(0),ce,Oe=!1;try{switch(ue){case 0:ce=V.getFloat64(1,!st),J+=8;break;case 1:{ce=!!V.getUint8(1),J+=1;break}case 2:{let Se=yt.parseString(E,B+1,N-1);ce=Se.data,J+=Se.size;break}case 3:{ce={};let Se=0;for((V.getUint32(N-4,!st)&16777215)===9&&(Se=3);J<N-4;){let ze=yt.parseObject(E,B+J,N-J-Se);if(ze.objectEnd)break;ce[ze.data.name]=ze.data.value,J+=ze.size}J<=N-3&&(V.getUint32(J-1,!st)&16777215)===9&&(J+=3);break}case 8:{ce={},J+=4;let Se=0;for((V.getUint32(N-4,!st)&16777215)===9&&(Se=3);J<N-8;){let ze=yt.parseVariable(E,B+J,N-J-Se);if(ze.objectEnd)break;ce[ze.data.name]=ze.data.value,J+=ze.size}J<=N-3&&(V.getUint32(J-1,!st)&16777215)===9&&(J+=3);break}case 9:ce=void 0,J=1,Oe=!0;break;case 10:{ce=[];let Se=V.getUint32(1,!st);J+=4;for(let ze=0;ze<Se;ze++){let je=yt.parseValue(E,B+J,N-J);ce.push(je.data),J+=je.size}break}case 11:{let Se=yt.parseDate(E,B+1,N-1);ce=Se.data,J+=Se.size;break}case 12:{let Se=yt.parseString(E,B+1,N-1);ce=Se.data,J+=Se.size;break}default:J=N,P.w("AMF","Unsupported AMF value type "+ue)}}catch(Se){P.e("AMF",Se.toString())}return{data:ce,size:J,objectEnd:Oe}}}var gt=yt;class Ke{constructor(E){this.TAG="ExpGolomb",this._buffer=E,this._buffer_index=0,this._total_bytes=E.byteLength,this._total_bits=E.byteLength*8,this._current_word=0,this._current_word_bits_left=0}destroy(){this._buffer=null}_fillCurrentWord(){let E=this._total_bytes-this._buffer_index;if(E<=0)throw new _("ExpGolomb: _fillCurrentWord() but no bytes available");let B=Math.min(4,E),N=new Uint8Array(4);N.set(this._buffer.subarray(this._buffer_index,this._buffer_index+B)),this._current_word=new DataView(N.buffer).getUint32(0,!1),this._buffer_index+=B,this._current_word_bits_left=B*8}readBits(E){if(E>32)throw new g("ExpGolomb: readBits() bits exceeded max 32bits!");if(E<=this._current_word_bits_left){let ue=this._current_word>>>32-E;return this._current_word<<=E,this._current_word_bits_left-=E,ue}let B=this._current_word_bits_left?this._current_word:0;B=B>>>32-this._current_word_bits_left;let N=E-this._current_word_bits_left;this._fillCurrentWord();let V=Math.min(N,this._current_word_bits_left),J=this._current_word>>>32-V;return this._current_word<<=V,this._current_word_bits_left-=V,B=B<<V|J,B}readBool(){return this.readBits(1)===1}readByte(){return this.readBits(8)}_skipLeadingZero(){let E;for(E=0;E<this._current_word_bits_left;E++)if(this._current_word&2147483648>>>E)return this._current_word<<=E,this._current_word_bits_left-=E,E;return this._fillCurrentWord(),E+this._skipLeadingZero()}readUEG(){let E=this._skipLeadingZero();return this.readBits(E+1)-1}readSEG(){let E=this.readUEG();return E&1?E+1>>>1:-1*(E>>>1)}}var nt=Ke;class Ze{static _ebsp2rbsp(E){let B=E,N=B.byteLength,V=new Uint8Array(N),J=0;for(let ue=0;ue<N;ue++)ue>=2&&B[ue]===3&&B[ue-1]===0&&B[ue-2]===0||(V[J]=B[ue],J++);return new Uint8Array(V.buffer,0,J)}static parseSPS(E){let B=Ze._ebsp2rbsp(E),N=new nt(B);N.readByte();let V=N.readByte();N.readByte();let J=N.readByte();N.readUEG();let ue=Ze.getProfileString(V),ce=Ze.getLevelString(J),Oe=1,Se=420,ze=[0,420,422,444],je=8;if((V===100||V===110||V===122||V===244||V===44||V===83||V===86||V===118||V===128||V===138||V===144)&&(Oe=N.readUEG(),Oe===3&&N.readBits(1),Oe<=3&&(Se=ze[Oe]),je=N.readUEG()+8,N.readUEG(),N.readBits(1),N.readBool())){let yn=Oe!==3?8:12;for(let cn=0;cn<yn;cn++)N.readBool()&&(cn<6?Ze._skipScalingList(N,16):Ze._skipScalingList(N,64))}N.readUEG();let rt=N.readUEG();if(rt===0)N.readUEG();else if(rt===1){N.readBits(1),N.readSEG(),N.readSEG();let yn=N.readUEG();for(let cn=0;cn<yn;cn++)N.readSEG()}let ot=N.readUEG();N.readBits(1);let $e=N.readUEG(),it=N.readUEG(),ut=N.readBits(1);ut===0&&N.readBits(1),N.readBits(1);let ke=0,at=0,vt=0,Pt=0;N.readBool()&&(ke=N.readUEG(),at=N.readUEG(),vt=N.readUEG(),Pt=N.readUEG());let Zt=1,Ct=1,Bt=0,Vt=!0,lt=0,wt=0;if(N.readBool()){if(N.readBool()){let yn=N.readByte(),cn=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],Zn=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];yn>0&&yn<16?(Zt=cn[yn-1],Ct=Zn[yn-1]):yn===255&&(Zt=N.readByte()<<8|N.readByte(),Ct=N.readByte()<<8|N.readByte())}if(N.readBool()&&N.readBool(),N.readBool()&&(N.readBits(4),N.readBool()&&N.readBits(24)),N.readBool()&&(N.readUEG(),N.readUEG()),N.readBool()){let yn=N.readBits(32),cn=N.readBits(32);Vt=N.readBool(),lt=cn,wt=yn*2,Bt=lt/wt}}let It=1;(Zt!==1||Ct!==1)&&(It=Zt/Ct);let fn=0,Yt=0;if(Oe===0)fn=1,Yt=2-ut;else{let yn=Oe===3?1:2,cn=Oe===1?2:1;fn=yn,Yt=cn*(2-ut)}let Qt=($e+1)*16,Jt=(2-ut)*((it+1)*16);Qt-=(ke+at)*fn,Jt-=(vt+Pt)*Yt;let _n=Math.ceil(Qt*It);return N.destroy(),N=null,{profile_string:ue,level_string:ce,bit_depth:je,ref_frames:ot,chroma_format:Se,chroma_format_string:Ze.getChromaFormatString(Se),frame_rate:{fixed:Vt,fps:Bt,fps_den:wt,fps_num:lt},sar_ratio:{width:Zt,height:Ct},codec_size:{width:Qt,height:Jt},present_size:{width:_n,height:Jt}}}static _skipScalingList(E,B){let N=8,V=8,J=0;for(let ue=0;ue<B;ue++)V!==0&&(J=E.readSEG(),V=(N+J+256)%256),N=V===0?N:V}static getProfileString(E){switch(E){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}static getLevelString(E){return(E/10).toFixed(1)}static getChromaFormatString(E){switch(E){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}var Ve=Ze,He={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"};function be(me){return me>>>8&255|(me&255)<<8}function Ie(me){return(me&4278190080)>>>24|(me&16711680)>>>8|(me&65280)<<8|(me&255)<<24}function Te(me,E){return me[E]<<24|me[E+1]<<16|me[E+2]<<8|me[E+3]}class Re{constructor(E,B){this.TAG="FLVDemuxer",this._config=B,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=E.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=E.hasAudioTrack,this._hasVideo=E.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new Ne,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){let N=new ArrayBuffer(2);return new DataView(N).setInt16(0,256,!0),new Int16Array(N)[0]===256}()}destroy(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}static probe(E){let B=new Uint8Array(E),N={match:!1};if(B[0]!==70||B[1]!==76||B[2]!==86||B[3]!==1)return N;let V=(B[4]&4)>>>2!==0,J=(B[4]&1)!==0,ue=Te(B,5);return ue<9?N:{match:!0,consumed:ue,dataOffset:ue,hasAudioTrack:V,hasVideoTrack:J}}bindDataSource(E){return E.onDataArrival=this.parseChunks.bind(this),this}get onTrackMetadata(){return this._onTrackMetadata}set onTrackMetadata(E){this._onTrackMetadata=E}get onMediaInfo(){return this._onMediaInfo}set onMediaInfo(E){this._onMediaInfo=E}get onMetaDataArrived(){return this._onMetaDataArrived}set onMetaDataArrived(E){this._onMetaDataArrived=E}get onScriptDataArrived(){return this._onScriptDataArrived}set onScriptDataArrived(E){this._onScriptDataArrived=E}get onError(){return this._onError}set onError(E){this._onError=E}get onDataAvailable(){return this._onDataAvailable}set onDataAvailable(E){this._onDataAvailable=E}get timestampBase(){return this._timestampBase}set timestampBase(E){this._timestampBase=E}get overridedDuration(){return this._duration}set overridedDuration(E){this._durationOverrided=!0,this._duration=E,this._mediaInfo.duration=E}set overridedHasAudio(E){this._hasAudioFlagOverrided=!0,this._hasAudio=E,this._mediaInfo.hasAudio=E}set overridedHasVideo(E){this._hasVideoFlagOverrided=!0,this._hasVideo=E,this._mediaInfo.hasVideo=E}resetMediaInfo(){this._mediaInfo=new Ne}_isInitialMetadataDispatched(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!this._hasAudio&&this._hasVideo?this._videoInitialMetadataDispatched:!1}parseChunks(E,B){if(!this._onError||!this._onMediaInfo||!this._onTrackMetadata||!this._onDataAvailable)throw new _("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");let N=0,V=this._littleEndian;if(B===0)if(E.byteLength>13)N=Re.probe(E).dataOffset;else return 0;for(this._firstParse&&(this._firstParse=!1,B+N!==this._dataOffset&&P.w(this.TAG,"First time parsing but chunk byteStart invalid!"),new DataView(E,N).getUint32(0,!V)!==0&&P.w(this.TAG,"PrevTagSize0 !== 0 !!!"),N+=4);N<E.byteLength;){this._dispatch=!0;let J=new DataView(E,N);if(N+11+4>E.byteLength)break;let ue=J.getUint8(0),ce=J.getUint32(0,!V)&16777215;if(N+11+ce+4>E.byteLength)break;if(ue!==8&&ue!==9&&ue!==18){P.w(this.TAG,`Unsupported tag type ${ue}, skipped`),N+=11+ce+4;continue}let Oe=J.getUint8(4),Se=J.getUint8(5),ze=J.getUint8(6),je=J.getUint8(7),rt=ze|Se<<8|Oe<<16|je<<24;(J.getUint32(7,!V)&16777215)!==0&&P.w(this.TAG,"Meet tag which has StreamID != 0!");let $e=N+11;switch(ue){case 8:this._parseAudioData(E,$e,ce,rt);break;case 9:this._parseVideoData(E,$e,ce,rt,B+N);break;case 18:this._parseScriptData(E,$e,ce);break}let it=J.getUint32(11+ce,!V);it!==11+ce&&P.w(this.TAG,`Invalid PrevTagSize ${it}`),N+=11+ce+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),N}_parseScriptData(E,B,N){let V=gt.parseScriptData(E,B,N);if(V.hasOwnProperty("onMetaData")){if(V.onMetaData==null||typeof V.onMetaData!="object"){P.w(this.TAG,"Invalid onMetaData structure!");return}this._metadata&&P.w(this.TAG,"Found another onMetaData tag!"),this._metadata=V;let J=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},J)),typeof J.hasAudio=="boolean"&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=J.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),typeof J.hasVideo=="boolean"&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=J.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),typeof J.audiodatarate=="number"&&(this._mediaInfo.audioDataRate=J.audiodatarate),typeof J.videodatarate=="number"&&(this._mediaInfo.videoDataRate=J.videodatarate),typeof J.width=="number"&&(this._mediaInfo.width=J.width),typeof J.height=="number"&&(this._mediaInfo.height=J.height),typeof J.duration=="number"){if(!this._durationOverrided){let ue=Math.floor(J.duration*this._timescale);this._duration=ue,this._mediaInfo.duration=ue}}else this._mediaInfo.duration=0;if(typeof J.framerate=="number"){let ue=Math.floor(J.framerate*1e3);if(ue>0){let ce=ue/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=ce,this._referenceFrameRate.fps_num=ue,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=ce}}if(typeof J.keyframes=="object"){this._mediaInfo.hasKeyframesIndex=!0;let ue=J.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(ue),J.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=J,P.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(V).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},V))}_parseKeyframesIndex(E){let B=[],N=[];for(let V=1;V<E.times.length;V++){let J=this._timestampBase+Math.floor(E.times[V]*1e3);B.push(J),N.push(E.filepositions[V])}return{times:B,filepositions:N}}_parseAudioData(E,B,N,V){if(N<=1){P.w(this.TAG,"Flv: Invalid audio packet, missing SoundData payload!");return}if(this._hasAudioFlagOverrided===!0&&this._hasAudio===!1)return;let J=this._littleEndian,ce=new DataView(E,B,N).getUint8(0),Oe=ce>>>4;if(Oe!==2&&Oe!==10){this._onError(He.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+Oe);return}let Se=0,ze=(ce&12)>>>2;if(ze>=0&&ze<=4)Se=this._flvSoundRateTable[ze];else{this._onError(He.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+ze);return}let je=(ce&2)>>>1,rt=ce&1,ot=this._audioMetadata,$e=this._audioTrack;if(ot||(this._hasAudio===!1&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),ot=this._audioMetadata={},ot.type="audio",ot.id=$e.id,ot.timescale=this._timescale,ot.duration=this._duration,ot.audioSampleRate=Se,ot.channelCount=rt===0?1:2),Oe===10){let it=this._parseAACAudioData(E,B+1,N-1);if(it==null)return;if(it.packetType===0){ot.config&&P.w(this.TAG,"Found another AudioSpecificConfig!");let ut=it.data;ot.audioSampleRate=ut.samplingRate,ot.channelCount=ut.channelCount,ot.codec=ut.codec,ot.originalCodec=ut.originalCodec,ot.config=ut.config,ot.refSampleDuration=1024/ot.audioSampleRate*ot.timescale,P.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",ot);let ke=this._mediaInfo;ke.audioCodec=ot.originalCodec,ke.audioSampleRate=ot.audioSampleRate,ke.audioChannelCount=ot.channelCount,ke.hasVideo?ke.videoCodec!=null&&(ke.mimeType='video/x-flv; codecs="'+ke.videoCodec+","+ke.audioCodec+'"'):ke.mimeType='video/x-flv; codecs="'+ke.audioCodec+'"',ke.isComplete()&&this._onMediaInfo(ke)}else if(it.packetType===1){let ut=this._timestampBase+V,ke={unit:it.data,length:it.data.byteLength,dts:ut,pts:ut};$e.samples.push(ke),$e.length+=it.data.length}else P.e(this.TAG,`Flv: Unsupported AAC data type ${it.packetType}`)}else if(Oe===2){if(!ot.codec){let at=this._parseMP3AudioData(E,B+1,N-1,!0);if(at==null)return;ot.audioSampleRate=at.samplingRate,ot.channelCount=at.channelCount,ot.codec=at.codec,ot.originalCodec=at.originalCodec,ot.refSampleDuration=1152/ot.audioSampleRate*ot.timescale,P.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",ot);let vt=this._mediaInfo;vt.audioCodec=ot.codec,vt.audioSampleRate=ot.audioSampleRate,vt.audioChannelCount=ot.channelCount,vt.audioDataRate=at.bitRate,vt.hasVideo?vt.videoCodec!=null&&(vt.mimeType='video/x-flv; codecs="'+vt.videoCodec+","+vt.audioCodec+'"'):vt.mimeType='video/x-flv; codecs="'+vt.audioCodec+'"',vt.isComplete()&&this._onMediaInfo(vt)}let it=this._parseMP3AudioData(E,B+1,N-1,!1);if(it==null)return;let ut=this._timestampBase+V,ke={unit:it,length:it.byteLength,dts:ut,pts:ut};$e.samples.push(ke),$e.length+=it.length}}_parseAACAudioData(E,B,N){if(N<=1){P.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");return}let V={},J=new Uint8Array(E,B,N);return V.packetType=J[0],J[0]===0?V.data=this._parseAACAudioSpecificConfig(E,B+1,N-1):V.data=J.subarray(1),V}_parseAACAudioSpecificConfig(E,B,N){let V=new Uint8Array(E,B,N),J=null,ue=0,ce=0,Oe=null,Se=0,ze=null;if(ue=ce=V[0]>>>3,Se=(V[0]&7)<<1|V[1]>>>7,Se<0||Se>=this._mpegSamplingRates.length){this._onError(He.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");return}let je=this._mpegSamplingRates[Se],rt=(V[1]&120)>>>3;if(rt<0||rt>=8){this._onError(He.FORMAT_ERROR,"Flv: AAC invalid channel configuration");return}ue===5&&(ze=(V[1]&7)<<1|V[2]>>>7,Oe=(V[2]&124)>>>2);let ot=self.navigator.userAgent.toLowerCase();return ot.indexOf("firefox")!==-1?Se>=6?(ue=5,J=new Array(4),ze=Se-3):(ue=2,J=new Array(2),ze=Se):ot.indexOf("android")!==-1?(ue=2,J=new Array(2),ze=Se):(ue=5,ze=Se,J=new Array(4),Se>=6?ze=Se-3:rt===1&&(ue=2,J=new Array(2),ze=Se)),J[0]=ue<<3,J[0]|=(Se&15)>>>1,J[1]=(Se&15)<<7,J[1]|=(rt&15)<<3,ue===5&&(J[1]|=(ze&15)>>>1,J[2]=(ze&1)<<7,J[2]|=8,J[3]=0),{config:J,samplingRate:je,channelCount:rt,codec:"mp4a.40."+ue,originalCodec:"mp4a.40."+ce}}_parseMP3AudioData(E,B,N,V){if(N<4){P.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");return}let J=this._littleEndian,ue=new Uint8Array(E,B,N),ce=null;if(V){if(ue[0]!==255)return;let Oe=ue[1]>>>3&3,Se=(ue[1]&6)>>1,ze=(ue[2]&240)>>>4,je=(ue[2]&12)>>>2,ot=(ue[3]>>>6&3)!==3?2:1,$e=0,it=0,ut=34,ke="mp3";switch(Oe){case 0:$e=this._mpegAudioV25SampleRateTable[je];break;case 2:$e=this._mpegAudioV20SampleRateTable[je];break;case 3:$e=this._mpegAudioV10SampleRateTable[je];break}switch(Se){case 1:ut=34,ze<this._mpegAudioL3BitRateTable.length&&(it=this._mpegAudioL3BitRateTable[ze]);break;case 2:ut=33,ze<this._mpegAudioL2BitRateTable.length&&(it=this._mpegAudioL2BitRateTable[ze]);break;case 3:ut=32,ze<this._mpegAudioL1BitRateTable.length&&(it=this._mpegAudioL1BitRateTable[ze]);break}ce={bitRate:it,samplingRate:$e,channelCount:ot,codec:ke,originalCodec:ke}}else ce=ue;return ce}_parseVideoData(E,B,N,V,J){if(N<=1){P.w(this.TAG,"Flv: Invalid video packet, missing VideoData payload!");return}if(this._hasVideoFlagOverrided===!0&&this._hasVideo===!1)return;let ue=new Uint8Array(E,B,N)[0],ce=(ue&240)>>>4,Oe=ue&15;if(Oe!==7){this._onError(He.CODEC_UNSUPPORTED,`Flv: Unsupported codec in video frame: ${Oe}`);return}this._parseAVCVideoPacket(E,B+1,N-1,V,J,ce)}_parseAVCVideoPacket(E,B,N,V,J,ue){if(N<4){P.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");return}let ce=this._littleEndian,Oe=new DataView(E,B,N),Se=Oe.getUint8(0),je=(Oe.getUint32(0,!ce)&16777215)<<8>>8;if(Se===0)this._parseAVCDecoderConfigurationRecord(E,B+4,N-4);else if(Se===1)this._parseAVCVideoData(E,B+4,N-4,V,J,ue,je);else if(Se!==2){this._onError(He.FORMAT_ERROR,`Flv: Invalid video packet type ${Se}`);return}}_parseAVCDecoderConfigurationRecord(E,B,N){if(N<7){P.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");return}let V=this._videoMetadata,J=this._videoTrack,ue=this._littleEndian,ce=new DataView(E,B,N);V?typeof V.avcc!="undefined"&&P.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(this._hasVideo===!1&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),V=this._videoMetadata={},V.type="video",V.id=J.id,V.timescale=this._timescale,V.duration=this._duration);let Oe=ce.getUint8(0),Se=ce.getUint8(1),ze=ce.getUint8(2),je=ce.getUint8(3);if(Oe!==1||Se===0){this._onError(He.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");return}if(this._naluLengthSize=(ce.getUint8(4)&3)+1,this._naluLengthSize!==3&&this._naluLengthSize!==4){this._onError(He.FORMAT_ERROR,`Flv: Strange NaluLengthSizeMinusOne: ${this._naluLengthSize-1}`);return}let rt=ce.getUint8(5)&31;if(rt===0){this._onError(He.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");return}else rt>1&&P.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ${rt}`);let ot=6;for(let it=0;it<rt;it++){let ut=ce.getUint16(ot,!ue);if(ot+=2,ut===0)continue;let ke=new Uint8Array(E,B+ot,ut);ot+=ut;let at=Ve.parseSPS(ke);if(it!==0)continue;V.codecWidth=at.codec_size.width,V.codecHeight=at.codec_size.height,V.presentWidth=at.present_size.width,V.presentHeight=at.present_size.height,V.profile=at.profile_string,V.level=at.level_string,V.bitDepth=at.bit_depth,V.chromaFormat=at.chroma_format,V.sarRatio=at.sar_ratio,V.frameRate=at.frame_rate,(at.frame_rate.fixed===!1||at.frame_rate.fps_num===0||at.frame_rate.fps_den===0)&&(V.frameRate=this._referenceFrameRate);let vt=V.frameRate.fps_den,Pt=V.frameRate.fps_num;V.refSampleDuration=V.timescale*(vt/Pt);let kt=ke.subarray(1,4),Zt="avc1.";for(let Bt=0;Bt<3;Bt++){let Vt=kt[Bt].toString(16);Vt.length<2&&(Vt="0"+Vt),Zt+=Vt}V.codec=Zt;let Ct=this._mediaInfo;Ct.width=V.codecWidth,Ct.height=V.codecHeight,Ct.fps=V.frameRate.fps,Ct.profile=V.profile,Ct.level=V.level,Ct.refFrames=at.ref_frames,Ct.chromaFormat=at.chroma_format_string,Ct.sarNum=V.sarRatio.width,Ct.sarDen=V.sarRatio.height,Ct.videoCodec=Zt,Ct.hasAudio?Ct.audioCodec!=null&&(Ct.mimeType='video/x-flv; codecs="'+Ct.videoCodec+","+Ct.audioCodec+'"'):Ct.mimeType='video/x-flv; codecs="'+Ct.videoCodec+'"',Ct.isComplete()&&this._onMediaInfo(Ct)}let $e=ce.getUint8(ot);if($e===0){this._onError(He.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No PPS");return}else $e>1&&P.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ${$e}`);ot++;for(let it=0;it<$e;it++){let ut=ce.getUint16(ot,!ue);ot+=2,ut!==0&&(ot+=ut)}V.avcc=new Uint8Array(N),V.avcc.set(new Uint8Array(E,B,N),0),P.v(this.TAG,"Parsed AVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",V)}_parseAVCVideoData(E,B,N,V,J,ue,ce){let Oe=this._littleEndian,Se=new DataView(E,B,N),ze=[],je=0,rt=0;const ot=this._naluLengthSize;let $e=this._timestampBase+V,it=ue===1;for(;rt<N;){if(rt+4>=N){P.w(this.TAG,`Malformed Nalu near timestamp ${$e}, offset = ${rt}, dataSize = ${N}`);break}let ut=Se.getUint32(rt,!Oe);if(ot===3&&(ut>>>=8),ut>N-ot){P.w(this.TAG,`Malformed Nalus near timestamp ${$e}, NaluSize > DataSize!`);return}let ke=Se.getUint8(rt+ot)&31;ke===5&&(it=!0);let at=new Uint8Array(E,B+rt,ot+ut),vt={type:ke,data:at};ze.push(vt),je+=at.byteLength,rt+=ot+ut}if(ze.length){let ut=this._videoTrack,ke={units:ze,length:je,isKeyframe:it,dts:$e,cts:ce,pts:$e+ce};it&&(ke.fileposition=J),ut.samples.push(ke),ut.length+=je}}}var Ge=Re;class Le{static init(){Le.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]};for(let B in Le.types)Le.types.hasOwnProperty(B)&&(Le.types[B]=[B.charCodeAt(0),B.charCodeAt(1),B.charCodeAt(2),B.charCodeAt(3)]);let E=Le.constants={};E.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),E.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),E.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),E.STSC=E.STCO=E.STTS,E.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),E.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),E.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),E.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),E.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),E.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(E){let B=8,N=null,V=Array.prototype.slice.call(arguments,1),J=V.length;for(let ce=0;ce<J;ce++)B+=V[ce].byteLength;N=new Uint8Array(B),N[0]=B>>>24&255,N[1]=B>>>16&255,N[2]=B>>>8&255,N[3]=B&255,N.set(E,4);let ue=8;for(let ce=0;ce<J;ce++)N.set(V[ce],ue),ue+=V[ce].byteLength;return N}static generateInitSegment(E){let B=Le.box(Le.types.ftyp,Le.constants.FTYP),N=Le.moov(E),V=new Uint8Array(B.byteLength+N.byteLength);return V.set(B,0),V.set(N,B.byteLength),V}static moov(E){let B=Le.mvhd(E.timescale,E.duration),N=Le.trak(E),V=Le.mvex(E);return Le.box(Le.types.moov,B,N,V)}static mvhd(E,B){return Le.box(Le.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,E>>>24&255,E>>>16&255,E>>>8&255,E&255,B>>>24&255,B>>>16&255,B>>>8&255,B&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(E){return Le.box(Le.types.trak,Le.tkhd(E),Le.mdia(E))}static tkhd(E){let B=E.id,N=E.duration,V=E.presentWidth,J=E.presentHeight;return Le.box(Le.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,B>>>24&255,B>>>16&255,B>>>8&255,B&255,0,0,0,0,N>>>24&255,N>>>16&255,N>>>8&255,N&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,V>>>8&255,V&255,0,0,J>>>8&255,J&255,0,0]))}static mdia(E){return Le.box(Le.types.mdia,Le.mdhd(E),Le.hdlr(E),Le.minf(E))}static mdhd(E){let B=E.timescale,N=E.duration;return Le.box(Le.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,B>>>24&255,B>>>16&255,B>>>8&255,B&255,N>>>24&255,N>>>16&255,N>>>8&255,N&255,85,196,0,0]))}static hdlr(E){let B=null;return E.type==="audio"?B=Le.constants.HDLR_AUDIO:B=Le.constants.HDLR_VIDEO,Le.box(Le.types.hdlr,B)}static minf(E){let B=null;return E.type==="audio"?B=Le.box(Le.types.smhd,Le.constants.SMHD):B=Le.box(Le.types.vmhd,Le.constants.VMHD),Le.box(Le.types.minf,B,Le.dinf(),Le.stbl(E))}static dinf(){return Le.box(Le.types.dinf,Le.box(Le.types.dref,Le.constants.DREF))}static stbl(E){return Le.box(Le.types.stbl,Le.stsd(E),Le.box(Le.types.stts,Le.constants.STTS),Le.box(Le.types.stsc,Le.constants.STSC),Le.box(Le.types.stsz,Le.constants.STSZ),Le.box(Le.types.stco,Le.constants.STCO))}static stsd(E){return E.type==="audio"?E.codec==="mp3"?Le.box(Le.types.stsd,Le.constants.STSD_PREFIX,Le.mp3(E)):Le.box(Le.types.stsd,Le.constants.STSD_PREFIX,Le.mp4a(E)):Le.box(Le.types.stsd,Le.constants.STSD_PREFIX,Le.avc1(E))}static mp3(E){let B=E.channelCount,N=E.audioSampleRate,V=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,B,0,16,0,0,0,0,N>>>8&255,N&255,0,0]);return Le.box(Le.types[".mp3"],V)}static mp4a(E){let B=E.channelCount,N=E.audioSampleRate,V=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,B,0,16,0,0,0,0,N>>>8&255,N&255,0,0]);return Le.box(Le.types.mp4a,V,Le.esds(E))}static esds(E){let B=E.config||[],N=B.length,V=new Uint8Array([0,0,0,0,3,23+N,0,1,0,4,15+N,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([N]).concat(B).concat([6,1,2]));return Le.box(Le.types.esds,V)}static avc1(E){let B=E.avcc,N=E.codecWidth,V=E.codecHeight,J=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,N>>>8&255,N&255,V>>>8&255,V&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Le.box(Le.types.avc1,J,Le.box(Le.types.avcC,B))}static mvex(E){return Le.box(Le.types.mvex,Le.trex(E))}static trex(E){let B=E.id,N=new Uint8Array([0,0,0,0,B>>>24&255,B>>>16&255,B>>>8&255,B&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return Le.box(Le.types.trex,N)}static moof(E,B){return Le.box(Le.types.moof,Le.mfhd(E.sequenceNumber),Le.traf(E,B))}static mfhd(E){let B=new Uint8Array([0,0,0,0,E>>>24&255,E>>>16&255,E>>>8&255,E&255]);return Le.box(Le.types.mfhd,B)}static traf(E,B){let N=E.id,V=Le.box(Le.types.tfhd,new Uint8Array([0,0,0,0,N>>>24&255,N>>>16&255,N>>>8&255,N&255])),J=Le.box(Le.types.tfdt,new Uint8Array([0,0,0,0,B>>>24&255,B>>>16&255,B>>>8&255,B&255])),ue=Le.sdtp(E),ce=Le.trun(E,ue.byteLength+16+16+8+16+8+8);return Le.box(Le.types.traf,V,J,ce,ue)}static sdtp(E){let B=E.samples||[],N=B.length,V=new Uint8Array(4+N);for(let J=0;J<N;J++){let ue=B[J].flags;V[J+4]=ue.isLeading<<6|ue.dependsOn<<4|ue.isDependedOn<<2|ue.hasRedundancy}return Le.box(Le.types.sdtp,V)}static trun(E,B){let N=E.samples||[],V=N.length,J=12+16*V,ue=new Uint8Array(J);B+=8+J,ue.set([0,0,15,1,V>>>24&255,V>>>16&255,V>>>8&255,V&255,B>>>24&255,B>>>16&255,B>>>8&255,B&255],0);for(let ce=0;ce<V;ce++){let Oe=N[ce].duration,Se=N[ce].size,ze=N[ce].flags,je=N[ce].cts;ue.set([Oe>>>24&255,Oe>>>16&255,Oe>>>8&255,Oe&255,Se>>>24&255,Se>>>16&255,Se>>>8&255,Se&255,ze.isLeading<<2|ze.dependsOn,ze.isDependedOn<<6|ze.hasRedundancy<<4|ze.isNonSync,0,0,je>>>24&255,je>>>16&255,je>>>8&255,je&255],12+16*ce)}return Le.box(Le.types.trun,ue)}static mdat(E){return Le.box(Le.types.mdat,E)}}Le.init();var Ue=Le;class Qe{static getSilentFrame(E,B){if(E==="mp4a.40.2"){if(B===1)return new Uint8Array([0,200,0,128,35,128]);if(B===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(B===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(B===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(B===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(B===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(B===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(B===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(B===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}var et=Qe;class dt{constructor(E,B,N,V,J){this.dts=E,this.pts=B,this.duration=N,this.originalDts=V,this.isSyncPoint=J,this.fileposition=null}}class mt{constructor(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}appendSyncPoint(E){E.isSyncPoint=!0,this.syncPoints.push(E)}}class Tt{constructor(){this._list=[]}clear(){this._list=[]}appendArray(E){let B=this._list;E.length!==0&&(B.length>0&&E[0].originalDts<B[B.length-1].originalDts&&this.clear(),Array.prototype.push.apply(B,E))}getLastSyncPointBeforeDts(E){if(this._list.length==0)return null;let B=this._list,N=0,V=B.length-1,J=0,ue=0,ce=V;for(E<B[0].dts&&(N=0,ue=ce+1);ue<=ce;)if(J=ue+Math.floor((ce-ue)/2),J===V||E>=B[J].dts&&E<B[J+1].dts){N=J;break}else B[J].dts<E?ue=J+1:ce=J-1;return this._list[N]}}class At{constructor(E){this._type=E,this._list=[],this._lastAppendLocation=-1}get type(){return this._type}get length(){return this._list.length}isEmpty(){return this._list.length===0}clear(){this._list=[],this._lastAppendLocation=-1}_searchNearestSegmentBefore(E){let B=this._list;if(B.length===0)return-2;let N=B.length-1,V=0,J=0,ue=N,ce=0;if(E<B[0].originalBeginDts)return ce=-1,ce;for(;J<=ue;)if(V=J+Math.floor((ue-J)/2),V===N||E>B[V].lastSample.originalDts&&E<B[V+1].originalBeginDts){ce=V;break}else B[V].originalBeginDts<E?J=V+1:ue=V-1;return ce}_searchNearestSegmentAfter(E){return this._searchNearestSegmentBefore(E)+1}append(E){let B=this._list,N=E,V=this._lastAppendLocation,J=0;V!==-1&&V<B.length&&N.originalBeginDts>=B[V].lastSample.originalDts&&(V===B.length-1||V<B.length-1&&N.originalBeginDts<B[V+1].originalBeginDts)?J=V+1:B.length>0&&(J=this._searchNearestSegmentBefore(N.originalBeginDts)+1),this._lastAppendLocation=J,this._list.splice(J,0,N)}getLastSegmentBefore(E){let B=this._searchNearestSegmentBefore(E);return B>=0?this._list[B]:null}getLastSampleBefore(E){let B=this.getLastSegmentBefore(E);return B!=null?B.lastSample:null}getLastSyncPointBefore(E){let B=this._searchNearestSegmentBefore(E),N=this._list[B].syncPoints;for(;N.length===0&&B>0;)B--,N=this._list[B].syncPoints;return N.length>0?N[N.length-1]:null}}class Ye{constructor(E){this.TAG="MP4Remuxer",this._config=E,this._isLive=E.isLive===!0,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new At("audio"),this._videoSegmentInfoList=new At("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!!(S.chrome&&(S.version.major<50||S.version.major===50&&S.version.build<2661)),this._fillSilentAfterSeek=S.msedge||S.msie,this._mp3UseMpegAudio=!S.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}destroy(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}bindDataSource(E){return E.onDataAvailable=this.remux.bind(this),E.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}get onInitSegment(){return this._onInitSegment}set onInitSegment(E){this._onInitSegment=E}get onMediaSegment(){return this._onMediaSegment}set onMediaSegment(E){this._onMediaSegment=E}insertDiscontinuity(){this._audioNextDts=this._videoNextDts=void 0}seek(E){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}remux(E,B){if(!this._onMediaSegment)throw new _("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(E,B),this._remuxVideo(B),this._remuxAudio(E)}_onTrackMetadataReceived(E,B){let N=null,V="mp4",J=B.codec;if(E==="audio")this._audioMeta=B,B.codec==="mp3"&&this._mp3UseMpegAudio?(V="mpeg",J="",N=new Uint8Array):N=Ue.generateInitSegment(B);else if(E==="video")this._videoMeta=B,N=Ue.generateInitSegment(B);else return;if(!this._onInitSegment)throw new _("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(E,{type:E,data:N.buffer,codec:J,container:`${E}/${V}`,mediaDuration:B.duration})}_calculateDtsBase(E,B){this._dtsBaseInited||(E.samples&&E.samples.length&&(this._audioDtsBase=E.samples[0].dts),B.samples&&B.samples.length&&(this._videoDtsBase=B.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}flushStashedSamples(){let E=this._videoStashedLastSample,B=this._audioStashedLastSample,N={type:"video",id:1,sequenceNumber:0,samples:[],length:0};E!=null&&(N.samples.push(E),N.length=E.length);let V={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};B!=null&&(V.samples.push(B),V.length=B.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(N,!0),this._remuxAudio(V,!0)}_remuxAudio(E,B){if(this._audioMeta==null)return;let N=E,V=N.samples,J,ue=-1,ce=-1,Oe=-1,Se=this._audioMeta.refSampleDuration,ze=this._audioMeta.codec==="mp3"&&this._mp3UseMpegAudio,je=this._dtsBaseInited&&this._audioNextDts===void 0,rt=!1;if(!V||V.length===0||V.length===1&&!B)return;let ot=0,$e=null,it=0;ze?(ot=0,it=N.length):(ot=8,it=8+N.length);let ut=null;if(V.length>1&&(ut=V.pop(),it-=ut.length),this._audioStashedLastSample!=null){let Ct=this._audioStashedLastSample;this._audioStashedLastSample=null,V.unshift(Ct),it+=Ct.length}ut!=null&&(this._audioStashedLastSample=ut);let ke=V[0].dts-this._dtsBase;if(this._audioNextDts)J=ke-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())J=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&this._audioMeta.originalCodec!=="mp3"&&(rt=!0);else{let Ct=this._audioSegmentInfoList.getLastSampleBefore(ke);if(Ct!=null){let Bt=ke-(Ct.originalDts+Ct.duration);Bt<=3&&(Bt=0);let Vt=Ct.dts+Ct.duration+Bt;J=ke-Vt}else J=0}if(rt){let Ct=ke-J,Bt=this._videoSegmentInfoList.getLastSegmentBefore(ke);if(Bt!=null&&Bt.beginDts<Ct){let Vt=et.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(Vt){let lt=Bt.beginDts,wt=Ct-Bt.beginDts;P.v(this.TAG,`InsertPrefixSilentAudio: dts: ${lt}, duration: ${wt}`),V.unshift({unit:Vt,dts:lt,pts:lt}),it+=Vt.byteLength}}else rt=!1}let at=[];for(let Ct=0;Ct<V.length;Ct++){let Bt=V[Ct],Vt=Bt.unit,lt=Bt.dts-this._dtsBase,wt=lt-J;ue===-1&&(ue=wt);let Lt=0;Ct!==V.length-1?Lt=V[Ct+1].dts-this._dtsBase-J-wt:ut!=null?Lt=ut.dts-this._dtsBase-J-wt:at.length>=1?Lt=at[at.length-1].duration:Lt=Math.floor(Se);let It=!1,fn=null;if(Lt>Se*1.5&&this._audioMeta.codec!=="mp3"&&this._fillAudioTimestampGap&&!S.safari){It=!0;let Yt=Math.abs(Lt-Se),Qt=Math.ceil(Yt/Se),Jt=wt+Se;P.w(this.TAG,`Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: ${wt+Lt} ms, expected: ${wt+Math.round(Se)} ms, delta: ${Math.round(Yt)} ms, generate: ${Qt} frames`);let _n=et.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);_n==null&&(P.w(this.TAG,`Unable to generate silent frame for ${this._audioMeta.originalCodec} with ${this._audioMeta.channelCount} channels, repeat last frame`),_n=Vt),fn=[];for(let cn=0;cn<Qt;cn++){let Zn=Math.round(Jt);if(fn.length>0){let tn=fn[fn.length-1];tn.duration=Zn-tn.dts}let Nn={dts:Zn,pts:Zn,cts:0,unit:_n,size:_n.byteLength,duration:0,originalDts:lt,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};fn.push(Nn),it+=Nn.size,Jt+=Se}let yn=fn[fn.length-1];yn.duration=wt+Lt-yn.dts,Lt=Math.round(Se)}at.push({dts:wt,pts:wt,cts:0,unit:Bt.unit,size:Bt.unit.byteLength,duration:Lt,originalDts:lt,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),It&&at.push.apply(at,fn)}ze?$e=new Uint8Array(it):($e=new Uint8Array(it),$e[0]=it>>>24&255,$e[1]=it>>>16&255,$e[2]=it>>>8&255,$e[3]=it&255,$e.set(Ue.types.mdat,4));for(let Ct=0;Ct<at.length;Ct++){let Bt=at[Ct].unit;$e.set(Bt,ot),ot+=Bt.byteLength}let vt=at[at.length-1];ce=vt.dts+vt.duration,this._audioNextDts=ce;let Pt=new mt;Pt.beginDts=ue,Pt.endDts=ce,Pt.beginPts=ue,Pt.endPts=ce,Pt.originalBeginDts=at[0].originalDts,Pt.originalEndDts=vt.originalDts+vt.duration,Pt.firstSample=new dt(at[0].dts,at[0].pts,at[0].duration,at[0].originalDts,!1),Pt.lastSample=new dt(vt.dts,vt.pts,vt.duration,vt.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(Pt),N.samples=at,N.sequenceNumber++;let kt=null;ze?kt=new Uint8Array:kt=Ue.moof(N,ue),N.samples=[],N.length=0;let Zt={type:"audio",data:this._mergeBoxes(kt,$e).buffer,sampleCount:at.length,info:Pt};ze&&je&&(Zt.timestampOffset=ue),this._onMediaSegment("audio",Zt)}_remuxVideo(E,B){if(this._videoMeta==null)return;let N=E,V=N.samples,J,ue=-1,ce=-1,Oe=-1,Se=-1;if(!V||V.length===0||V.length===1&&!B)return;let ze=8,je=null,rt=8+E.length,ot=null;if(V.length>1&&(ot=V.pop(),rt-=ot.length),this._videoStashedLastSample!=null){let vt=this._videoStashedLastSample;this._videoStashedLastSample=null,V.unshift(vt),rt+=vt.length}ot!=null&&(this._videoStashedLastSample=ot);let $e=V[0].dts-this._dtsBase;if(this._videoNextDts)J=$e-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())J=0;else{let vt=this._videoSegmentInfoList.getLastSampleBefore($e);if(vt!=null){let Pt=$e-(vt.originalDts+vt.duration);Pt<=3&&(Pt=0);let kt=vt.dts+vt.duration+Pt;J=$e-kt}else J=0}let it=new mt,ut=[];for(let vt=0;vt<V.length;vt++){let Pt=V[vt],kt=Pt.dts-this._dtsBase,Zt=Pt.isKeyframe,Ct=kt-J,Bt=Pt.cts,Vt=Ct+Bt;ue===-1&&(ue=Ct,Oe=Vt);let lt=0;if(vt!==V.length-1?lt=V[vt+1].dts-this._dtsBase-J-Ct:ot!=null?lt=ot.dts-this._dtsBase-J-Ct:ut.length>=1?lt=ut[ut.length-1].duration:lt=Math.floor(this._videoMeta.refSampleDuration),Zt){let wt=new dt(Ct,Vt,lt,Pt.dts,!0);wt.fileposition=Pt.fileposition,it.appendSyncPoint(wt)}ut.push({dts:Ct,pts:Vt,cts:Bt,units:Pt.units,size:Pt.length,isKeyframe:Zt,duration:lt,originalDts:kt,flags:{isLeading:0,dependsOn:Zt?2:1,isDependedOn:Zt?1:0,hasRedundancy:0,isNonSync:Zt?0:1}})}je=new Uint8Array(rt),je[0]=rt>>>24&255,je[1]=rt>>>16&255,je[2]=rt>>>8&255,je[3]=rt&255,je.set(Ue.types.mdat,4);for(let vt=0;vt<ut.length;vt++){let Pt=ut[vt].units;for(;Pt.length;){let Zt=Pt.shift().data;je.set(Zt,ze),ze+=Zt.byteLength}}let ke=ut[ut.length-1];if(ce=ke.dts+ke.duration,Se=ke.pts+ke.duration,this._videoNextDts=ce,it.beginDts=ue,it.endDts=ce,it.beginPts=Oe,it.endPts=Se,it.originalBeginDts=ut[0].originalDts,it.originalEndDts=ke.originalDts+ke.duration,it.firstSample=new dt(ut[0].dts,ut[0].pts,ut[0].duration,ut[0].originalDts,ut[0].isKeyframe),it.lastSample=new dt(ke.dts,ke.pts,ke.duration,ke.originalDts,ke.isKeyframe),this._isLive||this._videoSegmentInfoList.append(it),N.samples=ut,N.sequenceNumber++,this._forceFirstIDR){let vt=ut[0].flags;vt.dependsOn=2,vt.isNonSync=0}let at=Ue.moof(N,ue);N.samples=[],N.length=0,this._onMediaSegment("video",{type:"video",data:this._mergeBoxes(at,je).buffer,sampleCount:ut.length,info:it})}_mergeBoxes(E,B){let N=new Uint8Array(E.byteLength+B.byteLength);return N.set(E,0),N.set(B,E.byteLength),N}}var ft=Ye,_t={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"};class Ot{constructor(E,B){this.TAG="TransmuxingController",this._emitter=new(b()),this._config=B,E.segments||(E.segments=[{duration:E.duration,filesize:E.filesize,url:E.url}]),typeof E.cors!="boolean"&&(E.cors=!0),typeof E.withCredentials!="boolean"&&(E.withCredentials=!1),this._mediaDataSource=E,this._currentSegmentIndex=0;let N=0;this._mediaDataSource.segments.forEach(V=>{V.timestampBase=N,N+=V.duration,V.cors=E.cors,V.withCredentials=E.withCredentials,B.referrerPolicy&&(V.referrerPolicy=B.referrerPolicy)}),!isNaN(N)&&this._mediaDataSource.duration!==N&&(this._mediaDataSource.duration=N),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}destroy(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}on(E,B){this._emitter.addListener(E,B)}off(E,B){this._emitter.removeListener(E,B)}start(){this._loadSegment(0),this._enableStatisticsReporter()}_loadSegment(E,B){this._currentSegmentIndex=E;let N=this._mediaDataSource.segments[E],V=this._ioctl=new ne(N,this._config,E);V.onError=this._onIOException.bind(this),V.onSeeked=this._onIOSeeked.bind(this),V.onComplete=this._onIOComplete.bind(this),V.onRedirect=this._onIORedirect.bind(this),V.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),B?this._demuxer.bindDataSource(this._ioctl):V.onDataArrival=this._onInitChunkArrival.bind(this),V.open(B)}stop(){this._internalAbort(),this._disableStatisticsReporter()}_internalAbort(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}pause(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}resume(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}seek(E){if(this._mediaInfo==null||!this._mediaInfo.isSeekable())return;let B=this._searchSegmentIndexContains(E);if(B===this._currentSegmentIndex){let N=this._mediaInfo.segments[B];if(N==null)this._pendingSeekTime=E;else{let V=N.getNearestKeyframe(E);this._remuxer.seek(V.milliseconds),this._ioctl.seek(V.fileposition),this._pendingResolveSeekPoint=V.milliseconds}}else{let N=this._mediaInfo.segments[B];if(N==null)this._pendingSeekTime=E,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(B);else{let V=N.getNearestKeyframe(E);this._internalAbort(),this._remuxer.seek(E),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[B].timestampBase,this._loadSegment(B,V.fileposition),this._pendingResolveSeekPoint=V.milliseconds,this._reportSegmentMediaInfo(B)}}this._enableStatisticsReporter()}_searchSegmentIndexContains(E){let B=this._mediaDataSource.segments,N=B.length-1;for(let V=0;V<B.length;V++)if(E<B[V].timestampBase){N=V-1;break}return N}_onInitChunkArrival(E,B){let N=null,V=0;if(B>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,V=this._demuxer.parseChunks(E,B);else if((N=Ge.probe(E)).match){this._demuxer=new Ge(N,this._config),this._remuxer||(this._remuxer=new ft(this._config));let J=this._mediaDataSource;J.duration!=null&&!isNaN(J.duration)&&(this._demuxer.overridedDuration=J.duration),typeof J.hasAudio=="boolean"&&(this._demuxer.overridedHasAudio=J.hasAudio),typeof J.hasVideo=="boolean"&&(this._demuxer.overridedHasVideo=J.hasVideo),this._demuxer.timestampBase=J.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),V=this._demuxer.parseChunks(E,B)}else N=null,P.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(()=>{this._internalAbort()}),this._emitter.emit(_t.DEMUX_ERROR,He.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),V=0;return V}_onMediaInfo(E){this._mediaInfo==null&&(this._mediaInfo=Object.assign({},E),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,Ne.prototype));let B=Object.assign({},E);Object.setPrototypeOf(B,Ne.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=B,this._reportSegmentMediaInfo(this._currentSegmentIndex),this._pendingSeekTime!=null&&Promise.resolve().then(()=>{let N=this._pendingSeekTime;this._pendingSeekTime=null,this.seek(N)})}_onMetaDataArrived(E){this._emitter.emit(_t.METADATA_ARRIVED,E)}_onScriptDataArrived(E){this._emitter.emit(_t.SCRIPTDATA_ARRIVED,E)}_onIOSeeked(){this._remuxer.insertDiscontinuity()}_onIOComplete(E){let N=E+1;N<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(N)):(this._remuxer.flushStashedSamples(),this._emitter.emit(_t.LOADING_COMPLETE),this._disableStatisticsReporter())}_onIORedirect(E){let B=this._ioctl.extraData;this._mediaDataSource.segments[B].redirectedURL=E}_onIORecoveredEarlyEof(){this._emitter.emit(_t.RECOVERED_EARLY_EOF)}_onIOException(E,B){P.e(this.TAG,`IOException: type = ${E}, code = ${B.code}, msg = ${B.msg}`),this._emitter.emit(_t.IO_ERROR,E,B),this._disableStatisticsReporter()}_onDemuxException(E,B){P.e(this.TAG,`DemuxException: type = ${E}, info = ${B}`),this._emitter.emit(_t.DEMUX_ERROR,E,B)}_onRemuxerInitSegmentArrival(E,B){this._emitter.emit(_t.INIT_SEGMENT,E,B)}_onRemuxerMediaSegmentArrival(E,B){if(this._pendingSeekTime==null&&(this._emitter.emit(_t.MEDIA_SEGMENT,E,B),this._pendingResolveSeekPoint!=null&&E==="video")){let N=B.info.syncPoints,V=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,S.safari&&N.length>0&&N[0].originalDts===V&&(V=N[0].pts),this._emitter.emit(_t.RECOMMEND_SEEKPOINT,V)}}_enableStatisticsReporter(){this._statisticsReporter==null&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}_disableStatisticsReporter(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}_reportSegmentMediaInfo(E){let B=this._mediaInfo.segments[E],N=Object.assign({},B);N.duration=this._mediaInfo.duration,N.segmentCount=this._mediaInfo.segmentCount,delete N.segments,delete N.keyframesIndex,this._emitter.emit(_t.MEDIA_INFO,N)}_reportStatisticsInfo(){let E={};E.url=this._ioctl.currentURL,E.hasRedirect=this._ioctl.hasRedirect,E.hasRedirect&&(E.redirectedURL=this._ioctl.currentRedirectedURL),E.speed=this._ioctl.currentSpeed,E.loaderType=this._ioctl.loaderType,E.currentSegmentIndex=this._currentSegmentIndex,E.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(_t.STATISTICS_INFO,E)}}var Wt=Ot,zt=function(me){let E="TransmuxingWorker",B=null,N=it.bind(this);q.install(),me.addEventListener("message",function(ut){switch(ut.data.cmd){case"init":B=new Wt(ut.data.param[0],ut.data.param[1]),B.on(_t.IO_ERROR,rt.bind(this)),B.on(_t.DEMUX_ERROR,ot.bind(this)),B.on(_t.INIT_SEGMENT,V.bind(this)),B.on(_t.MEDIA_SEGMENT,J.bind(this)),B.on(_t.LOADING_COMPLETE,ue.bind(this)),B.on(_t.RECOVERED_EARLY_EOF,ce.bind(this)),B.on(_t.MEDIA_INFO,Oe.bind(this)),B.on(_t.METADATA_ARRIVED,Se.bind(this)),B.on(_t.SCRIPTDATA_ARRIVED,ze.bind(this)),B.on(_t.STATISTICS_INFO,je.bind(this)),B.on(_t.RECOMMEND_SEEKPOINT,$e.bind(this));break;case"destroy":B&&(B.destroy(),B=null),me.postMessage({msg:"destroyed"});break;case"start":B.start();break;case"stop":B.stop();break;case"seek":B.seek(ut.data.param);break;case"pause":B.pause();break;case"resume":B.resume();break;case"logging_config":{let ke=ut.data.param;xe.applyConfig(ke),ke.enableCallback===!0?xe.addLogListener(N):xe.removeLogListener(N);break}}});function V(ut,ke){let at={msg:_t.INIT_SEGMENT,data:{type:ut,data:ke}};me.postMessage(at,[ke.data])}function J(ut,ke){let at={msg:_t.MEDIA_SEGMENT,data:{type:ut,data:ke}};me.postMessage(at,[ke.data])}function ue(){let ut={msg:_t.LOADING_COMPLETE};me.postMessage(ut)}function ce(){let ut={msg:_t.RECOVERED_EARLY_EOF};me.postMessage(ut)}function Oe(ut){let ke={msg:_t.MEDIA_INFO,data:ut};me.postMessage(ke)}function Se(ut){let ke={msg:_t.METADATA_ARRIVED,data:ut};me.postMessage(ke)}function ze(ut){let ke={msg:_t.SCRIPTDATA_ARRIVED,data:ut};me.postMessage(ke)}function je(ut){let ke={msg:_t.STATISTICS_INFO,data:ut};me.postMessage(ke)}function rt(ut,ke){me.postMessage({msg:_t.IO_ERROR,data:{type:ut,info:ke}})}function ot(ut,ke){me.postMessage({msg:_t.DEMUX_ERROR,data:{type:ut,info:ke}})}function $e(ut){me.postMessage({msg:_t.RECOMMEND_SEEKPOINT,data:ut})}function it(ut,ke){me.postMessage({msg:"logcat_callback",data:{type:ut,logcat:ke}})}};class $t{constructor(E,B){if(this.TAG="Transmuxer",this._emitter=new(b()),B.enableWorker&&typeof Worker!="undefined")try{let N=Z(82059);this._worker=N(zt),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[E,B]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},xe.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:xe.getConfig()})}catch(N){P.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new Wt(E,B)}else this._controller=new Wt(E,B);if(this._controller){let N=this._controller;N.on(_t.IO_ERROR,this._onIOError.bind(this)),N.on(_t.DEMUX_ERROR,this._onDemuxError.bind(this)),N.on(_t.INIT_SEGMENT,this._onInitSegment.bind(this)),N.on(_t.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),N.on(_t.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),N.on(_t.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),N.on(_t.MEDIA_INFO,this._onMediaInfo.bind(this)),N.on(_t.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),N.on(_t.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),N.on(_t.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),N.on(_t.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}destroy(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),xe.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}on(E,B){this._emitter.addListener(E,B)}off(E,B){this._emitter.removeListener(E,B)}hasWorker(){return this._worker!=null}open(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()}close(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()}seek(E){this._worker?this._worker.postMessage({cmd:"seek",param:E}):this._controller.seek(E)}pause(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}resume(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}_onInitSegment(E,B){Promise.resolve().then(()=>{this._emitter.emit(_t.INIT_SEGMENT,E,B)})}_onMediaSegment(E,B){Promise.resolve().then(()=>{this._emitter.emit(_t.MEDIA_SEGMENT,E,B)})}_onLoadingComplete(){Promise.resolve().then(()=>{this._emitter.emit(_t.LOADING_COMPLETE)})}_onRecoveredEarlyEof(){Promise.resolve().then(()=>{this._emitter.emit(_t.RECOVERED_EARLY_EOF)})}_onMediaInfo(E){Promise.resolve().then(()=>{this._emitter.emit(_t.MEDIA_INFO,E)})}_onMetaDataArrived(E){Promise.resolve().then(()=>{this._emitter.emit(_t.METADATA_ARRIVED,E)})}_onScriptDataArrived(E){Promise.resolve().then(()=>{this._emitter.emit(_t.SCRIPTDATA_ARRIVED,E)})}_onStatisticsInfo(E){Promise.resolve().then(()=>{this._emitter.emit(_t.STATISTICS_INFO,E)})}_onIOError(E,B){Promise.resolve().then(()=>{this._emitter.emit(_t.IO_ERROR,E,B)})}_onDemuxError(E,B){Promise.resolve().then(()=>{this._emitter.emit(_t.DEMUX_ERROR,E,B)})}_onRecommendSeekpoint(E){Promise.resolve().then(()=>{this._emitter.emit(_t.RECOMMEND_SEEKPOINT,E)})}_onLoggingConfigChanged(E){this._worker&&this._worker.postMessage({cmd:"logging_config",param:E})}_onWorkerMessage(E){let B=E.data,N=B.data;if(B.msg==="destroyed"||this._workerDestroying){this._workerDestroying=!1,this._worker.terminate(),this._worker=null;return}switch(B.msg){case _t.INIT_SEGMENT:case _t.MEDIA_SEGMENT:this._emitter.emit(B.msg,N.type,N.data);break;case _t.LOADING_COMPLETE:case _t.RECOVERED_EARLY_EOF:this._emitter.emit(B.msg);break;case _t.MEDIA_INFO:Object.setPrototypeOf(N,Ne.prototype),this._emitter.emit(B.msg,N);break;case _t.METADATA_ARRIVED:case _t.SCRIPTDATA_ARRIVED:case _t.STATISTICS_INFO:this._emitter.emit(B.msg,N);break;case _t.IO_ERROR:case _t.DEMUX_ERROR:this._emitter.emit(B.msg,N.type,N.info);break;case _t.RECOMMEND_SEEKPOINT:this._emitter.emit(B.msg,N);break;case"logcat_callback":P.emitter.emit("log",N.type,N.logcat);break;default:break}}}var pn=$t,un={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};class On{constructor(E){this.TAG="MSEController",this._config=E,this._emitter=new(b()),this._config.isLive&&this._config.autoCleanupSourceBuffer==null&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new Tt}destroy(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}on(E,B){this._emitter.addListener(E,B)}off(E,B){this._emitter.removeListener(E,B)}attachMediaElement(E){if(this._mediaSource)throw new _("MediaSource has been attached to an HTMLMediaElement!");let B=this._mediaSource=new window.MediaSource;B.addEventListener("sourceopen",this.e.onSourceOpen),B.addEventListener("sourceended",this.e.onSourceEnded),B.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=E,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),E.src=this._mediaSourceObjectURL}detachMediaElement(){if(this._mediaSource){let E=this._mediaSource;for(let B in this._sourceBuffers){let N=this._pendingSegments[B];N.splice(0,N.length),this._pendingSegments[B]=null,this._pendingRemoveRanges[B]=null,this._lastInitSegments[B]=null;let V=this._sourceBuffers[B];if(V){if(E.readyState!=="closed"){try{E.removeSourceBuffer(V)}catch(J){P.e(this.TAG,J.message)}V.removeEventListener("error",this.e.onSourceBufferError),V.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[B]=null,this._sourceBuffers[B]=null}}if(E.readyState==="open")try{E.endOfStream()}catch(B){P.e(this.TAG,B.message)}E.removeEventListener("sourceopen",this.e.onSourceOpen),E.removeEventListener("sourceended",this.e.onSourceEnded),E.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}appendInitSegment(E,B){if(!this._mediaSource||this._mediaSource.readyState!=="open"){this._pendingSourceBufferInit.push(E),this._pendingSegments[E.type].push(E);return}let N=E,V=`${N.container}`;N.codec&&N.codec.length>0&&(V+=`;codecs=${N.codec}`);let J=!1;if(P.v(this.TAG,"Received Initialization Segment, mimeType: "+V),this._lastInitSegments[N.type]=N,V!==this._mimeTypes[N.type]){if(this._mimeTypes[N.type])P.v(this.TAG,`Notice: ${N.type} mimeType changed, origin: ${this._mimeTypes[N.type]}, target: ${V}`);else{J=!0;try{let ue=this._sourceBuffers[N.type]=this._mediaSource.addSourceBuffer(V);ue.addEventListener("error",this.e.onSourceBufferError),ue.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(ue){P.e(this.TAG,ue.message),this._emitter.emit(un.ERROR,{code:ue.code,msg:ue.message});return}}this._mimeTypes[N.type]=V}B||this._pendingSegments[N.type].push(N),J||this._sourceBuffers[N.type]&&!this._sourceBuffers[N.type].updating&&this._doAppendSegments(),S.safari&&N.container==="audio/mpeg"&&N.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=N.mediaDuration/1e3,this._updateMediaSourceDuration())}appendMediaSegment(E){let B=E;this._pendingSegments[B.type].push(B),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();let N=this._sourceBuffers[B.type];N&&!N.updating&&!this._hasPendingRemoveRanges()&&this._doAppendSegments()}seek(E){for(let B in this._sourceBuffers){if(!this._sourceBuffers[B])continue;let N=this._sourceBuffers[B];if(this._mediaSource.readyState==="open")try{N.abort()}catch(J){P.e(this.TAG,J.message)}this._idrList.clear();let V=this._pendingSegments[B];if(V.splice(0,V.length),this._mediaSource.readyState!=="closed"){for(let J=0;J<N.buffered.length;J++){let ue=N.buffered.start(J),ce=N.buffered.end(J);this._pendingRemoveRanges[B].push({start:ue,end:ce})}if(N.updating||this._doRemoveRanges(),S.safari){let J=this._lastInitSegments[B];J&&(this._pendingSegments[B].push(J),N.updating||this._doAppendSegments())}}}}endOfStream(){let E=this._mediaSource,B=this._sourceBuffers;if(!E||E.readyState!=="open"){E&&E.readyState==="closed"&&this._hasPendingSegments()&&(this._hasPendingEos=!0);return}B.video&&B.video.updating||B.audio&&B.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,E.endOfStream())}getNearestKeyframe(E){return this._idrList.getLastSyncPointBeforeDts(E)}_needCleanupSourceBuffer(){if(!this._config.autoCleanupSourceBuffer)return!1;let E=this._mediaElement.currentTime;for(let B in this._sourceBuffers){let N=this._sourceBuffers[B];if(N){let V=N.buffered;if(V.length>=1&&E-V.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}_doCleanupSourceBuffer(){let E=this._mediaElement.currentTime;for(let B in this._sourceBuffers){let N=this._sourceBuffers[B];if(N){let V=N.buffered,J=!1;for(let ue=0;ue<V.length;ue++){let ce=V.start(ue),Oe=V.end(ue);if(ce<=E&&E<Oe+3){if(E-ce>=this._config.autoCleanupMaxBackwardDuration){J=!0;let Se=E-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[B].push({start:ce,end:Se})}}else Oe<E&&(J=!0,this._pendingRemoveRanges[B].push({start:ce,end:Oe}))}J&&!N.updating&&this._doRemoveRanges()}}}_updateMediaSourceDuration(){let E=this._sourceBuffers;if(this._mediaElement.readyState===0||this._mediaSource.readyState!=="open"||E.video&&E.video.updating||E.audio&&E.audio.updating)return;let B=this._mediaSource.duration,N=this._pendingMediaDuration;N>0&&(isNaN(B)||N>B)&&(P.v(this.TAG,`Update MediaSource duration from ${B} to ${N}`),this._mediaSource.duration=N),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}_doRemoveRanges(){for(let E in this._pendingRemoveRanges){if(!this._sourceBuffers[E]||this._sourceBuffers[E].updating)continue;let B=this._sourceBuffers[E],N=this._pendingRemoveRanges[E];for(;N.length&&!B.updating;){let V=N.shift();B.remove(V.start,V.end)}}}_doAppendSegments(){let E=this._pendingSegments;for(let B in E)if(!(!this._sourceBuffers[B]||this._sourceBuffers[B].updating)&&E[B].length>0){let N=E[B].shift();if(N.timestampOffset){let V=this._sourceBuffers[B].timestampOffset,J=N.timestampOffset/1e3;Math.abs(V-J)>.1&&(P.v(this.TAG,`Update MPEG audio timestampOffset from ${V} to ${J}`),this._sourceBuffers[B].timestampOffset=J),delete N.timestampOffset}if(!N.data||N.data.byteLength===0)continue;try{this._sourceBuffers[B].appendBuffer(N.data),this._isBufferFull=!1,B==="video"&&N.hasOwnProperty("info")&&this._idrList.appendArray(N.info.syncPoints)}catch(V){this._pendingSegments[B].unshift(N),V.code===22?(this._isBufferFull||this._emitter.emit(un.BUFFER_FULL),this._isBufferFull=!0):(P.e(this.TAG,V.message),this._emitter.emit(un.ERROR,{code:V.code,msg:V.message}))}}}_onSourceOpen(){if(P.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0){let E=this._pendingSourceBufferInit;for(;E.length;){let B=E.shift();this.appendInitSegment(B,!0)}}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(un.SOURCE_OPEN)}_onSourceEnded(){P.v(this.TAG,"MediaSource onSourceEnded")}_onSourceClose(){P.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&this.e!=null&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))}_hasPendingSegments(){let E=this._pendingSegments;return E.video.length>0||E.audio.length>0}_hasPendingRemoveRanges(){let E=this._pendingRemoveRanges;return E.video.length>0||E.audio.length>0}_onSourceBufferUpdateEnd(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(un.UPDATE_END)}_onSourceBufferError(E){P.e(this.TAG,`SourceBuffer Error: ${E}`)}}var Mn=On;const Kt={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},rn={NETWORK_EXCEPTION:d.EXCEPTION,NETWORK_STATUS_CODE_INVALID:d.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:d.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:d.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:He.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:He.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:He.CODEC_UNSUPPORTED};class ln{constructor(E,B){if(this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new(b()),this._config=ae(),typeof B=="object"&&Object.assign(this._config,B),E.type.toLowerCase()!=="flv")throw new g("FlvPlayer requires an flv MediaDataSource input!");E.isLive===!0&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=E,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;let N=S.chrome&&(S.version.major<50||S.version.major===50&&S.version.build<2661);this._alwaysSeekKeyframe=!!(N||S.msedge||S.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}destroy(){this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(E,B){E===ye.MEDIA_INFO?this._mediaInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(ye.MEDIA_INFO,this.mediaInfo)}):E===ye.STATISTICS_INFO&&this._statisticsInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(ye.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(E,B)}off(E,B){this._emitter.removeListener(E,B)}attachMediaElement(E){if(this._mediaElement=E,E.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),E.addEventListener("seeking",this.e.onvSeeking),E.addEventListener("canplay",this.e.onvCanPlay),E.addEventListener("stalled",this.e.onvStalled),E.addEventListener("progress",this.e.onvProgress),this._msectl=new Mn(this._config),this._msectl.on(un.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(un.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(un.SOURCE_OPEN,()=>{this._mseSourceOpened=!0,this._hasPendingLoad&&(this._hasPendingLoad=!1,this.load())}),this._msectl.on(un.ERROR,B=>{this._emitter.emit(ye.ERROR,Kt.MEDIA_ERROR,rn.MEDIA_MSE_ERROR,B)}),this._msectl.attachMediaElement(E),this._pendingSeekTime!=null)try{E.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(B){}}detachMediaElement(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}load(){if(!this._mediaElement)throw new _("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new _("FlvPlayer.load() has been called, please call unload() first!");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&this._mseSourceOpened===!1){this._hasPendingLoad=!0;return}this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new pn(this._mediaDataSource,this._config),this._transmuxer.on(_t.INIT_SEGMENT,(E,B)=>{this._msectl.appendInitSegment(B)}),this._transmuxer.on(_t.MEDIA_SEGMENT,(E,B)=>{if(this._msectl.appendMediaSegment(B),this._config.lazyLoad&&!this._config.isLive){let N=this._mediaElement.currentTime;B.info.endDts>=(N+this._config.lazyLoadMaxDuration)*1e3&&this._progressChecker==null&&(P.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}),this._transmuxer.on(_t.LOADING_COMPLETE,()=>{this._msectl.endOfStream(),this._emitter.emit(ye.LOADING_COMPLETE)}),this._transmuxer.on(_t.RECOVERED_EARLY_EOF,()=>{this._emitter.emit(ye.RECOVERED_EARLY_EOF)}),this._transmuxer.on(_t.IO_ERROR,(E,B)=>{this._emitter.emit(ye.ERROR,Kt.NETWORK_ERROR,E,B)}),this._transmuxer.on(_t.DEMUX_ERROR,(E,B)=>{this._emitter.emit(ye.ERROR,Kt.MEDIA_ERROR,E,{code:-1,msg:B})}),this._transmuxer.on(_t.MEDIA_INFO,E=>{this._mediaInfo=E,this._emitter.emit(ye.MEDIA_INFO,Object.assign({},E))}),this._transmuxer.on(_t.METADATA_ARRIVED,E=>{this._emitter.emit(ye.METADATA_ARRIVED,E)}),this._transmuxer.on(_t.SCRIPTDATA_ARRIVED,E=>{this._emitter.emit(ye.SCRIPTDATA_ARRIVED,E)}),this._transmuxer.on(_t.STATISTICS_INFO,E=>{this._statisticsInfo=this._fillStatisticsInfo(E),this._emitter.emit(ye.STATISTICS_INFO,Object.assign({},this._statisticsInfo))}),this._transmuxer.on(_t.RECOMMEND_SEEKPOINT,E=>{this._mediaElement&&!this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=E/1e3)}),this._transmuxer.open()}}unload(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(E){this._mediaElement.volume=E}get muted(){return this._mediaElement.muted}set muted(E){this._mediaElement.muted=E}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(E){this._mediaElement?this._internalSeek(E):this._pendingSeekTime=E}get mediaInfo(){return Object.assign({},this._mediaInfo)}get statisticsInfo(){return this._statisticsInfo==null&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}_fillStatisticsInfo(E){if(E.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return E;let B=!0,N=0,V=0;if(this._mediaElement.getVideoPlaybackQuality){let J=this._mediaElement.getVideoPlaybackQuality();N=J.totalVideoFrames,V=J.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(N=this._mediaElement.webkitDecodedFrameCount,V=this._mediaElement.webkitDroppedFrameCount):B=!1;return B&&(E.decodedFrames=N,E.droppedFrames=V),E}_onmseUpdateEnd(){if(!this._config.lazyLoad||this._config.isLive)return;let E=this._mediaElement.buffered,B=this._mediaElement.currentTime,N=0,V=0;for(let J=0;J<E.length;J++){let ue=E.start(J),ce=E.end(J);if(ue<=B&&B<ce){N=ue,V=ce;break}}V>=B+this._config.lazyLoadMaxDuration&&this._progressChecker==null&&(P.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}_onmseBufferFull(){P.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),this._progressChecker==null&&this._suspendTransmuxer()}_suspendTransmuxer(){this._transmuxer&&(this._transmuxer.pause(),this._progressChecker==null&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}_checkProgressAndResume(){let E=this._mediaElement.currentTime,B=this._mediaElement.buffered,N=!1;for(let V=0;V<B.length;V++){let J=B.start(V),ue=B.end(V);if(E>=J&&E<ue){E>=ue-this._config.lazyLoadRecoverDuration&&(N=!0);break}}N&&(window.clearInterval(this._progressChecker),this._progressChecker=null,N&&(P.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}_isTimepointBuffered(E){let B=this._mediaElement.buffered;for(let N=0;N<B.length;N++){let V=B.start(N),J=B.end(N);if(E>=V&&E<J)return!0}return!1}_internalSeek(E){let B=this._isTimepointBuffered(E),N=!1,V=0;if(E<1&&this._mediaElement.buffered.length>0){let J=this._mediaElement.buffered.start(0);(J<1&&E<J||S.safari)&&(N=!0,V=S.safari?.1:J)}if(N)this._requestSetTime=!0,this._mediaElement.currentTime=V;else if(B){if(!this._alwaysSeekKeyframe)this._requestSetTime=!0,this._mediaElement.currentTime=E;else{let J=this._msectl.getNearestKeyframe(Math.floor(E*1e3));this._requestSetTime=!0,J!=null?this._mediaElement.currentTime=J.dts/1e3:this._mediaElement.currentTime=E}this._progressChecker!=null&&this._checkProgressAndResume()}else this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(E),this._transmuxer.seek(Math.floor(E*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=E)}_checkAndApplyUnbufferedSeekpoint(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){let E=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(E)||(this._progressChecker!=null&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(E),this._transmuxer.seek(Math.floor(E*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=E))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_checkAndResumeStuckPlayback(E){let B=this._mediaElement;if(E||!this._receivedCanPlay||B.readyState<2){let N=B.buffered;N.length>0&&B.currentTime<N.start(0)&&(P.w(this.TAG,`Playback seems stuck at ${B.currentTime}, seek to ${N.start(0)}`),this._requestSetTime=!0,this._mediaElement.currentTime=N.start(0),this._mediaElement.removeEventListener("progress",this.e.onvProgress))}else this._mediaElement.removeEventListener("progress",this.e.onvProgress)}_onvLoadedMetadata(E){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}_onvSeeking(E){let B=this._mediaElement.currentTime,N=this._mediaElement.buffered;if(this._requestSetTime){this._requestSetTime=!1;return}if(B<1&&N.length>0){let V=N.start(0);if(V<1&&B<V||S.safari){this._requestSetTime=!0,this._mediaElement.currentTime=S.safari?.1:V;return}}if(this._isTimepointBuffered(B)){if(this._alwaysSeekKeyframe){let V=this._msectl.getNearestKeyframe(Math.floor(B*1e3));V!=null&&(this._requestSetTime=!0,this._mediaElement.currentTime=V.dts/1e3)}this._progressChecker!=null&&this._checkProgressAndResume();return}this._seekpointRecord={seekPoint:B,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_onvCanPlay(E){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}_onvStalled(E){this._checkAndResumeStuckPlayback(!0)}_onvProgress(E){this._checkAndResumeStuckPlayback()}}var Gt=ln;class An{constructor(E,B){if(this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new(b()),this._config=ae(),typeof B=="object"&&Object.assign(this._config,B),E.type.toLowerCase()==="flv")throw new g("NativePlayer does't support flv MediaDataSource input!");if(E.hasOwnProperty("segments"))throw new g(`NativePlayer(${E.type}) doesn't support multipart playback!`);this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=E,this._mediaElement=null}destroy(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(E,B){E===ye.MEDIA_INFO?this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(ye.MEDIA_INFO,this.mediaInfo)}):E===ye.STATISTICS_INFO&&this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(ye.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(E,B)}off(E,B){this._emitter.removeListener(E,B)}attachMediaElement(E){if(this._mediaElement=E,E.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._pendingSeekTime!=null)try{E.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(B){}}detachMediaElement(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement=null),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}load(){if(!this._mediaElement)throw new _("HTMLMediaElement must be attached before load()!");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}unload(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(E){this._mediaElement.volume=E}get muted(){return this._mediaElement.muted}set muted(E){this._mediaElement.muted=E}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(E){this._mediaElement?this._mediaElement.currentTime=E:this._pendingSeekTime=E}get mediaInfo(){let B={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(B.duration=Math.floor(this._mediaElement.duration*1e3),this._mediaElement instanceof HTMLVideoElement&&(B.width=this._mediaElement.videoWidth,B.height=this._mediaElement.videoHeight)),B}get statisticsInfo(){let E={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return E;let B=!0,N=0,V=0;if(this._mediaElement.getVideoPlaybackQuality){let J=this._mediaElement.getVideoPlaybackQuality();N=J.totalVideoFrames,V=J.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(N=this._mediaElement.webkitDecodedFrameCount,V=this._mediaElement.webkitDroppedFrameCount):B=!1;return B&&(E.decodedFrames=N,E.droppedFrames=V),E}_onvLoadedMetadata(E){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(ye.MEDIA_INFO,this.mediaInfo)}_reportStatisticsInfo(){this._emitter.emit(ye.STATISTICS_INFO,this.statisticsInfo)}}var Dn=An;q.install();function hn(me,E){let B=me;if(B==null||typeof B!="object")throw new g("MediaDataSource must be an javascript object!");if(!B.hasOwnProperty("type"))throw new g("MediaDataSource must has type field to indicate video file type!");switch(B.type){case"flv":return new Gt(B,E);default:return new Dn(B,E)}}function In(){return se.supportMSEH264Playback()}function Un(){return se.getFeatureList()}let Cn={};Cn.createPlayer=hn,Cn.isSupported=In,Cn.getFeatureList=Un,Cn.BaseLoader=v,Cn.LoaderStatus=L,Cn.LoaderErrors=d,Cn.Events=ye,Cn.ErrorTypes=Kt,Cn.ErrorDetails=rn,Cn.FlvPlayer=Gt,Cn.NativePlayer=Dn,Cn.LoggingControl=xe,Object.defineProperty(Cn,"version",{enumerable:!0,get:function(){return"__VERSION__"}});var Ft=Cn},94138:function(Ae,Ce,Z){"use strict";var X,q=Object.defineProperty,H=me=>{throw TypeError(me)},b=Math.pow,z=(me,E,B)=>E in me?q(me,E,{enumerable:!0,configurable:!0,writable:!0,value:B}):me[E]=B,P=(me,E,B)=>z(me,typeof E!="symbol"?E+"":E,B),T=(me,E,B)=>E.has(me)||H("Cannot "+B),x=(me,E,B)=>(T(me,E,"read from private field"),B?B.call(me):E.get(me)),O=(me,E,B)=>E.has(me)?H("Cannot add the same private member more than once"):E instanceof WeakSet?E.add(me):E.set(me,B),_=(me,E,B,N)=>(T(me,E,"write to private field"),N?N.call(me,B):E.set(me,B),B),g=(me,E,B)=>(T(me,E,"access private method"),B),m,L,d;X={value:!0};var v=Z(34634),M=Z(34402);const w=" ".repeat(2),S=" ".repeat(4);function A(){return R(this)}function R(me,E={}){const{maxRows:B=15,maxColumns:N=10,maxNumSize:V=8,padMinus:J="auto"}=E;return`${me.constructor.name} {
${w}[
${S}${u(me,B,N,V,J)}
${w}]
${w}rows: ${me.rows}
${w}columns: ${me.columns}
}`}function u(me,E,B,N,V){const{rows:J,columns:ue}=me,ce=Math.min(J,E),Oe=Math.min(ue,B),Se=[];if(V==="auto"){V=!1;e:for(let ze=0;ze<ce;ze++)for(let je=0;je<Oe;je++)if(me.get(ze,je)<0){V=!0;break e}}for(let ze=0;ze<ce;ze++){let je=[];for(let rt=0;rt<Oe;rt++)je.push(f(me.get(ze,rt),N,V));Se.push(`${je.join(" ")}`)}return Oe!==ue&&(Se[Se.length-1]+=` ... ${ue-B} more columns`),ce!==J&&Se.push(`... ${J-E} more rows`),Se.join(`
${S}`)}function f(me,E,B){return(me>=0&&B?` ${y(me,E-1)}`:y(me,E)).padEnd(E)}function y(me,E){let B=me.toString();if(B.length<=E)return B;let N=me.toFixed(E);if(N.length>E&&(N=me.toFixed(Math.max(0,E-(N.length-E)))),N.length<=E&&!N.startsWith("0.000")&&!N.startsWith("-0.000"))return N;let V=me.toExponential(E);return V.length>E&&(V=me.toExponential(Math.max(0,E-(V.length-E)))),V.slice(0)}function D(me,E){me.prototype.add=function(N){return typeof N=="number"?this.addS(N):this.addM(N)},me.prototype.addS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)+N);return this},me.prototype.addM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)+N.get(V,J));return this},me.add=function(N,V){return new E(N).add(V)},me.prototype.sub=function(N){return typeof N=="number"?this.subS(N):this.subM(N)},me.prototype.subS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)-N);return this},me.prototype.subM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)-N.get(V,J));return this},me.sub=function(N,V){return new E(N).sub(V)},me.prototype.subtract=me.prototype.sub,me.prototype.subtractS=me.prototype.subS,me.prototype.subtractM=me.prototype.subM,me.subtract=me.sub,me.prototype.mul=function(N){return typeof N=="number"?this.mulS(N):this.mulM(N)},me.prototype.mulS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)*N);return this},me.prototype.mulM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)*N.get(V,J));return this},me.mul=function(N,V){return new E(N).mul(V)},me.prototype.multiply=me.prototype.mul,me.prototype.multiplyS=me.prototype.mulS,me.prototype.multiplyM=me.prototype.mulM,me.multiply=me.mul,me.prototype.div=function(N){return typeof N=="number"?this.divS(N):this.divM(N)},me.prototype.divS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)/N);return this},me.prototype.divM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)/N.get(V,J));return this},me.div=function(N,V){return new E(N).div(V)},me.prototype.divide=me.prototype.div,me.prototype.divideS=me.prototype.divS,me.prototype.divideM=me.prototype.divM,me.divide=me.div,me.prototype.mod=function(N){return typeof N=="number"?this.modS(N):this.modM(N)},me.prototype.modS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)%N);return this},me.prototype.modM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)%N.get(V,J));return this},me.mod=function(N,V){return new E(N).mod(V)},me.prototype.modulus=me.prototype.mod,me.prototype.modulusS=me.prototype.modS,me.prototype.modulusM=me.prototype.modM,me.modulus=me.mod,me.prototype.and=function(N){return typeof N=="number"?this.andS(N):this.andM(N)},me.prototype.andS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)&N);return this},me.prototype.andM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)&N.get(V,J));return this},me.and=function(N,V){return new E(N).and(V)},me.prototype.or=function(N){return typeof N=="number"?this.orS(N):this.orM(N)},me.prototype.orS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)|N);return this},me.prototype.orM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)|N.get(V,J));return this},me.or=function(N,V){return new E(N).or(V)},me.prototype.xor=function(N){return typeof N=="number"?this.xorS(N):this.xorM(N)},me.prototype.xorS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)^N);return this},me.prototype.xorM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)^N.get(V,J));return this},me.xor=function(N,V){return new E(N).xor(V)},me.prototype.leftShift=function(N){return typeof N=="number"?this.leftShiftS(N):this.leftShiftM(N)},me.prototype.leftShiftS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)<<N);return this},me.prototype.leftShiftM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)<<N.get(V,J));return this},me.leftShift=function(N,V){return new E(N).leftShift(V)},me.prototype.signPropagatingRightShift=function(N){return typeof N=="number"?this.signPropagatingRightShiftS(N):this.signPropagatingRightShiftM(N)},me.prototype.signPropagatingRightShiftS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)>>N);return this},me.prototype.signPropagatingRightShiftM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)>>N.get(V,J));return this},me.signPropagatingRightShift=function(N,V){return new E(N).signPropagatingRightShift(V)},me.prototype.rightShift=function(N){return typeof N=="number"?this.rightShiftS(N):this.rightShiftM(N)},me.prototype.rightShiftS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)>>>N);return this},me.prototype.rightShiftM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,this.get(V,J)>>>N.get(V,J));return this},me.rightShift=function(N,V){return new E(N).rightShift(V)},me.prototype.zeroFillRightShift=me.prototype.rightShift,me.prototype.zeroFillRightShiftS=me.prototype.rightShiftS,me.prototype.zeroFillRightShiftM=me.prototype.rightShiftM,me.zeroFillRightShift=me.rightShift,me.prototype.not=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,~this.get(N,V));return this},me.not=function(N){return new E(N).not()},me.prototype.abs=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.abs(this.get(N,V)));return this},me.abs=function(N){return new E(N).abs()},me.prototype.acos=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.acos(this.get(N,V)));return this},me.acos=function(N){return new E(N).acos()},me.prototype.acosh=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.acosh(this.get(N,V)));return this},me.acosh=function(N){return new E(N).acosh()},me.prototype.asin=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.asin(this.get(N,V)));return this},me.asin=function(N){return new E(N).asin()},me.prototype.asinh=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.asinh(this.get(N,V)));return this},me.asinh=function(N){return new E(N).asinh()},me.prototype.atan=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.atan(this.get(N,V)));return this},me.atan=function(N){return new E(N).atan()},me.prototype.atanh=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.atanh(this.get(N,V)));return this},me.atanh=function(N){return new E(N).atanh()},me.prototype.cbrt=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.cbrt(this.get(N,V)));return this},me.cbrt=function(N){return new E(N).cbrt()},me.prototype.ceil=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.ceil(this.get(N,V)));return this},me.ceil=function(N){return new E(N).ceil()},me.prototype.clz32=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.clz32(this.get(N,V)));return this},me.clz32=function(N){return new E(N).clz32()},me.prototype.cos=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.cos(this.get(N,V)));return this},me.cos=function(N){return new E(N).cos()},me.prototype.cosh=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.cosh(this.get(N,V)));return this},me.cosh=function(N){return new E(N).cosh()},me.prototype.exp=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.exp(this.get(N,V)));return this},me.exp=function(N){return new E(N).exp()},me.prototype.expm1=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.expm1(this.get(N,V)));return this},me.expm1=function(N){return new E(N).expm1()},me.prototype.floor=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.floor(this.get(N,V)));return this},me.floor=function(N){return new E(N).floor()},me.prototype.fround=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.fround(this.get(N,V)));return this},me.fround=function(N){return new E(N).fround()},me.prototype.log=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.log(this.get(N,V)));return this},me.log=function(N){return new E(N).log()},me.prototype.log1p=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.log1p(this.get(N,V)));return this},me.log1p=function(N){return new E(N).log1p()},me.prototype.log10=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.log10(this.get(N,V)));return this},me.log10=function(N){return new E(N).log10()},me.prototype.log2=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.log2(this.get(N,V)));return this},me.log2=function(N){return new E(N).log2()},me.prototype.round=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.round(this.get(N,V)));return this},me.round=function(N){return new E(N).round()},me.prototype.sign=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.sign(this.get(N,V)));return this},me.sign=function(N){return new E(N).sign()},me.prototype.sin=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.sin(this.get(N,V)));return this},me.sin=function(N){return new E(N).sin()},me.prototype.sinh=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.sinh(this.get(N,V)));return this},me.sinh=function(N){return new E(N).sinh()},me.prototype.sqrt=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.sqrt(this.get(N,V)));return this},me.sqrt=function(N){return new E(N).sqrt()},me.prototype.tan=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.tan(this.get(N,V)));return this},me.tan=function(N){return new E(N).tan()},me.prototype.tanh=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.tanh(this.get(N,V)));return this},me.tanh=function(N){return new E(N).tanh()},me.prototype.trunc=function(){for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.set(N,V,Math.trunc(this.get(N,V)));return this},me.trunc=function(N){return new E(N).trunc()},me.pow=function(N,V){return new E(N).pow(V)},me.prototype.pow=function(N){return typeof N=="number"?this.powS(N):this.powM(N)},me.prototype.powS=function(N){for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,b(this.get(V,J),N));return this},me.prototype.powM=function(N){if(N=E.checkMatrix(N),this.rows!==N.rows||this.columns!==N.columns)throw new RangeError("Matrices dimensions must be equal");for(let V=0;V<this.rows;V++)for(let J=0;J<this.columns;J++)this.set(V,J,b(this.get(V,J),N.get(V,J)));return this}}function I(me,E,B){let N=B?me.rows:me.rows-1;if(E<0||E>N)throw new RangeError("Row index out of range")}function U(me,E,B){let N=B?me.columns:me.columns-1;if(E<0||E>N)throw new RangeError("Column index out of range")}function F(me,E){if(E.to1DArray&&(E=E.to1DArray()),E.length!==me.columns)throw new RangeError("vector size must be the same as the number of columns");return E}function G(me,E){if(E.to1DArray&&(E=E.to1DArray()),E.length!==me.rows)throw new RangeError("vector size must be the same as the number of rows");return E}function Y(me,E){if(!v.isAnyArray(E))throw new TypeError("row indices must be an array");for(let B=0;B<E.length;B++)if(E[B]<0||E[B]>=me.rows)throw new RangeError("row indices are out of range")}function te(me,E){if(!v.isAnyArray(E))throw new TypeError("column indices must be an array");for(let B=0;B<E.length;B++)if(E[B]<0||E[B]>=me.columns)throw new RangeError("column indices are out of range")}function $(me,E,B,N,V){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(ie("startRow",E),ie("endRow",B),ie("startColumn",N),ie("endColumn",V),E>B||N>V||E<0||E>=me.rows||B<0||B>=me.rows||N<0||N>=me.columns||V<0||V>=me.columns)throw new RangeError("Submatrix indices are out of range")}function oe(me,E=0){let B=[];for(let N=0;N<me;N++)B.push(E);return B}function ie(me,E){if(typeof E!="number")throw new TypeError(`${me} must be a number`)}function ne(me){if(me.isEmpty())throw new Error("Empty matrix has no elements to index")}function le(me){let E=oe(me.rows);for(let B=0;B<me.rows;++B)for(let N=0;N<me.columns;++N)E[B]+=me.get(B,N);return E}function ae(me){let E=oe(me.columns);for(let B=0;B<me.rows;++B)for(let N=0;N<me.columns;++N)E[N]+=me.get(B,N);return E}function de(me){let E=0;for(let B=0;B<me.rows;B++)for(let N=0;N<me.columns;N++)E+=me.get(B,N);return E}function se(me){let E=oe(me.rows,1);for(let B=0;B<me.rows;++B)for(let N=0;N<me.columns;++N)E[B]*=me.get(B,N);return E}function fe(me){let E=oe(me.columns,1);for(let B=0;B<me.rows;++B)for(let N=0;N<me.columns;++N)E[N]*=me.get(B,N);return E}function ye(me){let E=1;for(let B=0;B<me.rows;B++)for(let N=0;N<me.columns;N++)E*=me.get(B,N);return E}function ge(me,E,B){const N=me.rows,V=me.columns,J=[];for(let ue=0;ue<N;ue++){let ce=0,Oe=0,Se=0;for(let ze=0;ze<V;ze++)Se=me.get(ue,ze)-B[ue],ce+=Se,Oe+=Se*Se;E?J.push((Oe-ce*ce/V)/(V-1)):J.push((Oe-ce*ce/V)/V)}return J}function xe(me,E,B){const N=me.rows,V=me.columns,J=[];for(let ue=0;ue<V;ue++){let ce=0,Oe=0,Se=0;for(let ze=0;ze<N;ze++)Se=me.get(ze,ue)-B[ue],ce+=Se,Oe+=Se*Se;E?J.push((Oe-ce*ce/N)/(N-1)):J.push((Oe-ce*ce/N)/N)}return J}function Me(me,E,B){const N=me.rows,V=me.columns,J=N*V;let ue=0,ce=0,Oe=0;for(let Se=0;Se<N;Se++)for(let ze=0;ze<V;ze++)Oe=me.get(Se,ze)-B,ue+=Oe,ce+=Oe*Oe;return E?(ce-ue*ue/J)/(J-1):(ce-ue*ue/J)/J}function Ne(me,E){for(let B=0;B<me.rows;B++)for(let N=0;N<me.columns;N++)me.set(B,N,me.get(B,N)-E[B])}function We(me,E){for(let B=0;B<me.rows;B++)for(let N=0;N<me.columns;N++)me.set(B,N,me.get(B,N)-E[N])}function tt(me,E){for(let B=0;B<me.rows;B++)for(let N=0;N<me.columns;N++)me.set(B,N,me.get(B,N)-E)}function Je(me){const E=[];for(let B=0;B<me.rows;B++){let N=0;for(let V=0;V<me.columns;V++)N+=b(me.get(B,V),2)/(me.columns-1);E.push(Math.sqrt(N))}return E}function st(me,E){for(let B=0;B<me.rows;B++)for(let N=0;N<me.columns;N++)me.set(B,N,me.get(B,N)/E[B])}function yt(me){const E=[];for(let B=0;B<me.columns;B++){let N=0;for(let V=0;V<me.rows;V++)N+=b(me.get(V,B),2)/(me.rows-1);E.push(Math.sqrt(N))}return E}function gt(me,E){for(let B=0;B<me.rows;B++)for(let N=0;N<me.columns;N++)me.set(B,N,me.get(B,N)/E[N])}function Ke(me){const E=me.size-1;let B=0;for(let N=0;N<me.columns;N++)for(let V=0;V<me.rows;V++)B+=b(me.get(V,N),2)/E;return Math.sqrt(B)}function nt(me,E){for(let B=0;B<me.rows;B++)for(let N=0;N<me.columns;N++)me.set(B,N,me.get(B,N)/E)}class Ze{static from1DArray(E,B,N){if(E*B!==N.length)throw new RangeError("data length does not match given dimensions");let J=new be(E,B);for(let ue=0;ue<E;ue++)for(let ce=0;ce<B;ce++)J.set(ue,ce,N[ue*B+ce]);return J}static rowVector(E){let B=new be(1,E.length);for(let N=0;N<E.length;N++)B.set(0,N,E[N]);return B}static columnVector(E){let B=new be(E.length,1);for(let N=0;N<E.length;N++)B.set(N,0,E[N]);return B}static zeros(E,B){return new be(E,B)}static ones(E,B){return new be(E,B).fill(1)}static rand(E,B,N={}){if(typeof N!="object")throw new TypeError("options must be an object");const{random:V=Math.random}=N;let J=new be(E,B);for(let ue=0;ue<E;ue++)for(let ce=0;ce<B;ce++)J.set(ue,ce,V());return J}static randInt(E,B,N={}){if(typeof N!="object")throw new TypeError("options must be an object");const{min:V=0,max:J=1e3,random:ue=Math.random}=N;if(!Number.isInteger(V))throw new TypeError("min must be an integer");if(!Number.isInteger(J))throw new TypeError("max must be an integer");if(V>=J)throw new RangeError("min must be smaller than max");let ce=J-V,Oe=new be(E,B);for(let Se=0;Se<E;Se++)for(let ze=0;ze<B;ze++){let je=V+Math.round(ue()*ce);Oe.set(Se,ze,je)}return Oe}static eye(E,B,N){B===void 0&&(B=E),N===void 0&&(N=1);let V=Math.min(E,B),J=this.zeros(E,B);for(let ue=0;ue<V;ue++)J.set(ue,ue,N);return J}static diag(E,B,N){let V=E.length;B===void 0&&(B=V),N===void 0&&(N=B);let J=Math.min(V,B,N),ue=this.zeros(B,N);for(let ce=0;ce<J;ce++)ue.set(ce,ce,E[ce]);return ue}static min(E,B){E=this.checkMatrix(E),B=this.checkMatrix(B);let N=E.rows,V=E.columns,J=new be(N,V);for(let ue=0;ue<N;ue++)for(let ce=0;ce<V;ce++)J.set(ue,ce,Math.min(E.get(ue,ce),B.get(ue,ce)));return J}static max(E,B){E=this.checkMatrix(E),B=this.checkMatrix(B);let N=E.rows,V=E.columns,J=new this(N,V);for(let ue=0;ue<N;ue++)for(let ce=0;ce<V;ce++)J.set(ue,ce,Math.max(E.get(ue,ce),B.get(ue,ce)));return J}static checkMatrix(E){return Ze.isMatrix(E)?E:new be(E)}static isMatrix(E){return E!=null&&E.klass==="Matrix"}get size(){return this.rows*this.columns}apply(E){if(typeof E!="function")throw new TypeError("callback must be a function");for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)E.call(this,B,N);return this}to1DArray(){let E=[];for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)E.push(this.get(B,N));return E}to2DArray(){let E=[];for(let B=0;B<this.rows;B++){E.push([]);for(let N=0;N<this.columns;N++)E[B].push(this.get(B,N))}return E}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let E=0;E<this.rows;E++)for(let B=0;B<=E;B++)if(this.get(E,B)!==this.get(B,E))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let E=0;E<this.rows;E++)if(this.get(E,E)!==0)return!1;return!0}isEchelonForm(){let E=0,B=0,N=-1,V=!0,J=!1;for(;E<this.rows&&V;){for(B=0,J=!1;B<this.columns&&J===!1;)this.get(E,B)===0?B++:this.get(E,B)===1&&B>N?(J=!0,N=B):(V=!1,J=!0);E++}return V}isReducedEchelonForm(){let E=0,B=0,N=-1,V=!0,J=!1;for(;E<this.rows&&V;){for(B=0,J=!1;B<this.columns&&J===!1;)this.get(E,B)===0?B++:this.get(E,B)===1&&B>N?(J=!0,N=B):(V=!1,J=!0);for(let ue=B+1;ue<this.rows;ue++)this.get(E,ue)!==0&&(V=!1);E++}return V}echelonForm(){let E=this.clone(),B=0,N=0;for(;B<E.rows&&N<E.columns;){let V=B;for(let J=B;J<E.rows;J++)E.get(J,N)>E.get(V,N)&&(V=J);if(E.get(V,N)===0)N++;else{E.swapRows(B,V);let J=E.get(B,N);for(let ue=N;ue<E.columns;ue++)E.set(B,ue,E.get(B,ue)/J);for(let ue=B+1;ue<E.rows;ue++){let ce=E.get(ue,N)/E.get(B,N);E.set(ue,N,0);for(let Oe=N+1;Oe<E.columns;Oe++)E.set(ue,Oe,E.get(ue,Oe)-E.get(B,Oe)*ce)}B++,N++}}return E}reducedEchelonForm(){let E=this.echelonForm(),B=E.columns,N=E.rows,V=N-1;for(;V>=0;)if(E.maxRow(V)===0)V--;else{let J=0,ue=!1;for(;J<N&&ue===!1;)E.get(V,J)===1?ue=!0:J++;for(let ce=0;ce<V;ce++){let Oe=E.get(ce,J);for(let Se=J;Se<B;Se++){let ze=E.get(ce,Se)-Oe*E.get(V,Se);E.set(ce,Se,ze)}}V--}return E}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(E={}){if(typeof E!="object")throw new TypeError("options must be an object");const{rows:B=1,columns:N=1}=E;if(!Number.isInteger(B)||B<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(N)||N<=0)throw new TypeError("columns must be a positive integer");let V=new be(this.rows*B,this.columns*N);for(let J=0;J<B;J++)for(let ue=0;ue<N;ue++)V.setSubMatrix(this,this.rows*J,this.columns*ue);return V}fill(E){for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)this.set(B,N,E);return this}neg(){return this.mulS(-1)}getRow(E){I(this,E);let B=[];for(let N=0;N<this.columns;N++)B.push(this.get(E,N));return B}getRowVector(E){return be.rowVector(this.getRow(E))}setRow(E,B){I(this,E),B=F(this,B);for(let N=0;N<this.columns;N++)this.set(E,N,B[N]);return this}swapRows(E,B){I(this,E),I(this,B);for(let N=0;N<this.columns;N++){let V=this.get(E,N);this.set(E,N,this.get(B,N)),this.set(B,N,V)}return this}getColumn(E){U(this,E);let B=[];for(let N=0;N<this.rows;N++)B.push(this.get(N,E));return B}getColumnVector(E){return be.columnVector(this.getColumn(E))}setColumn(E,B){U(this,E),B=G(this,B);for(let N=0;N<this.rows;N++)this.set(N,E,B[N]);return this}swapColumns(E,B){U(this,E),U(this,B);for(let N=0;N<this.rows;N++){let V=this.get(N,E);this.set(N,E,this.get(N,B)),this.set(N,B,V)}return this}addRowVector(E){E=F(this,E);for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)this.set(B,N,this.get(B,N)+E[N]);return this}subRowVector(E){E=F(this,E);for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)this.set(B,N,this.get(B,N)-E[N]);return this}mulRowVector(E){E=F(this,E);for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)this.set(B,N,this.get(B,N)*E[N]);return this}divRowVector(E){E=F(this,E);for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)this.set(B,N,this.get(B,N)/E[N]);return this}addColumnVector(E){E=G(this,E);for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)this.set(B,N,this.get(B,N)+E[B]);return this}subColumnVector(E){E=G(this,E);for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)this.set(B,N,this.get(B,N)-E[B]);return this}mulColumnVector(E){E=G(this,E);for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)this.set(B,N,this.get(B,N)*E[B]);return this}divColumnVector(E){E=G(this,E);for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)this.set(B,N,this.get(B,N)/E[B]);return this}mulRow(E,B){I(this,E);for(let N=0;N<this.columns;N++)this.set(E,N,this.get(E,N)*B);return this}mulColumn(E,B){U(this,E);for(let N=0;N<this.rows;N++)this.set(N,E,this.get(N,E)*B);return this}max(E){if(this.isEmpty())return NaN;switch(E){case"row":{const B=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.get(N,V)>B[N]&&(B[N]=this.get(N,V));return B}case"column":{const B=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.get(N,V)>B[V]&&(B[V]=this.get(N,V));return B}case void 0:{let B=this.get(0,0);for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.get(N,V)>B&&(B=this.get(N,V));return B}default:throw new Error(`invalid option: ${E}`)}}maxIndex(){ne(this);let E=this.get(0,0),B=[0,0];for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.get(N,V)>E&&(E=this.get(N,V),B[0]=N,B[1]=V);return B}min(E){if(this.isEmpty())return NaN;switch(E){case"row":{const B=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.get(N,V)<B[N]&&(B[N]=this.get(N,V));return B}case"column":{const B=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.get(N,V)<B[V]&&(B[V]=this.get(N,V));return B}case void 0:{let B=this.get(0,0);for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.get(N,V)<B&&(B=this.get(N,V));return B}default:throw new Error(`invalid option: ${E}`)}}minIndex(){ne(this);let E=this.get(0,0),B=[0,0];for(let N=0;N<this.rows;N++)for(let V=0;V<this.columns;V++)this.get(N,V)<E&&(E=this.get(N,V),B[0]=N,B[1]=V);return B}maxRow(E){if(I(this,E),this.isEmpty())return NaN;let B=this.get(E,0);for(let N=1;N<this.columns;N++)this.get(E,N)>B&&(B=this.get(E,N));return B}maxRowIndex(E){I(this,E),ne(this);let B=this.get(E,0),N=[E,0];for(let V=1;V<this.columns;V++)this.get(E,V)>B&&(B=this.get(E,V),N[1]=V);return N}minRow(E){if(I(this,E),this.isEmpty())return NaN;let B=this.get(E,0);for(let N=1;N<this.columns;N++)this.get(E,N)<B&&(B=this.get(E,N));return B}minRowIndex(E){I(this,E),ne(this);let B=this.get(E,0),N=[E,0];for(let V=1;V<this.columns;V++)this.get(E,V)<B&&(B=this.get(E,V),N[1]=V);return N}maxColumn(E){if(U(this,E),this.isEmpty())return NaN;let B=this.get(0,E);for(let N=1;N<this.rows;N++)this.get(N,E)>B&&(B=this.get(N,E));return B}maxColumnIndex(E){U(this,E),ne(this);let B=this.get(0,E),N=[0,E];for(let V=1;V<this.rows;V++)this.get(V,E)>B&&(B=this.get(V,E),N[0]=V);return N}minColumn(E){if(U(this,E),this.isEmpty())return NaN;let B=this.get(0,E);for(let N=1;N<this.rows;N++)this.get(N,E)<B&&(B=this.get(N,E));return B}minColumnIndex(E){U(this,E),ne(this);let B=this.get(0,E),N=[0,E];for(let V=1;V<this.rows;V++)this.get(V,E)<B&&(B=this.get(V,E),N[0]=V);return N}diag(){let E=Math.min(this.rows,this.columns),B=[];for(let N=0;N<E;N++)B.push(this.get(N,N));return B}norm(E="frobenius"){switch(E){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${E}`)}}cumulativeSum(){let E=0;for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)E+=this.get(B,N),this.set(B,N,E);return this}dot(E){Ze.isMatrix(E)&&(E=E.to1DArray());let B=this.to1DArray();if(B.length!==E.length)throw new RangeError("vectors do not have the same size");let N=0;for(let V=0;V<B.length;V++)N+=B[V]*E[V];return N}mmul(E){E=be.checkMatrix(E);let B=this.rows,N=this.columns,V=E.columns,J=new be(B,V),ue=new Float64Array(N);for(let ce=0;ce<V;ce++){for(let Oe=0;Oe<N;Oe++)ue[Oe]=E.get(Oe,ce);for(let Oe=0;Oe<B;Oe++){let Se=0;for(let ze=0;ze<N;ze++)Se+=this.get(Oe,ze)*ue[ze];J.set(Oe,ce,Se)}}return J}mpow(E){if(!this.isSquare())throw new RangeError("Matrix must be square");if(!Number.isInteger(E)||E<0)throw new RangeError("Exponent must be a non-negative integer");let B=be.eye(this.rows),N=this;for(let V=E;V>=1;V/=2)V&1&&(B=B.mmul(N)),N=N.mmul(N);return B}strassen2x2(E){E=be.checkMatrix(E);let B=new be(2,2);const N=this.get(0,0),V=E.get(0,0),J=this.get(0,1),ue=E.get(0,1),ce=this.get(1,0),Oe=E.get(1,0),Se=this.get(1,1),ze=E.get(1,1),je=(N+Se)*(V+ze),rt=(ce+Se)*V,ot=N*(ue-ze),$e=Se*(Oe-V),it=(N+J)*ze,ut=(ce-N)*(V+ue),ke=(J-Se)*(Oe+ze),at=je+$e-it+ke,vt=ot+it,Pt=rt+$e,kt=je-rt+ot+ut;return B.set(0,0,at),B.set(0,1,vt),B.set(1,0,Pt),B.set(1,1,kt),B}strassen3x3(E){E=be.checkMatrix(E);let B=new be(3,3);const N=this.get(0,0),V=this.get(0,1),J=this.get(0,2),ue=this.get(1,0),ce=this.get(1,1),Oe=this.get(1,2),Se=this.get(2,0),ze=this.get(2,1),je=this.get(2,2),rt=E.get(0,0),ot=E.get(0,1),$e=E.get(0,2),it=E.get(1,0),ut=E.get(1,1),ke=E.get(1,2),at=E.get(2,0),vt=E.get(2,1),Pt=E.get(2,2),kt=(N+V+J-ue-ce-ze-je)*ut,Zt=(N-ue)*(-ot+ut),Ct=ce*(-rt+ot+it-ut-ke-at+Pt),Bt=(-N+ue+ce)*(rt-ot+ut),Vt=(ue+ce)*(-rt+ot),lt=N*rt,wt=(-N+Se+ze)*(rt-$e+ke),Lt=(-N+Se)*($e-ke),It=(Se+ze)*(-rt+$e),fn=(N+V+J-ce-Oe-Se-ze)*ke,Yt=ze*(-rt+$e+it-ut-ke-at+vt),Qt=(-J+ze+je)*(ut+at-vt),Jt=(J-je)*(ut-vt),_n=J*at,yn=(ze+je)*(-at+vt),cn=(-J+ce+Oe)*(ke+at-Pt),Zn=(J-Oe)*(ke-Pt),Nn=(ce+Oe)*(-at+Pt),tn=V*it,Ln=Oe*vt,Bn=ue*$e,lr=Se*ot,qn=je*Pt,Hr=lt+_n+tn,hi=kt+Bt+Vt+lt+Qt+_n+yn,cr=lt+wt+It+fn+_n+cn+Nn,fi=Zt+Ct+Bt+lt+_n+cn+Zn,Hi=Zt+Bt+Vt+lt+Ln,Kn=_n+cn+Zn+Nn+Bn,Pn=lt+wt+Lt+Yt+Qt+Jt+_n,Qn=Qt+Jt+_n+yn+lr,ur=lt+wt+Lt+It+qn;return B.set(0,0,Hr),B.set(0,1,hi),B.set(0,2,cr),B.set(1,0,fi),B.set(1,1,Hi),B.set(1,2,Kn),B.set(2,0,Pn),B.set(2,1,Qn),B.set(2,2,ur),B}mmulStrassen(E){E=be.checkMatrix(E);let B=this.clone(),N=B.rows,V=B.columns,J=E.rows,ue=E.columns;V!==J&&console.warn(`Multiplying ${N} x ${V} and ${J} x ${ue} matrix: dimensions do not match.`);function ce(je,rt,ot){let $e=je.rows,it=je.columns;if($e===rt&&it===ot)return je;{let ut=Ze.zeros(rt,ot);return ut=ut.setSubMatrix(je,0,0),ut}}let Oe=Math.max(N,J),Se=Math.max(V,ue);B=ce(B,Oe,Se),E=ce(E,Oe,Se);function ze(je,rt,ot,$e){if(ot<=512||$e<=512)return je.mmul(rt);ot%2===1&&$e%2===1?(je=ce(je,ot+1,$e+1),rt=ce(rt,ot+1,$e+1)):ot%2===1?(je=ce(je,ot+1,$e),rt=ce(rt,ot+1,$e)):$e%2===1&&(je=ce(je,ot,$e+1),rt=ce(rt,ot,$e+1));let it=parseInt(je.rows/2,10),ut=parseInt(je.columns/2,10),ke=je.subMatrix(0,it-1,0,ut-1),at=rt.subMatrix(0,it-1,0,ut-1),vt=je.subMatrix(0,it-1,ut,je.columns-1),Pt=rt.subMatrix(0,it-1,ut,rt.columns-1),kt=je.subMatrix(it,je.rows-1,0,ut-1),Zt=rt.subMatrix(it,rt.rows-1,0,ut-1),Ct=je.subMatrix(it,je.rows-1,ut,je.columns-1),Bt=rt.subMatrix(it,rt.rows-1,ut,rt.columns-1),Vt=ze(Ze.add(ke,Ct),Ze.add(at,Bt),it,ut),lt=ze(Ze.add(kt,Ct),at,it,ut),wt=ze(ke,Ze.sub(Pt,Bt),it,ut),Lt=ze(Ct,Ze.sub(Zt,at),it,ut),It=ze(Ze.add(ke,vt),Bt,it,ut),fn=ze(Ze.sub(kt,ke),Ze.add(at,Pt),it,ut),Yt=ze(Ze.sub(vt,Ct),Ze.add(Zt,Bt),it,ut),Qt=Ze.add(Vt,Lt);Qt.sub(It),Qt.add(Yt);let Jt=Ze.add(wt,It),_n=Ze.add(lt,Lt),yn=Ze.sub(Vt,lt);yn.add(wt),yn.add(fn);let cn=Ze.zeros(2*Qt.rows,2*Qt.columns);return cn=cn.setSubMatrix(Qt,0,0),cn=cn.setSubMatrix(Jt,Qt.rows,0),cn=cn.setSubMatrix(_n,0,Qt.columns),cn=cn.setSubMatrix(yn,Qt.rows,Qt.columns),cn.subMatrix(0,ot-1,0,$e-1)}return ze(B,E,Oe,Se)}scaleRows(E={}){if(typeof E!="object")throw new TypeError("options must be an object");const{min:B=0,max:N=1}=E;if(!Number.isFinite(B))throw new TypeError("min must be a number");if(!Number.isFinite(N))throw new TypeError("max must be a number");if(B>=N)throw new RangeError("min must be smaller than max");let V=new be(this.rows,this.columns);for(let J=0;J<this.rows;J++){const ue=this.getRow(J);ue.length>0&&M(ue,{min:B,max:N,output:ue}),V.setRow(J,ue)}return V}scaleColumns(E={}){if(typeof E!="object")throw new TypeError("options must be an object");const{min:B=0,max:N=1}=E;if(!Number.isFinite(B))throw new TypeError("min must be a number");if(!Number.isFinite(N))throw new TypeError("max must be a number");if(B>=N)throw new RangeError("min must be smaller than max");let V=new be(this.rows,this.columns);for(let J=0;J<this.columns;J++){const ue=this.getColumn(J);ue.length&&M(ue,{min:B,max:N,output:ue}),V.setColumn(J,ue)}return V}flipRows(){const E=Math.ceil(this.columns/2);for(let B=0;B<this.rows;B++)for(let N=0;N<E;N++){let V=this.get(B,N),J=this.get(B,this.columns-1-N);this.set(B,N,J),this.set(B,this.columns-1-N,V)}return this}flipColumns(){const E=Math.ceil(this.rows/2);for(let B=0;B<this.columns;B++)for(let N=0;N<E;N++){let V=this.get(N,B),J=this.get(this.rows-1-N,B);this.set(N,B,J),this.set(this.rows-1-N,B,V)}return this}kroneckerProduct(E){E=be.checkMatrix(E);let B=this.rows,N=this.columns,V=E.rows,J=E.columns,ue=new be(B*V,N*J);for(let ce=0;ce<B;ce++)for(let Oe=0;Oe<N;Oe++)for(let Se=0;Se<V;Se++)for(let ze=0;ze<J;ze++)ue.set(V*ce+Se,J*Oe+ze,this.get(ce,Oe)*E.get(Se,ze));return ue}kroneckerSum(E){if(E=be.checkMatrix(E),!this.isSquare()||!E.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let B=this.rows,N=E.rows,V=this.kroneckerProduct(be.eye(N,N)),J=be.eye(B,B).kroneckerProduct(E);return V.add(J)}transpose(){let E=new be(this.columns,this.rows);for(let B=0;B<this.rows;B++)for(let N=0;N<this.columns;N++)E.set(N,B,this.get(B,N));return E}sortRows(E=Ve){for(let B=0;B<this.rows;B++)this.setRow(B,this.getRow(B).sort(E));return this}sortColumns(E=Ve){for(let B=0;B<this.columns;B++)this.setColumn(B,this.getColumn(B).sort(E));return this}subMatrix(E,B,N,V){$(this,E,B,N,V);let J=new be(B-E+1,V-N+1);for(let ue=E;ue<=B;ue++)for(let ce=N;ce<=V;ce++)J.set(ue-E,ce-N,this.get(ue,ce));return J}subMatrixRow(E,B,N){if(B===void 0&&(B=0),N===void 0&&(N=this.columns-1),B>N||B<0||B>=this.columns||N<0||N>=this.columns)throw new RangeError("Argument out of range");let V=new be(E.length,N-B+1);for(let J=0;J<E.length;J++)for(let ue=B;ue<=N;ue++){if(E[J]<0||E[J]>=this.rows)throw new RangeError(`Row index out of range: ${E[J]}`);V.set(J,ue-B,this.get(E[J],ue))}return V}subMatrixColumn(E,B,N){if(B===void 0&&(B=0),N===void 0&&(N=this.rows-1),B>N||B<0||B>=this.rows||N<0||N>=this.rows)throw new RangeError("Argument out of range");let V=new be(N-B+1,E.length);for(let J=0;J<E.length;J++)for(let ue=B;ue<=N;ue++){if(E[J]<0||E[J]>=this.columns)throw new RangeError(`Column index out of range: ${E[J]}`);V.set(ue-B,J,this.get(ue,E[J]))}return V}setSubMatrix(E,B,N){if(E=be.checkMatrix(E),E.isEmpty())return this;let V=B+E.rows-1,J=N+E.columns-1;$(this,B,V,N,J);for(let ue=0;ue<E.rows;ue++)for(let ce=0;ce<E.columns;ce++)this.set(B+ue,N+ce,E.get(ue,ce));return this}selection(E,B){Y(this,E),te(this,B);let N=new be(E.length,B.length);for(let V=0;V<E.length;V++){let J=E[V];for(let ue=0;ue<B.length;ue++){let ce=B[ue];N.set(V,ue,this.get(J,ce))}}return N}trace(){let E=Math.min(this.rows,this.columns),B=0;for(let N=0;N<E;N++)B+=this.get(N,N);return B}clone(){return this.constructor.copy(this,new be(this.rows,this.columns))}static copy(E,B){for(const[N,V,J]of E.entries())B.set(N,V,J);return B}sum(E){switch(E){case"row":return le(this);case"column":return ae(this);case void 0:return de(this);default:throw new Error(`invalid option: ${E}`)}}product(E){switch(E){case"row":return se(this);case"column":return fe(this);case void 0:return ye(this);default:throw new Error(`invalid option: ${E}`)}}mean(E){const B=this.sum(E);switch(E){case"row":{for(let N=0;N<this.rows;N++)B[N]/=this.columns;return B}case"column":{for(let N=0;N<this.columns;N++)B[N]/=this.rows;return B}case void 0:return B/this.size;default:throw new Error(`invalid option: ${E}`)}}variance(E,B={}){if(typeof E=="object"&&(B=E,E=void 0),typeof B!="object")throw new TypeError("options must be an object");const{unbiased:N=!0,mean:V=this.mean(E)}=B;if(typeof N!="boolean")throw new TypeError("unbiased must be a boolean");switch(E){case"row":{if(!v.isAnyArray(V))throw new TypeError("mean must be an array");return ge(this,N,V)}case"column":{if(!v.isAnyArray(V))throw new TypeError("mean must be an array");return xe(this,N,V)}case void 0:{if(typeof V!="number")throw new TypeError("mean must be a number");return Me(this,N,V)}default:throw new Error(`invalid option: ${E}`)}}standardDeviation(E,B){typeof E=="object"&&(B=E,E=void 0);const N=this.variance(E,B);if(E===void 0)return Math.sqrt(N);for(let V=0;V<N.length;V++)N[V]=Math.sqrt(N[V]);return N}center(E,B={}){if(typeof E=="object"&&(B=E,E=void 0),typeof B!="object")throw new TypeError("options must be an object");const{center:N=this.mean(E)}=B;switch(E){case"row":{if(!v.isAnyArray(N))throw new TypeError("center must be an array");return Ne(this,N),this}case"column":{if(!v.isAnyArray(N))throw new TypeError("center must be an array");return We(this,N),this}case void 0:{if(typeof N!="number")throw new TypeError("center must be a number");return tt(this,N),this}default:throw new Error(`invalid option: ${E}`)}}scale(E,B={}){if(typeof E=="object"&&(B=E,E=void 0),typeof B!="object")throw new TypeError("options must be an object");let N=B.scale;switch(E){case"row":{if(N===void 0)N=Je(this);else if(!v.isAnyArray(N))throw new TypeError("scale must be an array");return st(this,N),this}case"column":{if(N===void 0)N=yt(this);else if(!v.isAnyArray(N))throw new TypeError("scale must be an array");return gt(this,N),this}case void 0:{if(N===void 0)N=Ke(this);else if(typeof N!="number")throw new TypeError("scale must be a number");return nt(this,N),this}default:throw new Error(`invalid option: ${E}`)}}toString(E){return R(this,E)}[Symbol.iterator](){return this.entries()}*entries(){for(let E=0;E<this.rows;E++)for(let B=0;B<this.columns;B++)yield[E,B,this.get(E,B)]}*values(){for(let E=0;E<this.rows;E++)for(let B=0;B<this.columns;B++)yield this.get(E,B)}}Ze.prototype.klass="Matrix",typeof Symbol!="undefined"&&(Ze.prototype[Symbol.for("nodejs.util.inspect.custom")]=A);function Ve(me,E){return me-E}function Pe(me){return me.every(E=>typeof E=="number")}Ze.random=Ze.rand,Ze.randomInt=Ze.randInt,Ze.diagonal=Ze.diag,Ze.prototype.diagonal=Ze.prototype.diag,Ze.identity=Ze.eye,Ze.prototype.negate=Ze.prototype.neg,Ze.prototype.tensorProduct=Ze.prototype.kroneckerProduct;const He=class w0 extends Ze{constructor(E,B){if(super(),O(this,m),P(this,"data"),w0.isMatrix(E))g(this,m,L).call(this,E.rows,E.columns),w0.copy(E,this);else if(Number.isInteger(E)&&E>=0)g(this,m,L).call(this,E,B);else if(v.isAnyArray(E)){const N=E;if(E=N.length,B=E?N[0].length:0,typeof B!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let V=0;V<E;V++){if(N[V].length!==B)throw new RangeError("Inconsistent array dimensions");if(!Pe(N[V]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(N[V]))}this.rows=E,this.columns=B}else throw new TypeError("First argument must be a positive number or an array")}set(E,B,N){return this.data[E][B]=N,this}get(E,B){return this.data[E][B]}removeRow(E){return I(this,E),this.data.splice(E,1),this.rows-=1,this}addRow(E,B){return B===void 0&&(B=E,E=this.rows),I(this,E,!0),B=Float64Array.from(F(this,B)),this.data.splice(E,0,B),this.rows+=1,this}removeColumn(E){U(this,E);for(let B=0;B<this.rows;B++){const N=new Float64Array(this.columns-1);for(let V=0;V<E;V++)N[V]=this.data[B][V];for(let V=E+1;V<this.columns;V++)N[V-1]=this.data[B][V];this.data[B]=N}return this.columns-=1,this}addColumn(E,B){typeof B=="undefined"&&(B=E,E=this.columns),U(this,E,!0),B=G(this,B);for(let N=0;N<this.rows;N++){const V=new Float64Array(this.columns+1);let J=0;for(;J<E;J++)V[J]=this.data[N][J];for(V[J++]=B[N];J<this.columns+1;J++)V[J]=this.data[N][J-1];this.data[N]=V}return this.columns+=1,this}};m=new WeakSet,L=function(me,E){if(this.data=[],Number.isInteger(E)&&E>=0)for(let B=0;B<me;B++)this.data.push(new Float64Array(E));else throw new TypeError("nColumns must be a positive integer");this.rows=me,this.columns=E};let be=He;D(Ze,be);const Ie=class M0 extends Ze{constructor(E){if(super(),O(this,d),be.isMatrix(E)){if(!E.isSymmetric())throw new TypeError("not symmetric data");_(this,d,be.copy(E,new be(E.rows,E.rows)))}else if(Number.isInteger(E)&&E>=0)_(this,d,new be(E,E));else if(_(this,d,new be(E)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return x(this,d).size}get rows(){return x(this,d).rows}get columns(){return x(this,d).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(E){return be.isMatrix(E)&&E.klassType==="SymmetricMatrix"}static zeros(E){return new this(E)}static ones(E){return new this(E).fill(1)}clone(){const E=new M0(this.diagonalSize);for(const[B,N,V]of this.upperRightEntries())E.set(B,N,V);return E}toMatrix(){return new be(this)}get(E,B){return x(this,d).get(E,B)}set(E,B,N){return x(this,d).set(E,B,N),x(this,d).set(B,E,N),this}removeCross(E){return x(this,d).removeRow(E),x(this,d).removeColumn(E),this}addCross(E,B){B===void 0&&(B=E,E=this.diagonalSize);const N=B.slice();return N.splice(E,1),x(this,d).addRow(E,N),x(this,d).addColumn(E,B),this}applyMask(E){if(E.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const B=[];for(const[N,V]of E.entries())V||B.push(N);B.reverse();for(const N of B)this.removeCross(N);return this}toCompact(){const{diagonalSize:E}=this,B=new Array(E*(E+1)/2);for(let N=0,V=0,J=0;J<B.length;J++)B[J]=this.get(V,N),++N>=E&&(N=++V);return B}static fromCompact(E){const B=E.length,N=(Math.sqrt(8*B+1)-1)/2;if(!Number.isInteger(N))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(E)}`);const V=new M0(N);for(let J=0,ue=0,ce=0;ce<B;ce++)V.set(J,ue,E[ce]),++J>=N&&(J=++ue);return V}*upperRightEntries(){for(let E=0,B=0;E<this.diagonalSize;void 0){const N=this.get(E,B);yield[E,B,N],++B>=this.diagonalSize&&(B=++E)}}*upperRightValues(){for(let E=0,B=0;E<this.diagonalSize;void 0)yield this.get(E,B),++B>=this.diagonalSize&&(B=++E)}};d=new WeakMap;let Te=Ie;Te.prototype.klassType="SymmetricMatrix";class Re extends Te{static isDistanceMatrix(E){return Te.isSymmetricMatrix(E)&&E.klassSubType==="DistanceMatrix"}constructor(E){if(super(E),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(E,B,N){return E===B&&(N=0),super.set(E,B,N)}addCross(E,B){return B===void 0&&(B=E,E=this.diagonalSize),B=B.slice(),B[E]=0,super.addCross(E,B)}toSymmetricMatrix(){return new Te(this)}clone(){const E=new Re(this.diagonalSize);for(const[B,N,V]of this.upperRightEntries())B!==N&&E.set(B,N,V);return E}toCompact(){const{diagonalSize:E}=this,B=(E-1)*E/2,N=new Array(B);for(let V=1,J=0,ue=0;ue<N.length;ue++)N[ue]=this.get(J,V),++V>=E&&(V=++J+1);return N}static fromCompact(E){const B=E.length;if(B===0)return new this(0);const N=(Math.sqrt(8*B+1)+1)/2;if(!Number.isInteger(N))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(E)}`);const V=new this(N);for(let J=1,ue=0,ce=0;ce<B;ce++)V.set(J,ue,E[ce]),++J>=N&&(J=++ue+1);return V}}Re.prototype.klassSubType="DistanceMatrix";class Ge extends Ze{constructor(E,B,N){super(),this.matrix=E,this.rows=B,this.columns=N}}class Le extends Ge{constructor(E,B){U(E,B),super(E,E.rows,1),this.column=B}set(E,B,N){return this.matrix.set(E,this.column,N),this}get(E){return this.matrix.get(E,this.column)}}class Ue extends Ge{constructor(E,B){te(E,B),super(E,E.rows,B.length),this.columnIndices=B}set(E,B,N){return this.matrix.set(E,this.columnIndices[B],N),this}get(E,B){return this.matrix.get(E,this.columnIndices[B])}}class Qe extends Ge{constructor(E){super(E,E.rows,E.columns)}set(E,B,N){return this.matrix.set(E,this.columns-B-1,N),this}get(E,B){return this.matrix.get(E,this.columns-B-1)}}class et extends Ge{constructor(E){super(E,E.rows,E.columns)}set(E,B,N){return this.matrix.set(this.rows-E-1,B,N),this}get(E,B){return this.matrix.get(this.rows-E-1,B)}}class dt extends Ge{constructor(E,B){I(E,B),super(E,1,E.columns),this.row=B}set(E,B,N){return this.matrix.set(this.row,B,N),this}get(E,B){return this.matrix.get(this.row,B)}}class mt extends Ge{constructor(E,B){Y(E,B),super(E,B.length,E.columns),this.rowIndices=B}set(E,B,N){return this.matrix.set(this.rowIndices[E],B,N),this}get(E,B){return this.matrix.get(this.rowIndices[E],B)}}class Tt extends Ge{constructor(E,B,N){Y(E,B),te(E,N),super(E,B.length,N.length),this.rowIndices=B,this.columnIndices=N}set(E,B,N){return this.matrix.set(this.rowIndices[E],this.columnIndices[B],N),this}get(E,B){return this.matrix.get(this.rowIndices[E],this.columnIndices[B])}}class At extends Ge{constructor(E,B,N,V,J){$(E,B,N,V,J),super(E,N-B+1,J-V+1),this.startRow=B,this.startColumn=V}set(E,B,N){return this.matrix.set(this.startRow+E,this.startColumn+B,N),this}get(E,B){return this.matrix.get(this.startRow+E,this.startColumn+B)}}class Ye extends Ge{constructor(E){super(E,E.columns,E.rows)}set(E,B,N){return this.matrix.set(B,E,N),this}get(E,B){return this.matrix.get(B,E)}}class ft extends Ze{constructor(E,B={}){const{rows:N=1}=B;if(E.length%N!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=N,this.columns=E.length/N,this.data=E}set(E,B,N){let V=this._calculateIndex(E,B);return this.data[V]=N,this}get(E,B){let N=this._calculateIndex(E,B);return this.data[N]}_calculateIndex(E,B){return E*this.columns+B}}class pt extends Ze{constructor(E){super(),this.data=E,this.rows=E.length,this.columns=E[0].length}set(E,B,N){return this.data[E][B]=N,this}get(E,B){return this.data[E][B]}}function _t(me,E){if(v.isAnyArray(me))return me[0]&&v.isAnyArray(me[0])?new pt(me):new ft(me,E);throw new Error("the argument is not an array")}class Ot{constructor(E){E=pt.checkMatrix(E);let B=E.clone(),N=B.rows,V=B.columns,J=new Float64Array(N),ue=1,ce,Oe,Se,ze,je,rt,ot,$e,it;for(ce=0;ce<N;ce++)J[ce]=ce;for($e=new Float64Array(N),Oe=0;Oe<V;Oe++){for(ce=0;ce<N;ce++)$e[ce]=B.get(ce,Oe);for(ce=0;ce<N;ce++){for(it=Math.min(ce,Oe),je=0,Se=0;Se<it;Se++)je+=B.get(ce,Se)*$e[Se];$e[ce]-=je,B.set(ce,Oe,$e[ce])}for(ze=Oe,ce=Oe+1;ce<N;ce++)Math.abs($e[ce])>Math.abs($e[ze])&&(ze=ce);if(ze!==Oe){for(Se=0;Se<V;Se++)rt=B.get(ze,Se),B.set(ze,Se,B.get(Oe,Se)),B.set(Oe,Se,rt);ot=J[ze],J[ze]=J[Oe],J[Oe]=ot,ue=-ue}if(Oe<N&&B.get(Oe,Oe)!==0)for(ce=Oe+1;ce<N;ce++)B.set(ce,Oe,B.get(ce,Oe)/B.get(Oe,Oe))}this.LU=B,this.pivotVector=J,this.pivotSign=ue}isSingular(){let E=this.LU,B=E.columns;for(let N=0;N<B;N++)if(E.get(N,N)===0)return!0;return!1}solve(E){E=be.checkMatrix(E);let B=this.LU;if(B.rows!==E.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let V=E.columns,J=E.subMatrixRow(this.pivotVector,0,V-1),ue=B.columns,ce,Oe,Se;for(Se=0;Se<ue;Se++)for(ce=Se+1;ce<ue;ce++)for(Oe=0;Oe<V;Oe++)J.set(ce,Oe,J.get(ce,Oe)-J.get(Se,Oe)*B.get(ce,Se));for(Se=ue-1;Se>=0;Se--){for(Oe=0;Oe<V;Oe++)J.set(Se,Oe,J.get(Se,Oe)/B.get(Se,Se));for(ce=0;ce<Se;ce++)for(Oe=0;Oe<V;Oe++)J.set(ce,Oe,J.get(ce,Oe)-J.get(Se,Oe)*B.get(ce,Se))}return J}get determinant(){let E=this.LU;if(!E.isSquare())throw new Error("Matrix must be square");let B=this.pivotSign,N=E.columns;for(let V=0;V<N;V++)B*=E.get(V,V);return B}get lowerTriangularMatrix(){let E=this.LU,B=E.rows,N=E.columns,V=new be(B,N);for(let J=0;J<B;J++)for(let ue=0;ue<N;ue++)J>ue?V.set(J,ue,E.get(J,ue)):J===ue?V.set(J,ue,1):V.set(J,ue,0);return V}get upperTriangularMatrix(){let E=this.LU,B=E.rows,N=E.columns,V=new be(B,N);for(let J=0;J<B;J++)for(let ue=0;ue<N;ue++)J<=ue?V.set(J,ue,E.get(J,ue)):V.set(J,ue,0);return V}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function Wt(me,E){let B=0;return Math.abs(me)>Math.abs(E)?(B=E/me,Math.abs(me)*Math.sqrt(1+B*B)):E!==0?(B=me/E,Math.abs(E)*Math.sqrt(1+B*B)):0}class jt{constructor(E){E=pt.checkMatrix(E);let B=E.clone(),N=E.rows,V=E.columns,J=new Float64Array(V),ue,ce,Oe,Se;for(Oe=0;Oe<V;Oe++){let ze=0;for(ue=Oe;ue<N;ue++)ze=Wt(ze,B.get(ue,Oe));if(ze!==0){for(B.get(Oe,Oe)<0&&(ze=-ze),ue=Oe;ue<N;ue++)B.set(ue,Oe,B.get(ue,Oe)/ze);for(B.set(Oe,Oe,B.get(Oe,Oe)+1),ce=Oe+1;ce<V;ce++){for(Se=0,ue=Oe;ue<N;ue++)Se+=B.get(ue,Oe)*B.get(ue,ce);for(Se=-Se/B.get(Oe,Oe),ue=Oe;ue<N;ue++)B.set(ue,ce,B.get(ue,ce)+Se*B.get(ue,Oe))}}J[Oe]=-ze}this.QR=B,this.Rdiag=J}solve(E){E=be.checkMatrix(E);let B=this.QR,N=B.rows;if(E.rows!==N)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let V=E.columns,J=E.clone(),ue=B.columns,ce,Oe,Se,ze;for(Se=0;Se<ue;Se++)for(Oe=0;Oe<V;Oe++){for(ze=0,ce=Se;ce<N;ce++)ze+=B.get(ce,Se)*J.get(ce,Oe);for(ze=-ze/B.get(Se,Se),ce=Se;ce<N;ce++)J.set(ce,Oe,J.get(ce,Oe)+ze*B.get(ce,Se))}for(Se=ue-1;Se>=0;Se--){for(Oe=0;Oe<V;Oe++)J.set(Se,Oe,J.get(Se,Oe)/this.Rdiag[Se]);for(ce=0;ce<Se;ce++)for(Oe=0;Oe<V;Oe++)J.set(ce,Oe,J.get(ce,Oe)-J.get(Se,Oe)*B.get(ce,Se))}return J.subMatrix(0,ue-1,0,V-1)}isFullRank(){let E=this.QR.columns;for(let B=0;B<E;B++)if(this.Rdiag[B]===0)return!1;return!0}get upperTriangularMatrix(){let E=this.QR,B=E.columns,N=new be(B,B),V,J;for(V=0;V<B;V++)for(J=0;J<B;J++)V<J?N.set(V,J,E.get(V,J)):V===J?N.set(V,J,this.Rdiag[V]):N.set(V,J,0);return N}get orthogonalMatrix(){let E=this.QR,B=E.rows,N=E.columns,V=new be(B,N),J,ue,ce,Oe;for(ce=N-1;ce>=0;ce--){for(J=0;J<B;J++)V.set(J,ce,0);for(V.set(ce,ce,1),ue=ce;ue<N;ue++)if(E.get(ce,ce)!==0){for(Oe=0,J=ce;J<B;J++)Oe+=E.get(J,ce)*V.get(J,ue);for(Oe=-Oe/E.get(ce,ce),J=ce;J<B;J++)V.set(J,ue,V.get(J,ue)+Oe*E.get(J,ce))}}return V}}class zt{constructor(E,B={}){if(E=pt.checkMatrix(E),E.isEmpty())throw new Error("Matrix must be non-empty");let N=E.rows,V=E.columns;const{computeLeftSingularVectors:J=!0,computeRightSingularVectors:ue=!0,autoTranspose:ce=!1}=B;let Oe=!!J,Se=!!ue,ze=!1,je;if(N<V)if(!ce)je=E.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{je=E.transpose(),N=je.rows,V=je.columns,ze=!0;let lt=Oe;Oe=Se,Se=lt}else je=E.clone();let rt=Math.min(N,V),ot=Math.min(N+1,V),$e=new Float64Array(ot),it=new be(N,rt),ut=new be(V,V),ke=new Float64Array(V),at=new Float64Array(N),vt=new Float64Array(ot);for(let lt=0;lt<ot;lt++)vt[lt]=lt;let Pt=Math.min(N-1,V),kt=Math.max(0,Math.min(V-2,N)),Zt=Math.max(Pt,kt);for(let lt=0;lt<Zt;lt++){if(lt<Pt){$e[lt]=0;for(let wt=lt;wt<N;wt++)$e[lt]=Wt($e[lt],je.get(wt,lt));if($e[lt]!==0){je.get(lt,lt)<0&&($e[lt]=-$e[lt]);for(let wt=lt;wt<N;wt++)je.set(wt,lt,je.get(wt,lt)/$e[lt]);je.set(lt,lt,je.get(lt,lt)+1)}$e[lt]=-$e[lt]}for(let wt=lt+1;wt<V;wt++){if(lt<Pt&&$e[lt]!==0){let Lt=0;for(let It=lt;It<N;It++)Lt+=je.get(It,lt)*je.get(It,wt);Lt=-Lt/je.get(lt,lt);for(let It=lt;It<N;It++)je.set(It,wt,je.get(It,wt)+Lt*je.get(It,lt))}ke[wt]=je.get(lt,wt)}if(Oe&&lt<Pt)for(let wt=lt;wt<N;wt++)it.set(wt,lt,je.get(wt,lt));if(lt<kt){ke[lt]=0;for(let wt=lt+1;wt<V;wt++)ke[lt]=Wt(ke[lt],ke[wt]);if(ke[lt]!==0){ke[lt+1]<0&&(ke[lt]=0-ke[lt]);for(let wt=lt+1;wt<V;wt++)ke[wt]/=ke[lt];ke[lt+1]+=1}if(ke[lt]=-ke[lt],lt+1<N&&ke[lt]!==0){for(let wt=lt+1;wt<N;wt++)at[wt]=0;for(let wt=lt+1;wt<N;wt++)for(let Lt=lt+1;Lt<V;Lt++)at[wt]+=ke[Lt]*je.get(wt,Lt);for(let wt=lt+1;wt<V;wt++){let Lt=-ke[wt]/ke[lt+1];for(let It=lt+1;It<N;It++)je.set(It,wt,je.get(It,wt)+Lt*at[It])}}if(Se)for(let wt=lt+1;wt<V;wt++)ut.set(wt,lt,ke[wt])}}let Ct=Math.min(V,N+1);if(Pt<V&&($e[Pt]=je.get(Pt,Pt)),N<Ct&&($e[Ct-1]=0),kt+1<Ct&&(ke[kt]=je.get(kt,Ct-1)),ke[Ct-1]=0,Oe){for(let lt=Pt;lt<rt;lt++){for(let wt=0;wt<N;wt++)it.set(wt,lt,0);it.set(lt,lt,1)}for(let lt=Pt-1;lt>=0;lt--)if($e[lt]!==0){for(let wt=lt+1;wt<rt;wt++){let Lt=0;for(let It=lt;It<N;It++)Lt+=it.get(It,lt)*it.get(It,wt);Lt=-Lt/it.get(lt,lt);for(let It=lt;It<N;It++)it.set(It,wt,it.get(It,wt)+Lt*it.get(It,lt))}for(let wt=lt;wt<N;wt++)it.set(wt,lt,-it.get(wt,lt));it.set(lt,lt,1+it.get(lt,lt));for(let wt=0;wt<lt-1;wt++)it.set(wt,lt,0)}else{for(let wt=0;wt<N;wt++)it.set(wt,lt,0);it.set(lt,lt,1)}}if(Se)for(let lt=V-1;lt>=0;lt--){if(lt<kt&&ke[lt]!==0)for(let wt=lt+1;wt<V;wt++){let Lt=0;for(let It=lt+1;It<V;It++)Lt+=ut.get(It,lt)*ut.get(It,wt);Lt=-Lt/ut.get(lt+1,lt);for(let It=lt+1;It<V;It++)ut.set(It,wt,ut.get(It,wt)+Lt*ut.get(It,lt))}for(let wt=0;wt<V;wt++)ut.set(wt,lt,0);ut.set(lt,lt,1)}let Bt=Ct-1,Vt=Number.EPSILON;for(;Ct>0;){let lt,wt;for(lt=Ct-2;lt>=-1&&lt!==-1;lt--){const Lt=Number.MIN_VALUE+Vt*Math.abs($e[lt]+Math.abs($e[lt+1]));if(Math.abs(ke[lt])<=Lt||Number.isNaN(ke[lt])){ke[lt]=0;break}}if(lt===Ct-2)wt=4;else{let Lt;for(Lt=Ct-1;Lt>=lt&&Lt!==lt;Lt--){let It=(Lt!==Ct?Math.abs(ke[Lt]):0)+(Lt!==lt+1?Math.abs(ke[Lt-1]):0);if(Math.abs($e[Lt])<=Vt*It){$e[Lt]=0;break}}Lt===lt?wt=3:Lt===Ct-1?wt=1:(wt=2,lt=Lt)}switch(lt++,wt){case 1:{let Lt=ke[Ct-2];ke[Ct-2]=0;for(let It=Ct-2;It>=lt;It--){let fn=Wt($e[It],Lt),Yt=$e[It]/fn,Qt=Lt/fn;if($e[It]=fn,It!==lt&&(Lt=-Qt*ke[It-1],ke[It-1]=Yt*ke[It-1]),Se)for(let Jt=0;Jt<V;Jt++)fn=Yt*ut.get(Jt,It)+Qt*ut.get(Jt,Ct-1),ut.set(Jt,Ct-1,-Qt*ut.get(Jt,It)+Yt*ut.get(Jt,Ct-1)),ut.set(Jt,It,fn)}break}case 2:{let Lt=ke[lt-1];ke[lt-1]=0;for(let It=lt;It<Ct;It++){let fn=Wt($e[It],Lt),Yt=$e[It]/fn,Qt=Lt/fn;if($e[It]=fn,Lt=-Qt*ke[It],ke[It]=Yt*ke[It],Oe)for(let Jt=0;Jt<N;Jt++)fn=Yt*it.get(Jt,It)+Qt*it.get(Jt,lt-1),it.set(Jt,lt-1,-Qt*it.get(Jt,It)+Yt*it.get(Jt,lt-1)),it.set(Jt,It,fn)}break}case 3:{const Lt=Math.max(Math.abs($e[Ct-1]),Math.abs($e[Ct-2]),Math.abs(ke[Ct-2]),Math.abs($e[lt]),Math.abs(ke[lt])),It=$e[Ct-1]/Lt,fn=$e[Ct-2]/Lt,Yt=ke[Ct-2]/Lt,Qt=$e[lt]/Lt,Jt=ke[lt]/Lt,_n=((fn+It)*(fn-It)+Yt*Yt)/2,yn=It*Yt*(It*Yt);let cn=0;(_n!==0||yn!==0)&&(_n<0?cn=0-Math.sqrt(_n*_n+yn):cn=Math.sqrt(_n*_n+yn),cn=yn/(_n+cn));let Zn=(Qt+It)*(Qt-It)+cn,Nn=Qt*Jt;for(let tn=lt;tn<Ct-1;tn++){let Ln=Wt(Zn,Nn);Ln===0&&(Ln=Number.MIN_VALUE);let Bn=Zn/Ln,lr=Nn/Ln;if(tn!==lt&&(ke[tn-1]=Ln),Zn=Bn*$e[tn]+lr*ke[tn],ke[tn]=Bn*ke[tn]-lr*$e[tn],Nn=lr*$e[tn+1],$e[tn+1]=Bn*$e[tn+1],Se)for(let qn=0;qn<V;qn++)Ln=Bn*ut.get(qn,tn)+lr*ut.get(qn,tn+1),ut.set(qn,tn+1,-lr*ut.get(qn,tn)+Bn*ut.get(qn,tn+1)),ut.set(qn,tn,Ln);if(Ln=Wt(Zn,Nn),Ln===0&&(Ln=Number.MIN_VALUE),Bn=Zn/Ln,lr=Nn/Ln,$e[tn]=Ln,Zn=Bn*ke[tn]+lr*$e[tn+1],$e[tn+1]=-lr*ke[tn]+Bn*$e[tn+1],Nn=lr*ke[tn+1],ke[tn+1]=Bn*ke[tn+1],Oe&&tn<N-1)for(let qn=0;qn<N;qn++)Ln=Bn*it.get(qn,tn)+lr*it.get(qn,tn+1),it.set(qn,tn+1,-lr*it.get(qn,tn)+Bn*it.get(qn,tn+1)),it.set(qn,tn,Ln)}ke[Ct-2]=Zn;break}case 4:{if($e[lt]<=0&&($e[lt]=$e[lt]<0?-$e[lt]:0,Se))for(let Lt=0;Lt<=Bt;Lt++)ut.set(Lt,lt,-ut.get(Lt,lt));for(;lt<Bt&&!($e[lt]>=$e[lt+1]);){let Lt=$e[lt];if($e[lt]=$e[lt+1],$e[lt+1]=Lt,Se&&lt<V-1)for(let It=0;It<V;It++)Lt=ut.get(It,lt+1),ut.set(It,lt+1,ut.get(It,lt)),ut.set(It,lt,Lt);if(Oe&&lt<N-1)for(let It=0;It<N;It++)Lt=it.get(It,lt+1),it.set(It,lt+1,it.get(It,lt)),it.set(It,lt,Lt);lt++}Ct--;break}}}if(ze){let lt=ut;ut=it,it=lt}this.m=N,this.n=V,this.s=$e,this.U=it,this.V=ut}solve(E){let B=E,N=this.threshold,V=this.s.length,J=be.zeros(V,V);for(let rt=0;rt<V;rt++)Math.abs(this.s[rt])<=N?J.set(rt,rt,0):J.set(rt,rt,1/this.s[rt]);let ue=this.U,ce=this.rightSingularVectors,Oe=ce.mmul(J),Se=ce.rows,ze=ue.rows,je=be.zeros(Se,ze);for(let rt=0;rt<Se;rt++)for(let ot=0;ot<ze;ot++){let $e=0;for(let it=0;it<V;it++)$e+=Oe.get(rt,it)*ue.get(ot,it);je.set(rt,ot,$e)}return je.mmul(B)}solveForDiagonal(E){return this.solve(be.diag(E))}inverse(){let E=this.V,B=this.threshold,N=E.rows,V=E.columns,J=new be(N,this.s.length);for(let ze=0;ze<N;ze++)for(let je=0;je<V;je++)Math.abs(this.s[je])>B&&J.set(ze,je,E.get(ze,je)/this.s[je]);let ue=this.U,ce=ue.rows,Oe=ue.columns,Se=new be(N,ce);for(let ze=0;ze<N;ze++)for(let je=0;je<ce;je++){let rt=0;for(let ot=0;ot<Oe;ot++)rt+=J.get(ze,ot)*ue.get(je,ot);Se.set(ze,je,rt)}return Se}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let E=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,B=0,N=this.s;for(let V=0,J=N.length;V<J;V++)N[V]>E&&B++;return B}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return be.diag(this.s)}}function $t(me,E=!1){return me=pt.checkMatrix(me),E?new zt(me).inverse():pn(me,be.eye(me.rows))}function pn(me,E,B=!1){return me=pt.checkMatrix(me),E=pt.checkMatrix(E),B?new zt(me).solve(E):me.isSquare()?new Ot(me).solve(E):new jt(me).solve(E)}function on(me){if(me=be.checkMatrix(me),me.isSquare()){if(me.columns===0)return 1;let E,B,N,V;if(me.columns===2)return E=me.get(0,0),B=me.get(0,1),N=me.get(1,0),V=me.get(1,1),E*V-B*N;if(me.columns===3){let J,ue,ce;return J=new Tt(me,[1,2],[1,2]),ue=new Tt(me,[1,2],[0,2]),ce=new Tt(me,[1,2],[0,1]),E=me.get(0,0),B=me.get(0,1),N=me.get(0,2),E*on(J)-B*on(ue)+N*on(ce)}else return new Ot(me).determinant}else throw Error("determinant can only be calculated for a square matrix")}function un(me,E){let B=[];for(let N=0;N<me;N++)N!==E&&B.push(N);return B}function On(me,E,B,N=1e-9,V=1e-9){if(me>V)return new Array(E.rows+1).fill(0);{let J=E.addRow(B,[0]);for(let ue=0;ue<J.rows;ue++)Math.abs(J.get(ue,0))<N&&J.set(ue,0,0);return J.to1DArray()}}function Mn(me,E={}){const{thresholdValue:B=1e-9,thresholdError:N=1e-9}=E;me=be.checkMatrix(me);let V=me.rows,J=new be(V,V);for(let ue=0;ue<V;ue++){let ce=be.columnVector(me.getRow(ue)),Oe=me.subMatrixRow(un(V,ue)).transpose(),ze=new zt(Oe).solve(ce),je=be.sub(ce,Oe.mmul(ze)).abs().max();J.setRow(ue,On(je,ze,ue,B,N))}return J}function Kt(me,E=Number.EPSILON){if(me=be.checkMatrix(me),me.isEmpty())return me.transpose();let B=new zt(me,{autoTranspose:!0}),N=B.leftSingularVectors,V=B.rightSingularVectors,J=B.diagonal;for(let ue=0;ue<J.length;ue++)Math.abs(J[ue])>E?J[ue]=1/J[ue]:J[ue]=0;return V.mmul(be.diag(J).mmul(N.transpose()))}function rn(me,E=me,B={}){me=new be(me);let N=!1;if(typeof E=="object"&&!be.isMatrix(E)&&!v.isAnyArray(E)?(B=E,E=me,N=!0):E=new be(E),me.rows!==E.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:V=!0}=B;V&&(me=me.center("column"),N||(E=E.center("column")));const J=me.transpose().mmul(E);for(let ue=0;ue<J.rows;ue++)for(let ce=0;ce<J.columns;ce++)J.set(ue,ce,J.get(ue,ce)*(1/(me.rows-1)));return J}function ln(me,E=me,B={}){me=new be(me);let N=!1;if(typeof E=="object"&&!be.isMatrix(E)&&!v.isAnyArray(E)?(B=E,E=me,N=!0):E=new be(E),me.rows!==E.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:V=!0,scale:J=!0}=B;V&&(me.center("column"),N||E.center("column")),J&&(me.scale("column"),N||E.scale("column"));const ue=me.standardDeviation("column",{unbiased:!0}),ce=N?ue:E.standardDeviation("column",{unbiased:!0}),Oe=me.transpose().mmul(E);for(let Se=0;Se<Oe.rows;Se++)for(let ze=0;ze<Oe.columns;ze++)Oe.set(Se,ze,Oe.get(Se,ze)*(1/(ue[Se]*ce[ze]))*(1/(me.rows-1)));return Oe}class Gt{constructor(E,B={}){const{assumeSymmetric:N=!1}=B;if(E=pt.checkMatrix(E),!E.isSquare())throw new Error("Matrix is not a square matrix");if(E.isEmpty())throw new Error("Matrix must be non-empty");let V=E.columns,J=new be(V,V),ue=new Float64Array(V),ce=new Float64Array(V),Oe=E,Se,ze,je=!1;if(N?je=!0:je=E.isSymmetric(),je){for(Se=0;Se<V;Se++)for(ze=0;ze<V;ze++)J.set(Se,ze,Oe.get(Se,ze));An(V,ce,ue,J),Dn(V,ce,ue,J)}else{let rt=new be(V,V),ot=new Float64Array(V);for(ze=0;ze<V;ze++)for(Se=0;Se<V;Se++)rt.set(Se,ze,Oe.get(Se,ze));hn(V,rt,ot,J),In(V,ce,ue,J,rt)}this.n=V,this.e=ce,this.d=ue,this.V=J}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let E=this.n,B=this.e,N=this.d,V=new be(E,E),J,ue;for(J=0;J<E;J++){for(ue=0;ue<E;ue++)V.set(J,ue,0);V.set(J,J,N[J]),B[J]>0?V.set(J,J+1,B[J]):B[J]<0&&V.set(J,J-1,B[J])}return V}}function An(me,E,B,N){let V,J,ue,ce,Oe,Se,ze,je;for(Oe=0;Oe<me;Oe++)B[Oe]=N.get(me-1,Oe);for(ce=me-1;ce>0;ce--){for(je=0,ue=0,Se=0;Se<ce;Se++)je=je+Math.abs(B[Se]);if(je===0)for(E[ce]=B[ce-1],Oe=0;Oe<ce;Oe++)B[Oe]=N.get(ce-1,Oe),N.set(ce,Oe,0),N.set(Oe,ce,0);else{for(Se=0;Se<ce;Se++)B[Se]/=je,ue+=B[Se]*B[Se];for(V=B[ce-1],J=Math.sqrt(ue),V>0&&(J=-J),E[ce]=je*J,ue=ue-V*J,B[ce-1]=V-J,Oe=0;Oe<ce;Oe++)E[Oe]=0;for(Oe=0;Oe<ce;Oe++){for(V=B[Oe],N.set(Oe,ce,V),J=E[Oe]+N.get(Oe,Oe)*V,Se=Oe+1;Se<=ce-1;Se++)J+=N.get(Se,Oe)*B[Se],E[Se]+=N.get(Se,Oe)*V;E[Oe]=J}for(V=0,Oe=0;Oe<ce;Oe++)E[Oe]/=ue,V+=E[Oe]*B[Oe];for(ze=V/(ue+ue),Oe=0;Oe<ce;Oe++)E[Oe]-=ze*B[Oe];for(Oe=0;Oe<ce;Oe++){for(V=B[Oe],J=E[Oe],Se=Oe;Se<=ce-1;Se++)N.set(Se,Oe,N.get(Se,Oe)-(V*E[Se]+J*B[Se]));B[Oe]=N.get(ce-1,Oe),N.set(ce,Oe,0)}}B[ce]=ue}for(ce=0;ce<me-1;ce++){if(N.set(me-1,ce,N.get(ce,ce)),N.set(ce,ce,1),ue=B[ce+1],ue!==0){for(Se=0;Se<=ce;Se++)B[Se]=N.get(Se,ce+1)/ue;for(Oe=0;Oe<=ce;Oe++){for(J=0,Se=0;Se<=ce;Se++)J+=N.get(Se,ce+1)*N.get(Se,Oe);for(Se=0;Se<=ce;Se++)N.set(Se,Oe,N.get(Se,Oe)-J*B[Se])}}for(Se=0;Se<=ce;Se++)N.set(Se,ce+1,0)}for(Oe=0;Oe<me;Oe++)B[Oe]=N.get(me-1,Oe),N.set(me-1,Oe,0);N.set(me-1,me-1,1),E[0]=0}function Dn(me,E,B,N){let V,J,ue,ce,Oe,Se,ze,je,rt,ot,$e,it,ut,ke,at,vt;for(ue=1;ue<me;ue++)E[ue-1]=E[ue];E[me-1]=0;let Pt=0,kt=0,Zt=Number.EPSILON;for(Se=0;Se<me;Se++){for(kt=Math.max(kt,Math.abs(B[Se])+Math.abs(E[Se])),ze=Se;ze<me&&!(Math.abs(E[ze])<=Zt*kt);)ze++;if(ze>Se)do{for(V=B[Se],je=(B[Se+1]-V)/(2*E[Se]),rt=Wt(je,1),je<0&&(rt=-rt),B[Se]=E[Se]/(je+rt),B[Se+1]=E[Se]*(je+rt),ot=B[Se+1],J=V-B[Se],ue=Se+2;ue<me;ue++)B[ue]-=J;for(Pt=Pt+J,je=B[ze],$e=1,it=$e,ut=$e,ke=E[Se+1],at=0,vt=0,ue=ze-1;ue>=Se;ue--)for(ut=it,it=$e,vt=at,V=$e*E[ue],J=$e*je,rt=Wt(je,E[ue]),E[ue+1]=at*rt,at=E[ue]/rt,$e=je/rt,je=$e*B[ue]-at*V,B[ue+1]=J+at*($e*V+at*B[ue]),Oe=0;Oe<me;Oe++)J=N.get(Oe,ue+1),N.set(Oe,ue+1,at*N.get(Oe,ue)+$e*J),N.set(Oe,ue,$e*N.get(Oe,ue)-at*J);je=-at*vt*ut*ke*E[Se]/ot,E[Se]=at*je,B[Se]=$e*je}while(Math.abs(E[Se])>Zt*kt);B[Se]=B[Se]+Pt,E[Se]=0}for(ue=0;ue<me-1;ue++){for(Oe=ue,je=B[ue],ce=ue+1;ce<me;ce++)B[ce]<je&&(Oe=ce,je=B[ce]);if(Oe!==ue)for(B[Oe]=B[ue],B[ue]=je,ce=0;ce<me;ce++)je=N.get(ce,ue),N.set(ce,ue,N.get(ce,Oe)),N.set(ce,Oe,je)}}function hn(me,E,B,N){let V=0,J=me-1,ue,ce,Oe,Se,ze,je,rt;for(je=V+1;je<=J-1;je++){for(rt=0,Se=je;Se<=J;Se++)rt=rt+Math.abs(E.get(Se,je-1));if(rt!==0){for(Oe=0,Se=J;Se>=je;Se--)B[Se]=E.get(Se,je-1)/rt,Oe+=B[Se]*B[Se];for(ce=Math.sqrt(Oe),B[je]>0&&(ce=-ce),Oe=Oe-B[je]*ce,B[je]=B[je]-ce,ze=je;ze<me;ze++){for(ue=0,Se=J;Se>=je;Se--)ue+=B[Se]*E.get(Se,ze);for(ue=ue/Oe,Se=je;Se<=J;Se++)E.set(Se,ze,E.get(Se,ze)-ue*B[Se])}for(Se=0;Se<=J;Se++){for(ue=0,ze=J;ze>=je;ze--)ue+=B[ze]*E.get(Se,ze);for(ue=ue/Oe,ze=je;ze<=J;ze++)E.set(Se,ze,E.get(Se,ze)-ue*B[ze])}B[je]=rt*B[je],E.set(je,je-1,rt*ce)}}for(Se=0;Se<me;Se++)for(ze=0;ze<me;ze++)N.set(Se,ze,Se===ze?1:0);for(je=J-1;je>=V+1;je--)if(E.get(je,je-1)!==0){for(Se=je+1;Se<=J;Se++)B[Se]=E.get(Se,je-1);for(ze=je;ze<=J;ze++){for(ce=0,Se=je;Se<=J;Se++)ce+=B[Se]*N.get(Se,ze);for(ce=ce/B[je]/E.get(je,je-1),Se=je;Se<=J;Se++)N.set(Se,ze,N.get(Se,ze)+ce*B[Se])}}}function In(me,E,B,N,V){let J=me-1,ue=0,ce=me-1,Oe=Number.EPSILON,Se=0,ze=0,je=0,rt=0,ot=0,$e=0,it=0,ut=0,ke,at,vt,Pt,kt,Zt,Ct,Bt,Vt,lt,wt,Lt,It,fn,Yt;for(ke=0;ke<me;ke++)for((ke<ue||ke>ce)&&(B[ke]=V.get(ke,ke),E[ke]=0),at=Math.max(ke-1,0);at<me;at++)ze=ze+Math.abs(V.get(ke,at));for(;J>=ue;){for(Pt=J;Pt>ue&&($e=Math.abs(V.get(Pt-1,Pt-1))+Math.abs(V.get(Pt,Pt)),$e===0&&($e=ze),!(Math.abs(V.get(Pt,Pt-1))<Oe*$e));)Pt--;if(Pt===J)V.set(J,J,V.get(J,J)+Se),B[J]=V.get(J,J),E[J]=0,J--,ut=0;else if(Pt===J-1){if(Ct=V.get(J,J-1)*V.get(J-1,J),je=(V.get(J-1,J-1)-V.get(J,J))/2,rt=je*je+Ct,it=Math.sqrt(Math.abs(rt)),V.set(J,J,V.get(J,J)+Se),V.set(J-1,J-1,V.get(J-1,J-1)+Se),Bt=V.get(J,J),rt>=0){for(it=je>=0?je+it:je-it,B[J-1]=Bt+it,B[J]=B[J-1],it!==0&&(B[J]=Bt-Ct/it),E[J-1]=0,E[J]=0,Bt=V.get(J,J-1),$e=Math.abs(Bt)+Math.abs(it),je=Bt/$e,rt=it/$e,ot=Math.sqrt(je*je+rt*rt),je=je/ot,rt=rt/ot,at=J-1;at<me;at++)it=V.get(J-1,at),V.set(J-1,at,rt*it+je*V.get(J,at)),V.set(J,at,rt*V.get(J,at)-je*it);for(ke=0;ke<=J;ke++)it=V.get(ke,J-1),V.set(ke,J-1,rt*it+je*V.get(ke,J)),V.set(ke,J,rt*V.get(ke,J)-je*it);for(ke=ue;ke<=ce;ke++)it=N.get(ke,J-1),N.set(ke,J-1,rt*it+je*N.get(ke,J)),N.set(ke,J,rt*N.get(ke,J)-je*it)}else B[J-1]=Bt+je,B[J]=Bt+je,E[J-1]=it,E[J]=-it;J=J-2,ut=0}else{if(Bt=V.get(J,J),Vt=0,Ct=0,Pt<J&&(Vt=V.get(J-1,J-1),Ct=V.get(J,J-1)*V.get(J-1,J)),ut===10){for(Se+=Bt,ke=ue;ke<=J;ke++)V.set(ke,ke,V.get(ke,ke)-Bt);$e=Math.abs(V.get(J,J-1))+Math.abs(V.get(J-1,J-2)),Bt=Vt=.75*$e,Ct=-.4375*$e*$e}if(ut===30&&($e=(Vt-Bt)/2,$e=$e*$e+Ct,$e>0)){for($e=Math.sqrt($e),Vt<Bt&&($e=-$e),$e=Bt-Ct/((Vt-Bt)/2+$e),ke=ue;ke<=J;ke++)V.set(ke,ke,V.get(ke,ke)-$e);Se+=$e,Bt=Vt=Ct=.964}for(ut=ut+1,kt=J-2;kt>=Pt&&(it=V.get(kt,kt),ot=Bt-it,$e=Vt-it,je=(ot*$e-Ct)/V.get(kt+1,kt)+V.get(kt,kt+1),rt=V.get(kt+1,kt+1)-it-ot-$e,ot=V.get(kt+2,kt+1),$e=Math.abs(je)+Math.abs(rt)+Math.abs(ot),je=je/$e,rt=rt/$e,ot=ot/$e,!(kt===Pt||Math.abs(V.get(kt,kt-1))*(Math.abs(rt)+Math.abs(ot))<Oe*(Math.abs(je)*(Math.abs(V.get(kt-1,kt-1))+Math.abs(it)+Math.abs(V.get(kt+1,kt+1))))));)kt--;for(ke=kt+2;ke<=J;ke++)V.set(ke,ke-2,0),ke>kt+2&&V.set(ke,ke-3,0);for(vt=kt;vt<=J-1&&(fn=vt!==J-1,vt!==kt&&(je=V.get(vt,vt-1),rt=V.get(vt+1,vt-1),ot=fn?V.get(vt+2,vt-1):0,Bt=Math.abs(je)+Math.abs(rt)+Math.abs(ot),Bt!==0&&(je=je/Bt,rt=rt/Bt,ot=ot/Bt)),Bt!==0);vt++)if($e=Math.sqrt(je*je+rt*rt+ot*ot),je<0&&($e=-$e),$e!==0){for(vt!==kt?V.set(vt,vt-1,-$e*Bt):Pt!==kt&&V.set(vt,vt-1,-V.get(vt,vt-1)),je=je+$e,Bt=je/$e,Vt=rt/$e,it=ot/$e,rt=rt/je,ot=ot/je,at=vt;at<me;at++)je=V.get(vt,at)+rt*V.get(vt+1,at),fn&&(je=je+ot*V.get(vt+2,at),V.set(vt+2,at,V.get(vt+2,at)-je*it)),V.set(vt,at,V.get(vt,at)-je*Bt),V.set(vt+1,at,V.get(vt+1,at)-je*Vt);for(ke=0;ke<=Math.min(J,vt+3);ke++)je=Bt*V.get(ke,vt)+Vt*V.get(ke,vt+1),fn&&(je=je+it*V.get(ke,vt+2),V.set(ke,vt+2,V.get(ke,vt+2)-je*ot)),V.set(ke,vt,V.get(ke,vt)-je),V.set(ke,vt+1,V.get(ke,vt+1)-je*rt);for(ke=ue;ke<=ce;ke++)je=Bt*N.get(ke,vt)+Vt*N.get(ke,vt+1),fn&&(je=je+it*N.get(ke,vt+2),N.set(ke,vt+2,N.get(ke,vt+2)-je*ot)),N.set(ke,vt,N.get(ke,vt)-je),N.set(ke,vt+1,N.get(ke,vt+1)-je*rt)}}}if(ze!==0){for(J=me-1;J>=0;J--)if(je=B[J],rt=E[J],rt===0)for(Pt=J,V.set(J,J,1),ke=J-1;ke>=0;ke--){for(Ct=V.get(ke,ke)-je,ot=0,at=Pt;at<=J;at++)ot=ot+V.get(ke,at)*V.get(at,J);if(E[ke]<0)it=Ct,$e=ot;else if(Pt=ke,E[ke]===0?V.set(ke,J,Ct!==0?-ot/Ct:-ot/(Oe*ze)):(Bt=V.get(ke,ke+1),Vt=V.get(ke+1,ke),rt=(B[ke]-je)*(B[ke]-je)+E[ke]*E[ke],Zt=(Bt*$e-it*ot)/rt,V.set(ke,J,Zt),V.set(ke+1,J,Math.abs(Bt)>Math.abs(it)?(-ot-Ct*Zt)/Bt:(-$e-Vt*Zt)/it)),Zt=Math.abs(V.get(ke,J)),Oe*Zt*Zt>1)for(at=ke;at<=J;at++)V.set(at,J,V.get(at,J)/Zt)}else if(rt<0)for(Pt=J-1,Math.abs(V.get(J,J-1))>Math.abs(V.get(J-1,J))?(V.set(J-1,J-1,rt/V.get(J,J-1)),V.set(J-1,J,-(V.get(J,J)-je)/V.get(J,J-1))):(Yt=Un(0,-V.get(J-1,J),V.get(J-1,J-1)-je,rt),V.set(J-1,J-1,Yt[0]),V.set(J-1,J,Yt[1])),V.set(J,J-1,0),V.set(J,J,1),ke=J-2;ke>=0;ke--){for(lt=0,wt=0,at=Pt;at<=J;at++)lt=lt+V.get(ke,at)*V.get(at,J-1),wt=wt+V.get(ke,at)*V.get(at,J);if(Ct=V.get(ke,ke)-je,E[ke]<0)it=Ct,ot=lt,$e=wt;else if(Pt=ke,E[ke]===0?(Yt=Un(-lt,-wt,Ct,rt),V.set(ke,J-1,Yt[0]),V.set(ke,J,Yt[1])):(Bt=V.get(ke,ke+1),Vt=V.get(ke+1,ke),Lt=(B[ke]-je)*(B[ke]-je)+E[ke]*E[ke]-rt*rt,It=(B[ke]-je)*2*rt,Lt===0&&It===0&&(Lt=Oe*ze*(Math.abs(Ct)+Math.abs(rt)+Math.abs(Bt)+Math.abs(Vt)+Math.abs(it))),Yt=Un(Bt*ot-it*lt+rt*wt,Bt*$e-it*wt-rt*lt,Lt,It),V.set(ke,J-1,Yt[0]),V.set(ke,J,Yt[1]),Math.abs(Bt)>Math.abs(it)+Math.abs(rt)?(V.set(ke+1,J-1,(-lt-Ct*V.get(ke,J-1)+rt*V.get(ke,J))/Bt),V.set(ke+1,J,(-wt-Ct*V.get(ke,J)-rt*V.get(ke,J-1))/Bt)):(Yt=Un(-ot-Vt*V.get(ke,J-1),-$e-Vt*V.get(ke,J),it,rt),V.set(ke+1,J-1,Yt[0]),V.set(ke+1,J,Yt[1]))),Zt=Math.max(Math.abs(V.get(ke,J-1)),Math.abs(V.get(ke,J))),Oe*Zt*Zt>1)for(at=ke;at<=J;at++)V.set(at,J-1,V.get(at,J-1)/Zt),V.set(at,J,V.get(at,J)/Zt)}for(ke=0;ke<me;ke++)if(ke<ue||ke>ce)for(at=ke;at<me;at++)N.set(ke,at,V.get(ke,at));for(at=me-1;at>=ue;at--)for(ke=ue;ke<=ce;ke++){for(it=0,vt=ue;vt<=Math.min(at,ce);vt++)it=it+N.get(ke,vt)*V.get(vt,at);N.set(ke,at,it)}}}function Un(me,E,B,N){let V,J;return Math.abs(B)>Math.abs(N)?(V=N/B,J=B+V*N,[(me+V*E)/J,(E-V*me)/J]):(V=B/N,J=N+V*B,[(V*me+E)/J,(V*E-me)/J])}class Cn{constructor(E){if(E=pt.checkMatrix(E),!E.isSymmetric())throw new Error("Matrix is not symmetric");let B=E,N=B.rows,V=new be(N,N),J=!0,ue,ce,Oe;for(ce=0;ce<N;ce++){let Se=0;for(Oe=0;Oe<ce;Oe++){let ze=0;for(ue=0;ue<Oe;ue++)ze+=V.get(Oe,ue)*V.get(ce,ue);ze=(B.get(ce,Oe)-ze)/V.get(Oe,Oe),V.set(ce,Oe,ze),Se=Se+ze*ze}for(Se=B.get(ce,ce)-Se,J&&(J=Se>0),V.set(ce,ce,Math.sqrt(Math.max(Se,0))),Oe=ce+1;Oe<N;Oe++)V.set(ce,Oe,0)}this.L=V,this.positiveDefinite=J}isPositiveDefinite(){return this.positiveDefinite}solve(E){E=pt.checkMatrix(E);let B=this.L,N=B.rows;if(E.rows!==N)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let V=E.columns,J=E.clone(),ue,ce,Oe;for(Oe=0;Oe<N;Oe++)for(ce=0;ce<V;ce++){for(ue=0;ue<Oe;ue++)J.set(Oe,ce,J.get(Oe,ce)-J.get(ue,ce)*B.get(Oe,ue));J.set(Oe,ce,J.get(Oe,ce)/B.get(Oe,Oe))}for(Oe=N-1;Oe>=0;Oe--)for(ce=0;ce<V;ce++){for(ue=Oe+1;ue<N;ue++)J.set(Oe,ce,J.get(Oe,ce)-J.get(ue,ce)*B.get(ue,Oe));J.set(Oe,ce,J.get(Oe,ce)/B.get(Oe,Oe))}return J}get lowerTriangularMatrix(){return this.L}}class Ft{constructor(E,B={}){E=pt.checkMatrix(E);let{Y:N}=B;const{scaleScores:V=!1,maxIterations:J=1e3,terminationCriteria:ue=1e-10}=B;let ce;if(N){if(v.isAnyArray(N)&&typeof N[0]=="number"?N=be.columnVector(N):N=pt.checkMatrix(N),N.rows!==E.rows)throw new Error("Y should have the same number of rows as X");ce=N.getColumnVector(0)}else ce=E.getColumnVector(0);let Oe=1,Se,ze,je,rt;for(let ot=0;ot<J&&Oe>ue;ot++)je=E.transpose().mmul(ce).div(ce.transpose().mmul(ce).get(0,0)),je=je.div(je.norm()),Se=E.mmul(je).div(je.transpose().mmul(je).get(0,0)),ot>0&&(Oe=Se.clone().sub(rt).pow(2).sum()),rt=Se.clone(),N?(ze=N.transpose().mmul(Se).div(Se.transpose().mmul(Se).get(0,0)),ze=ze.div(ze.norm()),ce=N.mmul(ze).div(ze.transpose().mmul(ze).get(0,0))):ce=Se;if(N){let ot=E.transpose().mmul(Se).div(Se.transpose().mmul(Se).get(0,0));ot=ot.div(ot.norm());let $e=E.clone().sub(Se.clone().mmul(ot.transpose())),it=ce.transpose().mmul(Se).div(Se.transpose().mmul(Se).get(0,0)),ut=N.clone().sub(Se.clone().mulS(it.get(0,0)).mmul(ze.transpose()));this.t=Se,this.p=ot.transpose(),this.w=je.transpose(),this.q=ze,this.u=ce,this.s=Se.transpose().mmul(Se),this.xResidual=$e,this.yResidual=ut,this.betas=it}else this.w=je.transpose(),this.s=Se.transpose().mmul(Se).sqrt(),V?this.t=Se.clone().div(this.s.get(0,0)):this.t=Se,this.xResidual=E.sub(Se.mmul(je.transpose()))}}Ce.XA=Ze,Ce.a_=Cn,Ce.yQ=Cn,Ce.Hs=Re,Ce.Ec=Gt,Ce.dx=Gt,Ce.LU=Ot,Ce.Rm=Ot,Ce.y3=be,Ce.qK=Ue,Ce.pb=Le,Ce.j=Qe,Ce.sO=et,Ce.BZ=mt,Ce.EK=dt,Ce.Db=Tt,Ce.Fx=At,Ce.tU=Ye,Ce.Ym=Ft,Ce.rs=Ft,Ce.QR=jt,Ce.TB=jt,Ce.oH=zt,Ce.Sc=zt,Ce.BN=Te,Ce.it=ft,Ce.$r=pt,Ce.QM=ln,Ce.AV=rn,X=be,Ce.GH=on,Ce.SO=$t,Ce.uZ=Mn,Ce.yU=Kt,Ce.F1=pn,Ce.re=_t},13845:function(Ae,Ce,Z){"use strict";Z.d(Ce,{F:function(){return X},Z:function(){return q}});function X(H){return H!=null&&H===H.window}function q(H,b){var z,P;if(typeof window=="undefined")return 0;const T=b?"scrollTop":"scrollLeft";let x=0;return X(H)?x=H[b?"pageYOffset":"pageXOffset"]:H instanceof Document?x=H.documentElement[T]:(H instanceof HTMLElement||H)&&(x=H[T]),H&&!X(H)&&typeof x!="number"&&(x=(P=((z=H.ownerDocument)!==null&&z!==void 0?z:H).documentElement)===null||P===void 0?void 0:P[T]),x}},56762:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return q}});var X=Z(59301);function q(){const[,H]=X.useReducer(b=>b+1,0);return H}},68031:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return b}});var X=Z(16089);function q(z,P,T,x){const O=T-P;return z/=x/2,z<1?O/2*z*z*z+P:O/2*((z-=2)*z*z+2)+P}var H=Z(13845);function b(z){let P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{getContainer:T=()=>window,callback:x,duration:O=450}=P,_=T(),g=(0,H.Z)(_,!0),m=Date.now(),L=()=>{const v=Date.now()-m,M=q(v>O?O:v,g,z,O);(0,H.F)(_)?_.scrollTo(window.pageXOffset,M):_ instanceof Document||_.constructor.name==="HTMLDocument"?_.documentElement.scrollTop=M:_.scrollTop=M,v<O?(0,X.Z)(L):typeof x=="function"&&x()};(0,X.Z)(L)}},93891:function(Ae,Ce,Z){"use strict";var X=Z(59301),q=Z(36355),H=Z(64165);const b=z=>{const{componentName:P}=z,{getPrefixCls:T}=(0,X.useContext)(q.E_),x=T("empty");switch(P){case"Table":case"List":return X.createElement(H.Z,{image:H.Z.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return X.createElement(H.Z,{image:H.Z.PRESENTED_IMAGE_SIMPLE,className:`${x}-small`});default:return X.createElement(H.Z,null)}};Ce.Z=b},28103:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return m}});var X=Z(92310),q=Z.n(X),H=Z(59301),b=Z(36355),z=Z(17313),P=Z(83116),T=Z(37613);const x=L=>{const{componentCls:d,sizePaddingEdgeHorizontal:v,colorSplit:M,lineWidth:w,textPaddingInline:S,orientationMargin:A,verticalMarginInline:R}=L;return{[d]:Object.assign(Object.assign({},(0,z.Wf)(L)),{borderBlockStart:`${w}px solid ${M}`,"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",marginInline:R,marginBlock:0,verticalAlign:"middle",borderTop:0,borderInlineStart:`${w}px solid ${M}`},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:`${L.dividerHorizontalGutterMargin}px 0`},[`&-horizontal${d}-with-text`]:{display:"flex",alignItems:"center",margin:`${L.dividerHorizontalWithTextGutterMargin}px 0`,color:L.colorTextHeading,fontWeight:500,fontSize:L.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:`0 ${M}`,"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:`${w}px solid transparent`,borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},[`&-horizontal${d}-with-text-left`]:{"&::before":{width:`${A*100}%`},"&::after":{width:`${100-A*100}%`}},[`&-horizontal${d}-with-text-right`]:{"&::before":{width:`${100-A*100}%`},"&::after":{width:`${A*100}%`}},[`${d}-inner-text`]:{display:"inline-block",paddingBlock:0,paddingInline:S},"&-dashed":{background:"none",borderColor:M,borderStyle:"dashed",borderWidth:`${w}px 0 0`},[`&-horizontal${d}-with-text${d}-dashed`]:{"&::before, &::after":{borderStyle:"dashed none none"}},[`&-vertical${d}-dashed`]:{borderInlineStartWidth:w,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},[`&-plain${d}-with-text`]:{color:L.colorText,fontWeight:"normal",fontSize:L.fontSize},[`&-horizontal${d}-with-text-left${d}-no-default-orientation-margin-left`]:{"&::before":{width:0},"&::after":{width:"100%"},[`${d}-inner-text`]:{paddingInlineStart:v}},[`&-horizontal${d}-with-text-right${d}-no-default-orientation-margin-right`]:{"&::before":{width:"100%"},"&::after":{width:0},[`${d}-inner-text`]:{paddingInlineEnd:v}}})}};var O=(0,P.Z)("Divider",L=>{const d=(0,T.TS)(L,{dividerHorizontalWithTextGutterMargin:L.margin,dividerHorizontalGutterMargin:L.marginLG,sizePaddingEdgeHorizontal:0});return[x(d)]},L=>({textPaddingInline:"1em",orientationMargin:.05,verticalMarginInline:L.marginXS})),_=function(L,d){var v={};for(var M in L)Object.prototype.hasOwnProperty.call(L,M)&&d.indexOf(M)<0&&(v[M]=L[M]);if(L!=null&&typeof Object.getOwnPropertySymbols=="function")for(var w=0,M=Object.getOwnPropertySymbols(L);w<M.length;w++)d.indexOf(M[w])<0&&Object.prototype.propertyIsEnumerable.call(L,M[w])&&(v[M[w]]=L[M[w]]);return v},m=L=>{const{getPrefixCls:d,direction:v,divider:M}=H.useContext(b.E_),{prefixCls:w,type:S="horizontal",orientation:A="center",orientationMargin:R,className:u,rootClassName:f,children:y,dashed:D,plain:I,style:U}=L,F=_(L,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","plain","style"]),G=d("divider",w),[Y,te]=O(G),$=A.length>0?`-${A}`:A,oe=!!y,ie=A==="left"&&R!=null,ne=A==="right"&&R!=null,le=q()(G,M==null?void 0:M.className,te,`${G}-${S}`,{[`${G}-with-text`]:oe,[`${G}-with-text${$}`]:oe,[`${G}-dashed`]:!!D,[`${G}-plain`]:!!I,[`${G}-rtl`]:v==="rtl",[`${G}-no-default-orientation-margin-left`]:ie,[`${G}-no-default-orientation-margin-right`]:ne},u,f),ae=H.useMemo(()=>typeof R=="number"?R:/^\d+$/.test(R)?Number(R):R,[R]),de=Object.assign(Object.assign({},ie&&{marginLeft:ae}),ne&&{marginRight:ae});return Y(H.createElement("div",Object.assign({className:le,style:Object.assign(Object.assign({},M==null?void 0:M.style),U)},F,{role:"separator"}),y&&S!=="vertical"&&H.createElement("span",{className:`${G}-inner-text`,style:de},y)))}},91857:function(Ae,Ce,Z){"use strict";var X=Z(59301),q=Z(38819),H=Z(92310),b=Z.n(H),z=Z(31561),P=Z(70425),T=Z(18929),x=Z(2738),O=Z(79676),_=Z(53487),g=Z(92343),m=Z(36355),L=Z(20834),d=Z(40875),v=Z(88088),M=Z(47211);const w=null,S=f=>{const{menu:y,arrow:D,prefixCls:I,children:U,trigger:F,disabled:G,dropdownRender:Y,getPopupContainer:te,overlayClassName:$,rootClassName:oe,open:ie,onOpenChange:ne,visible:le,onVisibleChange:ae,mouseEnterDelay:de=.15,mouseLeaveDelay:se=.1,autoAdjustOverflow:fe=!0,placement:ye="",overlay:ge,transitionName:xe}=f,{getPopupContainer:Me,getPrefixCls:Ne,direction:We}=X.useContext(m.E_),tt=X.useMemo(()=>{const Ue=Ne();return xe!==void 0?xe:ye.includes("top")?`${Ue}-slide-down`:`${Ue}-slide-up`},[Ne,ye,xe]),Je=X.useMemo(()=>ye?ye.includes("Center")?ye.slice(0,ye.indexOf("Center")):ye:We==="rtl"?"bottomRight":"bottomLeft",[ye,We]),st=Ne("dropdown",I),[yt,gt]=(0,M.Z)(st),[,Ke]=(0,v.Z)(),nt=X.Children.only(U),Ze=(0,g.Tm)(nt,{className:b()(`${st}-trigger`,{[`${st}-rtl`]:We==="rtl"},nt.props.className),disabled:G}),Ve=G?[]:F;let Pe;Ve&&Ve.includes("contextMenu")&&(Pe=!0);const[He,be]=(0,T.Z)(!1,{value:ie!=null?ie:le}),Ie=(0,P.useEvent)(Ue=>{ne==null||ne(Ue),ae==null||ae(Ue),be(Ue)}),Te=b()($,oe,gt,{[`${st}-rtl`]:We==="rtl"}),Re=(0,O.Z)({arrowPointAtCenter:typeof D=="object"&&D.pointAtCenter,autoAdjustOverflow:fe,offset:Ke.marginXXS,arrowWidth:D?Ke.sizePopupArrow:0,borderRadius:Ke.borderRadius}),Ge=X.useCallback(()=>{be(!1)},[]),Le=()=>{let Ue;return y!=null&&y.items?Ue=X.createElement(L.default,Object.assign({},y)):typeof ge=="function"?Ue=ge():Ue=ge,Y&&(Ue=Y(Ue)),Ue=X.Children.only(typeof Ue=="string"?X.createElement("span",null,Ue):Ue),X.createElement(d.J,{prefixCls:`${st}-menu`,expandIcon:X.createElement("span",{className:`${st}-menu-submenu-arrow`},X.createElement(q.Z,{className:`${st}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:Ge,validator:Qe=>{let{mode:et}=Qe}},Ue)};return yt(X.createElement(z.Z,Object.assign({alignPoint:Pe},(0,x.Z)(f,["rootClassName"]),{mouseEnterDelay:de,mouseLeaveDelay:se,visible:He,builtinPlacements:Re,arrow:!!D,overlayClassName:Te,prefixCls:st,getPopupContainer:te||Me,transitionName:tt,trigger:Ve,overlay:Le,placement:Je,onVisibleChange:Ie}),Ze))};function A(f){return Object.assign(Object.assign({},f),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const R=(0,_.Z)(S,"dropdown",f=>f,A),u=f=>X.createElement(R,Object.assign({},f),X.createElement("span",null));S._InternalPanelDoNotUseOrYouWillBeFired=u,Ce.Z=S},38854:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return v}});var X=Z(91857),q=Z(92310),H=Z.n(q),b=Z(59301),z=Z(18785),P=Z(3113),T=Z(36355),x=Z(81327),O=Z(33234),_=Z(47211),g=function(M,w){var S={};for(var A in M)Object.prototype.hasOwnProperty.call(M,A)&&w.indexOf(A)<0&&(S[A]=M[A]);if(M!=null&&typeof Object.getOwnPropertySymbols=="function")for(var R=0,A=Object.getOwnPropertySymbols(M);R<A.length;R++)w.indexOf(A[R])<0&&Object.prototype.propertyIsEnumerable.call(M,A[R])&&(S[A[R]]=M[A[R]]);return S};const m=M=>{const{getPopupContainer:w,getPrefixCls:S,direction:A}=b.useContext(T.E_),{prefixCls:R,type:u="default",danger:f,disabled:y,loading:D,onClick:I,htmlType:U,children:F,className:G,menu:Y,arrow:te,autoFocus:$,overlay:oe,trigger:ie,align:ne,open:le,onOpenChange:ae,placement:de,getPopupContainer:se,href:fe,icon:ye=b.createElement(z.Z,null),title:ge,buttonsRender:xe=Le=>Le,mouseEnterDelay:Me,mouseLeaveDelay:Ne,overlayClassName:We,overlayStyle:tt,destroyPopupOnHide:Je,dropdownRender:st}=M,yt=g(M,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),gt=S("dropdown",R),Ke=`${gt}-button`,[nt,Ze]=(0,_.Z)(gt),Ve={menu:Y,arrow:te,autoFocus:$,align:ne,disabled:y,trigger:y?[]:ie,onOpenChange:ae,getPopupContainer:se||w,mouseEnterDelay:Me,mouseLeaveDelay:Ne,overlayClassName:We,overlayStyle:tt,destroyPopupOnHide:Je,dropdownRender:st},{compactSize:Pe,compactItemClassnames:He}=(0,O.ri)(gt,A),be=H()(Ke,He,G,Ze);"overlay"in M&&(Ve.overlay=oe),"open"in M&&(Ve.open=le),"placement"in M?Ve.placement=de:Ve.placement=A==="rtl"?"bottomLeft":"bottomRight";const Ie=b.createElement(P.ZP,{type:u,danger:f,disabled:y,loading:D,onClick:I,htmlType:U,href:fe,title:ge},F),Te=b.createElement(P.ZP,{type:u,danger:f,icon:ye}),[Re,Ge]=xe([Ie,Te]);return nt(b.createElement(x.Z.Compact,Object.assign({className:be,size:Pe,block:!0},yt),Re,b.createElement(X.Z,Object.assign({},Ve),Ge)))};m.__ANT_BUTTON=!0;var L=m;const d=X.Z;d.Button=L;var v=d},47211:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return g}});var X=Z(17313),q=Z(13826),H=Z(92899),b=Z(29878),z=Z(19447),P=Z(83116),T=Z(37613),O=m=>{const{componentCls:L,menuCls:d,colorError:v,colorTextLightSolid:M}=m,w=`${d}-item`;return{[`${L}, ${L}-menu-submenu`]:{[`${d} ${w}`]:{[`&${w}-danger:not(${w}-disabled)`]:{color:v,"&:hover":{color:M,backgroundColor:v}}}}}};const _=m=>{const{componentCls:L,menuCls:d,zIndexPopup:v,dropdownArrowDistance:M,sizePopupArrow:w,antCls:S,iconCls:A,motionDurationMid:R,dropdownPaddingVertical:u,fontSize:f,dropdownEdgeChildPadding:y,colorTextDisabled:D,fontSizeIcon:I,controlPaddingHorizontal:U,colorBgElevated:F}=m;return[{[L]:Object.assign(Object.assign({},(0,X.Wf)(m)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:v,display:"block","&::before":{position:"absolute",insetBlock:-M+w/2,zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${S}-btn`]:{[`& > ${A}-down, & > ${S}-btn-icon > ${A}-down`]:{fontSize:I}},[`${L}-wrap`]:{position:"relative",[`${S}-btn > ${A}-down`]:{fontSize:I},[`${A}-down::before`]:{transition:`transform ${R}`}},[`${L}-wrap-open`]:{[`${A}-down::before`]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},[`&${S}-slide-down-enter${S}-slide-down-enter-active${L}-placement-bottomLeft,
&${S}-slide-down-appear${S}-slide-down-appear-active${L}-placement-bottomLeft,
&${S}-slide-down-enter${S}-slide-down-enter-active${L}-placement-bottom,
&${S}-slide-down-appear${S}-slide-down-appear-active${L}-placement-bottom,
&${S}-slide-down-enter${S}-slide-down-enter-active${L}-placement-bottomRight,
&${S}-slide-down-appear${S}-slide-down-appear-active${L}-placement-bottomRight`]:{animationName:q.fJ},[`&${S}-slide-up-enter${S}-slide-up-enter-active${L}-placement-topLeft,
&${S}-slide-up-appear${S}-slide-up-appear-active${L}-placement-topLeft,
&${S}-slide-up-enter${S}-slide-up-enter-active${L}-placement-top,
&${S}-slide-up-appear${S}-slide-up-appear-active${L}-placement-top,
&${S}-slide-up-enter${S}-slide-up-enter-active${L}-placement-topRight,
&${S}-slide-up-appear${S}-slide-up-appear-active${L}-placement-topRight`]:{animationName:q.Qt},[`&${S}-slide-down-leave${S}-slide-down-leave-active${L}-placement-bottomLeft,
&${S}-slide-down-leave${S}-slide-down-leave-active${L}-placement-bottom,
&${S}-slide-down-leave${S}-slide-down-leave-active${L}-placement-bottomRight`]:{animationName:q.Uw},[`&${S}-slide-up-leave${S}-slide-up-leave-active${L}-placement-topLeft,
&${S}-slide-up-leave${S}-slide-up-leave-active${L}-placement-top,
&${S}-slide-up-leave${S}-slide-up-leave-active${L}-placement-topRight`]:{animationName:q.ly}})},(0,z.ZP)(m,{colorBg:F,limitVerticalRadius:!0,arrowPlacement:{top:!0,bottom:!0}}),{[`${L} ${d}`]:{position:"relative",margin:0},[`${d}-submenu-popup`]:{position:"absolute",zIndex:v,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${L}, ${L}-menu-submenu`]:{[d]:Object.assign(Object.assign({padding:y,listStyleType:"none",backgroundColor:F,backgroundClip:"padding-box",borderRadius:m.borderRadiusLG,outline:"none",boxShadow:m.boxShadowSecondary},(0,X.Qy)(m)),{[`${d}-item-group-title`]:{padding:`${u}px ${U}px`,color:m.colorTextDescription,transition:`all ${R}`},[`${d}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${d}-item-icon`]:{minWidth:f,marginInlineEnd:m.marginXS,fontSize:m.fontSizeSM},[`${d}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${R}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${d}-item, ${d}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${u}px ${U}px`,color:m.colorText,fontWeight:"normal",fontSize:f,lineHeight:m.lineHeight,cursor:"pointer",transition:`all ${R}`,borderRadius:m.borderRadiusSM,"&:hover, &-active":{backgroundColor:m.controlItemBgHover}},(0,X.Qy)(m)),{"&-selected":{color:m.colorPrimary,backgroundColor:m.controlItemBgActive,"&:hover, &-active":{backgroundColor:m.controlItemBgActiveHover}},"&-disabled":{color:D,cursor:"not-allowed","&:hover":{color:D,backgroundColor:F,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${m.marginXXS}px 0`,overflow:"hidden",lineHeight:0,backgroundColor:m.colorSplit},[`${L}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:m.paddingXS,[`${L}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:m.colorTextDescription,fontSize:I,fontStyle:"normal"}}}),[`${d}-item-group-list`]:{margin:`0 ${m.marginXS}px`,padding:0,listStyle:"none"},[`${d}-submenu-title`]:{paddingInlineEnd:U+m.fontSizeSM},[`${d}-submenu-vertical`]:{position:"relative"},[`${d}-submenu${d}-submenu-disabled ${L}-menu-submenu-title`]:{[`&, ${L}-menu-submenu-arrow-icon`]:{color:D,backgroundColor:F,cursor:"not-allowed"}},[`${d}-submenu-selected ${L}-menu-submenu-title`]:{color:m.colorPrimary}})}},[(0,q.oN)(m,"slide-up"),(0,q.oN)(m,"slide-down"),(0,H.Fm)(m,"move-up"),(0,H.Fm)(m,"move-down"),(0,b._y)(m,"zoom-big")]]};var g=(0,P.Z)("Dropdown",(m,L)=>{let{rootPrefixCls:d}=L;const{marginXXS:v,sizePopupArrow:M,controlHeight:w,fontSize:S,lineHeight:A,paddingXXS:R,componentCls:u,borderRadiusLG:f}=m,y=(w-S*A)/2,{dropdownArrowOffset:D}=(0,z.fS)({contentRadius:f}),I=(0,T.TS)(m,{menuCls:`${u}-menu`,rootPrefixCls:d,dropdownArrowDistance:M/2+v,dropdownArrowOffset:D,dropdownPaddingVertical:y,dropdownEdgeChildPadding:R});return[_(I),O(I)]},m=>({zIndexPopup:m.zIndexPopupBase+50}))},64165:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return R}});var X=Z(92310),q=Z.n(X),H=Z(59301),b=Z(36355),z=Z(9763),P=Z(64993),T=Z(88088),O=()=>{const[,u]=(0,T.Z)(),y=new P.C(u.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return H.createElement("svg",{style:y,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},H.createElement("g",{fill:"none",fillRule:"evenodd"},H.createElement("g",{transform:"translate(24 31.67)"},H.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),H.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),H.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),H.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),H.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),H.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),H.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},H.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),H.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},g=()=>{const[,u]=(0,T.Z)(),{colorFill:f,colorFillTertiary:y,colorFillQuaternary:D,colorBgContainer:I}=u,{borderColor:U,shadowColor:F,contentColor:G}=(0,H.useMemo)(()=>({borderColor:new P.C(f).onBackground(I).toHexShortString(),shadowColor:new P.C(y).onBackground(I).toHexShortString(),contentColor:new P.C(D).onBackground(I).toHexShortString()}),[f,y,D,I]);return H.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},H.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},H.createElement("ellipse",{fill:F,cx:"32",cy:"33",rx:"32",ry:"7"}),H.createElement("g",{fillRule:"nonzero",stroke:U},H.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),H.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:G}))))},m=Z(83116),L=Z(37613);const d=u=>{const{componentCls:f,margin:y,marginXS:D,marginXL:I,fontSize:U,lineHeight:F}=u;return{[f]:{marginInline:D,fontSize:U,lineHeight:F,textAlign:"center",[`${f}-image`]:{height:u.emptyImgHeight,marginBottom:D,opacity:u.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${f}-description`]:{color:u.colorText},[`${f}-footer`]:{marginTop:y},"&-normal":{marginBlock:I,color:u.colorTextDisabled,[`${f}-description`]:{color:u.colorTextDisabled},[`${f}-image`]:{height:u.emptyImgHeightMD}},"&-small":{marginBlock:D,color:u.colorTextDisabled,[`${f}-image`]:{height:u.emptyImgHeightSM}}}}};var v=(0,m.Z)("Empty",u=>{const{componentCls:f,controlHeightLG:y}=u,D=(0,L.TS)(u,{emptyImgCls:`${f}-img`,emptyImgHeight:y*2.5,emptyImgHeightMD:y,emptyImgHeightSM:y*.875});return[d(D)]}),M=function(u,f){var y={};for(var D in u)Object.prototype.hasOwnProperty.call(u,D)&&f.indexOf(D)<0&&(y[D]=u[D]);if(u!=null&&typeof Object.getOwnPropertySymbols=="function")for(var I=0,D=Object.getOwnPropertySymbols(u);I<D.length;I++)f.indexOf(D[I])<0&&Object.prototype.propertyIsEnumerable.call(u,D[I])&&(y[D[I]]=u[D[I]]);return y};const w=H.createElement(O,null),S=H.createElement(g,null),A=u=>{var{className:f,rootClassName:y,prefixCls:D,image:I=w,description:U,children:F,imageStyle:G,style:Y}=u,te=M(u,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:$,direction:oe,empty:ie}=H.useContext(b.E_),ne=$("empty",D),[le,ae]=v(ne),[de]=(0,z.Z)("Empty"),se=typeof U!="undefined"?U:de==null?void 0:de.description,fe=typeof se=="string"?se:"empty";let ye=null;return typeof I=="string"?ye=H.createElement("img",{alt:fe,src:I}):ye=I,le(H.createElement("div",Object.assign({className:q()(ae,ne,ie==null?void 0:ie.className,{[`${ne}-normal`]:I===S,[`${ne}-rtl`]:oe==="rtl"},f,y),style:Object.assign(Object.assign({},ie==null?void 0:ie.style),Y)},te),H.createElement("div",{className:`${ne}-image`,style:G},ye),se&&H.createElement("div",{className:`${ne}-description`},se),F&&H.createElement("div",{className:`${ne}-footer`},F)))};A.PRESENTED_IMAGE_DEFAULT=w,A.PRESENTED_IMAGE_SIMPLE=S;var R=A},9432:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return A},n:function(){return w}});var X=Z(19248),q=Z(92310),H=Z.n(q),b=Z(93681),z=Z(8654),P=Z(59301),T=Z(19080),x=Z(36355),O=Z(1684),_=Z(19716),g=Z(32441),m=Z(33234),L=Z(59412),d=Z(9937);function v(R){return!!(R.prefix||R.suffix||R.allowClear)}var M=function(R,u){var f={};for(var y in R)Object.prototype.hasOwnProperty.call(R,y)&&u.indexOf(y)<0&&(f[y]=R[y]);if(R!=null&&typeof Object.getOwnPropertySymbols=="function")for(var D=0,y=Object.getOwnPropertySymbols(R);D<y.length;D++)u.indexOf(y[D])<0&&Object.prototype.propertyIsEnumerable.call(R,y[D])&&(f[y[D]]=R[y[D]]);return f};function w(R,u){if(!R)return;R.focus(u);const{cursor:f}=u||{};if(f){const y=R.value.length;switch(f){case"start":R.setSelectionRange(0,0);break;case"end":R.setSelectionRange(y,y);break;default:R.setSelectionRange(0,y);break}}}var A=(0,P.forwardRef)((R,u)=>{var f;const{prefixCls:y,bordered:D=!0,status:I,size:U,disabled:F,onBlur:G,onFocus:Y,suffix:te,allowClear:$,addonAfter:oe,addonBefore:ie,className:ne,style:le,styles:ae,rootClassName:de,onChange:se,classNames:fe}=R,ye=M(R,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames"]),{getPrefixCls:ge,direction:xe,input:Me}=P.useContext(x.E_),Ne=ge("input",y),We=(0,P.useRef)(null),[tt,Je]=(0,d.ZP)(Ne),{compactSize:st,compactItemClassnames:yt}=(0,m.ri)(Ne,xe),gt=(0,_.Z)(et=>{var dt;return(dt=U!=null?U:st)!==null&&dt!==void 0?dt:et}),Ke=P.useContext(O.Z),nt=F!=null?F:Ke,{status:Ze,hasFeedback:Ve,feedbackIcon:Pe}=(0,P.useContext)(g.aM),He=(0,T.F)(Ze,I),be=v(R)||!!Ve,Ie=(0,P.useRef)(be);(0,P.useEffect)(()=>{var et;be&&Ie.current,Ie.current=be},[be]);const Te=(0,L.Z)(We,!0),Re=et=>{Te(),G==null||G(et)},Ge=et=>{Te(),Y==null||Y(et)},Le=et=>{Te(),se==null||se(et)},Ue=(Ve||te)&&P.createElement(P.Fragment,null,te,Ve&&Pe);let Qe;return typeof $=="object"&&($!=null&&$.clearIcon)?Qe=$:$&&(Qe={clearIcon:P.createElement(X.Z,null)}),tt(P.createElement(b.default,Object.assign({ref:(0,z.sQ)(u,We),prefixCls:Ne,autoComplete:Me==null?void 0:Me.autoComplete},ye,{disabled:nt,onBlur:Re,onFocus:Ge,style:Object.assign(Object.assign({},Me==null?void 0:Me.style),le),styles:Object.assign(Object.assign({},Me==null?void 0:Me.styles),ae),suffix:Ue,allowClear:Qe,className:H()(ne,de,yt,Me==null?void 0:Me.className),onChange:Le,addonAfter:oe&&P.createElement(m.BR,null,P.createElement(g.Ux,{override:!0,status:!0},oe)),addonBefore:ie&&P.createElement(m.BR,null,P.createElement(g.Ux,{override:!0,status:!0},ie)),classNames:Object.assign(Object.assign(Object.assign({},fe),Me==null?void 0:Me.classNames),{input:H()({[`${Ne}-sm`]:gt==="small",[`${Ne}-lg`]:gt==="large",[`${Ne}-rtl`]:xe==="rtl",[`${Ne}-borderless`]:!D},!be&&(0,T.Z)(Ne,He),fe==null?void 0:fe.input,(f=Me==null?void 0:Me.classNames)===null||f===void 0?void 0:f.input,Je)}),classes:{affixWrapper:H()({[`${Ne}-affix-wrapper-sm`]:gt==="small",[`${Ne}-affix-wrapper-lg`]:gt==="large",[`${Ne}-affix-wrapper-rtl`]:xe==="rtl",[`${Ne}-affix-wrapper-borderless`]:!D},(0,T.Z)(`${Ne}-affix-wrapper`,He,Ve),Je),wrapper:H()({[`${Ne}-group-rtl`]:xe==="rtl"},Je),group:H()({[`${Ne}-group-wrapper-sm`]:gt==="small",[`${Ne}-group-wrapper-lg`]:gt==="large",[`${Ne}-group-wrapper-rtl`]:xe==="rtl",[`${Ne}-group-wrapper-disabled`]:nt},(0,T.Z)(`${Ne}-group-wrapper`,He,Ve),Je)}})))})},1643:function(Ae,Ce,Z){"use strict";var X=Z(19248),q=Z(92310),H=Z.n(q),b=Z(9296),z=Z(59301),P=Z(19080),T=Z(36355),x=Z(1684),O=Z(19716),_=Z(32441),g=Z(9432),m=Z(9937),L=function(v,M){var w={};for(var S in v)Object.prototype.hasOwnProperty.call(v,S)&&M.indexOf(S)<0&&(w[S]=v[S]);if(v!=null&&typeof Object.getOwnPropertySymbols=="function")for(var A=0,S=Object.getOwnPropertySymbols(v);A<S.length;A++)M.indexOf(S[A])<0&&Object.prototype.propertyIsEnumerable.call(v,S[A])&&(w[S[A]]=v[S[A]]);return w};const d=(0,z.forwardRef)((v,M)=>{const{prefixCls:w,bordered:S=!0,size:A,disabled:R,status:u,allowClear:f,showCount:y,classNames:D,rootClassName:I,className:U}=v,F=L(v,["prefixCls","bordered","size","disabled","status","allowClear","showCount","classNames","rootClassName","className"]),{getPrefixCls:G,direction:Y}=z.useContext(T.E_),te=(0,O.Z)(A),$=z.useContext(x.Z),oe=R!=null?R:$,{status:ie,hasFeedback:ne,feedbackIcon:le}=z.useContext(_.aM),ae=(0,P.F)(ie,u),de=z.useRef(null);z.useImperativeHandle(M,()=>{var xe;return{resizableTextArea:(xe=de.current)===null||xe===void 0?void 0:xe.resizableTextArea,focus:Me=>{var Ne,We;(0,g.n)((We=(Ne=de.current)===null||Ne===void 0?void 0:Ne.resizableTextArea)===null||We===void 0?void 0:We.textArea,Me)},blur:()=>{var Me;return(Me=de.current)===null||Me===void 0?void 0:Me.blur()}}});const se=G("input",w);let fe;typeof f=="object"&&(f!=null&&f.clearIcon)?fe=f:f&&(fe={clearIcon:z.createElement(X.Z,null)});const[ye,ge]=(0,m.ZP)(se);return ye(z.createElement(b.default,Object.assign({},F,{disabled:oe,allowClear:fe,className:H()(U,I),classes:{affixWrapper:H()(`${se}-textarea-affix-wrapper`,{[`${se}-affix-wrapper-rtl`]:Y==="rtl",[`${se}-affix-wrapper-borderless`]:!S,[`${se}-affix-wrapper-sm`]:te==="small",[`${se}-affix-wrapper-lg`]:te==="large",[`${se}-textarea-show-count`]:y},(0,P.Z)(`${se}-affix-wrapper`,ae),ge)},classNames:Object.assign(Object.assign({},D),{textarea:H()({[`${se}-borderless`]:!S,[`${se}-sm`]:te==="small",[`${se}-lg`]:te==="large"},(0,P.Z)(se,ae),ge,D==null?void 0:D.textarea)}),prefixCls:se,suffix:ne&&z.createElement("span",{className:`${se}-textarea-suffix`},le),showCount:y,ref:de})))});Ce.Z=d},59412:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return q}});var X=Z(59301);function q(H,b){const z=(0,X.useRef)([]),P=()=>{z.current.push(setTimeout(()=>{var T,x,O,_;!((T=H.current)===null||T===void 0)&&T.input&&((x=H.current)===null||x===void 0?void 0:x.input.getAttribute("type"))==="password"&&(!((O=H.current)===null||O===void 0)&&O.input.hasAttribute("value"))&&((_=H.current)===null||_===void 0||_.input.removeAttribute("value"))}))};return(0,X.useEffect)(()=>(b&&P(),()=>z.current.forEach(T=>{T&&clearTimeout(T)})),[]),P}},92832:function(Ae,Ce,Z){"use strict";Z.d(Ce,{default:function(){return te}});var X=Z(92310),q=Z.n(X),H=Z(59301),b=Z(36355),z=Z(32441),P=Z(9937),x=$=>{const{getPrefixCls:oe,direction:ie}=(0,H.useContext)(b.E_),{prefixCls:ne,className:le}=$,ae=oe("input-group",ne),de=oe("input"),[se,fe]=(0,P.ZP)(de),ye=q()(ae,{[`${ae}-lg`]:$.size==="large",[`${ae}-sm`]:$.size==="small",[`${ae}-compact`]:$.compact,[`${ae}-rtl`]:ie==="rtl"},fe,le),ge=(0,H.useContext)(z.aM),xe=(0,H.useMemo)(()=>Object.assign(Object.assign({},ge),{isFormItemInput:!1}),[ge]);return se(H.createElement("span",{className:ye,style:$.style,onMouseEnter:$.onMouseEnter,onMouseLeave:$.onMouseLeave,onFocus:$.onFocus,onBlur:$.onBlur},H.createElement(z.aM.Provider,{value:xe},$.children)))},O=Z(9432),_=Z(73331),g=Z(15277),m=Z(2738),L=Z(8654),d=Z(59412),v=function($,oe){var ie={};for(var ne in $)Object.prototype.hasOwnProperty.call($,ne)&&oe.indexOf(ne)<0&&(ie[ne]=$[ne]);if($!=null&&typeof Object.getOwnPropertySymbols=="function")for(var le=0,ne=Object.getOwnPropertySymbols($);le<ne.length;le++)oe.indexOf(ne[le])<0&&Object.prototype.propertyIsEnumerable.call($,ne[le])&&(ie[ne[le]]=$[ne[le]]);return ie};const M=$=>$?H.createElement(g.Z,null):H.createElement(_.Z,null),w={click:"onClick",hover:"onMouseOver"};var A=H.forwardRef(($,oe)=>{const{visibilityToggle:ie=!0}=$,ne=typeof ie=="object"&&ie.visible!==void 0,[le,ae]=(0,H.useState)(()=>ne?ie.visible:!1),de=(0,H.useRef)(null);H.useEffect(()=>{ne&&ae(ie.visible)},[ne,ie]);const se=(0,d.Z)(de),fe=()=>{const{disabled:nt}=$;nt||(le&&se(),ae(Ze=>{var Ve;const Pe=!Ze;return typeof ie=="object"&&((Ve=ie.onVisibleChange)===null||Ve===void 0||Ve.call(ie,Pe)),Pe}))},ye=nt=>{const{action:Ze="click",iconRender:Ve=M}=$,Pe=w[Ze]||"",He=Ve(le),be={[Pe]:fe,className:`${nt}-icon`,key:"passwordIcon",onMouseDown:Ie=>{Ie.preventDefault()},onMouseUp:Ie=>{Ie.preventDefault()}};return H.cloneElement(H.isValidElement(He)?He:H.createElement("span",null,He),be)},{className:ge,prefixCls:xe,inputPrefixCls:Me,size:Ne}=$,We=v($,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:tt}=H.useContext(b.E_),Je=tt("input",Me),st=tt("input-password",xe),yt=ie&&ye(st),gt=q()(st,ge,{[`${st}-${Ne}`]:!!Ne}),Ke=Object.assign(Object.assign({},(0,m.Z)(We,["suffix","iconRender","visibilityToggle"])),{type:le?"text":"password",className:gt,prefixCls:Je,suffix:yt});return Ne&&(Ke.size=Ne),H.createElement(O.Z,Object.assign({ref:(0,L.sQ)(oe,de)},Ke))}),R=Z(47472),u=Z(92343),f=Z(3113),y=Z(19716),D=Z(33234),I=function($,oe){var ie={};for(var ne in $)Object.prototype.hasOwnProperty.call($,ne)&&oe.indexOf(ne)<0&&(ie[ne]=$[ne]);if($!=null&&typeof Object.getOwnPropertySymbols=="function")for(var le=0,ne=Object.getOwnPropertySymbols($);le<ne.length;le++)oe.indexOf(ne[le])<0&&Object.prototype.propertyIsEnumerable.call($,ne[le])&&(ie[ne[le]]=$[ne[le]]);return ie},F=H.forwardRef(($,oe)=>{const{prefixCls:ie,inputPrefixCls:ne,className:le,size:ae,suffix:de,enterButton:se=!1,addonAfter:fe,loading:ye,disabled:ge,onSearch:xe,onChange:Me,onCompositionStart:Ne,onCompositionEnd:We}=$,tt=I($,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:Je,direction:st}=H.useContext(b.E_),yt=H.useRef(!1),gt=Je("input-search",ie),Ke=Je("input",ne),{compactSize:nt}=(0,D.ri)(gt,st),Ze=(0,y.Z)(mt=>{var Tt;return(Tt=ae!=null?ae:nt)!==null&&Tt!==void 0?Tt:mt}),Ve=H.useRef(null),Pe=mt=>{mt&&mt.target&&mt.type==="click"&&xe&&xe(mt.target.value,mt,{source:"clear"}),Me&&Me(mt)},He=mt=>{var Tt;document.activeElement===((Tt=Ve.current)===null||Tt===void 0?void 0:Tt.input)&&mt.preventDefault()},be=mt=>{var Tt,At;xe&&xe((At=(Tt=Ve.current)===null||Tt===void 0?void 0:Tt.input)===null||At===void 0?void 0:At.value,mt,{source:"input"})},Ie=mt=>{yt.current||ye||be(mt)},Te=typeof se=="boolean"?H.createElement(R.Z,null):null,Re=`${gt}-button`;let Ge;const Le=se||{},Ue=Le.type&&Le.type.__ANT_BUTTON===!0;Ue||Le.type==="button"?Ge=(0,u.Tm)(Le,Object.assign({onMouseDown:He,onClick:mt=>{var Tt,At;(At=(Tt=Le==null?void 0:Le.props)===null||Tt===void 0?void 0:Tt.onClick)===null||At===void 0||At.call(Tt,mt),be(mt)},key:"enterButton"},Ue?{className:Re,size:Ze}:{})):Ge=H.createElement(f.ZP,{className:Re,type:se?"primary":void 0,size:Ze,disabled:ge,key:"enterButton",onMouseDown:He,onClick:be,loading:ye,icon:Te},se),fe&&(Ge=[Ge,(0,u.Tm)(fe,{key:"addonAfter"})]);const Qe=q()(gt,{[`${gt}-rtl`]:st==="rtl",[`${gt}-${Ze}`]:!!Ze,[`${gt}-with-button`]:!!se},le),et=mt=>{yt.current=!0,Ne==null||Ne(mt)},dt=mt=>{yt.current=!1,We==null||We(mt)};return H.createElement(O.Z,Object.assign({ref:(0,L.sQ)(Ve,oe),onPressEnter:Ie},tt,{size:Ze,onCompositionStart:et,onCompositionEnd:dt,prefixCls:Ke,addonAfter:Ge,suffix:de,onChange:Pe,className:Qe,disabled:ge}))}),G=Z(1643);const Y=O.Z;Y.Group=x,Y.Search=F,Y.TextArea=G.Z,Y.Password=A;var te=Y},45818:function(Ae,Ce,Z){"use strict";Z.d(Ce,{D:function(){return R},Z:function(){return y}});var X=Z(72308),q=Z(59301),H={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},b=H,z=Z(7657),P=function(I,U){return q.createElement(z.Z,(0,X.Z)({},I,{ref:U,icon:b}))},T=q.forwardRef(P),x=T,O=Z(33853),_=Z(38819),g=Z(92310),m=Z.n(g),L=Z(2738),v=D=>!isNaN(parseFloat(D))&&isFinite(D),M=Z(36355),w=Z(84966),S=function(D,I){var U={};for(var F in D)Object.prototype.hasOwnProperty.call(D,F)&&I.indexOf(F)<0&&(U[F]=D[F]);if(D!=null&&typeof Object.getOwnPropertySymbols=="function")for(var G=0,F=Object.getOwnPropertySymbols(D);G<F.length;G++)I.indexOf(F[G])<0&&Object.prototype.propertyIsEnumerable.call(D,F[G])&&(U[F[G]]=D[F[G]]);return U};const A={xs:"479.98px",sm:"575.98px",md:"767.98px",lg:"991.98px",xl:"1199.98px",xxl:"1599.98px"},R=q.createContext({}),u=(()=>{let D=0;return function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return D+=1,`${I}${D}`}})();var y=q.forwardRef((D,I)=>{const{prefixCls:U,className:F,trigger:G,children:Y,defaultCollapsed:te=!1,theme:$="dark",style:oe={},collapsible:ie=!1,reverseArrow:ne=!1,width:le=200,collapsedWidth:ae=80,zeroWidthTriggerStyle:de,breakpoint:se,onCollapse:fe,onBreakpoint:ye}=D,ge=S(D,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:xe}=(0,q.useContext)(w.Gs),[Me,Ne]=(0,q.useState)("collapsed"in D?D.collapsed:te),[We,tt]=(0,q.useState)(!1);(0,q.useEffect)(()=>{"collapsed"in D&&Ne(D.collapsed)},[D.collapsed]);const Je=(Ze,Ve)=>{"collapsed"in D||Ne(Ze),fe==null||fe(Ze,Ve)},st=(0,q.useRef)();st.current=Ze=>{tt(Ze.matches),ye==null||ye(Ze.matches),Me!==Ze.matches&&Je(Ze.matches,"responsive")},(0,q.useEffect)(()=>{function Ze(Pe){return st.current(Pe)}let Ve;if(typeof window!="undefined"){const{matchMedia:Pe}=window;if(Pe&&se&&se in A){Ve=Pe(`(max-width: ${A[se]})`);try{Ve.addEventListener("change",Ze)}catch(He){Ve.addListener(Ze)}Ze(Ve)}}return()=>{try{Ve==null||Ve.removeEventListener("change",Ze)}catch(Pe){Ve==null||Ve.removeListener(Ze)}}},[se]),(0,q.useEffect)(()=>{const Ze=u("ant-sider-");return xe.addSider(Ze),()=>xe.removeSider(Ze)},[]);const yt=()=>{Je(!Me,"clickTrigger")},{getPrefixCls:gt}=(0,q.useContext)(M.E_),Ke=()=>{const Ze=gt("layout-sider",U),Ve=(0,L.Z)(ge,["collapsed"]),Pe=Me?ae:le,He=v(Pe)?`${Pe}px`:String(Pe),be=parseFloat(String(ae||0))===0?q.createElement("span",{onClick:yt,className:m()(`${Ze}-zero-width-trigger`,`${Ze}-zero-width-trigger-${ne?"right":"left"}`),style:de},G||q.createElement(x,null)):null,Re={expanded:ne?q.createElement(_.Z,null):q.createElement(O.Z,null),collapsed:ne?q.createElement(O.Z,null):q.createElement(_.Z,null)}[Me?"collapsed":"expanded"],Ge=G!==null?be||q.createElement("div",{className:`${Ze}-trigger`,onClick:yt,style:{width:He}},G||Re):null,Le=Object.assign(Object.assign({},oe),{flex:`0 0 ${He}`,maxWidth:He,minWidth:He,width:He}),Ue=m()(Ze,`${Ze}-${$}`,{[`${Ze}-collapsed`]:!!Me,[`${Ze}-has-trigger`]:ie&&G!==null&&!be,[`${Ze}-below`]:!!We,[`${Ze}-zero-width`]:parseFloat(He)===0},F);return q.createElement("aside",Object.assign({className:Ue},Ve,{style:Le,ref:I}),q.createElement("div",{className:`${Ze}-children`},Y),ie||We&&be?Ge:null)},nt=q.useMemo(()=>({siderCollapsed:Me}),[Me]);return q.createElement(R.Provider,{value:nt},Ke())})},84966:function(Ae,Ce,Z){"use strict";Z.d(Ce,{VY:function(){return R},$_:function(){return A},h4:function(){return S},Gs:function(){return L},ZP:function(){return u}});var X=Z(80702),q=Z(92310),H=Z.n(q),b=Z(2738),z=Z(59301),P=Z(36355),T=Z(83116),O=f=>{const{componentCls:y,bodyBg:D,lightSiderBg:I,lightTriggerBg:U,lightTriggerColor:F}=f;return{[`${y}-sider-light`]:{background:I,[`${y}-sider-trigger`]:{color:F,background:U},[`${y}-sider-zero-width-trigger`]:{color:F,background:U,border:`1px solid ${D}`,borderInlineStart:0}}}};const _=f=>{const{antCls:y,componentCls:D,colorText:I,triggerColor:U,footerBg:F,triggerBg:G,headerHeight:Y,headerPadding:te,headerColor:$,footerPadding:oe,triggerHeight:ie,zeroTriggerHeight:ne,zeroTriggerWidth:le,motionDurationMid:ae,motionDurationSlow:de,fontSize:se,borderRadius:fe,bodyBg:ye,headerBg:ge,siderBg:xe}=f;return{[D]:Object.assign(Object.assign({display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:ye,"&, *":{boxSizing:"border-box"},[`&${D}-has-sider`]:{flexDirection:"row",[`> ${D}, > ${D}-content`]:{width:0}},[`${D}-header, &${D}-footer`]:{flex:"0 0 auto"},[`${D}-sider`]:{position:"relative",minWidth:0,background:xe,transition:`all ${ae}, background 0s`,"&-children":{height:"100%",marginTop:-.1,paddingTop:.1,[`${y}-menu${y}-menu-inline-collapsed`]:{width:"auto"}},"&-has-trigger":{paddingBottom:ie},"&-right":{order:1},"&-trigger":{position:"fixed",bottom:0,zIndex:1,height:ie,color:U,lineHeight:`${ie}px`,textAlign:"center",background:G,cursor:"pointer",transition:`all ${ae}`},"&-zero-width":{"> *":{overflow:"hidden"},"&-trigger":{position:"absolute",top:Y,insetInlineEnd:-le,zIndex:1,width:le,height:ne,color:U,fontSize:f.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:xe,borderStartStartRadius:0,borderStartEndRadius:fe,borderEndEndRadius:fe,borderEndStartRadius:0,cursor:"pointer",transition:`background ${de} ease`,"&::after":{position:"absolute",inset:0,background:"transparent",transition:`all ${de}`,content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:-le,borderStartStartRadius:fe,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:fe}}}}},O(f)),{"&-rtl":{direction:"rtl"}}),[`${D}-header`]:{height:Y,padding:te,color:$,lineHeight:`${Y}px`,background:ge,[`${y}-menu`]:{lineHeight:"inherit"}},[`${D}-footer`]:{padding:oe,color:I,fontSize:se,background:F},[`${D}-content`]:{flex:"auto",minHeight:0}}};var g=(0,T.Z)("Layout",f=>[_(f)],f=>{const{colorBgLayout:y,controlHeight:D,controlHeightLG:I,colorText:U,controlHeightSM:F,marginXXS:G,colorTextLightSolid:Y,colorBgContainer:te}=f,$=I*1.25;return{colorBgHeader:"#001529",colorBgBody:y,colorBgTrigger:"#002140",bodyBg:y,headerBg:"#001529",headerHeight:D*2,headerPadding:`0 ${$}px`,headerColor:U,footerPadding:`${F}px ${$}px`,footerBg:y,siderBg:"#001529",triggerHeight:I+G*2,triggerBg:"#002140",triggerColor:Y,zeroTriggerWidth:I,zeroTriggerHeight:I,lightSiderBg:te,lightTriggerBg:te,lightTriggerColor:U}},{deprecatedTokens:[["colorBgBody","bodyBg"],["colorBgHeader","headerBg"],["colorBgTrigger","triggerBg"]]}),m=function(f,y){var D={};for(var I in f)Object.prototype.hasOwnProperty.call(f,I)&&y.indexOf(I)<0&&(D[I]=f[I]);if(f!=null&&typeof Object.getOwnPropertySymbols=="function")for(var U=0,I=Object.getOwnPropertySymbols(f);U<I.length;U++)y.indexOf(I[U])<0&&Object.prototype.propertyIsEnumerable.call(f,I[U])&&(D[I[U]]=f[I[U]]);return D};const L=z.createContext({siderHook:{addSider:()=>null,removeSider:()=>null}});function d(f){let{suffixCls:y,tagName:D,displayName:I}=f;return U=>z.forwardRef((G,Y)=>z.createElement(U,Object.assign({ref:Y,suffixCls:y,tagName:D},G)))}const v=z.forwardRef((f,y)=>{const{prefixCls:D,suffixCls:I,className:U,tagName:F}=f,G=m(f,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:Y}=z.useContext(P.E_),te=Y("layout",D),[$,oe]=g(te),ie=I?`${te}-${I}`:te;return $(z.createElement(F,Object.assign({className:H()(D||ie,U,oe),ref:y},G)))}),M=z.forwardRef((f,y)=>{const{direction:D}=z.useContext(P.E_),[I,U]=z.useState([]),{prefixCls:F,className:G,rootClassName:Y,children:te,hasSider:$,tagName:oe,style:ie}=f,ne=m(f,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),le=(0,b.Z)(ne,["suffixCls"]),{getPrefixCls:ae,layout:de}=z.useContext(P.E_),se=ae("layout",F),[fe,ye]=g(se),ge=H()(se,{[`${se}-has-sider`]:typeof $=="boolean"?$:I.length>0,[`${se}-rtl`]:D==="rtl"},de==null?void 0:de.className,G,Y,ye),xe=z.useMemo(()=>({siderHook:{addSider:Me=>{U(Ne=>[].concat((0,X.Z)(Ne),[Me]))},removeSider:Me=>{U(Ne=>Ne.filter(We=>We!==Me))}}}),[]);return fe(z.createElement(L.Provider,{value:xe},z.createElement(oe,Object.assign({ref:y,className:ge,style:Object.assign(Object.assign({},de==null?void 0:de.style),ie)},le),te)))}),w=d({tagName:"div",displayName:"Layout"})(M),S=d({suffixCls:"header",tagName:"header",displayName:"Header"})(v),A=d({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(v),R=d({suffixCls:"content",tagName:"main",displayName:"Content"})(v);var u=w},40875:function(Ae,Ce,Z){"use strict";Z.d(Ce,{J:function(){return P}});var X=Z(59301),q=Z(33234),H=Z(70425),b=function(T,x){var O={};for(var _ in T)Object.prototype.hasOwnProperty.call(T,_)&&x.indexOf(_)<0&&(O[_]=T[_]);if(T!=null&&typeof Object.getOwnPropertySymbols=="function")for(var g=0,_=Object.getOwnPropertySymbols(T);g<_.length;g++)x.indexOf(_[g])<0&&Object.prototype.propertyIsEnumerable.call(T,_[g])&&(O[_[g]]=T[_[g]]);return O};const z=X.createContext(null),P=X.forwardRef((T,x)=>{const{children:O}=T,_=b(T,["children"]),g=X.useContext(z),m=X.useMemo(()=>Object.assign(Object.assign({},g),_),[g,_.prefixCls,_.mode,_.selectable]);return X.createElement(z.Provider,{value:m},X.createElement(q.BR,null,(0,H.supportNodeRef)(O)?X.cloneElement(O,{ref:x}):O))});Ce.Z=z},20834:function(Ae,Ce,Z){"use strict";Z.d(Ce,{default:function(){return nt}});var X=Z(15285),q=Z(59301),H=Z(45818),b=Z(92310),z=Z.n(b),P=Z(36355),T=function(Ze,Ve){var Pe={};for(var He in Ze)Object.prototype.hasOwnProperty.call(Ze,He)&&Ve.indexOf(He)<0&&(Pe[He]=Ze[He]);if(Ze!=null&&typeof Object.getOwnPropertySymbols=="function")for(var be=0,He=Object.getOwnPropertySymbols(Ze);be<He.length;be++)Ve.indexOf(He[be])<0&&Object.prototype.propertyIsEnumerable.call(Ze,He[be])&&(Pe[He[be]]=Ze[He[be]]);return Pe},O=Ze=>{const{prefixCls:Ve,className:Pe,dashed:He}=Ze,be=T(Ze,["prefixCls","className","dashed"]),{getPrefixCls:Ie}=q.useContext(P.E_),Te=Ie("menu",Ve),Re=z()({[`${Te}-item-divider-dashed`]:!!He},Pe);return q.createElement(X.iz,Object.assign({className:Re},be))},_=Z(11592),g=Z(2738),m=Z(6848),L=Z(92343),v=(0,q.createContext)({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),w=Ze=>{var Ve;const{className:Pe,children:He,icon:be,title:Ie,danger:Te}=Ze,{prefixCls:Re,firstLevel:Ge,direction:Le,disableMenuItemTitleTooltip:Ue,inlineCollapsed:Qe}=q.useContext(v),et=ft=>{const pt=q.createElement("span",{className:`${Re}-title-content`},He);return(!be||(0,L.l$)(He)&&He.type==="span")&&He&&ft&&Ge&&typeof He=="string"?q.createElement("div",{className:`${Re}-inline-collapsed-noicon`},He.charAt(0)):pt},{siderCollapsed:dt}=q.useContext(H.D);let mt=Ie;typeof Ie=="undefined"?mt=Ge?He:"":Ie===!1&&(mt="");const Tt={title:mt};!dt&&!Qe&&(Tt.title=null,Tt.open=!1);const At=(0,_.Z)(He).length;let Ye=q.createElement(X.ck,Object.assign({},(0,g.Z)(Ze,["title","icon","danger"]),{className:z()({[`${Re}-item-danger`]:Te,[`${Re}-item-only-child`]:(be?At+1:At)===1},Pe),title:typeof Ie=="string"?Ie:void 0}),(0,L.Tm)(be,{className:z()((0,L.l$)(be)?(Ve=be.props)===null||Ve===void 0?void 0:Ve.className:"",`${Re}-item-icon`)}),et(Qe));return Ue||(Ye=q.createElement(m.Z,Object.assign({},Tt,{placement:Le==="rtl"?"left":"right",overlayClassName:`${Re}-inline-collapsed-tooltip`}),Ye)),Ye},A=Ze=>{var Ve;const{popupClassName:Pe,icon:He,title:be,theme:Ie}=Ze,Te=q.useContext(v),{prefixCls:Re,inlineCollapsed:Ge,theme:Le}=Te,Ue=(0,X.Xl)();let Qe;if(!He)Qe=Ge&&!Ue.length&&be&&typeof be=="string"?q.createElement("div",{className:`${Re}-inline-collapsed-noicon`},be.charAt(0)):q.createElement("span",{className:`${Re}-title-content`},be);else{const dt=(0,L.l$)(be)&&be.type==="span";Qe=q.createElement(q.Fragment,null,(0,L.Tm)(He,{className:z()((0,L.l$)(He)?(Ve=He.props)===null||Ve===void 0?void 0:Ve.className:"",`${Re}-item-icon`)}),dt?be:q.createElement("span",{className:`${Re}-title-content`},be))}const et=q.useMemo(()=>Object.assign(Object.assign({},Te),{firstLevel:!1}),[Te]);return q.createElement(v.Provider,{value:et},q.createElement(X.Wd,Object.assign({},(0,g.Z)(Ze,["icon"]),{title:Qe,popupClassName:z()(Re,Pe,`${Re}-${Ie||Le}`)})))},R=Z(18785),u=Z(70425),f=Z(62892),y=Z(40875),D=function(Ze,Ve){var Pe={};for(var He in Ze)Object.prototype.hasOwnProperty.call(Ze,He)&&Ve.indexOf(He)<0&&(Pe[He]=Ze[He]);if(Ze!=null&&typeof Object.getOwnPropertySymbols=="function")for(var be=0,He=Object.getOwnPropertySymbols(Ze);be<He.length;be++)Ve.indexOf(He[be])<0&&Object.prototype.propertyIsEnumerable.call(Ze,He[be])&&(Pe[He[be]]=Ze[He[be]]);return Pe};function I(Ze){return(Ze||[]).map((Ve,Pe)=>{if(Ve&&typeof Ve=="object"){const He=Ve,{label:be,children:Ie,key:Te,type:Re}=He,Ge=D(He,["label","children","key","type"]),Le=Te!=null?Te:`tmp-${Pe}`;return Ie||Re==="group"?Re==="group"?q.createElement(X.BW,Object.assign({key:Le},Ge,{title:be}),I(Ie)):q.createElement(A,Object.assign({key:Le},Ge,{title:be}),I(Ie)):Re==="divider"?q.createElement(O,Object.assign({key:Le},Ge)):q.createElement(w,Object.assign({key:Le},Ge),be)}return null}).filter(Ve=>Ve)}function U(Ze){return q.useMemo(()=>Ze&&I(Ze),[Ze])}var F=Z(64993),G=Z(17313),Y=Z(8378),te=Z(13826),$=Z(29878),oe=Z(83116),ie=Z(37613),le=Ze=>{const{componentCls:Ve,motionDurationSlow:Pe,horizontalLineHeight:He,colorSplit:be,lineWidth:Ie,lineType:Te,itemPaddingInline:Re}=Ze;return{[`${Ve}-horizontal`]:{lineHeight:He,border:0,borderBottom:`${Ie}px ${Te} ${be}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${Ve}-item, ${Ve}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:Re},[`> ${Ve}-item:hover,
> ${Ve}-item-active,
> ${Ve}-submenu ${Ve}-submenu-title:hover`]:{backgroundColor:"transparent"},[`${Ve}-item, ${Ve}-submenu-title`]:{transition:[`border-color ${Pe}`,`background ${Pe}`].join(",")},[`${Ve}-submenu-arrow`]:{display:"none"}}}},de=Ze=>{let{componentCls:Ve,menuArrowOffset:Pe}=Ze;return{[`${Ve}-rtl`]:{direction:"rtl"},[`${Ve}-submenu-rtl`]:{transformOrigin:"100% 0"},[`${Ve}-rtl${Ve}-vertical,
${Ve}-submenu-rtl ${Ve}-vertical`]:{[`${Ve}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(-${Pe})`},"&::after":{transform:`rotate(45deg) translateY(${Pe})`}}}}};const se=Ze=>Object.assign({},(0,G.oN)(Ze));var ye=(Ze,Ve)=>{const{componentCls:Pe,itemColor:He,itemSelectedColor:be,groupTitleColor:Ie,itemBg:Te,subMenuItemBg:Re,itemSelectedBg:Ge,activeBarHeight:Le,activeBarWidth:Ue,activeBarBorderWidth:Qe,motionDurationSlow:et,motionEaseInOut:dt,motionEaseOut:mt,itemPaddingInline:Tt,motionDurationMid:At,itemHoverColor:Ye,lineType:ft,colorSplit:pt,itemDisabledColor:_t,dangerItemColor:Ot,dangerItemHoverColor:Wt,dangerItemSelectedColor:jt,dangerItemActiveBg:zt,dangerItemSelectedBg:$t,itemHoverBg:pn,itemActiveBg:on,menuSubMenuBg:un,horizontalItemSelectedColor:On,horizontalItemSelectedBg:Mn,horizontalItemBorderRadius:Kt,horizontalItemHoverBg:rn,popupBg:ln}=Ze;return{[`${Pe}-${Ve}, ${Pe}-${Ve} > ${Pe}`]:{color:He,background:Te,[`&${Pe}-root:focus-visible`]:Object.assign({},se(Ze)),[`${Pe}-item-group-title`]:{color:Ie},[`${Pe}-submenu-selected`]:{[`> ${Pe}-submenu-title`]:{color:be}},[`${Pe}-item-disabled, ${Pe}-submenu-disabled`]:{color:`${_t} !important`},[`${Pe}-item:not(${Pe}-item-selected):not(${Pe}-submenu-selected)`]:{[`&:hover, > ${Pe}-submenu-title:hover`]:{color:Ye}},[`&:not(${Pe}-horizontal)`]:{[`${Pe}-item:not(${Pe}-item-selected)`]:{"&:hover":{backgroundColor:pn},"&:active":{backgroundColor:on}},[`${Pe}-submenu-title`]:{"&:hover":{backgroundColor:pn},"&:active":{backgroundColor:on}}},[`${Pe}-item-danger`]:{color:Ot,[`&${Pe}-item:hover`]:{[`&:not(${Pe}-item-selected):not(${Pe}-submenu-selected)`]:{color:Wt}},[`&${Pe}-item:active`]:{background:zt}},[`${Pe}-item a`]:{"&, &:hover":{color:"inherit"}},[`${Pe}-item-selected`]:{color:be,[`&${Pe}-item-danger`]:{color:jt},"a, a:hover":{color:"inherit"}},[`& ${Pe}-item-selected`]:{backgroundColor:Ge,[`&${Pe}-item-danger`]:{backgroundColor:$t}},[`${Pe}-item, ${Pe}-submenu-title`]:{[`&:not(${Pe}-item-disabled):focus-visible`]:Object.assign({},se(Ze))},[`&${Pe}-submenu > ${Pe}`]:{backgroundColor:un},[`&${Pe}-popup > ${Pe}`]:{backgroundColor:ln},[`&${Pe}-horizontal`]:Object.assign(Object.assign({},Ve==="dark"?{borderBottom:0}:{}),{[`> ${Pe}-item, > ${Pe}-submenu`]:{top:Qe,marginTop:-Qe,marginBottom:0,borderRadius:Kt,"&::after":{position:"absolute",insetInline:Tt,bottom:0,borderBottom:`${Le}px solid transparent`,transition:`border-color ${et} ${dt}`,content:'""'},"&:hover, &-active, &-open":{background:rn,"&::after":{borderBottomWidth:Le,borderBottomColor:On}},"&-selected":{color:On,backgroundColor:Mn,"&:hover":{backgroundColor:Mn},"&::after":{borderBottomWidth:Le,borderBottomColor:On}}}}),[`&${Pe}-root`]:{[`&${Pe}-inline, &${Pe}-vertical`]:{borderInlineEnd:`${Qe}px ${ft} ${pt}`}},[`&${Pe}-inline`]:{[`${Pe}-sub${Pe}-inline`]:{background:Re},[`${Pe}-item, ${Pe}-submenu-title`]:Qe&&Ue?{width:`calc(100% + ${Qe}px)`}:{},[`${Pe}-item`]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${Ue}px solid ${be}`,transform:"scaleY(0.0001)",opacity:0,transition:[`transform ${At} ${mt}`,`opacity ${At} ${mt}`].join(","),content:'""'},[`&${Pe}-item-danger`]:{"&::after":{borderInlineEndColor:jt}}},[`${Pe}-selected, ${Pe}-item-selected`]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:[`transform ${At} ${dt}`,`opacity ${At} ${dt}`].join(",")}}}}}};const ge=Ze=>{const{componentCls:Ve,itemHeight:Pe,itemMarginInline:He,padding:be,menuArrowSize:Ie,marginXS:Te,itemMarginBlock:Re}=Ze,Ge=be+Ie+Te;return{[`${Ve}-item`]:{position:"relative",overflow:"hidden"},[`${Ve}-item, ${Ve}-submenu-title`]:{height:Pe,lineHeight:`${Pe}px`,paddingInline:be,overflow:"hidden",textOverflow:"ellipsis",marginInline:He,marginBlock:Re,width:`calc(100% - ${He*2}px)`},[`> ${Ve}-item,
> ${Ve}-submenu > ${Ve}-submenu-title`]:{height:Pe,lineHeight:`${Pe}px`},[`${Ve}-item-group-list ${Ve}-submenu-title,
${Ve}-submenu-title`]:{paddingInlineEnd:Ge}}};var Me=Ze=>{const{componentCls:Ve,iconCls:Pe,itemHeight:He,colorTextLightSolid:be,dropdownWidth:Ie,controlHeightLG:Te,motionDurationMid:Re,motionEaseOut:Ge,paddingXL:Le,itemMarginInline:Ue,fontSizeLG:Qe,motionDurationSlow:et,paddingXS:dt,boxShadowSecondary:mt,collapsedWidth:Tt,collapsedIconSize:At}=Ze,Ye={height:He,lineHeight:`${He}px`,listStylePosition:"inside",listStyleType:"disc"};return[{[Ve]:{"&-inline, &-vertical":Object.assign({[`&${Ve}-root`]:{boxShadow:"none"}},ge(Ze))},[`${Ve}-submenu-popup`]:{[`${Ve}-vertical`]:Object.assign(Object.assign({},ge(Ze)),{boxShadow:mt})}},{[`${Ve}-submenu-popup ${Ve}-vertical${Ve}-sub`]:{minWidth:Ie,maxHeight:`calc(100vh - ${Te*2.5}px)`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${Ve}-inline`]:{width:"100%",[`&${Ve}-root`]:{[`${Ve}-item, ${Ve}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${et}`,`background ${et}`,`padding ${Re} ${Ge}`].join(","),[`> ${Ve}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${Ve}-sub${Ve}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${Ve}-submenu > ${Ve}-submenu-title`]:Ye,[`& ${Ve}-item-group-title`]:{paddingInlineStart:Le}},[`${Ve}-item`]:Ye}},{[`${Ve}-inline-collapsed`]:{width:Tt,[`&${Ve}-root`]:{[`${Ve}-item, ${Ve}-submenu ${Ve}-submenu-title`]:{[`> ${Ve}-inline-collapsed-noicon`]:{fontSize:Qe,textAlign:"center"}}},[`> ${Ve}-item,
> ${Ve}-item-group > ${Ve}-item-group-list > ${Ve}-item,
> ${Ve}-item-group > ${Ve}-item-group-list > ${Ve}-submenu > ${Ve}-submenu-title,
> ${Ve}-submenu > ${Ve}-submenu-title`]:{insetInlineStart:0,paddingInline:`calc(50% - ${Qe/2}px - ${Ue}px)`,textOverflow:"clip",[`
${Ve}-submenu-arrow,
${Ve}-submenu-expand-icon
`]:{opacity:0},[`${Ve}-item-icon, ${Pe}`]:{margin:0,fontSize:At,lineHeight:`${He}px`,"+ span":{display:"inline-block",opacity:0}}},[`${Ve}-item-icon, ${Pe}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${Ve}-item-icon, ${Pe}`]:{display:"none"},"a, a:hover":{color:be}},[`${Ve}-item-group-title`]:Object.assign(Object.assign({},G.vS),{paddingInline:dt})}}]};const Ne=Ze=>{const{componentCls:Ve,motionDurationSlow:Pe,motionDurationMid:He,motionEaseInOut:be,motionEaseOut:Ie,iconCls:Te,iconSize:Re,iconMarginInlineEnd:Ge}=Ze;return{[`${Ve}-item, ${Ve}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${Pe}`,`background ${Pe}`,`padding ${Pe} ${be}`].join(","),[`${Ve}-item-icon, ${Te}`]:{minWidth:Re,fontSize:Re,transition:[`font-size ${He} ${Ie}`,`margin ${Pe} ${be}`,`color ${Pe}`].join(","),"+ span":{marginInlineStart:Ge,opacity:1,transition:[`opacity ${Pe} ${be}`,`margin ${Pe}`,`color ${Pe}`].join(",")}},[`${Ve}-item-icon`]:Object.assign({},(0,G.Ro)()),[`&${Ve}-item-only-child`]:{[`> ${Te}, > ${Ve}-item-icon`]:{marginInlineEnd:0}}},[`${Ve}-item-disabled, ${Ve}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${Ve}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},We=Ze=>{const{componentCls:Ve,motionDurationSlow:Pe,motionEaseInOut:He,borderRadius:be,menuArrowSize:Ie,menuArrowOffset:Te}=Ze;return{[`${Ve}-submenu`]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:Ze.margin,width:Ie,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${Pe} ${He}, opacity ${Pe}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:Ie*.6,height:Ie*.15,backgroundColor:"currentcolor",borderRadius:be,transition:[`background ${Pe} ${He}`,`transform ${Pe} ${He}`,`top ${Pe} ${He}`,`color ${Pe} ${He}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(-${Te})`},"&::after":{transform:`rotate(-45deg) translateY(${Te})`}}}}},tt=Ze=>{const{antCls:Ve,componentCls:Pe,fontSize:He,motionDurationSlow:be,motionDurationMid:Ie,motionEaseInOut:Te,paddingXS:Re,padding:Ge,colorSplit:Le,lineWidth:Ue,zIndexPopup:Qe,borderRadiusLG:et,subMenuItemBorderRadius:dt,menuArrowSize:mt,menuArrowOffset:Tt,lineType:At,menuPanelMaskInset:Ye,groupTitleLineHeight:ft,groupTitleFontSize:pt}=Ze;return[{"":{[`${Pe}`]:Object.assign(Object.assign({},(0,G.dF)()),{"&-hidden":{display:"none"}})},[`${Pe}-submenu-hidden`]:{display:"none"}},{[Pe]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,G.Wf)(Ze)),(0,G.dF)()),{marginBottom:0,paddingInlineStart:0,fontSize:He,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${be} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",[`${Pe}-item`]:{flex:"none"}},[`${Pe}-item, ${Pe}-submenu, ${Pe}-submenu-title`]:{borderRadius:Ze.itemBorderRadius},[`${Pe}-item-group-title`]:{padding:`${Re}px ${Ge}px`,fontSize:pt,lineHeight:ft,transition:`all ${be}`},[`&-horizontal ${Pe}-submenu`]:{transition:[`border-color ${be} ${Te}`,`background ${be} ${Te}`].join(",")},[`${Pe}-submenu, ${Pe}-submenu-inline`]:{transition:[`border-color ${be} ${Te}`,`background ${be} ${Te}`,`padding ${Ie} ${Te}`].join(",")},[`${Pe}-submenu ${Pe}-sub`]:{cursor:"initial",transition:[`background ${be} ${Te}`,`padding ${be} ${Te}`].join(",")},[`${Pe}-title-content`]:{transition:`color ${be}`},[`${Pe}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${Pe}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:Le,borderStyle:At,borderWidth:0,borderTopWidth:Ue,marginBlock:Ue,padding:0,"&-dashed":{borderStyle:"dashed"}}}),Ne(Ze)),{[`${Pe}-item-group`]:{[`${Pe}-item-group-list`]:{margin:0,padding:0,[`${Pe}-item, ${Pe}-submenu-title`]:{paddingInline:`${He*2}px ${Ge}px`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:Qe,borderRadius:et,boxShadow:"none",transformOrigin:"0 0",[`&${Pe}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:`${Ye}px 0 0`,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'}},"&-placement-rightTop::before":{top:0,insetInlineStart:Ye},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:Ze.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:Ze.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:Ze.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:Ze.paddingXS},[`> ${Pe}`]:Object.assign(Object.assign(Object.assign({borderRadius:et},Ne(Ze)),We(Ze)),{[`${Pe}-item, ${Pe}-submenu > ${Pe}-submenu-title`]:{borderRadius:dt},[`${Pe}-submenu-title::after`]:{transition:`transform ${be} ${Te}`}})}}),We(Ze)),{[`&-inline-collapsed ${Pe}-submenu-arrow,
&-inline ${Pe}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${Tt})`},"&::after":{transform:`rotate(45deg) translateX(-${Tt})`}},[`${Pe}-submenu-open${Pe}-submenu-inline > ${Pe}-submenu-title > ${Pe}-submenu-arrow`]:{transform:`translateY(-${mt*.2}px)`,"&::after":{transform:`rotate(-45deg) translateX(-${Tt})`},"&::before":{transform:`rotate(45deg) translateX(${Tt})`}}})},{[`${Ve}-layout-header`]:{[Pe]:{lineHeight:"inherit"}}}]};var Je=(Ze,Ve)=>(0,oe.Z)("Menu",He=>{if(Ve===!1)return[];const{colorBgElevated:be,colorPrimary:Ie,colorTextLightSolid:Te,controlHeightLG:Re,fontSize:Ge,darkItemColor:Le,darkDangerItemColor:Ue,darkItemBg:Qe,darkSubMenuItemBg:et,darkItemSelectedColor:dt,darkItemSelectedBg:mt,darkDangerItemSelectedBg:Tt,darkItemHoverBg:At,darkGroupTitleColor:Ye,darkItemHoverColor:ft,darkItemDisabledColor:pt,darkDangerItemHoverColor:_t,darkDangerItemSelectedColor:Ot,darkDangerItemActiveBg:Wt}=He,jt=Ge/7*5,zt=(0,ie.TS)(He,{menuArrowSize:jt,menuHorizontalHeight:Re*1.15,menuArrowOffset:`${jt*.25}px`,menuPanelMaskInset:-7,menuSubMenuBg:be}),$t=(0,ie.TS)(zt,{itemColor:Le,itemHoverColor:ft,groupTitleColor:Ye,itemSelectedColor:dt,itemBg:Qe,popupBg:Qe,subMenuItemBg:et,itemActiveBg:"transparent",itemSelectedBg:mt,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:At,itemDisabledColor:pt,dangerItemColor:Ue,dangerItemHoverColor:_t,dangerItemSelectedColor:Ot,dangerItemActiveBg:Wt,dangerItemSelectedBg:Tt,menuSubMenuBg:et,horizontalItemSelectedColor:Te,horizontalItemSelectedBg:Ie});return[tt(zt),le(zt),Me(zt),ye(zt,"light"),ye($t,"dark"),de(zt),(0,Y.Z)(zt),(0,te.oN)(zt,"slide-up"),(0,te.oN)(zt,"slide-down"),(0,$._y)(zt,"zoom-big")]},He=>{const{colorPrimary:be,colorError:Ie,colorTextDisabled:Te,colorErrorBg:Re,colorText:Ge,colorTextDescription:Le,colorBgContainer:Ue,colorFillAlter:Qe,colorFillContent:et,lineWidth:dt,lineWidthBold:mt,controlItemBgActive:Tt,colorBgTextHover:At,controlHeightLG:Ye,lineHeight:ft,colorBgElevated:pt,marginXXS:_t,padding:Ot,fontSize:Wt,controlHeightSM:jt,fontSizeLG:zt,colorTextLightSolid:$t,colorErrorHover:pn}=He,on=new F.C($t).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:He.zIndexPopupBase+50,radiusItem:He.borderRadiusLG,itemBorderRadius:He.borderRadiusLG,radiusSubMenuItem:He.borderRadiusSM,subMenuItemBorderRadius:He.borderRadiusSM,colorItemText:Ge,itemColor:Ge,colorItemTextHover:Ge,itemHoverColor:Ge,colorItemTextHoverHorizontal:be,horizontalItemHoverColor:be,colorGroupTitle:Le,groupTitleColor:Le,colorItemTextSelected:be,itemSelectedColor:be,colorItemTextSelectedHorizontal:be,horizontalItemSelectedColor:be,colorItemBg:Ue,itemBg:Ue,colorItemBgHover:At,itemHoverBg:At,colorItemBgActive:et,itemActiveBg:Tt,colorSubItemBg:Qe,subMenuItemBg:Qe,colorItemBgSelected:Tt,itemSelectedBg:Tt,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:0,colorActiveBarHeight:mt,activeBarHeight:mt,colorActiveBarBorderSize:dt,activeBarBorderWidth:dt,colorItemTextDisabled:Te,itemDisabledColor:Te,colorDangerItemText:Ie,dangerItemColor:Ie,colorDangerItemTextHover:Ie,dangerItemHoverColor:Ie,colorDangerItemTextSelected:Ie,dangerItemSelectedColor:Ie,colorDangerItemBgActive:Re,dangerItemActiveBg:Re,colorDangerItemBgSelected:Re,dangerItemSelectedBg:Re,itemMarginInline:He.marginXXS,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:Ye,groupTitleLineHeight:ft,collapsedWidth:Ye*2,popupBg:pt,itemMarginBlock:_t,itemPaddingInline:Ot,horizontalLineHeight:`${Ye*1.15}px`,iconSize:Wt,iconMarginInlineEnd:jt-Wt,collapsedIconSize:zt,groupTitleFontSize:Wt,darkItemDisabledColor:new F.C($t).setAlpha(.25).toRgbString(),darkItemColor:on,darkDangerItemColor:Ie,darkItemBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:$t,darkItemSelectedBg:be,darkDangerItemSelectedBg:Ie,darkItemHoverBg:"transparent",darkGroupTitleColor:on,darkItemHoverColor:$t,darkDangerItemHoverColor:pn,darkDangerItemSelectedColor:$t,darkDangerItemActiveBg:Ie}},{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]]})(Ze),st=function(Ze,Ve){var Pe={};for(var He in Ze)Object.prototype.hasOwnProperty.call(Ze,He)&&Ve.indexOf(He)<0&&(Pe[He]=Ze[He]);if(Ze!=null&&typeof Object.getOwnPropertySymbols=="function")for(var be=0,He=Object.getOwnPropertySymbols(Ze);be<He.length;be++)Ve.indexOf(He[be])<0&&Object.prototype.propertyIsEnumerable.call(Ze,He[be])&&(Pe[He[be]]=Ze[He[be]]);return Pe},gt=(0,q.forwardRef)((Ze,Ve)=>{var Pe,He;const be=q.useContext(y.Z),Ie=be||{},{getPrefixCls:Te,getPopupContainer:Re,direction:Ge,menu:Le}=q.useContext(P.E_),Ue=Te(),{prefixCls:Qe,className:et,style:dt,theme:mt="light",expandIcon:Tt,_internalDisableMenuItemTitleTooltip:At,inlineCollapsed:Ye,siderCollapsed:ft,items:pt,children:_t,rootClassName:Ot,mode:Wt,selectable:jt,onClick:zt,overflowedIndicatorPopupClassName:$t}=Ze,pn=st(Ze,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),on=(0,g.Z)(pn,["collapsedWidth"]),un=U(pt)||_t;(Pe=Ie.validator)===null||Pe===void 0||Pe.call(Ie,{mode:Wt});const On=(0,u.useEvent)(function(){var Cn;zt==null||zt.apply(void 0,arguments),(Cn=Ie.onClick)===null||Cn===void 0||Cn.call(Ie)}),Mn=Ie.mode||Wt,Kt=jt!=null?jt:Ie.selectable,rn=q.useMemo(()=>ft!==void 0?ft:Ye,[Ye,ft]),ln={horizontal:{motionName:`${Ue}-slide-up`},inline:(0,f.Z)(Ue),other:{motionName:`${Ue}-zoom-big`}},Gt=Te("menu",Qe||Ie.prefixCls),[An,Dn]=Je(Gt,!be),hn=z()(`${Gt}-${mt}`,Le==null?void 0:Le.className,et);let In;if(typeof Tt=="function")In=Tt;else if(Tt===null||Tt===!1)In=null;else if(Ie.expandIcon===null||Ie.expandIcon===!1)In=null;else{const Cn=Tt!=null?Tt:Ie.expandIcon;In=(0,L.Tm)(Cn,{className:z()(`${Gt}-submenu-expand-icon`,(0,L.l$)(Cn)?(He=Cn.props)===null||He===void 0?void 0:He.className:"")})}const Un=q.useMemo(()=>({prefixCls:Gt,inlineCollapsed:rn||!1,direction:Ge,firstLevel:!0,theme:mt,mode:Mn,disableMenuItemTitleTooltip:At}),[Gt,rn,Ge,At,mt]);return An(q.createElement(y.Z.Provider,{value:null},q.createElement(v.Provider,{value:Un},q.createElement(X.ZP,Object.assign({getPopupContainer:Re,overflowedIndicator:q.createElement(R.Z,null),overflowedIndicatorPopupClassName:z()(Gt,`${Gt}-${mt}`,$t),mode:Mn,selectable:Kt,onClick:On},on,{inlineCollapsed:rn,style:Object.assign(Object.assign({},Le==null?void 0:Le.style),dt),className:hn,prefixCls:Gt,direction:Ge,defaultMotions:ln,expandIcon:In,ref:Ve,rootClassName:z()(Ot,Dn)}),un))))});const Ke=(0,q.forwardRef)((Ze,Ve)=>{const Pe=(0,q.useRef)(null),He=q.useContext(H.D);return(0,q.useImperativeHandle)(Ve,()=>({menu:Pe.current,focus:be=>{var Ie;(Ie=Pe.current)===null||Ie===void 0||Ie.focus(be)}})),q.createElement(gt,Object.assign({ref:Pe},Ze,He))});Ke.Item=w,Ke.SubMenu=A,Ke.Divider=O,Ke.ItemGroup=X.BW;var nt=Ke},93948:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return At}});var X=Z(59301),q=Z(29679),H=Z(40001),b=Z(19248),z=Z(99267),P=Z(92310),T=Z.n(P),x=Z(2738),O=Z(36355),_=Z(72308),g=Z(77321),m=Z(74416),L={percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,trailColor:"#D9D9D9",trailWidth:1,gapPosition:"bottom"},d=function(){var ft=(0,X.useRef)([]),pt=(0,X.useRef)(null);return(0,X.useEffect)(function(){var _t=Date.now(),Ot=!1;ft.current.forEach(function(Wt){if(Wt){Ot=!0;var jt=Wt.style;jt.transitionDuration=".3s, .3s, .3s, .06s",pt.current&&_t-pt.current<100&&(jt.transitionDuration="0s, 0s")}}),Ot&&(pt.current=Date.now())}),ft.current},v=["className","percent","prefixCls","strokeColor","strokeLinecap","strokeWidth","style","trailColor","trailWidth","transition"],M=function(ft){var pt=(0,g.Z)((0,g.Z)({},L),ft),_t=pt.className,Ot=pt.percent,Wt=pt.prefixCls,jt=pt.strokeColor,zt=pt.strokeLinecap,$t=pt.strokeWidth,pn=pt.style,on=pt.trailColor,un=pt.trailWidth,On=pt.transition,Mn=(0,m.Z)(pt,v);delete Mn.gapPosition;var Kt=Array.isArray(Ot)?Ot:[Ot],rn=Array.isArray(jt)?jt:[jt],ln=d(),Gt=$t/2,An=100-$t/2,Dn="M ".concat(zt==="round"?Gt:0,",").concat(Gt,`
L `).concat(zt==="round"?An:100,",").concat(Gt),hn="0 0 100 ".concat($t),In=0;return X.createElement("svg",(0,_.Z)({className:T()("".concat(Wt,"-line"),_t),viewBox:hn,preserveAspectRatio:"none",style:pn},Mn),X.createElement("path",{className:"".concat(Wt,"-line-trail"),d:Dn,strokeLinecap:zt,stroke:on,strokeWidth:un||$t,fillOpacity:"0"}),Kt.map(function(Un,Cn){var Ft=1;switch(zt){case"round":Ft=1-$t/100;break;case"square":Ft=1-$t/2/100;break;default:Ft=1;break}var me={strokeDasharray:"".concat(Un*Ft,"px, 100px"),strokeDashoffset:"-".concat(In,"px"),transition:On||"stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear"},E=rn[Cn]||rn[rn.length-1];return In+=Un,X.createElement("path",{key:Cn,className:"".concat(Wt,"-line-path"),d:Dn,strokeLinecap:zt,stroke:E,strokeWidth:$t,fillOpacity:"0",ref:function(N){ln[Cn]=N},style:me})}))},w=M,S=Z(62853),A=Z(52487),R=Z(47273),u=0,f=(0,R.Z)();function y(){var Ye;return f?(Ye=u,u+=1):Ye="TEST_OR_SSR",Ye}var D=function(Ye){var ft=X.useState(),pt=(0,A.Z)(ft,2),_t=pt[0],Ot=pt[1];return X.useEffect(function(){Ot("rc_progress_".concat(y()))},[]),Ye||_t},I=function(ft){var pt=ft.bg,_t=ft.children;return X.createElement("div",{style:{width:"100%",height:"100%",background:pt}},_t)};function U(Ye,ft){return Object.keys(Ye).map(function(pt){var _t=parseFloat(pt),Ot="".concat(Math.floor(_t*ft),"%");return"".concat(Ye[pt]," ").concat(Ot)})}var F=X.forwardRef(function(Ye,ft){var pt=Ye.prefixCls,_t=Ye.color,Ot=Ye.gradientId,Wt=Ye.radius,jt=Ye.style,zt=Ye.ptg,$t=Ye.strokeLinecap,pn=Ye.strokeWidth,on=Ye.size,un=Ye.gapDegree,On=_t&&(0,S.Z)(_t)==="object",Mn=On?"#FFF":void 0,Kt=on/2,rn=X.createElement("circle",{className:"".concat(pt,"-circle-path"),r:Wt,cx:Kt,cy:Kt,stroke:Mn,strokeLinecap:$t,strokeWidth:pn,opacity:zt===0?0:1,style:jt,ref:ft});if(!On)return rn;var ln="".concat(Ot,"-conic"),Gt=un?"".concat(180+un/2,"deg"):"0deg",An=U(_t,(360-un)/360),Dn=U(_t,1),hn="conic-gradient(from ".concat(Gt,", ").concat(An.join(", "),")"),In="linear-gradient(to ".concat(un?"bottom":"top",", ").concat(Dn.join(", "),")");return X.createElement(X.Fragment,null,X.createElement("mask",{id:ln},rn),X.createElement("foreignObject",{x:0,y:0,width:on,height:on,mask:"url(#".concat(ln,")")},X.createElement(I,{bg:In},X.createElement(I,{bg:hn}))))}),G=F,Y=100,te=function(ft,pt,_t,Ot,Wt,jt,zt,$t,pn,on){var un=arguments.length>10&&arguments[10]!==void 0?arguments[10]:0,On=_t/100*360*((360-jt)/360),Mn=jt===0?0:{bottom:0,top:180,left:90,right:-90}[zt],Kt=(100-Ot)/100*pt;pn==="round"&&Ot!==100&&(Kt+=on/2,Kt>=pt&&(Kt=pt-.01));var rn=Y/2;return{stroke:typeof $t=="string"?$t:void 0,strokeDasharray:"".concat(pt,"px ").concat(ft),strokeDashoffset:Kt+un,transform:"rotate(".concat(Wt+On+Mn,"deg)"),transformOrigin:"".concat(rn,"px ").concat(rn,"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s",fillOpacity:0}},$=["id","prefixCls","steps","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor","percent"];function oe(Ye){var ft=Ye!=null?Ye:[];return Array.isArray(ft)?ft:[ft]}var ie=function(ft){var pt=(0,g.Z)((0,g.Z)({},L),ft),_t=pt.id,Ot=pt.prefixCls,Wt=pt.steps,jt=pt.strokeWidth,zt=pt.trailWidth,$t=pt.gapDegree,pn=$t===void 0?0:$t,on=pt.gapPosition,un=pt.trailColor,On=pt.strokeLinecap,Mn=pt.style,Kt=pt.className,rn=pt.strokeColor,ln=pt.percent,Gt=(0,m.Z)(pt,$),An=Y/2,Dn=D(_t),hn="".concat(Dn,"-gradient"),In=An-jt/2,Un=Math.PI*2*In,Cn=pn>0?90+pn/2:-90,Ft=Un*((360-pn)/360),me=(0,S.Z)(Wt)==="object"?Wt:{count:Wt,space:2},E=me.count,B=me.space,N=oe(ln),V=oe(rn),J=V.find(function(rt){return rt&&(0,S.Z)(rt)==="object"}),ue=J&&(0,S.Z)(J)==="object",ce=ue?"butt":On,Oe=te(Un,Ft,0,100,Cn,pn,on,un,ce,jt),Se=d(),ze=function(){var ot=0;return N.map(function($e,it){var ut=V[it]||V[V.length-1],ke=te(Un,Ft,ot,$e,Cn,pn,on,ut,ce,jt);return ot+=$e,X.createElement(G,{key:it,color:ut,ptg:$e,radius:In,prefixCls:Ot,gradientId:hn,style:ke,strokeLinecap:ce,strokeWidth:jt,gapDegree:pn,ref:function(vt){Se[it]=vt},size:Y})}).reverse()},je=function(){var ot=Math.round(E*(N[0]/100)),$e=100/E,it=0;return new Array(E).fill(null).map(function(ut,ke){var at=ke<=ot-1?V[0]:un,vt=at&&(0,S.Z)(at)==="object"?"url(#".concat(hn,")"):void 0,Pt=te(Un,Ft,it,$e,Cn,pn,on,at,"butt",jt,B);return it+=(Ft-Pt.strokeDashoffset+B)*100/Ft,X.createElement("circle",{key:ke,className:"".concat(Ot,"-circle-path"),r:In,cx:An,cy:An,stroke:vt,strokeWidth:jt,opacity:1,style:Pt,ref:function(Zt){Se[ke]=Zt}})})};return X.createElement("svg",(0,_.Z)({className:T()("".concat(Ot,"-circle"),Kt),viewBox:"0 0 ".concat(Y," ").concat(Y),style:Mn,id:_t,role:"presentation"},Gt),!E&&X.createElement("circle",{className:"".concat(Ot,"-circle-trail"),r:In,cx:An,cy:An,stroke:un,strokeLinecap:ce,strokeWidth:zt||jt,style:Oe}),E?je():ze())},ne=ie,le={Line:w,Circle:ne},ae=Z(6848),de=Z(93398);function se(Ye){return!Ye||Ye<0?0:Ye>100?100:Ye}function fe(Ye){let{success:ft,successPercent:pt}=Ye,_t=pt;return ft&&"progress"in ft&&(_t=ft.progress),ft&&"percent"in ft&&(_t=ft.percent),_t}const ye=Ye=>{let{percent:ft,success:pt,successPercent:_t}=Ye;const Ot=se(fe({success:pt,successPercent:_t}));return[Ot,se(se(ft)-Ot)]},ge=Ye=>{let{success:ft={},strokeColor:pt}=Ye;const{strokeColor:_t}=ft;return[_t||de.presetPrimaryColors.green,pt||null]},xe=(Ye,ft,pt)=>{var _t,Ot,Wt,jt;let zt=-1,$t=-1;if(ft==="step"){const pn=pt.steps,on=pt.strokeWidth;typeof Ye=="string"||typeof Ye=="undefined"?(zt=Ye==="small"?2:14,$t=on!=null?on:8):typeof Ye=="number"?[zt,$t]=[Ye,Ye]:[zt=14,$t=8]=Ye,zt*=pn}else if(ft==="line"){const pn=pt==null?void 0:pt.strokeWidth;typeof Ye=="string"||typeof Ye=="undefined"?$t=pn||(Ye==="small"?6:8):typeof Ye=="number"?[zt,$t]=[Ye,Ye]:[zt=-1,$t=8]=Ye}else(ft==="circle"||ft==="dashboard")&&(typeof Ye=="string"||typeof Ye=="undefined"?[zt,$t]=Ye==="small"?[60,60]:[120,120]:typeof Ye=="number"?[zt,$t]=[Ye,Ye]:(zt=(Ot=(_t=Ye[0])!==null&&_t!==void 0?_t:Ye[1])!==null&&Ot!==void 0?Ot:120,$t=(jt=(Wt=Ye[0])!==null&&Wt!==void 0?Wt:Ye[1])!==null&&jt!==void 0?jt:120));return[zt,$t]},Me=3,Ne=Ye=>Me/Ye*100;var tt=Ye=>{const{prefixCls:ft,trailColor:pt=null,strokeLinecap:_t="round",gapPosition:Ot,gapDegree:Wt,width:jt=120,type:zt,children:$t,success:pn,size:on=jt}=Ye,[un,On]=xe(on,"circle");let{strokeWidth:Mn}=Ye;Mn===void 0&&(Mn=Math.max(Ne(un),6));const Kt={width:un,height:On,fontSize:un*.15+6},rn=X.useMemo(()=>{if(Wt||Wt===0)return Wt;if(zt==="dashboard")return 75},[Wt,zt]),ln=Ot||zt==="dashboard"&&"bottom"||void 0,Gt=Object.prototype.toString.call(Ye.strokeColor)==="[object Object]",An=ge({success:pn,strokeColor:Ye.strokeColor}),Dn=T()(`${ft}-inner`,{[`${ft}-circle-gradient`]:Gt}),hn=X.createElement(ne,{percent:ye(Ye),strokeWidth:Mn,trailWidth:Mn,strokeColor:An,strokeLinecap:_t,trailColor:pt,prefixCls:ft,gapDegree:rn,gapPosition:ln});return X.createElement("div",{className:Dn,style:Kt},un<=20?X.createElement(ae.Z,{title:$t},X.createElement("span",null,hn)):X.createElement(X.Fragment,null,hn,$t))},Je=function(Ye,ft){var pt={};for(var _t in Ye)Object.prototype.hasOwnProperty.call(Ye,_t)&&ft.indexOf(_t)<0&&(pt[_t]=Ye[_t]);if(Ye!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ot=0,_t=Object.getOwnPropertySymbols(Ye);Ot<_t.length;Ot++)ft.indexOf(_t[Ot])<0&&Object.prototype.propertyIsEnumerable.call(Ye,_t[Ot])&&(pt[_t[Ot]]=Ye[_t[Ot]]);return pt};const st=Ye=>{let ft=[];return Object.keys(Ye).forEach(pt=>{const _t=parseFloat(pt.replace(/%/g,""));isNaN(_t)||ft.push({key:_t,value:Ye[pt]})}),ft=ft.sort((pt,_t)=>pt.key-_t.key),ft.map(pt=>{let{key:_t,value:Ot}=pt;return`${Ot} ${_t}%`}).join(", ")},yt=(Ye,ft)=>{const{from:pt=de.presetPrimaryColors.blue,to:_t=de.presetPrimaryColors.blue,direction:Ot=ft==="rtl"?"to left":"to right"}=Ye,Wt=Je(Ye,["from","to","direction"]);if(Object.keys(Wt).length!==0){const jt=st(Wt);return{backgroundImage:`linear-gradient(${Ot}, ${jt})`}}return{backgroundImage:`linear-gradient(${Ot}, ${pt}, ${_t})`}};var Ke=Ye=>{const{prefixCls:ft,direction:pt,percent:_t,size:Ot,strokeWidth:Wt,strokeColor:jt,strokeLinecap:zt="round",children:$t,trailColor:pn=null,success:on}=Ye,un=jt&&typeof jt!="string"?yt(jt,pt):{backgroundColor:jt},On=zt==="square"||zt==="butt"?0:void 0,Mn={backgroundColor:pn||void 0,borderRadius:On},Kt=Ot!=null?Ot:[-1,Wt||(Ot==="small"?6:8)],[rn,ln]=xe(Kt,"line",{strokeWidth:Wt}),Gt=Object.assign({width:`${se(_t)}%`,height:ln,borderRadius:On},un),An=fe(Ye),Dn={width:`${se(An)}%`,height:ln,borderRadius:On,backgroundColor:on==null?void 0:on.strokeColor},hn={width:rn<0?"100%":rn,height:ln};return X.createElement(X.Fragment,null,X.createElement("div",{className:`${ft}-outer`,style:hn},X.createElement("div",{className:`${ft}-inner`,style:Mn},X.createElement("div",{className:`${ft}-bg`,style:Gt}),An!==void 0?X.createElement("div",{className:`${ft}-success-bg`,style:Dn}):null)),$t)},Ze=Ye=>{const{size:ft,steps:pt,percent:_t=0,strokeWidth:Ot=8,strokeColor:Wt,trailColor:jt=null,prefixCls:zt,children:$t}=Ye,pn=Math.round(pt*(_t/100)),on=ft==="small"?2:14,un=ft!=null?ft:[on,Ot],[On,Mn]=xe(un,"step",{steps:pt,strokeWidth:Ot}),Kt=On/pt,rn=new Array(pt);for(let ln=0;ln<pt;ln++){const Gt=Array.isArray(Wt)?Wt[ln]:Wt;rn[ln]=X.createElement("div",{key:ln,className:T()(`${zt}-steps-item`,{[`${zt}-steps-item-active`]:ln<=pn-1}),style:{backgroundColor:ln<=pn-1?Gt:jt,width:Kt,height:Mn}})}return X.createElement("div",{className:`${zt}-steps-outer`},rn,$t)},Ve=Z(93083),Pe=Z(17313),He=Z(83116),be=Z(37613);const Ie=Ye=>{const ft=Ye?"100%":"-100%";return new Ve.Keyframes(`antProgress${Ye?"RTL":"LTR"}Active`,{"0%":{transform:`translateX(${ft}) scaleX(0)`,opacity:.1},"20%":{transform:`translateX(${ft}) scaleX(0)`,opacity:.5},to:{transform:"translateX(0) scaleX(1)",opacity:0}})},Te=Ye=>{const{componentCls:ft,iconCls:pt}=Ye;return{[ft]:Object.assign(Object.assign({},(0,Pe.Wf)(Ye)),{display:"inline-block","&-rtl":{direction:"rtl"},"&-line":{position:"relative",width:"100%",fontSize:Ye.fontSize,marginInlineEnd:Ye.marginXS,marginBottom:Ye.marginXS},[`${ft}-outer`]:{display:"inline-block",width:"100%"},[`&${ft}-show-info`]:{[`${ft}-outer`]:{marginInlineEnd:`calc(-2em - ${Ye.marginXS}px)`,paddingInlineEnd:`calc(2em + ${Ye.paddingXS}px)`}},[`${ft}-inner`]:{position:"relative",display:"inline-block",width:"100%",overflow:"hidden",verticalAlign:"middle",backgroundColor:Ye.remainingColor,borderRadius:Ye.lineBorderRadius},[`${ft}-inner:not(${ft}-circle-gradient)`]:{[`${ft}-circle-path`]:{stroke:Ye.defaultColor}},[`${ft}-success-bg, ${ft}-bg`]:{position:"relative",backgroundColor:Ye.defaultColor,borderRadius:Ye.lineBorderRadius,transition:`all ${Ye.motionDurationSlow} ${Ye.motionEaseInOutCirc}`},[`${ft}-success-bg`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,backgroundColor:Ye.colorSuccess},[`${ft}-text`]:{display:"inline-block",width:"2em",marginInlineStart:Ye.marginXS,color:Ye.colorText,lineHeight:1,whiteSpace:"nowrap",textAlign:"start",verticalAlign:"middle",wordBreak:"normal",[pt]:{fontSize:Ye.fontSize}},[`&${ft}-status-active`]:{[`${ft}-bg::before`]:{position:"absolute",inset:0,backgroundColor:Ye.colorBgContainer,borderRadius:Ye.lineBorderRadius,opacity:0,animationName:Ie(),animationDuration:Ye.progressActiveMotionDuration,animationTimingFunction:Ye.motionEaseOutQuint,animationIterationCount:"infinite",content:'""'}},[`&${ft}-rtl${ft}-status-active`]:{[`${ft}-bg::before`]:{animationName:Ie(!0)}},[`&${ft}-status-exception`]:{[`${ft}-bg`]:{backgroundColor:Ye.colorError},[`${ft}-text`]:{color:Ye.colorError}},[`&${ft}-status-exception ${ft}-inner:not(${ft}-circle-gradient)`]:{[`${ft}-circle-path`]:{stroke:Ye.colorError}},[`&${ft}-status-success`]:{[`${ft}-bg`]:{backgroundColor:Ye.colorSuccess},[`${ft}-text`]:{color:Ye.colorSuccess}},[`&${ft}-status-success ${ft}-inner:not(${ft}-circle-gradient)`]:{[`${ft}-circle-path`]:{stroke:Ye.colorSuccess}}})}},Re=Ye=>{const{componentCls:ft,iconCls:pt}=Ye;return{[ft]:{[`${ft}-circle-trail`]:{stroke:Ye.remainingColor},[`&${ft}-circle ${ft}-inner`]:{position:"relative",lineHeight:1,backgroundColor:"transparent"},[`&${ft}-circle ${ft}-text`]:{position:"absolute",insetBlockStart:"50%",insetInlineStart:0,width:"100%",margin:0,padding:0,color:Ye.circleTextColor,fontSize:Ye.circleTextFontSize,lineHeight:1,whiteSpace:"normal",textAlign:"center",transform:"translateY(-50%)",[pt]:{fontSize:`${Ye.fontSize/Ye.fontSizeSM}em`}},[`${ft}-circle&-status-exception`]:{[`${ft}-text`]:{color:Ye.colorError}},[`${ft}-circle&-status-success`]:{[`${ft}-text`]:{color:Ye.colorSuccess}}},[`${ft}-inline-circle`]:{lineHeight:1,[`${ft}-inner`]:{verticalAlign:"bottom"}}}},Ge=Ye=>{const{componentCls:ft}=Ye;return{[ft]:{[`${ft}-steps`]:{display:"inline-block","&-outer":{display:"flex",flexDirection:"row",alignItems:"center"},"&-item":{flexShrink:0,minWidth:Ye.progressStepMinWidth,marginInlineEnd:Ye.progressStepMarginInlineEnd,backgroundColor:Ye.remainingColor,transition:`all ${Ye.motionDurationSlow}`,"&-active":{backgroundColor:Ye.defaultColor}}}}}},Le=Ye=>{const{componentCls:ft,iconCls:pt}=Ye;return{[ft]:{[`${ft}-small&-line, ${ft}-small&-line ${ft}-text ${pt}`]:{fontSize:Ye.fontSizeSM}}}};var Ue=(0,He.Z)("Progress",Ye=>{const ft=Ye.marginXXS/2,pt=(0,be.TS)(Ye,{progressStepMarginInlineEnd:ft,progressStepMinWidth:ft,progressActiveMotionDuration:"2.4s"});return[Te(pt),Re(pt),Ge(pt),Le(pt)]},Ye=>({circleTextColor:Ye.colorText,defaultColor:Ye.colorInfo,remainingColor:Ye.colorFillSecondary,lineBorderRadius:100,circleTextFontSize:"1em"})),Qe=function(Ye,ft){var pt={};for(var _t in Ye)Object.prototype.hasOwnProperty.call(Ye,_t)&&ft.indexOf(_t)<0&&(pt[_t]=Ye[_t]);if(Ye!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ot=0,_t=Object.getOwnPropertySymbols(Ye);Ot<_t.length;Ot++)ft.indexOf(_t[Ot])<0&&Object.prototype.propertyIsEnumerable.call(Ye,_t[Ot])&&(pt[_t[Ot]]=Ye[_t[Ot]]);return pt};const et=null,dt=["normal","exception","active","success"];var Tt=X.forwardRef((Ye,ft)=>{const{prefixCls:pt,className:_t,rootClassName:Ot,steps:Wt,strokeColor:jt,percent:zt=0,size:$t="default",showInfo:pn=!0,type:on="line",status:un,format:On,style:Mn}=Ye,Kt=Qe(Ye,["prefixCls","className","rootClassName","steps","strokeColor","percent","size","showInfo","type","status","format","style"]),rn=X.useMemo(()=>{var N,V;const J=fe(Ye);return parseInt(J!==void 0?(N=J!=null?J:0)===null||N===void 0?void 0:N.toString():(V=zt!=null?zt:0)===null||V===void 0?void 0:V.toString(),10)},[zt,Ye.success,Ye.successPercent]),ln=X.useMemo(()=>!dt.includes(un)&&rn>=100?"success":un||"normal",[un,rn]),{getPrefixCls:Gt,direction:An,progress:Dn}=X.useContext(O.E_),hn=Gt("progress",pt),[In,Un]=Ue(hn),Cn=X.useMemo(()=>{if(!pn)return null;const N=fe(Ye);let V;const J=On||(ce=>`${ce}%`),ue=on==="line";return On||ln!=="exception"&&ln!=="success"?V=J(se(zt),se(N)):ln==="exception"?V=ue?X.createElement(b.Z,null):X.createElement(z.Z,null):ln==="success"&&(V=ue?X.createElement(q.Z,null):X.createElement(H.Z,null)),X.createElement("span",{className:`${hn}-text`,title:typeof V=="string"?V:void 0},V)},[pn,zt,rn,ln,on,hn,On]),Ft=Array.isArray(jt)?jt[0]:jt,me=typeof jt=="string"||Array.isArray(jt)?jt:void 0;let E;on==="line"?E=Wt?X.createElement(Ze,Object.assign({},Ye,{strokeColor:me,prefixCls:hn,steps:Wt}),Cn):X.createElement(Ke,Object.assign({},Ye,{strokeColor:Ft,prefixCls:hn,direction:An}),Cn):(on==="circle"||on==="dashboard")&&(E=X.createElement(tt,Object.assign({},Ye,{strokeColor:Ft,prefixCls:hn,progressStatus:ln}),Cn));const B=T()(hn,`${hn}-status-${ln}`,`${hn}-${on==="dashboard"&&"circle"||Wt&&"steps"||on}`,{[`${hn}-inline-circle`]:on==="circle"&&xe($t,"circle")[0]<=20,[`${hn}-show-info`]:pn,[`${hn}-${$t}`]:typeof $t=="string",[`${hn}-rtl`]:An==="rtl"},Dn==null?void 0:Dn.className,_t,Ot,Un);return In(X.createElement("div",Object.assign({ref:ft,style:Object.assign(Object.assign({},Dn==null?void 0:Dn.style),Mn),className:B,role:"progressbar","aria-valuenow":rn},(0,x.Z)(Kt,["trailColor","strokeWidth","width","gapDegree","gapPosition","strokeLinecap","success","successPercent"])),E))}),At=Tt},13570:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return se}});var X=Z(72308),q=Z(59301),H={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z"}}]},name:"star",theme:"filled"},b=H,z=Z(7657),P=function(ye,ge){return q.createElement(z.Z,(0,X.Z)({},ye,{ref:ge,icon:b}))},T=q.forwardRef(P),x=T,O=Z(92310),_=Z.n(O),g=Z(49618),m=Z(52487),L=Z(74416),d=Z(18929),v=Z(10228),M=Z(26112);function w(fe,ye){var ge=fe.disabled,xe=fe.prefixCls,Me=fe.character,Ne=fe.characterRender,We=fe.index,tt=fe.count,Je=fe.value,st=fe.allowHalf,yt=fe.focused,gt=fe.onHover,Ke=fe.onClick,nt=function(Re){gt(Re,We)},Ze=function(Re){Ke(Re,We)},Ve=function(Re){Re.keyCode===v.Z.ENTER&&Ke(Re,We)},Pe=We+1,He=new Set([xe]);Je===0&&We===0&&yt?He.add("".concat(xe,"-focused")):st&&Je+.5>=Pe&&Je<Pe?(He.add("".concat(xe,"-half")),He.add("".concat(xe,"-active")),yt&&He.add("".concat(xe,"-focused"))):(Pe<=Je?He.add("".concat(xe,"-full")):He.add("".concat(xe,"-zero")),Pe===Je&&yt&&He.add("".concat(xe,"-focused")));var be=typeof Me=="function"?Me(fe):Me,Ie=q.createElement("li",{className:_()(Array.from(He)),ref:ye},q.createElement("div",{onClick:ge?null:Ze,onKeyDown:ge?null:Ve,onMouseMove:ge?null:nt,role:"radio","aria-checked":Je>We?"true":"false","aria-posinset":We+1,"aria-setsize":tt,tabIndex:ge?-1:0},q.createElement("div",{className:"".concat(xe,"-first")},be),q.createElement("div",{className:"".concat(xe,"-second")},be)));return Ne&&(Ie=Ne(Ie,fe)),Ie}var S=q.forwardRef(w);function A(){var fe=q.useRef({});function ye(xe){return fe.current[xe]}function ge(xe){return function(Me){fe.current[xe]=Me}}return[ye,ge]}function R(fe){var ye=fe.pageXOffset,ge="scrollLeft";if(typeof ye!="number"){var xe=fe.document;ye=xe.documentElement[ge],typeof ye!="number"&&(ye=xe.body[ge])}return ye}function u(fe){var ye,ge,xe=fe.ownerDocument,Me=xe.body,Ne=xe&&xe.documentElement,We=fe.getBoundingClientRect();return ye=We.left,ge=We.top,ye-=Ne.clientLeft||Me.clientLeft||0,ge-=Ne.clientTop||Me.clientTop||0,{left:ye,top:ge}}function f(fe){var ye=u(fe),ge=fe.ownerDocument,xe=ge.defaultView||ge.parentWindow;return ye.left+=R(xe),ye.left}var y=["prefixCls","className","defaultValue","value","count","allowHalf","allowClear","character","characterRender","disabled","direction","tabIndex","autoFocus","onHoverChange","onChange","onFocus","onBlur","onKeyDown","onMouseLeave"];function D(fe,ye){var ge,xe=fe.prefixCls,Me=xe===void 0?"rc-rate":xe,Ne=fe.className,We=fe.defaultValue,tt=fe.value,Je=fe.count,st=Je===void 0?5:Je,yt=fe.allowHalf,gt=yt===void 0?!1:yt,Ke=fe.allowClear,nt=Ke===void 0?!0:Ke,Ze=fe.character,Ve=Ze===void 0?"\u2605":Ze,Pe=fe.characterRender,He=fe.disabled,be=fe.direction,Ie=be===void 0?"ltr":be,Te=fe.tabIndex,Re=Te===void 0?0:Te,Ge=fe.autoFocus,Le=fe.onHoverChange,Ue=fe.onChange,Qe=fe.onFocus,et=fe.onBlur,dt=fe.onKeyDown,mt=fe.onMouseLeave,Tt=(0,L.Z)(fe,y),At=A(),Ye=(0,m.Z)(At,2),ft=Ye[0],pt=Ye[1],_t=q.useRef(null),Ot=function(){if(!He){var ce;(ce=_t.current)===null||ce===void 0||ce.focus()}};q.useImperativeHandle(ye,function(){return{focus:Ot,blur:function(){if(!He){var ce;(ce=_t.current)===null||ce===void 0||ce.blur()}}}});var Wt=(0,d.Z)(We||0,{value:tt}),jt=(0,m.Z)(Wt,2),zt=jt[0],$t=jt[1],pn=(0,d.Z)(null),on=(0,m.Z)(pn,2),un=on[0],On=on[1],Mn=function(ce,Oe){var Se=Ie==="rtl",ze=ce+1;if(gt){var je=ft(ce),rt=f(je),ot=je.clientWidth;(Se&&Oe-rt>ot/2||!Se&&Oe-rt<ot/2)&&(ze-=.5)}return ze},Kt=function(ce){$t(ce),Ue==null||Ue(ce)},rn=q.useState(!1),ln=(0,m.Z)(rn,2),Gt=ln[0],An=ln[1],Dn=function(){An(!0),Qe==null||Qe()},hn=function(){An(!1),et==null||et()},In=q.useState(null),Un=(0,m.Z)(In,2),Cn=Un[0],Ft=Un[1],me=function(ce,Oe){var Se=Mn(Oe,ce.pageX);Se!==un&&(Ft(Se),On(null)),Le==null||Le(Se)},E=function(ce){He||(Ft(null),On(null),Le==null||Le(void 0)),ce&&(mt==null||mt(ce))},B=function(ce,Oe){var Se=Mn(Oe,ce.pageX),ze=!1;nt&&(ze=Se===zt),E(),Kt(ze?0:Se),On(ze?Se:null)},N=function(ce){var Oe=ce.keyCode,Se=Ie==="rtl",ze=zt;Oe===v.Z.RIGHT&&ze<st&&!Se?(gt?ze+=.5:ze+=1,Kt(ze),ce.preventDefault()):Oe===v.Z.LEFT&&ze>0&&!Se||Oe===v.Z.RIGHT&&ze>0&&Se?(gt?ze-=.5:ze-=1,Kt(ze),ce.preventDefault()):Oe===v.Z.LEFT&&ze<st&&Se&&(gt?ze+=.5:ze+=1,Kt(ze),ce.preventDefault()),dt==null||dt(ce)};q.useEffect(function(){Ge&&!He&&Ot()},[]);var V=new Array(st).fill(0).map(function(ue,ce){return q.createElement(S,{ref:pt(ce),index:ce,count:st,disabled:He,prefixCls:"".concat(Me,"-star"),allowHalf:gt,value:Cn===null?zt:Cn,onClick:B,onHover:me,key:ue||ce,character:Ve,characterRender:Pe,focused:Gt})}),J=_()(Me,Ne,(ge={},(0,g.Z)(ge,"".concat(Me,"-disabled"),He),(0,g.Z)(ge,"".concat(Me,"-rtl"),Ie==="rtl"),ge));return q.createElement("ul",(0,X.Z)({className:J,onMouseLeave:E,tabIndex:He?-1:Re,onFocus:He?null:Dn,onBlur:He?null:hn,onKeyDown:He?null:N,ref:_t,role:"radiogroup"},(0,M.Z)(Tt,{aria:!0,data:!0,attr:!0})),V)}var I=q.forwardRef(D),U=I,F=Z(36355),G=Z(6848),Y=Z(17313),te=Z(83116),$=Z(37613);const oe=fe=>{const{componentCls:ye}=fe;return{[`${ye}-star`]:{position:"relative",display:"inline-block",color:"inherit",cursor:"pointer","&:not(:last-child)":{marginInlineEnd:fe.marginXS},"> div":{transition:`all ${fe.motionDurationMid}, outline 0s`,"&:hover":{transform:fe.starHoverScale},"&:focus":{outline:0},"&:focus-visible":{outline:`${fe.lineWidth}px dashed ${fe.starColor}`,transform:fe.starHoverScale}},"&-first, &-second":{color:fe.starBg,transition:`all ${fe.motionDurationMid}`,userSelect:"none",[fe.iconCls]:{verticalAlign:"middle"}},"&-first":{position:"absolute",top:0,insetInlineStart:0,width:"50%",height:"100%",overflow:"hidden",opacity:0},[`&-half ${ye}-star-first, &-half ${ye}-star-second`]:{opacity:1},[`&-half ${ye}-star-first, &-full ${ye}-star-second`]:{color:"inherit"}}}},ie=fe=>({[`&-rtl${fe.componentCls}`]:{direction:"rtl"}}),ne=fe=>{const{componentCls:ye}=fe;return{[ye]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,Y.Wf)(fe)),{display:"inline-block",margin:0,padding:0,color:fe.starColor,fontSize:fe.starSize,lineHeight:"unset",listStyle:"none",outline:"none",[`&-disabled${ye} ${ye}-star`]:{cursor:"default","> div:hover":{transform:"scale(1)"}}}),oe(fe)),{[`+ ${ye}-text`]:{display:"inline-block",marginInlineStart:fe.marginXS,fontSize:fe.fontSize}}),ie(fe))}};var le=(0,te.Z)("Rate",fe=>{const ye=(0,$.TS)(fe,{});return[ne(ye)]},fe=>({starColor:fe.yellow6,starSize:fe.controlHeightLG*.5,starHoverScale:"scale(1.1)",starBg:fe.colorFillContent})),ae=function(fe,ye){var ge={};for(var xe in fe)Object.prototype.hasOwnProperty.call(fe,xe)&&ye.indexOf(xe)<0&&(ge[xe]=fe[xe]);if(fe!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Me=0,xe=Object.getOwnPropertySymbols(fe);Me<xe.length;Me++)ye.indexOf(xe[Me])<0&&Object.prototype.propertyIsEnumerable.call(fe,xe[Me])&&(ge[xe[Me]]=fe[xe[Me]]);return ge},se=q.forwardRef((fe,ye)=>{const{prefixCls:ge,className:xe,rootClassName:Me,style:Ne,tooltips:We,character:tt=q.createElement(x,null)}=fe,Je=ae(fe,["prefixCls","className","rootClassName","style","tooltips","character"]),st=(He,be)=>{let{index:Ie}=be;return We?q.createElement(G.Z,{title:We[Ie]},He):He},{getPrefixCls:yt,direction:gt,rate:Ke}=q.useContext(F.E_),nt=yt("rate",ge),[Ze,Ve]=le(nt),Pe=Object.assign(Object.assign({},Ke==null?void 0:Ke.style),Ne);return Ze(q.createElement(U,Object.assign({ref:ye,character:tt,characterRender:st},Je,{className:_()(xe,Me,Ve,Ke==null?void 0:Ke.className),style:Pe,prefixCls:nt,direction:gt})))})},57809:function(Ae,Ce,Z){"use strict";var X=Z(92310),q=Z.n(X),H=Z(77861),b=Z(2738),z=Z(59301),P=Z(53487),T=Z(62892),x=Z(19080),O=Z(36355),_=Z(1684),g=Z(93891),m=Z(19716),L=Z(32441),d=Z(33234),v=Z(14154),M=Z(58582),w=Z(84443),S=Z(66339),A=function(D,I){var U={};for(var F in D)Object.prototype.hasOwnProperty.call(D,F)&&I.indexOf(F)<0&&(U[F]=D[F]);if(D!=null&&typeof Object.getOwnPropertySymbols=="function")for(var G=0,F=Object.getOwnPropertySymbols(D);G<F.length;G++)I.indexOf(F[G])<0&&Object.prototype.propertyIsEnumerable.call(D,F[G])&&(U[F[G]]=D[F[G]]);return U};const R="SECRET_COMBOBOX_MODE_DO_NOT_USE",u=(D,I)=>{var U,{prefixCls:F,bordered:G=!0,className:Y,rootClassName:te,getPopupContainer:$,popupClassName:oe,dropdownClassName:ie,listHeight:ne=256,placement:le,listItemHeight:ae=24,size:de,disabled:se,notFoundContent:fe,status:ye,builtinPlacements:ge,dropdownMatchSelectWidth:xe,popupMatchSelectWidth:Me,direction:Ne,style:We,allowClear:tt}=D,Je=A(D,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear"]);const{getPopupContainer:st,getPrefixCls:yt,renderEmpty:gt,direction:Ke,virtual:nt,popupMatchSelectWidth:Ze,popupOverflow:Ve,select:Pe}=z.useContext(O.E_),He=yt("select",F),be=yt(),Ie=Ne!=null?Ne:Ke,{compactSize:Te,compactItemClassnames:Re}=(0,d.ri)(He,Ie),[Ge,Le]=(0,v.Z)(He),Ue=z.useMemo(()=>{const{mode:ln}=Je;if(ln!=="combobox")return ln===R?"combobox":ln},[Je.mode]),Qe=Ue==="multiple"||Ue==="tags",et=(0,w.Z)(Je.suffixIcon,Je.showArrow),dt=(U=Me!=null?Me:xe)!==null&&U!==void 0?U:Ze,{status:mt,hasFeedback:Tt,isFormItemInput:At,feedbackIcon:Ye}=z.useContext(L.aM),ft=(0,x.F)(mt,ye);let pt;fe!==void 0?pt=fe:Ue==="combobox"?pt=null:pt=(gt==null?void 0:gt("Select"))||z.createElement(g.Z,{componentName:"Select"});const{suffixIcon:_t,itemIcon:Ot,removeIcon:Wt,clearIcon:jt}=(0,S.Z)(Object.assign(Object.assign({},Je),{multiple:Qe,hasFeedback:Tt,feedbackIcon:Ye,showSuffixIcon:et,prefixCls:He,showArrow:Je.showArrow,componentName:"Select"})),zt=tt===!0?{clearIcon:jt}:tt,$t=(0,b.Z)(Je,["suffixIcon","itemIcon"]),pn=q()(oe||ie,{[`${He}-dropdown-${Ie}`]:Ie==="rtl"},te,Le),on=(0,m.Z)(ln=>{var Gt;return(Gt=de!=null?de:Te)!==null&&Gt!==void 0?Gt:ln}),un=z.useContext(_.Z),On=se!=null?se:un,Mn=q()({[`${He}-lg`]:on==="large",[`${He}-sm`]:on==="small",[`${He}-rtl`]:Ie==="rtl",[`${He}-borderless`]:!G,[`${He}-in-form-item`]:At},(0,x.Z)(He,ft,Tt),Re,Pe==null?void 0:Pe.className,Y,te,Le),Kt=z.useMemo(()=>le!==void 0?le:Ie==="rtl"?"bottomRight":"bottomLeft",[le,Ie]),rn=(0,M.Z)(ge,Ve);return Ge(z.createElement(H.ZP,Object.assign({ref:I,virtual:nt,showSearch:Pe==null?void 0:Pe.showSearch},$t,{style:Object.assign(Object.assign({},Pe==null?void 0:Pe.style),We),dropdownMatchSelectWidth:dt,builtinPlacements:rn,transitionName:(0,T.m)(be,"slide-up",Je.transitionName),listHeight:ne,listItemHeight:ae,mode:Ue,prefixCls:He,placement:Kt,direction:Ie,suffixIcon:_t,menuItemSelectedIcon:Ot,removeIcon:Wt,allowClear:zt,notFoundContent:pt,className:Mn,getPopupContainer:$||st,dropdownClassName:pn,disabled:On})))},f=z.forwardRef(u),y=(0,P.Z)(f);f.SECRET_COMBOBOX_MODE_DO_NOT_USE=R,f.Option=H.Wx,f.OptGroup=H.Xo,f._InternalPanelDoNotUseOrYouWillBeFired=y,Ce.default=f},14154:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return f}});var X=Z(17313),q=Z(74207),H=Z(37613),b=Z(83116),z=Z(13826),P=Z(92899);const T=y=>{const{optionHeight:D,optionFontSize:I,optionLineHeight:U,optionPadding:F}=y;return{position:"relative",display:"block",minHeight:D,padding:F,color:y.colorText,fontWeight:"normal",fontSize:I,lineHeight:U,boxSizing:"border-box"}};var O=y=>{const{antCls:D,componentCls:I}=y,U=`${I}-item`,F=`&${D}-slide-up-enter${D}-slide-up-enter-active`,G=`&${D}-slide-up-appear${D}-slide-up-appear-active`,Y=`&${D}-slide-up-leave${D}-slide-up-leave-active`,te=`${I}-dropdown-placement-`;return[{[`${I}-dropdown`]:Object.assign(Object.assign({},(0,X.Wf)(y)),{position:"absolute",top:-9999,zIndex:y.zIndexPopup,boxSizing:"border-box",padding:y.paddingXXS,overflow:"hidden",fontSize:y.fontSize,fontVariant:"initial",backgroundColor:y.colorBgElevated,borderRadius:y.borderRadiusLG,outline:"none",boxShadow:y.boxShadowSecondary,[`
${F}${te}bottomLeft,
${G}${te}bottomLeft
`]:{animationName:z.fJ},[`
${F}${te}topLeft,
${G}${te}topLeft,
${F}${te}topRight,
${G}${te}topRight
`]:{animationName:z.Qt},[`${Y}${te}bottomLeft`]:{animationName:z.Uw},[`
${Y}${te}topLeft,
${Y}${te}topRight
`]:{animationName:z.ly},"&-hidden":{display:"none"},[`${U}`]:Object.assign(Object.assign({},T(y)),{cursor:"pointer",transition:`background ${y.motionDurationSlow} ease`,borderRadius:y.borderRadiusSM,"&-group":{color:y.colorTextDescription,fontSize:y.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},X.vS),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${U}-option-disabled)`]:{backgroundColor:y.optionActiveBg},[`&-selected:not(${U}-option-disabled)`]:{color:y.optionSelectedColor,fontWeight:y.optionSelectedFontWeight,backgroundColor:y.optionSelectedBg,[`${U}-option-state`]:{color:y.colorPrimary}},"&-disabled":{[`&${U}-option-selected`]:{backgroundColor:y.colorBgContainerDisabled},color:y.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:y.controlPaddingHorizontal*2}}}),"&-rtl":{direction:"rtl"}})},(0,z.oN)(y,"slide-up"),(0,z.oN)(y,"slide-down"),(0,P.Fm)(y,"move-up"),(0,P.Fm)(y,"move-down")]};const _=2,g=y=>{let{controlHeightSM:D,controlHeight:I,lineWidth:U}=y;const F=(I-D)/2-U,G=Math.ceil(F/2);return[F,G]};function m(y,D){const{componentCls:I,iconCls:U}=y,F=`${I}-selection-overflow`,G=y.multipleSelectItemHeight,[Y]=g(y),te=D?`${I}-${D}`:"";return{[`${I}-multiple${te}`]:{fontSize:y.fontSize,[F]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"}},[`${I}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",padding:`${Y-_}px ${_*2}px`,borderRadius:y.borderRadius,[`${I}-show-search&`]:{cursor:"text"},[`${I}-disabled&`]:{background:y.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${_}px 0`,lineHeight:`${G}px`,visibility:"hidden",content:'"\\a0"'}},[`
&${I}-show-arrow ${I}-selector,
&${I}-allow-clear ${I}-selector
`]:{paddingInlineEnd:y.fontSizeIcon+y.controlPaddingHorizontal},[`${I}-selection-item`]:{position:"relative",display:"flex",flex:"none",boxSizing:"border-box",maxWidth:"100%",height:G,marginTop:_,marginBottom:_,lineHeight:`${G-y.lineWidth*2}px`,background:y.multipleItemBg,border:`${y.lineWidth}px ${y.lineType} ${y.multipleItemBorderColor}`,borderRadius:y.borderRadiusSM,cursor:"default",transition:`font-size ${y.motionDurationSlow}, line-height ${y.motionDurationSlow}, height ${y.motionDurationSlow}`,userSelect:"none",marginInlineEnd:_*2,paddingInlineStart:y.paddingXS,paddingInlineEnd:y.paddingXS/2,[`${I}-disabled&`]:{color:y.multipleItemColorDisabled,borderColor:y.multipleItemBorderColorDisabled,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:y.paddingXS/2,overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},(0,X.Ro)()),{display:"inline-flex",alignItems:"center",color:y.colorIcon,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${U}`]:{verticalAlign:"-0.2em"},"&:hover":{color:y.colorIconHover}})},[`${F}-item + ${F}-item`]:{[`${I}-selection-search`]:{marginInlineStart:0}},[`${I}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:y.inputPaddingHorizontalBase-Y,"\n &-input,\n &-mirror\n ":{height:G,fontFamily:y.fontFamily,lineHeight:`${G}px`,transition:`all ${y.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${I}-selection-placeholder `]:{position:"absolute",top:"50%",insetInlineStart:y.inputPaddingHorizontalBase,insetInlineEnd:y.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${y.motionDurationSlow}`}}}}var d=y=>{const{componentCls:D}=y,I=(0,H.TS)(y,{controlHeight:y.controlHeightSM,multipleSelectItemHeight:y.controlHeightXS,borderRadius:y.borderRadiusSM,borderRadiusSM:y.borderRadiusXS}),U=(0,H.TS)(y,{fontSize:y.fontSizeLG,controlHeight:y.controlHeightLG,multipleSelectItemHeight:y.multipleItemHeightLG,borderRadius:y.borderRadiusLG,borderRadiusSM:y.borderRadius}),[,F]=g(y);return[m(y),m(I,"sm"),{[`${D}-multiple${D}-sm`]:{[`${D}-selection-placeholder`]:{insetInline:y.controlPaddingHorizontalSM-y.lineWidth},[`${D}-selection-search`]:{marginInlineStart:F}}},m(U,"lg")]};function v(y,D){const{componentCls:I,inputPaddingHorizontalBase:U,borderRadius:F}=y,G=y.controlHeight-y.lineWidth*2,Y=Math.ceil(y.fontSize*1.25),te=D?`${I}-${D}`:"";return{[`${I}-single${te}`]:{fontSize:y.fontSize,[`${I}-selector`]:Object.assign(Object.assign({},(0,X.Wf)(y)),{display:"flex",borderRadius:F,[`${I}-selection-search`]:{position:"absolute",top:0,insetInlineStart:U,insetInlineEnd:U,bottom:0,"&-input":{width:"100%"}},[`
${I}-selection-item,
${I}-selection-placeholder
`]:{padding:0,lineHeight:`${G}px`,transition:`all ${y.motionDurationSlow}, visibility 0s`,"@supports (-moz-appearance: meterbar)":{lineHeight:`${G}px`}},[`${I}-selection-item`]:{position:"relative",userSelect:"none"},[`${I}-selection-placeholder`]:{transition:"none",pointerEvents:"none"},[["&:after",`${I}-selection-item:after`,`${I}-selection-placeholder:after`].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),[`
&${I}-show-arrow ${I}-selection-item,
&${I}-show-arrow ${I}-selection-placeholder
`]:{paddingInlineEnd:Y},[`&${I}-open ${I}-selection-item`]:{color:y.colorTextPlaceholder},[`&:not(${I}-customize-input)`]:{[`${I}-selector`]:{width:"100%",height:y.controlHeight,padding:`0 ${U}px`,[`${I}-selection-search-input`]:{height:G},"&:after":{lineHeight:`${G}px`}}},[`&${I}-customize-input`]:{[`${I}-selector`]:{"&:after":{display:"none"},[`${I}-selection-search`]:{position:"static",width:"100%"},[`${I}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${U}px`,"&:after":{display:"none"}}}}}}}function M(y){const{componentCls:D}=y,I=y.controlPaddingHorizontalSM-y.lineWidth;return[v(y),v((0,H.TS)(y,{controlHeight:y.controlHeightSM,borderRadius:y.borderRadiusSM}),"sm"),{[`${D}-single${D}-sm`]:{[`&:not(${D}-customize-input)`]:{[`${D}-selection-search`]:{insetInlineStart:I,insetInlineEnd:I},[`${D}-selector`]:{padding:`0 ${I}px`},[`&${D}-show-arrow ${D}-selection-search`]:{insetInlineEnd:I+y.fontSize*1.5},[`
&${D}-show-arrow ${D}-selection-item,
&${D}-show-arrow ${D}-selection-placeholder
`]:{paddingInlineEnd:y.fontSize*1.5}}}},v((0,H.TS)(y,{controlHeight:y.singleItemHeightLG,fontSize:y.fontSizeLG,borderRadius:y.borderRadiusLG}),"lg")]}const w=y=>{const{componentCls:D,selectorBg:I}=y;return{position:"relative",backgroundColor:I,border:`${y.lineWidth}px ${y.lineType} ${y.colorBorder}`,transition:`all ${y.motionDurationMid} ${y.motionEaseInOut}`,input:{cursor:"pointer"},[`${D}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit"}},[`${D}-disabled&`]:{color:y.colorTextDisabled,background:y.colorBgContainerDisabled,cursor:"not-allowed",[`${D}-multiple&`]:{background:y.multipleSelectorBgDisabled},input:{cursor:"not-allowed"}}}},S=function(y,D){let I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const{componentCls:U,borderHoverColor:F,outlineColor:G,antCls:Y}=D,te=I?{[`${U}-selector`]:{borderColor:F}}:{};return{[y]:{[`&:not(${U}-disabled):not(${U}-customize-input):not(${Y}-pagination-size-changer)`]:Object.assign(Object.assign({},te),{[`${U}-focused& ${U}-selector`]:{borderColor:F,boxShadow:`0 0 0 ${D.controlOutlineWidth}px ${G}`,outline:0},[`&:hover ${U}-selector`]:{borderColor:F}})}}},A=y=>{const{componentCls:D}=y;return{[`${D}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},R=y=>{const{componentCls:D,inputPaddingHorizontalBase:I,iconCls:U}=y;return{[D]:Object.assign(Object.assign({},(0,X.Wf)(y)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${D}-customize-input) ${D}-selector`]:Object.assign(Object.assign({},w(y)),A(y)),[`${D}-selection-item`]:Object.assign({flex:1,fontWeight:"normal"},X.vS),[`${D}-selection-placeholder`]:Object.assign(Object.assign({},X.vS),{flex:1,color:y.colorTextPlaceholder,pointerEvents:"none"}),[`${D}-arrow`]:Object.assign(Object.assign({},(0,X.Ro)()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:I,height:y.fontSizeIcon,marginTop:-y.fontSizeIcon/2,color:y.colorTextQuaternary,fontSize:y.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",[U]:{verticalAlign:"top",transition:`transform ${y.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${D}-suffix)`]:{pointerEvents:"auto"}},[`${D}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${D}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:I,zIndex:1,display:"inline-block",width:y.fontSizeIcon,height:y.fontSizeIcon,marginTop:-y.fontSizeIcon/2,color:y.colorTextQuaternary,fontSize:y.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",background:y.clearBg,cursor:"pointer",opacity:0,transition:`color ${y.motionDurationMid} ease, opacity ${y.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:y.colorTextTertiary}},"&:hover":{[`${D}-clear`]:{opacity:1}}}),[`${D}-has-feedback`]:{[`${D}-clear`]:{insetInlineEnd:I+y.fontSize+y.paddingXS}}}},u=y=>{const{componentCls:D}=y;return[{[D]:{[`&-borderless ${D}-selector`]:{backgroundColor:"transparent !important",borderColor:"transparent !important",boxShadow:"none !important"},[`&${D}-in-form-item`]:{width:"100%"}}},R(y),M(y),d(y),O(y),{[`${D}-rtl`]:{direction:"rtl"}},S(D,(0,H.TS)(y,{borderHoverColor:y.colorPrimaryHover,outlineColor:y.controlOutline})),S(`${D}-status-error`,(0,H.TS)(y,{borderHoverColor:y.colorErrorHover,outlineColor:y.colorErrorOutline}),!0),S(`${D}-status-warning`,(0,H.TS)(y,{borderHoverColor:y.colorWarningHover,outlineColor:y.colorWarningOutline}),!0),(0,q.c)(y,{borderElCls:`${D}-selector`,focusElCls:`${D}-focused`})]};var f=(0,b.Z)("Select",(y,D)=>{let{rootPrefixCls:I}=D;const U=(0,H.TS)(y,{rootPrefixCls:I,inputPaddingHorizontalBase:y.paddingSM-1,multipleSelectItemHeight:y.multipleItemHeight});return[u(U)]},y=>{const{fontSize:D,lineHeight:I,controlHeight:U,controlPaddingHorizontal:F,zIndexPopupBase:G,colorText:Y,fontWeightStrong:te,controlItemBgActive:$,controlItemBgHover:oe,colorBgContainer:ie,colorFillSecondary:ne,controlHeightLG:le,controlHeightSM:ae,colorBgContainerDisabled:de,colorTextDisabled:se}=y;return{zIndexPopup:G+50,optionSelectedColor:Y,optionSelectedFontWeight:te,optionSelectedBg:$,optionActiveBg:oe,optionPadding:`${(U-D*I)/2}px ${F}px`,optionFontSize:D,optionLineHeight:I,optionHeight:U,selectorBg:ie,clearBg:ie,singleItemHeightLG:le,multipleItemBg:ne,multipleItemBorderColor:"transparent",multipleItemHeight:ae,multipleItemHeightLG:U,multipleSelectorBgDisabled:de,multipleItemColorDisabled:se,multipleItemBorderColorDisabled:"transparent"}})},58582:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return q}});const X=H=>{const z={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:H==="scroll"?"scroll":"visible",_experimental:{dynamicInset:!0}};return{bottomLeft:Object.assign(Object.assign({},z),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},z),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},z),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},z),{points:["br","tr"],offset:[0,-4]})}};function q(H,b){return H||X(b)}},84443:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return X}});function X(q,H){return H!==void 0?H:q!==null}},66339:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return x}});var X=Z(40001),q=Z(19248),H=Z(99267),b=Z(84105),z=Z(58617),P=Z(47472),T=Z(59301);function x(O){let{suffixIcon:_,clearIcon:g,menuItemSelectedIcon:m,removeIcon:L,loading:d,multiple:v,hasFeedback:M,prefixCls:w,showSuffixIcon:S,feedbackIcon:A,showArrow:R,componentName:u}=O;const f=g!=null?g:T.createElement(q.Z,null),y=F=>_===null&&!M&&!R?null:T.createElement(T.Fragment,null,S!==!1&&F,M&&A);let D=null;if(_!==void 0)D=y(_);else if(d)D=y(T.createElement(z.Z,{spin:!0}));else{const F=`${w}-suffix`;D=G=>{let{open:Y,showSearch:te}=G;return y(Y&&te?T.createElement(P.Z,{className:F}):T.createElement(b.Z,{className:F}))}}let I=null;m!==void 0?I=m:v?I=T.createElement(X.Z,null):I=null;let U=null;return L!==void 0?U=L:U=T.createElement(H.Z,null),{clearIcon:f,suffixIcon:D,itemIcon:I,removeIcon:U}}},61621:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return Ve}});var X=Z(92310),q=Z.n(X),H=Z(59301),b=Z(36355),z=Z(2738),T=Pe=>{const{prefixCls:He,className:be,style:Ie,size:Te,shape:Re}=Pe,Ge=q()({[`${He}-lg`]:Te==="large",[`${He}-sm`]:Te==="small"}),Le=q()({[`${He}-circle`]:Re==="circle",[`${He}-square`]:Re==="square",[`${He}-round`]:Re==="round"}),Ue=H.useMemo(()=>typeof Te=="number"?{width:Te,height:Te,lineHeight:`${Te}px`}:{},[Te]);return H.createElement("span",{className:q()(He,Ge,Le,be),style:Object.assign(Object.assign({},Ue),Ie)})},x=Z(93083),O=Z(83116),_=Z(37613);const g=new x.Keyframes("ant-skeleton-loading",{"0%":{backgroundPosition:"100% 50%"},"100%":{backgroundPosition:"0 50%"}}),m=Pe=>({height:Pe,lineHeight:`${Pe}px`}),L=Pe=>Object.assign({width:Pe},m(Pe)),d=Pe=>({background:Pe.skeletonLoadingBackground,backgroundSize:"400% 100%",animationName:g,animationDuration:Pe.skeletonLoadingMotionDuration,animationTimingFunction:"ease",animationIterationCount:"infinite"}),v=Pe=>Object.assign({width:Pe*5,minWidth:Pe*5},m(Pe)),M=Pe=>{const{skeletonAvatarCls:He,gradientFromColor:be,controlHeight:Ie,controlHeightLG:Te,controlHeightSM:Re}=Pe;return{[`${He}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:be},L(Ie)),[`${He}${He}-circle`]:{borderRadius:"50%"},[`${He}${He}-lg`]:Object.assign({},L(Te)),[`${He}${He}-sm`]:Object.assign({},L(Re))}},w=Pe=>{const{controlHeight:He,borderRadiusSM:be,skeletonInputCls:Ie,controlHeightLG:Te,controlHeightSM:Re,gradientFromColor:Ge}=Pe;return{[`${Ie}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:Ge,borderRadius:be},v(He)),[`${Ie}-lg`]:Object.assign({},v(Te)),[`${Ie}-sm`]:Object.assign({},v(Re))}},S=Pe=>Object.assign({width:Pe},m(Pe)),A=Pe=>{const{skeletonImageCls:He,imageSizeBase:be,gradientFromColor:Ie,borderRadiusSM:Te}=Pe;return{[`${He}`]:Object.assign(Object.assign({display:"flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",background:Ie,borderRadius:Te},S(be*2)),{[`${He}-path`]:{fill:"#bfbfbf"},[`${He}-svg`]:Object.assign(Object.assign({},S(be)),{maxWidth:be*4,maxHeight:be*4}),[`${He}-svg${He}-svg-circle`]:{borderRadius:"50%"}}),[`${He}${He}-circle`]:{borderRadius:"50%"}}},R=(Pe,He,be)=>{const{skeletonButtonCls:Ie}=Pe;return{[`${be}${Ie}-circle`]:{width:He,minWidth:He,borderRadius:"50%"},[`${be}${Ie}-round`]:{borderRadius:He}}},u=Pe=>Object.assign({width:Pe*2,minWidth:Pe*2},m(Pe)),f=Pe=>{const{borderRadiusSM:He,skeletonButtonCls:be,controlHeight:Ie,controlHeightLG:Te,controlHeightSM:Re,gradientFromColor:Ge}=Pe;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({[`${be}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:Ge,borderRadius:He,width:Ie*2,minWidth:Ie*2},u(Ie))},R(Pe,Ie,be)),{[`${be}-lg`]:Object.assign({},u(Te))}),R(Pe,Te,`${be}-lg`)),{[`${be}-sm`]:Object.assign({},u(Re))}),R(Pe,Re,`${be}-sm`))},y=Pe=>{const{componentCls:He,skeletonAvatarCls:be,skeletonTitleCls:Ie,skeletonParagraphCls:Te,skeletonButtonCls:Re,skeletonInputCls:Ge,skeletonImageCls:Le,controlHeight:Ue,controlHeightLG:Qe,controlHeightSM:et,gradientFromColor:dt,padding:mt,marginSM:Tt,borderRadius:At,titleHeight:Ye,blockRadius:ft,paragraphLiHeight:pt,controlHeightXS:_t,paragraphMarginTop:Ot}=Pe;return{[`${He}`]:{display:"table",width:"100%",[`${He}-header`]:{display:"table-cell",paddingInlineEnd:mt,verticalAlign:"top",[`${be}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:dt},L(Ue)),[`${be}-circle`]:{borderRadius:"50%"},[`${be}-lg`]:Object.assign({},L(Qe)),[`${be}-sm`]:Object.assign({},L(et))},[`${He}-content`]:{display:"table-cell",width:"100%",verticalAlign:"top",[`${Ie}`]:{width:"100%",height:Ye,background:dt,borderRadius:ft,[`+ ${Te}`]:{marginBlockStart:et}},[`${Te}`]:{padding:0,"> li":{width:"100%",height:pt,listStyle:"none",background:dt,borderRadius:ft,"+ li":{marginBlockStart:_t}}},[`${Te}> li:last-child:not(:first-child):not(:nth-child(2))`]:{width:"61%"}},[`&-round ${He}-content`]:{[`${Ie}, ${Te} > li`]:{borderRadius:At}}},[`${He}-with-avatar ${He}-content`]:{[`${Ie}`]:{marginBlockStart:Tt,[`+ ${Te}`]:{marginBlockStart:Ot}}},[`${He}${He}-element`]:Object.assign(Object.assign(Object.assign(Object.assign({display:"inline-block",width:"auto"},f(Pe)),M(Pe)),w(Pe)),A(Pe)),[`${He}${He}-block`]:{width:"100%",[`${Re}`]:{width:"100%"},[`${Ge}`]:{width:"100%"}},[`${He}${He}-active`]:{[`
${Ie},
${Te} > li,
${be},
${Re},
${Ge},
${Le}
`]:Object.assign({},d(Pe))}}};var D=(0,O.Z)("Skeleton",Pe=>{const{componentCls:He}=Pe,be=(0,_.TS)(Pe,{skeletonAvatarCls:`${He}-avatar`,skeletonTitleCls:`${He}-title`,skeletonParagraphCls:`${He}-paragraph`,skeletonButtonCls:`${He}-button`,skeletonInputCls:`${He}-input`,skeletonImageCls:`${He}-image`,imageSizeBase:Pe.controlHeight*1.5,borderRadius:100,skeletonLoadingBackground:`linear-gradient(90deg, ${Pe.gradientFromColor} 25%, ${Pe.gradientToColor} 37%, ${Pe.gradientFromColor} 63%)`,skeletonLoadingMotionDuration:"1.4s"});return[y(be)]},Pe=>{const{colorFillContent:He,colorFill:be}=Pe,Ie=He,Te=be;return{color:Ie,colorGradientEnd:Te,gradientFromColor:Ie,gradientToColor:Te,titleHeight:Pe.controlHeight/2,blockRadius:Pe.borderRadiusSM,paragraphMarginTop:Pe.marginLG+Pe.marginXXS,paragraphLiHeight:Pe.controlHeight/2}},{deprecatedTokens:[["color","gradientFromColor"],["colorGradientEnd","gradientToColor"]]}),U=Pe=>{const{prefixCls:He,className:be,rootClassName:Ie,active:Te,shape:Re="circle",size:Ge="default"}=Pe,{getPrefixCls:Le}=H.useContext(b.E_),Ue=Le("skeleton",He),[Qe,et]=D(Ue),dt=(0,z.Z)(Pe,["prefixCls","className"]),mt=q()(Ue,`${Ue}-element`,{[`${Ue}-active`]:Te},be,Ie,et);return Qe(H.createElement("div",{className:mt},H.createElement(T,Object.assign({prefixCls:`${Ue}-avatar`,shape:Re,size:Ge},dt))))},G=Pe=>{const{prefixCls:He,className:be,rootClassName:Ie,active:Te,block:Re=!1,size:Ge="default"}=Pe,{getPrefixCls:Le}=H.useContext(b.E_),Ue=Le("skeleton",He),[Qe,et]=D(Ue),dt=(0,z.Z)(Pe,["prefixCls"]),mt=q()(Ue,`${Ue}-element`,{[`${Ue}-active`]:Te,[`${Ue}-block`]:Re},be,Ie,et);return Qe(H.createElement("div",{className:mt},H.createElement(T,Object.assign({prefixCls:`${Ue}-button`,size:Ge},dt))))};const Y="M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z";var $=Pe=>{const{prefixCls:He,className:be,rootClassName:Ie,style:Te,active:Re}=Pe,{getPrefixCls:Ge}=H.useContext(b.E_),Le=Ge("skeleton",He),[Ue,Qe]=D(Le),et=q()(Le,`${Le}-element`,{[`${Le}-active`]:Re},be,Ie,Qe);return Ue(H.createElement("div",{className:et},H.createElement("div",{className:q()(`${Le}-image`,be),style:Te},H.createElement("svg",{viewBox:"0 0 1098 1024",xmlns:"http://www.w3.org/2000/svg",className:`${Le}-image-svg`},H.createElement("path",{d:Y,className:`${Le}-image-path`})))))},ie=Pe=>{const{prefixCls:He,className:be,rootClassName:Ie,active:Te,block:Re,size:Ge="default"}=Pe,{getPrefixCls:Le}=H.useContext(b.E_),Ue=Le("skeleton",He),[Qe,et]=D(Ue),dt=(0,z.Z)(Pe,["prefixCls"]),mt=q()(Ue,`${Ue}-element`,{[`${Ue}-active`]:Te,[`${Ue}-block`]:Re},be,Ie,et);return Qe(H.createElement("div",{className:mt},H.createElement(T,Object.assign({prefixCls:`${Ue}-input`,size:Ge},dt))))},ne=Z(72308),le={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},ae=le,de=Z(7657),se=function(He,be){return H.createElement(de.Z,(0,ne.Z)({},He,{ref:be,icon:ae}))},fe=H.forwardRef(se),ye=fe,xe=Pe=>{const{prefixCls:He,className:be,rootClassName:Ie,style:Te,active:Re,children:Ge}=Pe,{getPrefixCls:Le}=H.useContext(b.E_),Ue=Le("skeleton",He),[Qe,et]=D(Ue),dt=q()(Ue,`${Ue}-element`,{[`${Ue}-active`]:Re},et,be,Ie),mt=Ge!=null?Ge:H.createElement(ye,null);return Qe(H.createElement("div",{className:dt},H.createElement("div",{className:q()(`${Ue}-image`,be),style:Te},mt)))},Me=Z(80702),We=Pe=>{const He=Le=>{const{width:Ue,rows:Qe=2}=Pe;if(Array.isArray(Ue))return Ue[Le];if(Qe-1===Le)return Ue},{prefixCls:be,className:Ie,style:Te,rows:Re}=Pe,Ge=(0,Me.Z)(Array(Re)).map((Le,Ue)=>H.createElement("li",{key:Ue,style:{width:He(Ue)}}));return H.createElement("ul",{className:q()(be,Ie),style:Te},Ge)},Je=Pe=>{let{prefixCls:He,className:be,width:Ie,style:Te}=Pe;return H.createElement("h3",{className:q()(He,be),style:Object.assign({width:Ie},Te)})};function st(Pe){return Pe&&typeof Pe=="object"?Pe:{}}function yt(Pe,He){return Pe&&!He?{size:"large",shape:"square"}:{size:"large",shape:"circle"}}function gt(Pe,He){return!Pe&&He?{width:"38%"}:Pe&&He?{width:"50%"}:{}}function Ke(Pe,He){const be={};return(!Pe||!He)&&(be.width="61%"),!Pe&&He?be.rows=3:be.rows=2,be}const nt=Pe=>{const{prefixCls:He,loading:be,className:Ie,rootClassName:Te,style:Re,children:Ge,avatar:Le=!1,title:Ue=!0,paragraph:Qe=!0,active:et,round:dt}=Pe,{getPrefixCls:mt,direction:Tt,skeleton:At}=H.useContext(b.E_),Ye=mt("skeleton",He),[ft,pt]=D(Ye);if(be||!("loading"in Pe)){const _t=!!Le,Ot=!!Ue,Wt=!!Qe;let jt;if(_t){const pn=Object.assign(Object.assign({prefixCls:`${Ye}-avatar`},yt(Ot,Wt)),st(Le));jt=H.createElement("div",{className:`${Ye}-header`},H.createElement(T,Object.assign({},pn)))}let zt;if(Ot||Wt){let pn;if(Ot){const un=Object.assign(Object.assign({prefixCls:`${Ye}-title`},gt(_t,Wt)),st(Ue));pn=H.createElement(Je,Object.assign({},un))}let on;if(Wt){const un=Object.assign(Object.assign({prefixCls:`${Ye}-paragraph`},Ke(_t,Ot)),st(Qe));on=H.createElement(We,Object.assign({},un))}zt=H.createElement("div",{className:`${Ye}-content`},pn,on)}const $t=q()(Ye,{[`${Ye}-with-avatar`]:_t,[`${Ye}-active`]:et,[`${Ye}-rtl`]:Tt==="rtl",[`${Ye}-round`]:dt},At==null?void 0:At.className,Ie,Te,pt);return ft(H.createElement("div",{className:$t,style:Object.assign(Object.assign({},At==null?void 0:At.style),Re)},jt,zt))}return typeof Ge!="undefined"?Ge:null};nt.Button=G,nt.Avatar=U,nt.Input=ie,nt.Image=$,nt.Node=xe;var Ze=nt,Ve=Ze},81327:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return w}});var X=Z(59301),q=Z(92310),H=Z.n(q),b=Z(11592),z=Z(36355),P=Z(33234);const T=X.createContext({latestIndex:0}),x=T.Provider;var _=S=>{let{className:A,index:R,children:u,split:f,style:y}=S;const{latestIndex:D}=X.useContext(T);return u==null?null:X.createElement(X.Fragment,null,X.createElement("div",{className:A,style:y},u),R<D&&f&&X.createElement("span",{className:`${A}-split`},f))},g=Z(2856);function m(S){return["small","middle","large"].includes(S)}function L(S){return S?typeof S=="number"&&!Number.isNaN(S):!1}var d=function(S,A){var R={};for(var u in S)Object.prototype.hasOwnProperty.call(S,u)&&A.indexOf(u)<0&&(R[u]=S[u]);if(S!=null&&typeof Object.getOwnPropertySymbols=="function")for(var f=0,u=Object.getOwnPropertySymbols(S);f<u.length;f++)A.indexOf(u[f])<0&&Object.prototype.propertyIsEnumerable.call(S,u[f])&&(R[u[f]]=S[u[f]]);return R};const M=X.forwardRef((S,A)=>{var R,u;const{getPrefixCls:f,space:y,direction:D}=X.useContext(z.E_),{size:I=(y==null?void 0:y.size)||"small",align:U,className:F,rootClassName:G,children:Y,direction:te="horizontal",prefixCls:$,split:oe,style:ie,wrap:ne=!1,classNames:le,styles:ae}=S,de=d(S,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[se,fe]=Array.isArray(I)?I:[I,I],ye=m(fe),ge=m(se),xe=L(fe),Me=L(se),Ne=(0,b.Z)(Y,{keepEmpty:!0}),We=U===void 0&&te==="horizontal"?"center":U,tt=f("space",$),[Je,st]=(0,g.Z)(tt),yt=H()(tt,y==null?void 0:y.className,st,`${tt}-${te}`,{[`${tt}-rtl`]:D==="rtl",[`${tt}-align-${We}`]:We,[`${tt}-gap-row-${fe}`]:ye,[`${tt}-gap-col-${se}`]:ge},F,G),gt=H()(`${tt}-item`,(R=le==null?void 0:le.item)!==null&&R!==void 0?R:(u=y==null?void 0:y.classNames)===null||u===void 0?void 0:u.item);let Ke=0;const nt=Ne.map((Pe,He)=>{var be,Ie;Pe!=null&&(Ke=He);const Te=Pe&&Pe.key||`${gt}-${He}`;return X.createElement(_,{className:gt,key:Te,index:He,split:oe,style:(be=ae==null?void 0:ae.item)!==null&&be!==void 0?be:(Ie=y==null?void 0:y.styles)===null||Ie===void 0?void 0:Ie.item},Pe)}),Ze=X.useMemo(()=>({latestIndex:Ke}),[Ke]);if(Ne.length===0)return null;const Ve={};return ne&&(Ve.flexWrap="wrap"),!ge&&Me&&(Ve.columnGap=se),!ye&&xe&&(Ve.rowGap=fe),Je(X.createElement("div",Object.assign({ref:A,className:yt,style:Object.assign(Object.assign(Object.assign({},Ve),y==null?void 0:y.style),ie)},de),X.createElement(x,{value:Ze},nt)))});M.Compact=P.ZP;var w=M},31797:function(Ae,Ce,Z){"use strict";Z.d(Ce,{default:function(){return D}});var X=Z(59301),q=Z(56762),H=Z(92343),b=Z(92310),z=Z.n(b),P=Z(36355),T=Z(61621),O=I=>{const{value:U,formatter:F,precision:G,decimalSeparator:Y,groupSeparator:te="",prefixCls:$}=I;let oe;if(typeof F=="function")oe=F(U);else{const ie=String(U),ne=ie.match(/^(-?)(\d*)(\.(\d+))?$/);if(!ne||ie==="-")oe=ie;else{const le=ne[1];let ae=ne[2]||"0",de=ne[4]||"";ae=ae.replace(/\B(?=(\d{3})+(?!\d))/g,te),typeof G=="number"&&(de=de.padEnd(G,"0").slice(0,G>0?G:0)),de&&(de=`${Y}${de}`),oe=[X.createElement("span",{key:"int",className:`${$}-content-value-int`},le,ae),de&&X.createElement("span",{key:"decimal",className:`${$}-content-value-decimal`},de)]}}return X.createElement("span",{className:`${$}-content-value`},oe)},_=Z(17313),g=Z(83116),m=Z(37613);const L=I=>{const{componentCls:U,marginXXS:F,padding:G,colorTextDescription:Y,titleFontSize:te,colorTextHeading:$,contentFontSize:oe,fontFamily:ie}=I;return{[`${U}`]:Object.assign(Object.assign({},(0,_.Wf)(I)),{[`${U}-title`]:{marginBottom:F,color:Y,fontSize:te},[`${U}-skeleton`]:{paddingTop:G},[`${U}-content`]:{color:$,fontSize:oe,fontFamily:ie,[`${U}-content-value`]:{display:"inline-block",direction:"ltr"},[`${U}-content-prefix, ${U}-content-suffix`]:{display:"inline-block"},[`${U}-content-prefix`]:{marginInlineEnd:F},[`${U}-content-suffix`]:{marginInlineStart:F}}})}};var d=(0,g.Z)("Statistic",I=>{const U=(0,m.TS)(I,{});return[L(U)]},I=>{const{fontSizeHeading3:U,fontSize:F}=I;return{titleFontSize:F,contentFontSize:U}}),M=I=>{const{prefixCls:U,className:F,rootClassName:G,style:Y,valueStyle:te,value:$=0,title:oe,valueRender:ie,prefix:ne,suffix:le,loading:ae=!1,onMouseEnter:de,onMouseLeave:se,decimalSeparator:fe=".",groupSeparator:ye=","}=I,{getPrefixCls:ge,direction:xe,statistic:Me}=X.useContext(P.E_),Ne=ge("statistic",U),[We,tt]=d(Ne),Je=X.createElement(O,Object.assign({decimalSeparator:fe,groupSeparator:ye,prefixCls:Ne},I,{value:$})),st=z()(Ne,{[`${Ne}-rtl`]:xe==="rtl"},Me==null?void 0:Me.className,F,G,tt);return We(X.createElement("div",{className:st,style:Object.assign(Object.assign({},Me==null?void 0:Me.style),Y),onMouseEnter:de,onMouseLeave:se},oe&&X.createElement("div",{className:`${Ne}-title`},oe),X.createElement(T.Z,{paragraph:!1,loading:ae,className:`${Ne}-skeleton`},X.createElement("div",{style:te,className:`${Ne}-content`},ne&&X.createElement("span",{className:`${Ne}-content-prefix`},ne),ie?ie(Je):Je,le&&X.createElement("span",{className:`${Ne}-content-suffix`},le)))))};const w=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]];function S(I,U){let F=I;const G=/\[[^\]]*]/g,Y=(U.match(G)||[]).map(ie=>ie.slice(1,-1)),te=U.replace(G,"[]"),$=w.reduce((ie,ne)=>{let[le,ae]=ne;if(ie.includes(le)){const de=Math.floor(F/ae);return F-=de*ae,ie.replace(new RegExp(`${le}+`,"g"),se=>{const fe=se.length;return de.toString().padStart(fe,"0")})}return ie},te);let oe=0;return $.replace(G,()=>{const ie=Y[oe];return oe+=1,ie})}function A(I,U){const{format:F=""}=U,G=new Date(I).getTime(),Y=Date.now(),te=Math.max(G-Y,0);return S(te,F)}const R=1e3/30;function u(I){return new Date(I).getTime()}const f=I=>{const{value:U,format:F="HH:mm:ss",onChange:G,onFinish:Y}=I,te=(0,q.Z)(),$=X.useRef(null),oe=()=>{Y==null||Y(),$.current&&(clearInterval($.current),$.current=null)},ie=()=>{const ae=u(U);ae>=Date.now()&&($.current=setInterval(()=>{te(),G==null||G(ae-Date.now()),ae<Date.now()&&oe()},R))};X.useEffect(()=>(ie(),()=>{$.current&&(clearInterval($.current),$.current=null)}),[U]);const ne=(ae,de)=>A(ae,Object.assign(Object.assign({},de),{format:F})),le=ae=>(0,H.Tm)(ae,{title:void 0});return X.createElement(M,Object.assign({},I,{valueRender:le,formatter:ne}))};var y=X.memo(f);M.Countdown=y;var D=M},45411:function(Ae){"use strict";Ae.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},75196:function(Ae,Ce,Z){var X=Z(45411),q=Z(75029),H=Object.hasOwnProperty,b=Object.create(null);for(var z in X)H.call(X,z)&&(b[X[z]]=z);var P=Ae.exports={to:{},get:{}};P.get=function(O){var _=O.substring(0,3).toLowerCase(),g,m;switch(_){case"hsl":g=P.get.hsl(O),m="hsl";break;case"hwb":g=P.get.hwb(O),m="hwb";break;default:g=P.get.rgb(O),m="rgb";break}return g?{model:m,value:g}:null},P.get.rgb=function(O){if(!O)return null;var _=/^#([a-f0-9]{3,4})$/i,g=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,m=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,L=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,d=/^(\w+)$/,v=[0,0,0,1],M,w,S;if(M=O.match(g)){for(S=M[2],M=M[1],w=0;w<3;w++){var A=w*2;v[w]=parseInt(M.slice(A,A+2),16)}S&&(v[3]=parseInt(S,16)/255)}else if(M=O.match(_)){for(M=M[1],S=M[3],w=0;w<3;w++)v[w]=parseInt(M[w]+M[w],16);S&&(v[3]=parseInt(S+S,16)/255)}else if(M=O.match(m)){for(w=0;w<3;w++)v[w]=parseInt(M[w+1],0);M[4]&&(M[5]?v[3]=parseFloat(M[4])*.01:v[3]=parseFloat(M[4]))}else if(M=O.match(L)){for(w=0;w<3;w++)v[w]=Math.round(parseFloat(M[w+1])*2.55);M[4]&&(M[5]?v[3]=parseFloat(M[4])*.01:v[3]=parseFloat(M[4]))}else return(M=O.match(d))?M[1]==="transparent"?[0,0,0,0]:H.call(X,M[1])?(v=X[M[1]],v[3]=1,v):null:null;for(w=0;w<3;w++)v[w]=T(v[w],0,255);return v[3]=T(v[3],0,1),v},P.get.hsl=function(O){if(!O)return null;var _=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,g=O.match(_);if(g){var m=parseFloat(g[4]),L=(parseFloat(g[1])%360+360)%360,d=T(parseFloat(g[2]),0,100),v=T(parseFloat(g[3]),0,100),M=T(isNaN(m)?1:m,0,1);return[L,d,v,M]}return null},P.get.hwb=function(O){if(!O)return null;var _=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,g=O.match(_);if(g){var m=parseFloat(g[4]),L=(parseFloat(g[1])%360+360)%360,d=T(parseFloat(g[2]),0,100),v=T(parseFloat(g[3]),0,100),M=T(isNaN(m)?1:m,0,1);return[L,d,v,M]}return null},P.to.hex=function(){var O=q(arguments);return"#"+x(O[0])+x(O[1])+x(O[2])+(O[3]<1?x(Math.round(O[3]*255)):"")},P.to.rgb=function(){var O=q(arguments);return O.length<4||O[3]===1?"rgb("+Math.round(O[0])+", "+Math.round(O[1])+", "+Math.round(O[2])+")":"rgba("+Math.round(O[0])+", "+Math.round(O[1])+", "+Math.round(O[2])+", "+O[3]+")"},P.to.rgb.percent=function(){var O=q(arguments),_=Math.round(O[0]/255*100),g=Math.round(O[1]/255*100),m=Math.round(O[2]/255*100);return O.length<4||O[3]===1?"rgb("+_+"%, "+g+"%, "+m+"%)":"rgba("+_+"%, "+g+"%, "+m+"%, "+O[3]+")"},P.to.hsl=function(){var O=q(arguments);return O.length<4||O[3]===1?"hsl("+O[0]+", "+O[1]+"%, "+O[2]+"%)":"hsla("+O[0]+", "+O[1]+"%, "+O[2]+"%, "+O[3]+")"},P.to.hwb=function(){var O=q(arguments),_="";return O.length>=4&&O[3]!==1&&(_=", "+O[3]),"hwb("+O[0]+", "+O[1]+"%, "+O[2]+"%"+_+")"},P.to.keyword=function(O){return b[O.slice(0,3)]};function T(O,_,g){return Math.min(Math.max(_,O),g)}function x(O){var _=Math.round(O).toString(16).toUpperCase();return _.length<2?"0"+_:_}},92546:function(Ae,Ce,Z){Ae.exports={graphlib:Z(76626),layout:Z(47194),debug:Z(11303),util:{time:Z(53063).time,notime:Z(53063).notime},version:Z(11897)}},81255:function(Ae,Ce,Z){"use strict";var X=Z(72361),q=Z(39240);Ae.exports={run:H,undo:z};function H(P){var T=P.graph().acyclicer==="greedy"?q(P,x(P)):b(P);X.forEach(T,function(O){var _=P.edge(O);P.removeEdge(O),_.forwardName=O.name,_.reversed=!0,P.setEdge(O.w,O.v,_,X.uniqueId("rev"))});function x(O){return function(_){return O.edge(_).weight}}}function b(P){var T=[],x={},O={};function _(g){X.has(O,g)||(O[g]=!0,x[g]=!0,X.forEach(P.outEdges(g),function(m){X.has(x,m.w)?T.push(m):_(m.w)}),delete x[g])}return X.forEach(P.nodes(),_),T}function z(P){X.forEach(P.edges(),function(T){var x=P.edge(T);if(x.reversed){P.removeEdge(T);var O=x.forwardName;delete x.reversed,delete x.forwardName,P.setEdge(T.w,T.v,x,O)}})}},60765:function(Ae,Ce,Z){var X=Z(72361),q=Z(53063);Ae.exports=H;function H(z){function P(T){var x=z.children(T),O=z.node(T);if(x.length&&X.forEach(x,P),X.has(O,"minRank")){O.borderLeft=[],O.borderRight=[];for(var _=O.minRank,g=O.maxRank+1;_<g;++_)b(z,"borderLeft","_bl",T,O,_),b(z,"borderRight","_br",T,O,_)}}X.forEach(z.children(),P)}function b(z,P,T,x,O,_){var g={width:0,height:0,rank:_,borderType:P},m=O[P][_-1],L=q.addDummyNode(z,"border",g,T);O[P][_]=L,z.setParent(L,x),m&&z.setEdge(m,L,{weight:1})}},13257:function(Ae,Ce,Z){"use strict";var X=Z(72361);Ae.exports={adjust:q,undo:H};function q(_){var g=_.graph().rankdir.toLowerCase();(g==="lr"||g==="rl")&&b(_)}function H(_){var g=_.graph().rankdir.toLowerCase();(g==="bt"||g==="rl")&&P(_),(g==="lr"||g==="rl")&&(x(_),b(_))}function b(_){X.forEach(_.nodes(),function(g){z(_.node(g))}),X.forEach(_.edges(),function(g){z(_.edge(g))})}function z(_){var g=_.width;_.width=_.height,_.height=g}function P(_){X.forEach(_.nodes(),function(g){T(_.node(g))}),X.forEach(_.edges(),function(g){var m=_.edge(g);X.forEach(m.points,T),X.has(m,"y")&&T(m)})}function T(_){_.y=-_.y}function x(_){X.forEach(_.nodes(),function(g){O(_.node(g))}),X.forEach(_.edges(),function(g){var m=_.edge(g);X.forEach(m.points,O),X.has(m,"x")&&O(m)})}function O(_){var g=_.x;_.x=_.y,_.y=g}},21135:function(Ae){Ae.exports=Ce;function Ce(){var q={};q._next=q._prev=q,this._sentinel=q}Ce.prototype.dequeue=function(){var q=this._sentinel,H=q._prev;if(H!==q)return Z(H),H},Ce.prototype.enqueue=function(q){var H=this._sentinel;q._prev&&q._next&&Z(q),q._next=H._next,H._next._prev=q,H._next=q,q._prev=H},Ce.prototype.toString=function(){for(var q=[],H=this._sentinel,b=H._prev;b!==H;)q.push(JSON.stringify(b,X)),b=b._prev;return"["+q.join(", ")+"]"};function Z(q){q._prev._next=q._next,q._next._prev=q._prev,delete q._next,delete q._prev}function X(q,H){if(q!=="_next"&&q!=="_prev")return H}},11303:function(Ae,Ce,Z){var X=Z(72361),q=Z(53063),H=Z(76626).Graph;Ae.exports={debugOrdering:b};function b(z){var P=q.buildLayerMatrix(z),T=new H({compound:!0,multigraph:!0}).setGraph({});return X.forEach(z.nodes(),function(x){T.setNode(x,{label:x}),T.setParent(x,"layer"+z.node(x).rank)}),X.forEach(z.edges(),function(x){T.setEdge(x.v,x.w,{},x.name)}),X.forEach(P,function(x,O){var _="layer"+O;T.setNode(_,{rank:"same"}),X.reduce(x,function(g,m){return T.setEdge(g,m,{style:"invis"}),m})}),T}},76626:function(Ae,Ce,Z){var X;try{X=Z(75172)}catch(q){}X||(X=window.graphlib),Ae.exports=X},39240:function(Ae,Ce,Z){var X=Z(72361),q=Z(76626).Graph,H=Z(21135);Ae.exports=z;var b=X.constant(1);function z(_,g){if(_.nodeCount()<=1)return[];var m=x(_,g||b),L=P(m.graph,m.buckets,m.zeroIdx);return X.flatten(X.map(L,function(d){return _.outEdges(d.v,d.w)}),!0)}function P(_,g,m){for(var L=[],d=g[g.length-1],v=g[0],M;_.nodeCount();){for(;M=v.dequeue();)T(_,g,m,M);for(;M=d.dequeue();)T(_,g,m,M);if(_.nodeCount()){for(var w=g.length-2;w>0;--w)if(M=g[w].dequeue(),M){L=L.concat(T(_,g,m,M,!0));break}}}return L}function T(_,g,m,L,d){var v=d?[]:void 0;return X.forEach(_.inEdges(L.v),function(M){var w=_.edge(M),S=_.node(M.v);d&&v.push({v:M.v,w:M.w}),S.out-=w,O(g,m,S)}),X.forEach(_.outEdges(L.v),function(M){var w=_.edge(M),S=M.w,A=_.node(S);A.in-=w,O(g,m,A)}),_.removeNode(L.v),v}function x(_,g){var m=new q,L=0,d=0;X.forEach(_.nodes(),function(w){m.setNode(w,{v:w,in:0,out:0})}),X.forEach(_.edges(),function(w){var S=m.edge(w.v,w.w)||0,A=g(w),R=S+A;m.setEdge(w.v,w.w,R),d=Math.max(d,m.node(w.v).out+=A),L=Math.max(L,m.node(w.w).in+=A)});var v=X.range(d+L+3).map(function(){return new H}),M=L+1;return X.forEach(m.nodes(),function(w){O(v,M,m.node(w))}),{graph:m,buckets:v,zeroIdx:M}}function O(_,g,m){m.out?m.in?_[m.out-m.in+g].enqueue(m):_[_.length-1].enqueue(m):_[0].enqueue(m)}},47194:function(Ae,Ce,Z){"use strict";var X=Z(72361),q=Z(81255),H=Z(27163),b=Z(64505),z=Z(53063).normalizeRanks,P=Z(71970),T=Z(53063).removeEmptyRanks,x=Z(31733),O=Z(60765),_=Z(13257),g=Z(62852),m=Z(93021),L=Z(53063),d=Z(76626).Graph;Ae.exports=v;function v(ge,xe){var Me=xe&&xe.debugTiming?L.time:L.notime;Me("layout",function(){var Ne=Me(" buildLayoutGraph",function(){return U(ge)});Me(" runLayout",function(){M(Ne,Me)}),Me(" updateInputGraph",function(){w(ge,Ne)})})}function M(ge,xe){xe(" makeSpaceForEdgeLabels",function(){F(ge)}),xe(" removeSelfEdges",function(){ae(ge)}),xe(" acyclic",function(){q.run(ge)}),xe(" nestingGraph.run",function(){x.run(ge)}),xe(" rank",function(){b(L.asNonCompoundGraph(ge))}),xe(" injectEdgeLabelProxies",function(){G(ge)}),xe(" removeEmptyRanks",function(){T(ge)}),xe(" nestingGraph.cleanup",function(){x.cleanup(ge)}),xe(" normalizeRanks",function(){z(ge)}),xe(" assignRankMinMax",function(){Y(ge)}),xe(" removeEdgeLabelProxies",function(){te(ge)}),xe(" normalize.run",function(){H.run(ge)}),xe(" parentDummyChains",function(){P(ge)}),xe(" addBorderSegments",function(){O(ge)}),xe(" order",function(){g(ge)}),xe(" insertSelfEdges",function(){de(ge)}),xe(" adjustCoordinateSystem",function(){_.adjust(ge)}),xe(" position",function(){m(ge)}),xe(" positionSelfEdges",function(){se(ge)}),xe(" removeBorderNodes",function(){le(ge)}),xe(" normalize.undo",function(){H.undo(ge)}),xe(" fixupEdgeLabelCoords",function(){ie(ge)}),xe(" undoCoordinateSystem",function(){_.undo(ge)}),xe(" translateGraph",function(){$(ge)}),xe(" assignNodeIntersects",function(){oe(ge)}),xe(" reversePoints",function(){ne(ge)}),xe(" acyclic.undo",function(){q.undo(ge)})}function w(ge,xe){X.forEach(ge.nodes(),function(Me){var Ne=ge.node(Me),We=xe.node(Me);Ne&&(Ne.x=We.x,Ne.y=We.y,xe.children(Me).length&&(Ne.width=We.width,Ne.height=We.height))}),X.forEach(ge.edges(),function(Me){var Ne=ge.edge(Me),We=xe.edge(Me);Ne.points=We.points,X.has(We,"x")&&(Ne.x=We.x,Ne.y=We.y)}),ge.graph().width=xe.graph().width,ge.graph().height=xe.graph().height}var S=["nodesep","edgesep","ranksep","marginx","marginy"],A={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},R=["acyclicer","ranker","rankdir","align"],u=["width","height"],f={width:0,height:0},y=["minlen","weight","width","height","labeloffset"],D={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},I=["labelpos"];function U(ge){var xe=new d({multigraph:!0,compound:!0}),Me=ye(ge.graph());return xe.setGraph(X.merge({},A,fe(Me,S),X.pick(Me,R))),X.forEach(ge.nodes(),function(Ne){var We=ye(ge.node(Ne));xe.setNode(Ne,X.defaults(fe(We,u),f)),xe.setParent(Ne,ge.parent(Ne))}),X.forEach(ge.edges(),function(Ne){var We=ye(ge.edge(Ne));xe.setEdge(Ne,X.merge({},D,fe(We,y),X.pick(We,I)))}),xe}function F(ge){var xe=ge.graph();xe.ranksep/=2,X.forEach(ge.edges(),function(Me){var Ne=ge.edge(Me);Ne.minlen*=2,Ne.labelpos.toLowerCase()!=="c"&&(xe.rankdir==="TB"||xe.rankdir==="BT"?Ne.width+=Ne.labeloffset:Ne.height+=Ne.labeloffset)})}function G(ge){X.forEach(ge.edges(),function(xe){var Me=ge.edge(xe);if(Me.width&&Me.height){var Ne=ge.node(xe.v),We=ge.node(xe.w),tt={rank:(We.rank-Ne.rank)/2+Ne.rank,e:xe};L.addDummyNode(ge,"edge-proxy",tt,"_ep")}})}function Y(ge){var xe=0;X.forEach(ge.nodes(),function(Me){var Ne=ge.node(Me);Ne.borderTop&&(Ne.minRank=ge.node(Ne.borderTop).rank,Ne.maxRank=ge.node(Ne.borderBottom).rank,xe=X.max(xe,Ne.maxRank))}),ge.graph().maxRank=xe}function te(ge){X.forEach(ge.nodes(),function(xe){var Me=ge.node(xe);Me.dummy==="edge-proxy"&&(ge.edge(Me.e).labelRank=Me.rank,ge.removeNode(xe))})}function $(ge){var xe=Number.POSITIVE_INFINITY,Me=0,Ne=Number.POSITIVE_INFINITY,We=0,tt=ge.graph(),Je=tt.marginx||0,st=tt.marginy||0;function yt(gt){var Ke=gt.x,nt=gt.y,Ze=gt.width,Ve=gt.height;xe=Math.min(xe,Ke-Ze/2),Me=Math.max(Me,Ke+Ze/2),Ne=Math.min(Ne,nt-Ve/2),We=Math.max(We,nt+Ve/2)}X.forEach(ge.nodes(),function(gt){yt(ge.node(gt))}),X.forEach(ge.edges(),function(gt){var Ke=ge.edge(gt);X.has(Ke,"x")&&yt(Ke)}),xe-=Je,Ne-=st,X.forEach(ge.nodes(),function(gt){var Ke=ge.node(gt);Ke.x-=xe,Ke.y-=Ne}),X.forEach(ge.edges(),function(gt){var Ke=ge.edge(gt);X.forEach(Ke.points,function(nt){nt.x-=xe,nt.y-=Ne}),X.has(Ke,"x")&&(Ke.x-=xe),X.has(Ke,"y")&&(Ke.y-=Ne)}),tt.width=Me-xe+Je,tt.height=We-Ne+st}function oe(ge){X.forEach(ge.edges(),function(xe){var Me=ge.edge(xe),Ne=ge.node(xe.v),We=ge.node(xe.w),tt,Je;Me.points?(tt=Me.points[0],Je=Me.points[Me.points.length-1]):(Me.points=[],tt=We,Je=Ne),Me.points.unshift(L.intersectRect(Ne,tt)),Me.points.push(L.intersectRect(We,Je))})}function ie(ge){X.forEach(ge.edges(),function(xe){var Me=ge.edge(xe);if(X.has(Me,"x"))switch((Me.labelpos==="l"||Me.labelpos==="r")&&(Me.width-=Me.labeloffset),Me.labelpos){case"l":Me.x-=Me.width/2+Me.labeloffset;break;case"r":Me.x+=Me.width/2+Me.labeloffset;break}})}function ne(ge){X.forEach(ge.edges(),function(xe){var Me=ge.edge(xe);Me.reversed&&Me.points.reverse()})}function le(ge){X.forEach(ge.nodes(),function(xe){if(ge.children(xe).length){var Me=ge.node(xe),Ne=ge.node(Me.borderTop),We=ge.node(Me.borderBottom),tt=ge.node(X.last(Me.borderLeft)),Je=ge.node(X.last(Me.borderRight));Me.width=Math.abs(Je.x-tt.x),Me.height=Math.abs(We.y-Ne.y),Me.x=tt.x+Me.width/2,Me.y=Ne.y+Me.height/2}}),X.forEach(ge.nodes(),function(xe){ge.node(xe).dummy==="border"&&ge.removeNode(xe)})}function ae(ge){X.forEach(ge.edges(),function(xe){if(xe.v===xe.w){var Me=ge.node(xe.v);Me.selfEdges||(Me.selfEdges=[]),Me.selfEdges.push({e:xe,label:ge.edge(xe)}),ge.removeEdge(xe)}})}function de(ge){var xe=L.buildLayerMatrix(ge);X.forEach(xe,function(Me){var Ne=0;X.forEach(Me,function(We,tt){var Je=ge.node(We);Je.order=tt+Ne,X.forEach(Je.selfEdges,function(st){L.addDummyNode(ge,"selfedge",{width:st.label.width,height:st.label.height,rank:Je.rank,order:tt+ ++Ne,e:st.e,label:st.label},"_se")}),delete Je.selfEdges})})}function se(ge){X.forEach(ge.nodes(),function(xe){var Me=ge.node(xe);if(Me.dummy==="selfedge"){var Ne=ge.node(Me.e.v),We=Ne.x+Ne.width/2,tt=Ne.y,Je=Me.x-We,st=Ne.height/2;ge.setEdge(Me.e,Me.label),ge.removeNode(xe),Me.label.points=[{x:We+2*Je/3,y:tt-st},{x:We+5*Je/6,y:tt-st},{x:We+Je,y:tt},{x:We+5*Je/6,y:tt+st},{x:We+2*Je/3,y:tt+st}],Me.label.x=Me.x,Me.label.y=Me.y}})}function fe(ge,xe){return X.mapValues(X.pick(ge,xe),Number)}function ye(ge){var xe={};return X.forEach(ge,function(Me,Ne){xe[Ne.toLowerCase()]=Me}),xe}},72361:function(Ae,Ce,Z){var X;try{X={cloneDeep:Z(20250),constant:Z(13503),defaults:Z(28548),each:Z(76934),filter:Z(64725),find:Z(79785),flatten:Z(40151),forEach:Z(99204),forIn:Z(23190),has:Z(99946),isUndefined:Z(16513),last:Z(10611),map:Z(9924),mapValues:Z(70642),max:Z(95987),merge:Z(28440),min:Z(73376),minBy:Z(83296),now:Z(5795),pick:Z(89409),range:Z(60859),reduce:Z(16473),sortBy:Z(351),uniqueId:Z(95708),values:Z(81229),zipObject:Z(65441)}}catch(q){}X||(X=window._),Ae.exports=X},31733:function(Ae,Ce,Z){var X=Z(72361),q=Z(53063);Ae.exports={run:H,cleanup:T};function H(x){var O=q.addDummyNode(x,"root",{},"_root"),_=z(x),g=X.max(X.values(_))-1,m=2*g+1;x.graph().nestingRoot=O,X.forEach(x.edges(),function(d){x.edge(d).minlen*=m});var L=P(x)+1;X.forEach(x.children(),function(d){b(x,O,m,L,g,_,d)}),x.graph().nodeRankFactor=m}function b(x,O,_,g,m,L,d){var v=x.children(d);if(!v.length){d!==O&&x.setEdge(O,d,{weight:0,minlen:_});return}var M=q.addBorderNode(x,"_bt"),w=q.addBorderNode(x,"_bb"),S=x.node(d);x.setParent(M,d),S.borderTop=M,x.setParent(w,d),S.borderBottom=w,X.forEach(v,function(A){b(x,O,_,g,m,L,A);var R=x.node(A),u=R.borderTop?R.borderTop:A,f=R.borderBottom?R.borderBottom:A,y=R.borderTop?g:2*g,D=u!==f?1:m-L[d]+1;x.setEdge(M,u,{weight:y,minlen:D,nestingEdge:!0}),x.setEdge(f,w,{weight:y,minlen:D,nestingEdge:!0})}),x.parent(d)||x.setEdge(O,M,{weight:0,minlen:m+L[d]})}function z(x){var O={};function _(g,m){var L=x.children(g);L&&L.length&&X.forEach(L,function(d){_(d,m+1)}),O[g]=m}return X.forEach(x.children(),function(g){_(g,1)}),O}function P(x){return X.reduce(x.edges(),function(O,_){return O+x.edge(_).weight},0)}function T(x){var O=x.graph();x.removeNode(O.nestingRoot),delete O.nestingRoot,X.forEach(x.edges(),function(_){var g=x.edge(_);g.nestingEdge&&x.removeEdge(_)})}},27163:function(Ae,Ce,Z){"use strict";var X=Z(72361),q=Z(53063);Ae.exports={run:H,undo:z};function H(P){P.graph().dummyChains=[],X.forEach(P.edges(),function(T){b(P,T)})}function b(P,T){var x=T.v,O=P.node(x).rank,_=T.w,g=P.node(_).rank,m=T.name,L=P.edge(T),d=L.labelRank;if(g!==O+1){P.removeEdge(T);var v,M,w;for(w=0,++O;O<g;++w,++O)L.points=[],M={width:0,height:0,edgeLabel:L,edgeObj:T,rank:O},v=q.addDummyNode(P,"edge",M,"_d"),O===d&&(M.width=L.width,M.height=L.height,M.dummy="edge-label",M.labelpos=L.labelpos),P.setEdge(x,v,{weight:L.weight},m),w===0&&P.graph().dummyChains.push(v),x=v;P.setEdge(x,_,{weight:L.weight},m)}}function z(P){X.forEach(P.graph().dummyChains,function(T){var x=P.node(T),O=x.edgeLabel,_;for(P.setEdge(x.edgeObj,O);x.dummy;)_=P.successors(T)[0],P.removeNode(T),O.points.push({x:x.x,y:x.y}),x.dummy==="edge-label"&&(O.x=x.x,O.y=x.y,O.width=x.width,O.height=x.height),T=_,x=P.node(T)})}},52205:function(Ae,Ce,Z){var X=Z(72361);Ae.exports=q;function q(H,b,z){var P={},T;X.forEach(z,function(x){for(var O=H.parent(x),_,g;O;){if(_=H.parent(O),_?(g=P[_],P[_]=O):(g=T,T=O),g&&g!==O){b.setEdge(g,O);return}O=_}})}},99506:function(Ae,Ce,Z){var X=Z(72361);Ae.exports=q;function q(H,b){return X.map(b,function(z){var P=H.inEdges(z);if(P.length){var T=X.reduce(P,function(x,O){var _=H.edge(O),g=H.node(O.v);return{sum:x.sum+_.weight*g.order,weight:x.weight+_.weight}},{sum:0,weight:0});return{v:z,barycenter:T.sum/T.weight,weight:T.weight}}else return{v:z}})}},59105:function(Ae,Ce,Z){var X=Z(72361),q=Z(76626).Graph;Ae.exports=H;function H(z,P,T){var x=b(z),O=new q({compound:!0}).setGraph({root:x}).setDefaultNodeLabel(function(_){return z.node(_)});return X.forEach(z.nodes(),function(_){var g=z.node(_),m=z.parent(_);(g.rank===P||g.minRank<=P&&P<=g.maxRank)&&(O.setNode(_),O.setParent(_,m||x),X.forEach(z[T](_),function(L){var d=L.v===_?L.w:L.v,v=O.edge(d,_),M=X.isUndefined(v)?0:v.weight;O.setEdge(d,_,{weight:z.edge(L).weight+M})}),X.has(g,"minRank")&&O.setNode(_,{borderLeft:g.borderLeft[P],borderRight:g.borderRight[P]}))}),O}function b(z){for(var P;z.hasNode(P=X.uniqueId("_root")););return P}},45456:function(Ae,Ce,Z){"use strict";var X=Z(72361);Ae.exports=q;function q(b,z){for(var P=0,T=1;T<z.length;++T)P+=H(b,z[T-1],z[T]);return P}function H(b,z,P){for(var T=X.zipObject(P,X.map(P,function(L,d){return d})),x=X.flatten(X.map(z,function(L){return X.sortBy(X.map(b.outEdges(L),function(d){return{pos:T[d.w],weight:b.edge(d).weight}}),"pos")}),!0),O=1;O<P.length;)O<<=1;var _=2*O-1;O-=1;var g=X.map(new Array(_),function(){return 0}),m=0;return X.forEach(x.forEach(function(L){var d=L.pos+O;g[d]+=L.weight;for(var v=0;d>0;)d%2&&(v+=g[d+1]),d=d-1>>1,g[d]+=L.weight;m+=L.weight*v})),m}},62852:function(Ae,Ce,Z){"use strict";var X=Z(72361),q=Z(18043),H=Z(45456),b=Z(86490),z=Z(59105),P=Z(52205),T=Z(76626).Graph,x=Z(53063);Ae.exports=O;function O(L){var d=x.maxRank(L),v=_(L,X.range(1,d+1),"inEdges"),M=_(L,X.range(d-1,-1,-1),"outEdges"),w=q(L);m(L,w);for(var S=Number.POSITIVE_INFINITY,A,R=0,u=0;u<4;++R,++u){g(R%2?v:M,R%4>=2),w=x.buildLayerMatrix(L);var f=H(L,w);f<S&&(u=0,A=X.cloneDeep(w),S=f)}m(L,A)}function _(L,d,v){return X.map(d,function(M){return z(L,M,v)})}function g(L,d){var v=new T;X.forEach(L,function(M){var w=M.graph().root,S=b(M,w,v,d);X.forEach(S.vs,function(A,R){M.node(A).order=R}),P(M,v,S.vs)})}function m(L,d){X.forEach(d,function(v){X.forEach(v,function(M,w){L.node(M).order=w})})}},18043:function(Ae,Ce,Z){"use strict";var X=Z(72361);Ae.exports=q;function q(H){var b={},z=X.filter(H.nodes(),function(_){return!H.children(_).length}),P=X.max(X.map(z,function(_){return H.node(_).rank})),T=X.map(X.range(P+1),function(){return[]});function x(_){if(!X.has(b,_)){b[_]=!0;var g=H.node(_);T[g.rank].push(_),X.forEach(H.successors(_),x)}}var O=X.sortBy(z,function(_){return H.node(_).rank});return X.forEach(O,x),T}},45926:function(Ae,Ce,Z){"use strict";var X=Z(72361);Ae.exports=q;function q(z,P){var T={};X.forEach(z,function(O,_){var g=T[O.v]={indegree:0,in:[],out:[],vs:[O.v],i:_};X.isUndefined(O.barycenter)||(g.barycenter=O.barycenter,g.weight=O.weight)}),X.forEach(P.edges(),function(O){var _=T[O.v],g=T[O.w];!X.isUndefined(_)&&!X.isUndefined(g)&&(g.indegree++,_.out.push(T[O.w]))});var x=X.filter(T,function(O){return!O.indegree});return H(x)}function H(z){var P=[];function T(_){return function(g){g.merged||(X.isUndefined(g.barycenter)||X.isUndefined(_.barycenter)||g.barycenter>=_.barycenter)&&b(_,g)}}function x(_){return function(g){g.in.push(_),--g.indegree===0&&z.push(g)}}for(;z.length;){var O=z.pop();P.push(O),X.forEach(O.in.reverse(),T(O)),X.forEach(O.out,x(O))}return X.map(X.filter(P,function(_){return!_.merged}),function(_){return X.pick(_,["vs","i","barycenter","weight"])})}function b(z,P){var T=0,x=0;z.weight&&(T+=z.barycenter*z.weight,x+=z.weight),P.weight&&(T+=P.barycenter*P.weight,x+=P.weight),z.vs=P.vs.concat(z.vs),z.barycenter=T/x,z.weight=x,z.i=Math.min(P.i,z.i),P.merged=!0}},86490:function(Ae,Ce,Z){var X=Z(72361),q=Z(99506),H=Z(45926),b=Z(1349);Ae.exports=z;function z(x,O,_,g){var m=x.children(O),L=x.node(O),d=L?L.borderLeft:void 0,v=L?L.borderRight:void 0,M={};d&&(m=X.filter(m,function(f){return f!==d&&f!==v}));var w=q(x,m);X.forEach(w,function(f){if(x.children(f.v).length){var y=z(x,f.v,_,g);M[f.v]=y,X.has(y,"barycenter")&&T(f,y)}});var S=H(w,_);P(S,M);var A=b(S,g);if(d&&(A.vs=X.flatten([d,A.vs,v],!0),x.predecessors(d).length)){var R=x.node(x.predecessors(d)[0]),u=x.node(x.predecessors(v)[0]);X.has(A,"barycenter")||(A.barycenter=0,A.weight=0),A.barycenter=(A.barycenter*A.weight+R.order+u.order)/(A.weight+2),A.weight+=2}return A}function P(x,O){X.forEach(x,function(_){_.vs=X.flatten(_.vs.map(function(g){return O[g]?O[g].vs:g}),!0)})}function T(x,O){X.isUndefined(x.barycenter)?(x.barycenter=O.barycenter,x.weight=O.weight):(x.barycenter=(x.barycenter*x.weight+O.barycenter*O.weight)/(x.weight+O.weight),x.weight+=O.weight)}},1349:function(Ae,Ce,Z){var X=Z(72361),q=Z(53063);Ae.exports=H;function H(P,T){var x=q.partition(P,function(M){return X.has(M,"barycenter")}),O=x.lhs,_=X.sortBy(x.rhs,function(M){return-M.i}),g=[],m=0,L=0,d=0;O.sort(z(!!T)),d=b(g,_,d),X.forEach(O,function(M){d+=M.vs.length,g.push(M.vs),m+=M.barycenter*M.weight,L+=M.weight,d=b(g,_,d)});var v={vs:X.flatten(g,!0)};return L&&(v.barycenter=m/L,v.weight=L),v}function b(P,T,x){for(var O;T.length&&(O=X.last(T)).i<=x;)T.pop(),P.push(O.vs),x++;return x}function z(P){return function(T,x){return T.barycenter<x.barycenter?-1:T.barycenter>x.barycenter?1:P?x.i-T.i:T.i-x.i}}},71970:function(Ae,Ce,Z){var X=Z(72361);Ae.exports=q;function q(z){var P=b(z);X.forEach(z.graph().dummyChains,function(T){for(var x=z.node(T),O=x.edgeObj,_=H(z,P,O.v,O.w),g=_.path,m=_.lca,L=0,d=g[L],v=!0;T!==O.w;){if(x=z.node(T),v){for(;(d=g[L])!==m&&z.node(d).maxRank<x.rank;)L++;d===m&&(v=!1)}if(!v){for(;L<g.length-1&&z.node(d=g[L+1]).minRank<=x.rank;)L++;d=g[L]}z.setParent(T,d),T=z.successors(T)[0]}})}function H(z,P,T,x){var O=[],_=[],g=Math.min(P[T].low,P[x].low),m=Math.max(P[T].lim,P[x].lim),L,d;L=T;do L=z.parent(L),O.push(L);while(L&&(P[L].low>g||m>P[L].lim));for(d=L,L=x;(L=z.parent(L))!==d;)_.push(L);return{path:O.concat(_.reverse()),lca:d}}function b(z){var P={},T=0;function x(O){var _=T;X.forEach(z.children(O),x),P[O]={low:_,lim:T++}}return X.forEach(z.children(),x),P}},92080:function(Ae,Ce,Z){"use strict";var X=Z(72361),q=Z(76626).Graph,H=Z(53063);Ae.exports={positionX:v,findType1Conflicts:b,findType2Conflicts:z,addConflict:T,hasConflict:x,verticalAlignment:O,horizontalCompaction:_,alignCoordinates:L,findSmallestWidthAlignment:m,balance:d};function b(S,A){var R={};function u(f,y){var D=0,I=0,U=f.length,F=X.last(y);return X.forEach(y,function(G,Y){var te=P(S,G),$=te?S.node(te).order:U;(te||G===F)&&(X.forEach(y.slice(I,Y+1),function(oe){X.forEach(S.predecessors(oe),function(ie){var ne=S.node(ie),le=ne.order;(le<D||$<le)&&!(ne.dummy&&S.node(oe).dummy)&&T(R,ie,oe)})}),I=Y+1,D=$)}),y}return X.reduce(A,u),R}function z(S,A){var R={};function u(y,D,I,U,F){var G;X.forEach(X.range(D,I),function(Y){G=y[Y],S.node(G).dummy&&X.forEach(S.predecessors(G),function(te){var $=S.node(te);$.dummy&&($.order<U||$.order>F)&&T(R,te,G)})})}function f(y,D){var I=-1,U,F=0;return X.forEach(D,function(G,Y){if(S.node(G).dummy==="border"){var te=S.predecessors(G);te.length&&(U=S.node(te[0]).order,u(D,F,Y,I,U),F=Y,I=U)}u(D,F,D.length,U,y.length)}),D}return X.reduce(A,f),R}function P(S,A){if(S.node(A).dummy)return X.find(S.predecessors(A),function(R){return S.node(R).dummy})}function T(S,A,R){if(A>R){var u=A;A=R,R=u}var f=S[A];f||(S[A]=f={}),f[R]=!0}function x(S,A,R){if(A>R){var u=A;A=R,R=u}return X.has(S[A],R)}function O(S,A,R,u){var f={},y={},D={};return X.forEach(A,function(I){X.forEach(I,function(U,F){f[U]=U,y[U]=U,D[U]=F})}),X.forEach(A,function(I){var U=-1;X.forEach(I,function(F){var G=u(F);if(G.length){G=X.sortBy(G,function(ie){return D[ie]});for(var Y=(G.length-1)/2,te=Math.floor(Y),$=Math.ceil(Y);te<=$;++te){var oe=G[te];y[F]===F&&U<D[oe]&&!x(R,F,oe)&&(y[oe]=F,y[F]=f[F]=f[oe],U=D[oe])}}})}),{root:f,align:y}}function _(S,A,R,u,f){var y={},D=g(S,A,R,f),I=f?"borderLeft":"borderRight";function U(Y,te){for(var $=D.nodes(),oe=$.pop(),ie={};oe;)ie[oe]?Y(oe):(ie[oe]=!0,$.push(oe),$=$.concat(te(oe))),oe=$.pop()}function F(Y){y[Y]=D.inEdges(Y).reduce(function(te,$){return Math.max(te,y[$.v]+D.edge($))},0)}function G(Y){var te=D.outEdges(Y).reduce(function(oe,ie){return Math.min(oe,y[ie.w]-D.edge(ie))},Number.POSITIVE_INFINITY),$=S.node(Y);te!==Number.POSITIVE_INFINITY&&$.borderType!==I&&(y[Y]=Math.max(y[Y],te))}return U(F,D.predecessors.bind(D)),U(G,D.successors.bind(D)),X.forEach(u,function(Y){y[Y]=y[R[Y]]}),y}function g(S,A,R,u){var f=new q,y=S.graph(),D=M(y.nodesep,y.edgesep,u);return X.forEach(A,function(I){var U;X.forEach(I,function(F){var G=R[F];if(f.setNode(G),U){var Y=R[U],te=f.edge(Y,G);f.setEdge(Y,G,Math.max(D(S,F,U),te||0))}U=F})}),f}function m(S,A){return X.minBy(X.values(A),function(R){var u=Number.NEGATIVE_INFINITY,f=Number.POSITIVE_INFINITY;return X.forIn(R,function(y,D){var I=w(S,D)/2;u=Math.max(y+I,u),f=Math.min(y-I,f)}),u-f})}function L(S,A){var R=X.values(A),u=X.min(R),f=X.max(R);X.forEach(["u","d"],function(y){X.forEach(["l","r"],function(D){var I=y+D,U=S[I],F;if(U!==A){var G=X.values(U);F=D==="l"?u-X.min(G):f-X.max(G),F&&(S[I]=X.mapValues(U,function(Y){return Y+F}))}})})}function d(S,A){return X.mapValues(S.ul,function(R,u){if(A)return S[A.toLowerCase()][u];var f=X.sortBy(X.map(S,u));return(f[1]+f[2])/2})}function v(S){var A=H.buildLayerMatrix(S),R=X.merge(b(S,A),z(S,A)),u={},f;X.forEach(["u","d"],function(D){f=D==="u"?A:X.values(A).reverse(),X.forEach(["l","r"],function(I){I==="r"&&(f=X.map(f,function(Y){return X.values(Y).reverse()}));var U=(D==="u"?S.predecessors:S.successors).bind(S),F=O(S,f,R,U),G=_(S,f,F.root,F.align,I==="r");I==="r"&&(G=X.mapValues(G,function(Y){return-Y})),u[D+I]=G})});var y=m(S,u);return L(u,y),d(u,S.graph().align)}function M(S,A,R){return function(u,f,y){var D=u.node(f),I=u.node(y),U=0,F;if(U+=D.width/2,X.has(D,"labelpos"))switch(D.labelpos.toLowerCase()){case"l":F=-D.width/2;break;case"r":F=D.width/2;break}if(F&&(U+=R?F:-F),F=0,U+=(D.dummy?A:S)/2,U+=(I.dummy?A:S)/2,U+=I.width/2,X.has(I,"labelpos"))switch(I.labelpos.toLowerCase()){case"l":F=I.width/2;break;case"r":F=-I.width/2;break}return F&&(U+=R?F:-F),F=0,U}}function w(S,A){return S.node(A).width}},93021:function(Ae,Ce,Z){"use strict";var X=Z(72361),q=Z(53063),H=Z(92080).positionX;Ae.exports=b;function b(P){P=q.asNonCompoundGraph(P),z(P),X.forEach(H(P),function(T,x){P.node(x).x=T})}function z(P){var T=q.buildLayerMatrix(P),x=P.graph().ranksep,O=0;X.forEach(T,function(_){var g=X.max(X.map(_,function(m){return P.node(m).height}));X.forEach(_,function(m){P.node(m).y=O+g/2}),O+=g+x})}},61031:function(Ae,Ce,Z){"use strict";var X=Z(72361),q=Z(76626).Graph,H=Z(2416).slack;Ae.exports=b;function b(x){var O=new q({directed:!1}),_=x.nodes()[0],g=x.nodeCount();O.setNode(_,{});for(var m,L;z(O,x)<g;)m=P(O,x),L=O.hasNode(m.v)?H(x,m):-H(x,m),T(O,x,L);return O}function z(x,O){function _(g){X.forEach(O.nodeEdges(g),function(m){var L=m.v,d=g===L?m.w:L;!x.hasNode(d)&&!H(O,m)&&(x.setNode(d,{}),x.setEdge(g,d,{}),_(d))})}return X.forEach(x.nodes(),_),x.nodeCount()}function P(x,O){return X.minBy(O.edges(),function(_){if(x.hasNode(_.v)!==x.hasNode(_.w))return H(O,_)})}function T(x,O,_){X.forEach(x.nodes(),function(g){O.node(g).rank+=_})}},64505:function(Ae,Ce,Z){"use strict";var X=Z(2416),q=X.longestPath,H=Z(61031),b=Z(77076);Ae.exports=z;function z(O){switch(O.graph().ranker){case"network-simplex":x(O);break;case"tight-tree":T(O);break;case"longest-path":P(O);break;default:x(O)}}var P=q;function T(O){q(O),H(O)}function x(O){b(O)}},77076:function(Ae,Ce,Z){"use strict";var X=Z(72361),q=Z(61031),H=Z(2416).slack,b=Z(2416).longestPath,z=Z(76626).alg.preorder,P=Z(76626).alg.postorder,T=Z(53063).simplify;Ae.exports=x,x.initLowLimValues=m,x.initCutValues=O,x.calcCutValue=g,x.leaveEdge=d,x.enterEdge=v,x.exchangeEdges=M;function x(R){R=T(R),b(R);var u=q(R);m(u),O(u,R);for(var f,y;f=d(u);)y=v(u,R,f),M(u,R,f,y)}function O(R,u){var f=P(R,R.nodes());f=f.slice(0,f.length-1),X.forEach(f,function(y){_(R,u,y)})}function _(R,u,f){var y=R.node(f),D=y.parent;R.edge(f,D).cutvalue=g(R,u,f)}function g(R,u,f){var y=R.node(f),D=y.parent,I=!0,U=u.edge(f,D),F=0;return U||(I=!1,U=u.edge(D,f)),F=U.weight,X.forEach(u.nodeEdges(f),function(G){var Y=G.v===f,te=Y?G.w:G.v;if(te!==D){var $=Y===I,oe=u.edge(G).weight;if(F+=$?oe:-oe,S(R,f,te)){var ie=R.edge(f,te).cutvalue;F+=$?-ie:ie}}}),F}function m(R,u){arguments.length<2&&(u=R.nodes()[0]),L(R,{},1,u)}function L(R,u,f,y,D){var I=f,U=R.node(y);return u[y]=!0,X.forEach(R.neighbors(y),function(F){X.has(u,F)||(f=L(R,u,f,F,y))}),U.low=I,U.lim=f++,D?U.parent=D:delete U.parent,f}function d(R){return X.find(R.edges(),function(u){return R.edge(u).cutvalue<0})}function v(R,u,f){var y=f.v,D=f.w;u.hasEdge(y,D)||(y=f.w,D=f.v);var I=R.node(y),U=R.node(D),F=I,G=!1;I.lim>U.lim&&(F=U,G=!0);var Y=X.filter(u.edges(),function(te){return G===A(R,R.node(te.v),F)&&G!==A(R,R.node(te.w),F)});return X.minBy(Y,function(te){return H(u,te)})}function M(R,u,f,y){var D=f.v,I=f.w;R.removeEdge(D,I),R.setEdge(y.v,y.w,{}),m(R),O(R,u),w(R,u)}function w(R,u){var f=X.find(R.nodes(),function(D){return!u.node(D).parent}),y=z(R,f);y=y.slice(1),X.forEach(y,function(D){var I=R.node(D).parent,U=u.edge(D,I),F=!1;U||(U=u.edge(I,D),F=!0),u.node(D).rank=u.node(I).rank+(F?U.minlen:-U.minlen)})}function S(R,u,f){return R.hasEdge(u,f)}function A(R,u,f){return f.low<=u.lim&&u.lim<=f.lim}},2416:function(Ae,Ce,Z){"use strict";var X=Z(72361);Ae.exports={longestPath:q,slack:H};function q(b){var z={};function P(T){var x=b.node(T);if(X.has(z,T))return x.rank;z[T]=!0;var O=X.min(X.map(b.outEdges(T),function(_){return P(_.w)-b.edge(_).minlen}));return(O===Number.POSITIVE_INFINITY||O===void 0||O===null)&&(O=0),x.rank=O}X.forEach(b.sources(),P)}function H(b,z){return b.node(z.w).rank-b.node(z.v).rank-b.edge(z).minlen}},53063:function(Ae,Ce,Z){"use strict";var X=Z(72361),q=Z(76626).Graph;Ae.exports={addDummyNode:H,simplify:b,asNonCompoundGraph:z,successorWeights:P,predecessorWeights:T,intersectRect:x,buildLayerMatrix:O,normalizeRanks:_,removeEmptyRanks:g,addBorderNode:m,maxRank:L,partition:d,time:v,notime:M};function H(w,S,A,R){var u;do u=X.uniqueId(R);while(w.hasNode(u));return A.dummy=S,w.setNode(u,A),u}function b(w){var S=new q().setGraph(w.graph());return X.forEach(w.nodes(),function(A){S.setNode(A,w.node(A))}),X.forEach(w.edges(),function(A){var R=S.edge(A.v,A.w)||{weight:0,minlen:1},u=w.edge(A);S.setEdge(A.v,A.w,{weight:R.weight+u.weight,minlen:Math.max(R.minlen,u.minlen)})}),S}function z(w){var S=new q({multigraph:w.isMultigraph()}).setGraph(w.graph());return X.forEach(w.nodes(),function(A){w.children(A).length||S.setNode(A,w.node(A))}),X.forEach(w.edges(),function(A){S.setEdge(A,w.edge(A))}),S}function P(w){var S=X.map(w.nodes(),function(A){var R={};return X.forEach(w.outEdges(A),function(u){R[u.w]=(R[u.w]||0)+w.edge(u).weight}),R});return X.zipObject(w.nodes(),S)}function T(w){var S=X.map(w.nodes(),function(A){var R={};return X.forEach(w.inEdges(A),function(u){R[u.v]=(R[u.v]||0)+w.edge(u).weight}),R});return X.zipObject(w.nodes(),S)}function x(w,S){var A=w.x,R=w.y,u=S.x-A,f=S.y-R,y=w.width/2,D=w.height/2;if(!u&&!f)throw new Error("Not possible to find intersection inside of the rectangle");var I,U;return Math.abs(f)*y>Math.abs(u)*D?(f<0&&(D=-D),I=D*u/f,U=D):(u<0&&(y=-y),I=y,U=y*f/u),{x:A+I,y:R+U}}function O(w){var S=X.map(X.range(L(w)+1),function(){return[]});return X.forEach(w.nodes(),function(A){var R=w.node(A),u=R.rank;X.isUndefined(u)||(S[u][R.order]=A)}),S}function _(w){var S=X.min(X.map(w.nodes(),function(A){return w.node(A).rank}));X.forEach(w.nodes(),function(A){var R=w.node(A);X.has(R,"rank")&&(R.rank-=S)})}function g(w){var S=X.min(X.map(w.nodes(),function(f){return w.node(f).rank})),A=[];X.forEach(w.nodes(),function(f){var y=w.node(f).rank-S;A[y]||(A[y]=[]),A[y].push(f)});var R=0,u=w.graph().nodeRankFactor;X.forEach(A,function(f,y){X.isUndefined(f)&&y%u!==0?--R:R&&X.forEach(f,function(D){w.node(D).rank+=R})})}function m(w,S,A,R){var u={width:0,height:0};return arguments.length>=4&&(u.rank=A,u.order=R),H(w,"border",u,S)}function L(w){return X.max(X.map(w.nodes(),function(S){var A=w.node(S).rank;if(!X.isUndefined(A))return A}))}function d(w,S){var A={lhs:[],rhs:[]};return X.forEach(w,function(R){S(R)?A.lhs.push(R):A.rhs.push(R)}),A}function v(w,S){var A=X.now();try{return S()}finally{console.log(w+" time: "+(X.now()-A)+"ms")}}function M(w,S){return S()}},11897:function(Ae){Ae.exports="0.8.5"},97774:function(Ae,Ce,Z){"use strict";Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.default=void 0;var X=Object.assign||function(M){for(var w=1;w<arguments.length;w++){var S=arguments[w];for(var A in S)Object.prototype.hasOwnProperty.call(S,A)&&(M[A]=S[A])}return M},q=function(){function M(w,S){for(var A=0;A<S.length;A++){var R=S[A];R.enumerable=R.enumerable||!1,R.configurable=!0,"value"in R&&(R.writable=!0),Object.defineProperty(w,R.key,R)}}return function(w,S,A){return S&&M(w.prototype,S),A&&M(w,A),w}}(),H=Z(59301),b=g(H),z=Z(12708),P=g(z),T=Z(53291),x=g(T),O=Z(47242),_=Z(65429);function g(M){return M&&M.__esModule?M:{default:M}}function m(M,w){if(!(M instanceof w))throw new TypeError("Cannot call a class as a function")}function L(M,w){if(!M)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return w&&(typeof w=="object"||typeof w=="function")?w:M}function d(M,w){if(typeof w!="function"&&w!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof w);M.prototype=Object.create(w&&w.prototype,{constructor:{value:M,enumerable:!1,writable:!0,configurable:!0}}),w&&(Object.setPrototypeOf?Object.setPrototypeOf(M,w):M.__proto__=w)}var v=function(M){d(w,M);function w(S){m(this,w);var A=L(this,(w.__proto__||Object.getPrototypeOf(w)).call(this,S));return A.getEchartsInstance=function(){return A.echartsLib.getInstanceByDom(A.echartsElement)||A.echartsLib.init(A.echartsElement,A.props.theme,A.props.opts)},A.dispose=function(){if(A.echartsElement){try{(0,O.clear)(A.echartsElement)}catch(R){console.warn(R)}A.echartsLib.dispose(A.echartsElement)}},A.rerender=function(){var R=A.props,u=R.onEvents,f=R.onChartReady,y=A.renderEchartDom();A.bindEvents(y,u||{}),typeof f=="function"&&A.props.onChartReady(y),A.echartsElement&&(0,O.bind)(A.echartsElement,function(){try{y.resize()}catch(D){console.warn(D)}})},A.bindEvents=function(R,u){var f=function(I,U){typeof I=="string"&&typeof U=="function"&&R.on(I,function(F){U(F,R)})};for(var y in u)Object.prototype.hasOwnProperty.call(u,y)&&f(y,u[y])},A.renderEchartDom=function(){var R=A.getEchartsInstance();return R.setOption(A.props.option,A.props.notMerge||!1,A.props.lazyUpdate||!1),A.props.showLoading?R.showLoading(A.props.loadingOption||null):R.hideLoading(),R},A.echartsLib=S.echarts,A.echartsElement=null,A}return q(w,[{key:"componentDidMount",value:function(){this.rerender()}},{key:"componentDidUpdate",value:function(A){if(!(typeof this.props.shouldSetOption=="function"&&!this.props.shouldSetOption(A,this.props))){if(!(0,x.default)(A.theme,this.props.theme)||!(0,x.default)(A.opts,this.props.opts)||!(0,x.default)(A.onEvents,this.props.onEvents)){this.dispose(),this.rerender();return}var R=["option","notMerge","lazyUpdate","showLoading","loadingOption"];if(!(0,x.default)((0,_.pick)(this.props,R),(0,_.pick)(A,R))){var u=this.renderEchartDom();if(!(0,x.default)(A.style,this.props.style)||!(0,x.default)(A.className,this.props.className))try{u.resize()}catch(f){console.warn(f)}}}}},{key:"componentWillUnmount",value:function(){this.dispose()}},{key:"render",value:function(){var A=this,R=this.props,u=R.style,f=R.className,y=X({height:300},u);return b.default.createElement("div",{ref:function(I){A.echartsElement=I},style:y,className:"echarts-for-react "+f})}}]),w}(H.Component);Ce.default=v,v.propTypes={option:P.default.object.isRequired,echarts:P.default.object,notMerge:P.default.bool,lazyUpdate:P.default.bool,style:P.default.object,className:P.default.string,theme:P.default.oneOfType([P.default.string,P.default.object]),onChartReady:P.default.func,showLoading:P.default.bool,loadingOption:P.default.object,onEvents:P.default.object,opts:P.default.shape({devicePixelRatio:P.default.number,renderer:P.default.oneOf(["canvas","svg"]),width:P.default.oneOfType([P.default.number,P.default.oneOf([null,void 0,"auto"])]),height:P.default.oneOfType([P.default.number,P.default.oneOf([null,void 0,"auto"])])}),shouldSetOption:P.default.func},v.defaultProps={echarts:{},notMerge:!1,lazyUpdate:!1,style:{},className:"",theme:null,onChartReady:function(){},showLoading:!1,loadingOption:null,onEvents:{},opts:{},shouldSetOption:function(){return!0}}},42441:function(Ae,Ce,Z){"use strict";var X;X={value:!0},Ce.Z=void 0;var q=Z(76411),H=P(q),b=Z(97774),z=P(b);function P(g){return g&&g.__esModule?g:{default:g}}function T(g,m){if(!(g instanceof m))throw new TypeError("Cannot call a class as a function")}function x(g,m){if(!g)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return m&&(typeof m=="object"||typeof m=="function")?m:g}function O(g,m){if(typeof m!="function"&&m!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof m);g.prototype=Object.create(m&&m.prototype,{constructor:{value:g,enumerable:!1,writable:!0,configurable:!0}}),m&&(Object.setPrototypeOf?Object.setPrototypeOf(g,m):g.__proto__=m)}var _=function(g){O(m,g);function m(L){T(this,m);var d=x(this,(m.__proto__||Object.getPrototypeOf(m)).call(this,L));return d.echartsLib=H.default,d}return m}(z.default);Ce.Z=_},65429:function(Ae,Ce){"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});var Z=Ce.pick=function(q,H){var b={};return H.forEach(function(z){b[z]=q[z]}),b}},48961:function(Ae,Ce,Z){(function(q,H){Ae.exports=H(Z(76411))})(this,function(X){return function(q){var H={};function b(z){if(H[z])return H[z].exports;var P=H[z]={i:z,l:!1,exports:{}};return q[z].call(P.exports,P,P.exports,b),P.l=!0,P.exports}return b.m=q,b.c=H,b.d=function(z,P,T){b.o(z,P)||Object.defineProperty(z,P,{configurable:!1,enumerable:!0,get:T})},b.n=function(z){var P=z&&z.__esModule?function(){return z.default}:function(){return z};return b.d(P,"a",P),P},b.o=function(z,P){return Object.prototype.hasOwnProperty.call(z,P)},b.p="",b(b.s=87)}([function(q,H){q.exports=X},function(q,H,b){(function(z){"use strict";var P={};P.exports=H,function(T){if(!x)var x=1e-6;if(!O)var O=typeof Float32Array!="undefined"?Float32Array:Array;if(!_)var _=Math.random;var g={};g.setMatrixArrayType=function(u){O=u},typeof T!="undefined"&&(T.glMatrix=g);var m=Math.PI/180;g.toRadian=function(u){return u*m};var L={};L.create=function(){var u=new O(2);return u[0]=0,u[1]=0,u},L.clone=function(u){var f=new O(2);return f[0]=u[0],f[1]=u[1],f},L.fromValues=function(u,f){var y=new O(2);return y[0]=u,y[1]=f,y},L.copy=function(u,f){return u[0]=f[0],u[1]=f[1],u},L.set=function(u,f,y){return u[0]=f,u[1]=y,u},L.add=function(u,f,y){return u[0]=f[0]+y[0],u[1]=f[1]+y[1],u},L.subtract=function(u,f,y){return u[0]=f[0]-y[0],u[1]=f[1]-y[1],u},L.sub=L.subtract,L.multiply=function(u,f,y){return u[0]=f[0]*y[0],u[1]=f[1]*y[1],u},L.mul=L.multiply,L.divide=function(u,f,y){return u[0]=f[0]/y[0],u[1]=f[1]/y[1],u},L.div=L.divide,L.min=function(u,f,y){return u[0]=Math.min(f[0],y[0]),u[1]=Math.min(f[1],y[1]),u},L.max=function(u,f,y){return u[0]=Math.max(f[0],y[0]),u[1]=Math.max(f[1],y[1]),u},L.scale=function(u,f,y){return u[0]=f[0]*y,u[1]=f[1]*y,u},L.scaleAndAdd=function(u,f,y,D){return u[0]=f[0]+y[0]*D,u[1]=f[1]+y[1]*D,u},L.distance=function(u,f){var y=f[0]-u[0],D=f[1]-u[1];return Math.sqrt(y*y+D*D)},L.dist=L.distance,L.squaredDistance=function(u,f){var y=f[0]-u[0],D=f[1]-u[1];return y*y+D*D},L.sqrDist=L.squaredDistance,L.length=function(u){var f=u[0],y=u[1];return Math.sqrt(f*f+y*y)},L.len=L.length,L.squaredLength=function(u){var f=u[0],y=u[1];return f*f+y*y},L.sqrLen=L.squaredLength,L.negate=function(u,f){return u[0]=-f[0],u[1]=-f[1],u},L.inverse=function(u,f){return u[0]=1/f[0],u[1]=1/f[1],u},L.normalize=function(u,f){var y=f[0],D=f[1],I=y*y+D*D;return I>0&&(I=1/Math.sqrt(I),u[0]=f[0]*I,u[1]=f[1]*I),u},L.dot=function(u,f){return u[0]*f[0]+u[1]*f[1]},L.cross=function(u,f,y){var D=f[0]*y[1]-f[1]*y[0];return u[0]=u[1]=0,u[2]=D,u},L.lerp=function(u,f,y,D){var I=f[0],U=f[1];return u[0]=I+D*(y[0]-I),u[1]=U+D*(y[1]-U),u},L.random=function(u,f){f=f||1;var y=_()*2*Math.PI;return u[0]=Math.cos(y)*f,u[1]=Math.sin(y)*f,u},L.transformMat2=function(u,f,y){var D=f[0],I=f[1];return u[0]=y[0]*D+y[2]*I,u[1]=y[1]*D+y[3]*I,u},L.transformMat2d=function(u,f,y){var D=f[0],I=f[1];return u[0]=y[0]*D+y[2]*I+y[4],u[1]=y[1]*D+y[3]*I+y[5],u},L.transformMat3=function(u,f,y){var D=f[0],I=f[1];return u[0]=y[0]*D+y[3]*I+y[6],u[1]=y[1]*D+y[4]*I+y[7],u},L.transformMat4=function(u,f,y){var D=f[0],I=f[1];return u[0]=y[0]*D+y[4]*I+y[12],u[1]=y[1]*D+y[5]*I+y[13],u},L.forEach=function(){var u=L.create();return function(f,y,D,I,U,F){var G,Y;for(y||(y=2),D||(D=0),I?Y=Math.min(I*y+D,f.length):Y=f.length,G=D;G<Y;G+=y)u[0]=f[G],u[1]=f[G+1],U(u,u,F),f[G]=u[0],f[G+1]=u[1];return f}}(),L.str=function(u){return"vec2("+u[0]+", "+u[1]+")"},typeof T!="undefined"&&(T.vec2=L);var d={};d.create=function(){var u=new O(3);return u[0]=0,u[1]=0,u[2]=0,u},d.clone=function(u){var f=new O(3);return f[0]=u[0],f[1]=u[1],f[2]=u[2],f},d.fromValues=function(u,f,y){var D=new O(3);return D[0]=u,D[1]=f,D[2]=y,D},d.copy=function(u,f){return u[0]=f[0],u[1]=f[1],u[2]=f[2],u},d.set=function(u,f,y,D){return u[0]=f,u[1]=y,u[2]=D,u},d.add=function(u,f,y){return u[0]=f[0]+y[0],u[1]=f[1]+y[1],u[2]=f[2]+y[2],u},d.subtract=function(u,f,y){return u[0]=f[0]-y[0],u[1]=f[1]-y[1],u[2]=f[2]-y[2],u},d.sub=d.subtract,d.multiply=function(u,f,y){return u[0]=f[0]*y[0],u[1]=f[1]*y[1],u[2]=f[2]*y[2],u},d.mul=d.multiply,d.divide=function(u,f,y){return u[0]=f[0]/y[0],u[1]=f[1]/y[1],u[2]=f[2]/y[2],u},d.div=d.divide,d.min=function(u,f,y){return u[0]=Math.min(f[0],y[0]),u[1]=Math.min(f[1],y[1]),u[2]=Math.min(f[2],y[2]),u},d.max=function(u,f,y){return u[0]=Math.max(f[0],y[0]),u[1]=Math.max(f[1],y[1]),u[2]=Math.max(f[2],y[2]),u},d.scale=function(u,f,y){return u[0]=f[0]*y,u[1]=f[1]*y,u[2]=f[2]*y,u},d.scaleAndAdd=function(u,f,y,D){return u[0]=f[0]+y[0]*D,u[1]=f[1]+y[1]*D,u[2]=f[2]+y[2]*D,u},d.distance=function(u,f){var y=f[0]-u[0],D=f[1]-u[1],I=f[2]-u[2];return Math.sqrt(y*y+D*D+I*I)},d.dist=d.distance,d.squaredDistance=function(u,f){var y=f[0]-u[0],D=f[1]-u[1],I=f[2]-u[2];return y*y+D*D+I*I},d.sqrDist=d.squaredDistance,d.length=function(u){var f=u[0],y=u[1],D=u[2];return Math.sqrt(f*f+y*y+D*D)},d.len=d.length,d.squaredLength=function(u){var f=u[0],y=u[1],D=u[2];return f*f+y*y+D*D},d.sqrLen=d.squaredLength,d.negate=function(u,f){return u[0]=-f[0],u[1]=-f[1],u[2]=-f[2],u},d.inverse=function(u,f){return u[0]=1/f[0],u[1]=1/f[1],u[2]=1/f[2],u},d.normalize=function(u,f){var y=f[0],D=f[1],I=f[2],U=y*y+D*D+I*I;return U>0&&(U=1/Math.sqrt(U),u[0]=f[0]*U,u[1]=f[1]*U,u[2]=f[2]*U),u},d.dot=function(u,f){return u[0]*f[0]+u[1]*f[1]+u[2]*f[2]},d.cross=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=y[0],G=y[1],Y=y[2];return u[0]=I*Y-U*G,u[1]=U*F-D*Y,u[2]=D*G-I*F,u},d.lerp=function(u,f,y,D){var I=f[0],U=f[1],F=f[2];return u[0]=I+D*(y[0]-I),u[1]=U+D*(y[1]-U),u[2]=F+D*(y[2]-F),u},d.random=function(u,f){f=f||1;var y=_()*2*Math.PI,D=_()*2-1,I=Math.sqrt(1-D*D)*f;return u[0]=Math.cos(y)*I,u[1]=Math.sin(y)*I,u[2]=D*f,u},d.transformMat4=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=y[3]*D+y[7]*I+y[11]*U+y[15];return F=F||1,u[0]=(y[0]*D+y[4]*I+y[8]*U+y[12])/F,u[1]=(y[1]*D+y[5]*I+y[9]*U+y[13])/F,u[2]=(y[2]*D+y[6]*I+y[10]*U+y[14])/F,u},d.transformMat3=function(u,f,y){var D=f[0],I=f[1],U=f[2];return u[0]=D*y[0]+I*y[3]+U*y[6],u[1]=D*y[1]+I*y[4]+U*y[7],u[2]=D*y[2]+I*y[5]+U*y[8],u},d.transformQuat=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=y[0],G=y[1],Y=y[2],te=y[3],$=te*D+G*U-Y*I,oe=te*I+Y*D-F*U,ie=te*U+F*I-G*D,ne=-F*D-G*I-Y*U;return u[0]=$*te+ne*-F+oe*-Y-ie*-G,u[1]=oe*te+ne*-G+ie*-F-$*-Y,u[2]=ie*te+ne*-Y+$*-G-oe*-F,u},d.rotateX=function(u,f,y,D){var I=[],U=[];return I[0]=f[0]-y[0],I[1]=f[1]-y[1],I[2]=f[2]-y[2],U[0]=I[0],U[1]=I[1]*Math.cos(D)-I[2]*Math.sin(D),U[2]=I[1]*Math.sin(D)+I[2]*Math.cos(D),u[0]=U[0]+y[0],u[1]=U[1]+y[1],u[2]=U[2]+y[2],u},d.rotateY=function(u,f,y,D){var I=[],U=[];return I[0]=f[0]-y[0],I[1]=f[1]-y[1],I[2]=f[2]-y[2],U[0]=I[2]*Math.sin(D)+I[0]*Math.cos(D),U[1]=I[1],U[2]=I[2]*Math.cos(D)-I[0]*Math.sin(D),u[0]=U[0]+y[0],u[1]=U[1]+y[1],u[2]=U[2]+y[2],u},d.rotateZ=function(u,f,y,D){var I=[],U=[];return I[0]=f[0]-y[0],I[1]=f[1]-y[1],I[2]=f[2]-y[2],U[0]=I[0]*Math.cos(D)-I[1]*Math.sin(D),U[1]=I[0]*Math.sin(D)+I[1]*Math.cos(D),U[2]=I[2],u[0]=U[0]+y[0],u[1]=U[1]+y[1],u[2]=U[2]+y[2],u},d.forEach=function(){var u=d.create();return function(f,y,D,I,U,F){var G,Y;for(y||(y=3),D||(D=0),I?Y=Math.min(I*y+D,f.length):Y=f.length,G=D;G<Y;G+=y)u[0]=f[G],u[1]=f[G+1],u[2]=f[G+2],U(u,u,F),f[G]=u[0],f[G+1]=u[1],f[G+2]=u[2];return f}}(),d.angle=function(u,f){var y=d.fromValues(u[0],u[1],u[2]),D=d.fromValues(f[0],f[1],f[2]);d.normalize(y,y),d.normalize(D,D);var I=d.dot(y,D);return I>1?0:Math.acos(I)},d.str=function(u){return"vec3("+u[0]+", "+u[1]+", "+u[2]+")"},typeof T!="undefined"&&(T.vec3=d);var v={};v.create=function(){var u=new O(4);return u[0]=0,u[1]=0,u[2]=0,u[3]=0,u},v.clone=function(u){var f=new O(4);return f[0]=u[0],f[1]=u[1],f[2]=u[2],f[3]=u[3],f},v.fromValues=function(u,f,y,D){var I=new O(4);return I[0]=u,I[1]=f,I[2]=y,I[3]=D,I},v.copy=function(u,f){return u[0]=f[0],u[1]=f[1],u[2]=f[2],u[3]=f[3],u},v.set=function(u,f,y,D,I){return u[0]=f,u[1]=y,u[2]=D,u[3]=I,u},v.add=function(u,f,y){return u[0]=f[0]+y[0],u[1]=f[1]+y[1],u[2]=f[2]+y[2],u[3]=f[3]+y[3],u},v.subtract=function(u,f,y){return u[0]=f[0]-y[0],u[1]=f[1]-y[1],u[2]=f[2]-y[2],u[3]=f[3]-y[3],u},v.sub=v.subtract,v.multiply=function(u,f,y){return u[0]=f[0]*y[0],u[1]=f[1]*y[1],u[2]=f[2]*y[2],u[3]=f[3]*y[3],u},v.mul=v.multiply,v.divide=function(u,f,y){return u[0]=f[0]/y[0],u[1]=f[1]/y[1],u[2]=f[2]/y[2],u[3]=f[3]/y[3],u},v.div=v.divide,v.min=function(u,f,y){return u[0]=Math.min(f[0],y[0]),u[1]=Math.min(f[1],y[1]),u[2]=Math.min(f[2],y[2]),u[3]=Math.min(f[3],y[3]),u},v.max=function(u,f,y){return u[0]=Math.max(f[0],y[0]),u[1]=Math.max(f[1],y[1]),u[2]=Math.max(f[2],y[2]),u[3]=Math.max(f[3],y[3]),u},v.scale=function(u,f,y){return u[0]=f[0]*y,u[1]=f[1]*y,u[2]=f[2]*y,u[3]=f[3]*y,u},v.scaleAndAdd=function(u,f,y,D){return u[0]=f[0]+y[0]*D,u[1]=f[1]+y[1]*D,u[2]=f[2]+y[2]*D,u[3]=f[3]+y[3]*D,u},v.distance=function(u,f){var y=f[0]-u[0],D=f[1]-u[1],I=f[2]-u[2],U=f[3]-u[3];return Math.sqrt(y*y+D*D+I*I+U*U)},v.dist=v.distance,v.squaredDistance=function(u,f){var y=f[0]-u[0],D=f[1]-u[1],I=f[2]-u[2],U=f[3]-u[3];return y*y+D*D+I*I+U*U},v.sqrDist=v.squaredDistance,v.length=function(u){var f=u[0],y=u[1],D=u[2],I=u[3];return Math.sqrt(f*f+y*y+D*D+I*I)},v.len=v.length,v.squaredLength=function(u){var f=u[0],y=u[1],D=u[2],I=u[3];return f*f+y*y+D*D+I*I},v.sqrLen=v.squaredLength,v.negate=function(u,f){return u[0]=-f[0],u[1]=-f[1],u[2]=-f[2],u[3]=-f[3],u},v.inverse=function(u,f){return u[0]=1/f[0],u[1]=1/f[1],u[2]=1/f[2],u[3]=1/f[3],u},v.normalize=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=y*y+D*D+I*I+U*U;return F>0&&(F=1/Math.sqrt(F),u[0]=f[0]*F,u[1]=f[1]*F,u[2]=f[2]*F,u[3]=f[3]*F),u},v.dot=function(u,f){return u[0]*f[0]+u[1]*f[1]+u[2]*f[2]+u[3]*f[3]},v.lerp=function(u,f,y,D){var I=f[0],U=f[1],F=f[2],G=f[3];return u[0]=I+D*(y[0]-I),u[1]=U+D*(y[1]-U),u[2]=F+D*(y[2]-F),u[3]=G+D*(y[3]-G),u},v.random=function(u,f){return f=f||1,u[0]=_(),u[1]=_(),u[2]=_(),u[3]=_(),v.normalize(u,u),v.scale(u,u,f),u},v.transformMat4=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3];return u[0]=y[0]*D+y[4]*I+y[8]*U+y[12]*F,u[1]=y[1]*D+y[5]*I+y[9]*U+y[13]*F,u[2]=y[2]*D+y[6]*I+y[10]*U+y[14]*F,u[3]=y[3]*D+y[7]*I+y[11]*U+y[15]*F,u},v.transformQuat=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=y[0],G=y[1],Y=y[2],te=y[3],$=te*D+G*U-Y*I,oe=te*I+Y*D-F*U,ie=te*U+F*I-G*D,ne=-F*D-G*I-Y*U;return u[0]=$*te+ne*-F+oe*-Y-ie*-G,u[1]=oe*te+ne*-G+ie*-F-$*-Y,u[2]=ie*te+ne*-Y+$*-G-oe*-F,u},v.forEach=function(){var u=v.create();return function(f,y,D,I,U,F){var G,Y;for(y||(y=4),D||(D=0),I?Y=Math.min(I*y+D,f.length):Y=f.length,G=D;G<Y;G+=y)u[0]=f[G],u[1]=f[G+1],u[2]=f[G+2],u[3]=f[G+3],U(u,u,F),f[G]=u[0],f[G+1]=u[1],f[G+2]=u[2],f[G+3]=u[3];return f}}(),v.str=function(u){return"vec4("+u[0]+", "+u[1]+", "+u[2]+", "+u[3]+")"},typeof T!="undefined"&&(T.vec4=v);var M={};M.create=function(){var u=new O(4);return u[0]=1,u[1]=0,u[2]=0,u[3]=1,u},M.clone=function(u){var f=new O(4);return f[0]=u[0],f[1]=u[1],f[2]=u[2],f[3]=u[3],f},M.copy=function(u,f){return u[0]=f[0],u[1]=f[1],u[2]=f[2],u[3]=f[3],u},M.identity=function(u){return u[0]=1,u[1]=0,u[2]=0,u[3]=1,u},M.transpose=function(u,f){if(u===f){var y=f[1];u[1]=f[2],u[2]=y}else u[0]=f[0],u[1]=f[2],u[2]=f[1],u[3]=f[3];return u},M.invert=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=y*U-I*D;return F?(F=1/F,u[0]=U*F,u[1]=-D*F,u[2]=-I*F,u[3]=y*F,u):null},M.adjoint=function(u,f){var y=f[0];return u[0]=f[3],u[1]=-f[1],u[2]=-f[2],u[3]=y,u},M.determinant=function(u){return u[0]*u[3]-u[2]*u[1]},M.multiply=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=y[0],Y=y[1],te=y[2],$=y[3];return u[0]=D*G+U*Y,u[1]=I*G+F*Y,u[2]=D*te+U*$,u[3]=I*te+F*$,u},M.mul=M.multiply,M.rotate=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=Math.sin(y),Y=Math.cos(y);return u[0]=D*Y+U*G,u[1]=I*Y+F*G,u[2]=D*-G+U*Y,u[3]=I*-G+F*Y,u},M.scale=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=y[0],Y=y[1];return u[0]=D*G,u[1]=I*G,u[2]=U*Y,u[3]=F*Y,u},M.str=function(u){return"mat2("+u[0]+", "+u[1]+", "+u[2]+", "+u[3]+")"},M.frob=function(u){return Math.sqrt(Math.pow(u[0],2)+Math.pow(u[1],2)+Math.pow(u[2],2)+Math.pow(u[3],2))},M.LDU=function(u,f,y,D){return u[2]=D[2]/D[0],y[0]=D[0],y[1]=D[1],y[3]=D[3]-u[2]*y[1],[u,f,y]},typeof T!="undefined"&&(T.mat2=M);var w={};w.create=function(){var u=new O(6);return u[0]=1,u[1]=0,u[2]=0,u[3]=1,u[4]=0,u[5]=0,u},w.clone=function(u){var f=new O(6);return f[0]=u[0],f[1]=u[1],f[2]=u[2],f[3]=u[3],f[4]=u[4],f[5]=u[5],f},w.copy=function(u,f){return u[0]=f[0],u[1]=f[1],u[2]=f[2],u[3]=f[3],u[4]=f[4],u[5]=f[5],u},w.identity=function(u){return u[0]=1,u[1]=0,u[2]=0,u[3]=1,u[4]=0,u[5]=0,u},w.invert=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=f[4],G=f[5],Y=y*U-D*I;return Y?(Y=1/Y,u[0]=U*Y,u[1]=-D*Y,u[2]=-I*Y,u[3]=y*Y,u[4]=(I*G-U*F)*Y,u[5]=(D*F-y*G)*Y,u):null},w.determinant=function(u){return u[0]*u[3]-u[1]*u[2]},w.multiply=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=f[4],Y=f[5],te=y[0],$=y[1],oe=y[2],ie=y[3],ne=y[4],le=y[5];return u[0]=D*te+U*$,u[1]=I*te+F*$,u[2]=D*oe+U*ie,u[3]=I*oe+F*ie,u[4]=D*ne+U*le+G,u[5]=I*ne+F*le+Y,u},w.mul=w.multiply,w.rotate=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=f[4],Y=f[5],te=Math.sin(y),$=Math.cos(y);return u[0]=D*$+U*te,u[1]=I*$+F*te,u[2]=D*-te+U*$,u[3]=I*-te+F*$,u[4]=G,u[5]=Y,u},w.scale=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=f[4],Y=f[5],te=y[0],$=y[1];return u[0]=D*te,u[1]=I*te,u[2]=U*$,u[3]=F*$,u[4]=G,u[5]=Y,u},w.translate=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=f[4],Y=f[5],te=y[0],$=y[1];return u[0]=D,u[1]=I,u[2]=U,u[3]=F,u[4]=D*te+U*$+G,u[5]=I*te+F*$+Y,u},w.str=function(u){return"mat2d("+u[0]+", "+u[1]+", "+u[2]+", "+u[3]+", "+u[4]+", "+u[5]+")"},w.frob=function(u){return Math.sqrt(Math.pow(u[0],2)+Math.pow(u[1],2)+Math.pow(u[2],2)+Math.pow(u[3],2)+Math.pow(u[4],2)+Math.pow(u[5],2)+1)},typeof T!="undefined"&&(T.mat2d=w);var S={};S.create=function(){var u=new O(9);return u[0]=1,u[1]=0,u[2]=0,u[3]=0,u[4]=1,u[5]=0,u[6]=0,u[7]=0,u[8]=1,u},S.fromMat4=function(u,f){return u[0]=f[0],u[1]=f[1],u[2]=f[2],u[3]=f[4],u[4]=f[5],u[5]=f[6],u[6]=f[8],u[7]=f[9],u[8]=f[10],u},S.clone=function(u){var f=new O(9);return f[0]=u[0],f[1]=u[1],f[2]=u[2],f[3]=u[3],f[4]=u[4],f[5]=u[5],f[6]=u[6],f[7]=u[7],f[8]=u[8],f},S.copy=function(u,f){return u[0]=f[0],u[1]=f[1],u[2]=f[2],u[3]=f[3],u[4]=f[4],u[5]=f[5],u[6]=f[6],u[7]=f[7],u[8]=f[8],u},S.identity=function(u){return u[0]=1,u[1]=0,u[2]=0,u[3]=0,u[4]=1,u[5]=0,u[6]=0,u[7]=0,u[8]=1,u},S.transpose=function(u,f){if(u===f){var y=f[1],D=f[2],I=f[5];u[1]=f[3],u[2]=f[6],u[3]=y,u[5]=f[7],u[6]=D,u[7]=I}else u[0]=f[0],u[1]=f[3],u[2]=f[6],u[3]=f[1],u[4]=f[4],u[5]=f[7],u[6]=f[2],u[7]=f[5],u[8]=f[8];return u},S.invert=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=f[4],G=f[5],Y=f[6],te=f[7],$=f[8],oe=$*F-G*te,ie=-$*U+G*Y,ne=te*U-F*Y,le=y*oe+D*ie+I*ne;return le?(le=1/le,u[0]=oe*le,u[1]=(-$*D+I*te)*le,u[2]=(G*D-I*F)*le,u[3]=ie*le,u[4]=($*y-I*Y)*le,u[5]=(-G*y+I*U)*le,u[6]=ne*le,u[7]=(-te*y+D*Y)*le,u[8]=(F*y-D*U)*le,u):null},S.adjoint=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=f[4],G=f[5],Y=f[6],te=f[7],$=f[8];return u[0]=F*$-G*te,u[1]=I*te-D*$,u[2]=D*G-I*F,u[3]=G*Y-U*$,u[4]=y*$-I*Y,u[5]=I*U-y*G,u[6]=U*te-F*Y,u[7]=D*Y-y*te,u[8]=y*F-D*U,u},S.determinant=function(u){var f=u[0],y=u[1],D=u[2],I=u[3],U=u[4],F=u[5],G=u[6],Y=u[7],te=u[8];return f*(te*U-F*Y)+y*(-te*I+F*G)+D*(Y*I-U*G)},S.multiply=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=f[4],Y=f[5],te=f[6],$=f[7],oe=f[8],ie=y[0],ne=y[1],le=y[2],ae=y[3],de=y[4],se=y[5],fe=y[6],ye=y[7],ge=y[8];return u[0]=ie*D+ne*F+le*te,u[1]=ie*I+ne*G+le*$,u[2]=ie*U+ne*Y+le*oe,u[3]=ae*D+de*F+se*te,u[4]=ae*I+de*G+se*$,u[5]=ae*U+de*Y+se*oe,u[6]=fe*D+ye*F+ge*te,u[7]=fe*I+ye*G+ge*$,u[8]=fe*U+ye*Y+ge*oe,u},S.mul=S.multiply,S.translate=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=f[4],Y=f[5],te=f[6],$=f[7],oe=f[8],ie=y[0],ne=y[1];return u[0]=D,u[1]=I,u[2]=U,u[3]=F,u[4]=G,u[5]=Y,u[6]=ie*D+ne*F+te,u[7]=ie*I+ne*G+$,u[8]=ie*U+ne*Y+oe,u},S.rotate=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=f[4],Y=f[5],te=f[6],$=f[7],oe=f[8],ie=Math.sin(y),ne=Math.cos(y);return u[0]=ne*D+ie*F,u[1]=ne*I+ie*G,u[2]=ne*U+ie*Y,u[3]=ne*F-ie*D,u[4]=ne*G-ie*I,u[5]=ne*Y-ie*U,u[6]=te,u[7]=$,u[8]=oe,u},S.scale=function(u,f,y){var D=y[0],I=y[1];return u[0]=D*f[0],u[1]=D*f[1],u[2]=D*f[2],u[3]=I*f[3],u[4]=I*f[4],u[5]=I*f[5],u[6]=f[6],u[7]=f[7],u[8]=f[8],u},S.fromMat2d=function(u,f){return u[0]=f[0],u[1]=f[1],u[2]=0,u[3]=f[2],u[4]=f[3],u[5]=0,u[6]=f[4],u[7]=f[5],u[8]=1,u},S.fromQuat=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=y+y,G=D+D,Y=I+I,te=y*F,$=D*F,oe=D*G,ie=I*F,ne=I*G,le=I*Y,ae=U*F,de=U*G,se=U*Y;return u[0]=1-oe-le,u[3]=$-se,u[6]=ie+de,u[1]=$+se,u[4]=1-te-le,u[7]=ne-ae,u[2]=ie-de,u[5]=ne+ae,u[8]=1-te-oe,u},S.normalFromMat4=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=f[4],G=f[5],Y=f[6],te=f[7],$=f[8],oe=f[9],ie=f[10],ne=f[11],le=f[12],ae=f[13],de=f[14],se=f[15],fe=y*G-D*F,ye=y*Y-I*F,ge=y*te-U*F,xe=D*Y-I*G,Me=D*te-U*G,Ne=I*te-U*Y,We=$*ae-oe*le,tt=$*de-ie*le,Je=$*se-ne*le,st=oe*de-ie*ae,yt=oe*se-ne*ae,gt=ie*se-ne*de,Ke=fe*gt-ye*yt+ge*st+xe*Je-Me*tt+Ne*We;return Ke?(Ke=1/Ke,u[0]=(G*gt-Y*yt+te*st)*Ke,u[1]=(Y*Je-F*gt-te*tt)*Ke,u[2]=(F*yt-G*Je+te*We)*Ke,u[3]=(I*yt-D*gt-U*st)*Ke,u[4]=(y*gt-I*Je+U*tt)*Ke,u[5]=(D*Je-y*yt-U*We)*Ke,u[6]=(ae*Ne-de*Me+se*xe)*Ke,u[7]=(de*ge-le*Ne-se*ye)*Ke,u[8]=(le*Me-ae*ge+se*fe)*Ke,u):null},S.str=function(u){return"mat3("+u[0]+", "+u[1]+", "+u[2]+", "+u[3]+", "+u[4]+", "+u[5]+", "+u[6]+", "+u[7]+", "+u[8]+")"},S.frob=function(u){return Math.sqrt(Math.pow(u[0],2)+Math.pow(u[1],2)+Math.pow(u[2],2)+Math.pow(u[3],2)+Math.pow(u[4],2)+Math.pow(u[5],2)+Math.pow(u[6],2)+Math.pow(u[7],2)+Math.pow(u[8],2))},typeof T!="undefined"&&(T.mat3=S);var A={};A.create=function(){var u=new O(16);return u[0]=1,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=1,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=1,u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,u},A.clone=function(u){var f=new O(16);return f[0]=u[0],f[1]=u[1],f[2]=u[2],f[3]=u[3],f[4]=u[4],f[5]=u[5],f[6]=u[6],f[7]=u[7],f[8]=u[8],f[9]=u[9],f[10]=u[10],f[11]=u[11],f[12]=u[12],f[13]=u[13],f[14]=u[14],f[15]=u[15],f},A.copy=function(u,f){return u[0]=f[0],u[1]=f[1],u[2]=f[2],u[3]=f[3],u[4]=f[4],u[5]=f[5],u[6]=f[6],u[7]=f[7],u[8]=f[8],u[9]=f[9],u[10]=f[10],u[11]=f[11],u[12]=f[12],u[13]=f[13],u[14]=f[14],u[15]=f[15],u},A.identity=function(u){return u[0]=1,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=1,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=1,u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,u},A.transpose=function(u,f){if(u===f){var y=f[1],D=f[2],I=f[3],U=f[6],F=f[7],G=f[11];u[1]=f[4],u[2]=f[8],u[3]=f[12],u[4]=y,u[6]=f[9],u[7]=f[13],u[8]=D,u[9]=U,u[11]=f[14],u[12]=I,u[13]=F,u[14]=G}else u[0]=f[0],u[1]=f[4],u[2]=f[8],u[3]=f[12],u[4]=f[1],u[5]=f[5],u[6]=f[9],u[7]=f[13],u[8]=f[2],u[9]=f[6],u[10]=f[10],u[11]=f[14],u[12]=f[3],u[13]=f[7],u[14]=f[11],u[15]=f[15];return u},A.invert=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=f[4],G=f[5],Y=f[6],te=f[7],$=f[8],oe=f[9],ie=f[10],ne=f[11],le=f[12],ae=f[13],de=f[14],se=f[15],fe=y*G-D*F,ye=y*Y-I*F,ge=y*te-U*F,xe=D*Y-I*G,Me=D*te-U*G,Ne=I*te-U*Y,We=$*ae-oe*le,tt=$*de-ie*le,Je=$*se-ne*le,st=oe*de-ie*ae,yt=oe*se-ne*ae,gt=ie*se-ne*de,Ke=fe*gt-ye*yt+ge*st+xe*Je-Me*tt+Ne*We;return Ke?(Ke=1/Ke,u[0]=(G*gt-Y*yt+te*st)*Ke,u[1]=(I*yt-D*gt-U*st)*Ke,u[2]=(ae*Ne-de*Me+se*xe)*Ke,u[3]=(ie*Me-oe*Ne-ne*xe)*Ke,u[4]=(Y*Je-F*gt-te*tt)*Ke,u[5]=(y*gt-I*Je+U*tt)*Ke,u[6]=(de*ge-le*Ne-se*ye)*Ke,u[7]=($*Ne-ie*ge+ne*ye)*Ke,u[8]=(F*yt-G*Je+te*We)*Ke,u[9]=(D*Je-y*yt-U*We)*Ke,u[10]=(le*Me-ae*ge+se*fe)*Ke,u[11]=(oe*ge-$*Me-ne*fe)*Ke,u[12]=(G*tt-F*st-Y*We)*Ke,u[13]=(y*st-D*tt+I*We)*Ke,u[14]=(ae*ye-le*xe-de*fe)*Ke,u[15]=($*xe-oe*ye+ie*fe)*Ke,u):null},A.adjoint=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=f[4],G=f[5],Y=f[6],te=f[7],$=f[8],oe=f[9],ie=f[10],ne=f[11],le=f[12],ae=f[13],de=f[14],se=f[15];return u[0]=G*(ie*se-ne*de)-oe*(Y*se-te*de)+ae*(Y*ne-te*ie),u[1]=-(D*(ie*se-ne*de)-oe*(I*se-U*de)+ae*(I*ne-U*ie)),u[2]=D*(Y*se-te*de)-G*(I*se-U*de)+ae*(I*te-U*Y),u[3]=-(D*(Y*ne-te*ie)-G*(I*ne-U*ie)+oe*(I*te-U*Y)),u[4]=-(F*(ie*se-ne*de)-$*(Y*se-te*de)+le*(Y*ne-te*ie)),u[5]=y*(ie*se-ne*de)-$*(I*se-U*de)+le*(I*ne-U*ie),u[6]=-(y*(Y*se-te*de)-F*(I*se-U*de)+le*(I*te-U*Y)),u[7]=y*(Y*ne-te*ie)-F*(I*ne-U*ie)+$*(I*te-U*Y),u[8]=F*(oe*se-ne*ae)-$*(G*se-te*ae)+le*(G*ne-te*oe),u[9]=-(y*(oe*se-ne*ae)-$*(D*se-U*ae)+le*(D*ne-U*oe)),u[10]=y*(G*se-te*ae)-F*(D*se-U*ae)+le*(D*te-U*G),u[11]=-(y*(G*ne-te*oe)-F*(D*ne-U*oe)+$*(D*te-U*G)),u[12]=-(F*(oe*de-ie*ae)-$*(G*de-Y*ae)+le*(G*ie-Y*oe)),u[13]=y*(oe*de-ie*ae)-$*(D*de-I*ae)+le*(D*ie-I*oe),u[14]=-(y*(G*de-Y*ae)-F*(D*de-I*ae)+le*(D*Y-I*G)),u[15]=y*(G*ie-Y*oe)-F*(D*ie-I*oe)+$*(D*Y-I*G),u},A.determinant=function(u){var f=u[0],y=u[1],D=u[2],I=u[3],U=u[4],F=u[5],G=u[6],Y=u[7],te=u[8],$=u[9],oe=u[10],ie=u[11],ne=u[12],le=u[13],ae=u[14],de=u[15],se=f*F-y*U,fe=f*G-D*U,ye=f*Y-I*U,ge=y*G-D*F,xe=y*Y-I*F,Me=D*Y-I*G,Ne=te*le-$*ne,We=te*ae-oe*ne,tt=te*de-ie*ne,Je=$*ae-oe*le,st=$*de-ie*le,yt=oe*de-ie*ae;return se*yt-fe*st+ye*Je+ge*tt-xe*We+Me*Ne},A.multiply=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=f[4],Y=f[5],te=f[6],$=f[7],oe=f[8],ie=f[9],ne=f[10],le=f[11],ae=f[12],de=f[13],se=f[14],fe=f[15],ye=y[0],ge=y[1],xe=y[2],Me=y[3];return u[0]=ye*D+ge*G+xe*oe+Me*ae,u[1]=ye*I+ge*Y+xe*ie+Me*de,u[2]=ye*U+ge*te+xe*ne+Me*se,u[3]=ye*F+ge*$+xe*le+Me*fe,ye=y[4],ge=y[5],xe=y[6],Me=y[7],u[4]=ye*D+ge*G+xe*oe+Me*ae,u[5]=ye*I+ge*Y+xe*ie+Me*de,u[6]=ye*U+ge*te+xe*ne+Me*se,u[7]=ye*F+ge*$+xe*le+Me*fe,ye=y[8],ge=y[9],xe=y[10],Me=y[11],u[8]=ye*D+ge*G+xe*oe+Me*ae,u[9]=ye*I+ge*Y+xe*ie+Me*de,u[10]=ye*U+ge*te+xe*ne+Me*se,u[11]=ye*F+ge*$+xe*le+Me*fe,ye=y[12],ge=y[13],xe=y[14],Me=y[15],u[12]=ye*D+ge*G+xe*oe+Me*ae,u[13]=ye*I+ge*Y+xe*ie+Me*de,u[14]=ye*U+ge*te+xe*ne+Me*se,u[15]=ye*F+ge*$+xe*le+Me*fe,u},A.multiplyAffine=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[4],G=f[5],Y=f[6],te=f[8],$=f[9],oe=f[10],ie=f[12],ne=f[13],le=f[14],ae=y[0],de=y[1],se=y[2];return u[0]=ae*D+de*F+se*te,u[1]=ae*I+de*G+se*$,u[2]=ae*U+de*Y+se*oe,ae=y[4],de=y[5],se=y[6],u[4]=ae*D+de*F+se*te,u[5]=ae*I+de*G+se*$,u[6]=ae*U+de*Y+se*oe,ae=y[8],de=y[9],se=y[10],u[8]=ae*D+de*F+se*te,u[9]=ae*I+de*G+se*$,u[10]=ae*U+de*Y+se*oe,ae=y[12],de=y[13],se=y[14],u[12]=ae*D+de*F+se*te+ie,u[13]=ae*I+de*G+se*$+ne,u[14]=ae*U+de*Y+se*oe+le,u},A.mul=A.multiply,A.mulAffine=A.multiplyAffine,A.translate=function(u,f,y){var D=y[0],I=y[1],U=y[2],F,G,Y,te,$,oe,ie,ne,le,ae,de,se;return f===u?(u[12]=f[0]*D+f[4]*I+f[8]*U+f[12],u[13]=f[1]*D+f[5]*I+f[9]*U+f[13],u[14]=f[2]*D+f[6]*I+f[10]*U+f[14],u[15]=f[3]*D+f[7]*I+f[11]*U+f[15]):(F=f[0],G=f[1],Y=f[2],te=f[3],$=f[4],oe=f[5],ie=f[6],ne=f[7],le=f[8],ae=f[9],de=f[10],se=f[11],u[0]=F,u[1]=G,u[2]=Y,u[3]=te,u[4]=$,u[5]=oe,u[6]=ie,u[7]=ne,u[8]=le,u[9]=ae,u[10]=de,u[11]=se,u[12]=F*D+$*I+le*U+f[12],u[13]=G*D+oe*I+ae*U+f[13],u[14]=Y*D+ie*I+de*U+f[14],u[15]=te*D+ne*I+se*U+f[15]),u},A.scale=function(u,f,y){var D=y[0],I=y[1],U=y[2];return u[0]=f[0]*D,u[1]=f[1]*D,u[2]=f[2]*D,u[3]=f[3]*D,u[4]=f[4]*I,u[5]=f[5]*I,u[6]=f[6]*I,u[7]=f[7]*I,u[8]=f[8]*U,u[9]=f[9]*U,u[10]=f[10]*U,u[11]=f[11]*U,u[12]=f[12],u[13]=f[13],u[14]=f[14],u[15]=f[15],u},A.rotate=function(u,f,y,D){var I=D[0],U=D[1],F=D[2],G=Math.sqrt(I*I+U*U+F*F),Y,te,$,oe,ie,ne,le,ae,de,se,fe,ye,ge,xe,Me,Ne,We,tt,Je,st,yt,gt,Ke,nt;return Math.abs(G)<x?null:(G=1/G,I*=G,U*=G,F*=G,Y=Math.sin(y),te=Math.cos(y),$=1-te,oe=f[0],ie=f[1],ne=f[2],le=f[3],ae=f[4],de=f[5],se=f[6],fe=f[7],ye=f[8],ge=f[9],xe=f[10],Me=f[11],Ne=I*I*$+te,We=U*I*$+F*Y,tt=F*I*$-U*Y,Je=I*U*$-F*Y,st=U*U*$+te,yt=F*U*$+I*Y,gt=I*F*$+U*Y,Ke=U*F*$-I*Y,nt=F*F*$+te,u[0]=oe*Ne+ae*We+ye*tt,u[1]=ie*Ne+de*We+ge*tt,u[2]=ne*Ne+se*We+xe*tt,u[3]=le*Ne+fe*We+Me*tt,u[4]=oe*Je+ae*st+ye*yt,u[5]=ie*Je+de*st+ge*yt,u[6]=ne*Je+se*st+xe*yt,u[7]=le*Je+fe*st+Me*yt,u[8]=oe*gt+ae*Ke+ye*nt,u[9]=ie*gt+de*Ke+ge*nt,u[10]=ne*gt+se*Ke+xe*nt,u[11]=le*gt+fe*Ke+Me*nt,f!==u&&(u[12]=f[12],u[13]=f[13],u[14]=f[14],u[15]=f[15]),u)},A.rotateX=function(u,f,y){var D=Math.sin(y),I=Math.cos(y),U=f[4],F=f[5],G=f[6],Y=f[7],te=f[8],$=f[9],oe=f[10],ie=f[11];return f!==u&&(u[0]=f[0],u[1]=f[1],u[2]=f[2],u[3]=f[3],u[12]=f[12],u[13]=f[13],u[14]=f[14],u[15]=f[15]),u[4]=U*I+te*D,u[5]=F*I+$*D,u[6]=G*I+oe*D,u[7]=Y*I+ie*D,u[8]=te*I-U*D,u[9]=$*I-F*D,u[10]=oe*I-G*D,u[11]=ie*I-Y*D,u},A.rotateY=function(u,f,y){var D=Math.sin(y),I=Math.cos(y),U=f[0],F=f[1],G=f[2],Y=f[3],te=f[8],$=f[9],oe=f[10],ie=f[11];return f!==u&&(u[4]=f[4],u[5]=f[5],u[6]=f[6],u[7]=f[7],u[12]=f[12],u[13]=f[13],u[14]=f[14],u[15]=f[15]),u[0]=U*I-te*D,u[1]=F*I-$*D,u[2]=G*I-oe*D,u[3]=Y*I-ie*D,u[8]=U*D+te*I,u[9]=F*D+$*I,u[10]=G*D+oe*I,u[11]=Y*D+ie*I,u},A.rotateZ=function(u,f,y){var D=Math.sin(y),I=Math.cos(y),U=f[0],F=f[1],G=f[2],Y=f[3],te=f[4],$=f[5],oe=f[6],ie=f[7];return f!==u&&(u[8]=f[8],u[9]=f[9],u[10]=f[10],u[11]=f[11],u[12]=f[12],u[13]=f[13],u[14]=f[14],u[15]=f[15]),u[0]=U*I+te*D,u[1]=F*I+$*D,u[2]=G*I+oe*D,u[3]=Y*I+ie*D,u[4]=te*I-U*D,u[5]=$*I-F*D,u[6]=oe*I-G*D,u[7]=ie*I-Y*D,u},A.fromRotationTranslation=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=D+D,Y=I+I,te=U+U,$=D*G,oe=D*Y,ie=D*te,ne=I*Y,le=I*te,ae=U*te,de=F*G,se=F*Y,fe=F*te;return u[0]=1-(ne+ae),u[1]=oe+fe,u[2]=ie-se,u[3]=0,u[4]=oe-fe,u[5]=1-($+ae),u[6]=le+de,u[7]=0,u[8]=ie+se,u[9]=le-de,u[10]=1-($+ne),u[11]=0,u[12]=y[0],u[13]=y[1],u[14]=y[2],u[15]=1,u},A.fromQuat=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=y+y,G=D+D,Y=I+I,te=y*F,$=D*F,oe=D*G,ie=I*F,ne=I*G,le=I*Y,ae=U*F,de=U*G,se=U*Y;return u[0]=1-oe-le,u[1]=$+se,u[2]=ie-de,u[3]=0,u[4]=$-se,u[5]=1-te-le,u[6]=ne+ae,u[7]=0,u[8]=ie+de,u[9]=ne-ae,u[10]=1-te-oe,u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,u},A.frustum=function(u,f,y,D,I,U,F){var G=1/(y-f),Y=1/(I-D),te=1/(U-F);return u[0]=U*2*G,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=U*2*Y,u[6]=0,u[7]=0,u[8]=(y+f)*G,u[9]=(I+D)*Y,u[10]=(F+U)*te,u[11]=-1,u[12]=0,u[13]=0,u[14]=F*U*2*te,u[15]=0,u},A.perspective=function(u,f,y,D,I){var U=1/Math.tan(f/2),F=1/(D-I);return u[0]=U/y,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=U,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=(I+D)*F,u[11]=-1,u[12]=0,u[13]=0,u[14]=2*I*D*F,u[15]=0,u},A.ortho=function(u,f,y,D,I,U,F){var G=1/(f-y),Y=1/(D-I),te=1/(U-F);return u[0]=-2*G,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=-2*Y,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=2*te,u[11]=0,u[12]=(f+y)*G,u[13]=(I+D)*Y,u[14]=(F+U)*te,u[15]=1,u},A.lookAt=function(u,f,y,D){var I,U,F,G,Y,te,$,oe,ie,ne,le=f[0],ae=f[1],de=f[2],se=D[0],fe=D[1],ye=D[2],ge=y[0],xe=y[1],Me=y[2];return Math.abs(le-ge)<x&&Math.abs(ae-xe)<x&&Math.abs(de-Me)<x?A.identity(u):($=le-ge,oe=ae-xe,ie=de-Me,ne=1/Math.sqrt($*$+oe*oe+ie*ie),$*=ne,oe*=ne,ie*=ne,I=fe*ie-ye*oe,U=ye*$-se*ie,F=se*oe-fe*$,ne=Math.sqrt(I*I+U*U+F*F),ne?(ne=1/ne,I*=ne,U*=ne,F*=ne):(I=0,U=0,F=0),G=oe*F-ie*U,Y=ie*I-$*F,te=$*U-oe*I,ne=Math.sqrt(G*G+Y*Y+te*te),ne?(ne=1/ne,G*=ne,Y*=ne,te*=ne):(G=0,Y=0,te=0),u[0]=I,u[1]=G,u[2]=$,u[3]=0,u[4]=U,u[5]=Y,u[6]=oe,u[7]=0,u[8]=F,u[9]=te,u[10]=ie,u[11]=0,u[12]=-(I*le+U*ae+F*de),u[13]=-(G*le+Y*ae+te*de),u[14]=-($*le+oe*ae+ie*de),u[15]=1,u)},A.str=function(u){return"mat4("+u[0]+", "+u[1]+", "+u[2]+", "+u[3]+", "+u[4]+", "+u[5]+", "+u[6]+", "+u[7]+", "+u[8]+", "+u[9]+", "+u[10]+", "+u[11]+", "+u[12]+", "+u[13]+", "+u[14]+", "+u[15]+")"},A.frob=function(u){return Math.sqrt(Math.pow(u[0],2)+Math.pow(u[1],2)+Math.pow(u[2],2)+Math.pow(u[3],2)+Math.pow(u[4],2)+Math.pow(u[5],2)+Math.pow(u[6],2)+Math.pow(u[7],2)+Math.pow(u[8],2)+Math.pow(u[9],2)+Math.pow(u[10],2)+Math.pow(u[11],2)+Math.pow(u[12],2)+Math.pow(u[13],2)+Math.pow(u[14],2)+Math.pow(u[15],2))},typeof T!="undefined"&&(T.mat4=A);var R={};R.create=function(){var u=new O(4);return u[0]=0,u[1]=0,u[2]=0,u[3]=1,u},R.rotationTo=function(){var u=d.create(),f=d.fromValues(1,0,0),y=d.fromValues(0,1,0);return function(D,I,U){var F=d.dot(I,U);return F<-.999999?(d.cross(u,f,I),d.length(u)<1e-6&&d.cross(u,y,I),d.normalize(u,u),R.setAxisAngle(D,u,Math.PI),D):F>.999999?(D[0]=0,D[1]=0,D[2]=0,D[3]=1,D):(d.cross(u,I,U),D[0]=u[0],D[1]=u[1],D[2]=u[2],D[3]=1+F,R.normalize(D,D))}}(),R.setAxes=function(){var u=S.create();return function(f,y,D,I){return u[0]=D[0],u[3]=D[1],u[6]=D[2],u[1]=I[0],u[4]=I[1],u[7]=I[2],u[2]=-y[0],u[5]=-y[1],u[8]=-y[2],R.normalize(f,R.fromMat3(f,u))}}(),R.clone=v.clone,R.fromValues=v.fromValues,R.copy=v.copy,R.set=v.set,R.identity=function(u){return u[0]=0,u[1]=0,u[2]=0,u[3]=1,u},R.setAxisAngle=function(u,f,y){y=y*.5;var D=Math.sin(y);return u[0]=D*f[0],u[1]=D*f[1],u[2]=D*f[2],u[3]=Math.cos(y),u},R.add=v.add,R.multiply=function(u,f,y){var D=f[0],I=f[1],U=f[2],F=f[3],G=y[0],Y=y[1],te=y[2],$=y[3];return u[0]=D*$+F*G+I*te-U*Y,u[1]=I*$+F*Y+U*G-D*te,u[2]=U*$+F*te+D*Y-I*G,u[3]=F*$-D*G-I*Y-U*te,u},R.mul=R.multiply,R.scale=v.scale,R.rotateX=function(u,f,y){y*=.5;var D=f[0],I=f[1],U=f[2],F=f[3],G=Math.sin(y),Y=Math.cos(y);return u[0]=D*Y+F*G,u[1]=I*Y+U*G,u[2]=U*Y-I*G,u[3]=F*Y-D*G,u},R.rotateY=function(u,f,y){y*=.5;var D=f[0],I=f[1],U=f[2],F=f[3],G=Math.sin(y),Y=Math.cos(y);return u[0]=D*Y-U*G,u[1]=I*Y+F*G,u[2]=U*Y+D*G,u[3]=F*Y-I*G,u},R.rotateZ=function(u,f,y){y*=.5;var D=f[0],I=f[1],U=f[2],F=f[3],G=Math.sin(y),Y=Math.cos(y);return u[0]=D*Y+I*G,u[1]=I*Y-D*G,u[2]=U*Y+F*G,u[3]=F*Y-U*G,u},R.calculateW=function(u,f){var y=f[0],D=f[1],I=f[2];return u[0]=y,u[1]=D,u[2]=I,u[3]=Math.sqrt(Math.abs(1-y*y-D*D-I*I)),u},R.dot=v.dot,R.lerp=v.lerp,R.slerp=function(u,f,y,D){var I=f[0],U=f[1],F=f[2],G=f[3],Y=y[0],te=y[1],$=y[2],oe=y[3],ie,ne,le,ae,de;return ne=I*Y+U*te+F*$+G*oe,ne<0&&(ne=-ne,Y=-Y,te=-te,$=-$,oe=-oe),1-ne>1e-6?(ie=Math.acos(ne),le=Math.sin(ie),ae=Math.sin((1-D)*ie)/le,de=Math.sin(D*ie)/le):(ae=1-D,de=D),u[0]=ae*I+de*Y,u[1]=ae*U+de*te,u[2]=ae*F+de*$,u[3]=ae*G+de*oe,u},R.invert=function(u,f){var y=f[0],D=f[1],I=f[2],U=f[3],F=y*y+D*D+I*I+U*U,G=F?1/F:0;return u[0]=-y*G,u[1]=-D*G,u[2]=-I*G,u[3]=U*G,u},R.conjugate=function(u,f){return u[0]=-f[0],u[1]=-f[1],u[2]=-f[2],u[3]=f[3],u},R.length=v.length,R.len=R.length,R.squaredLength=v.squaredLength,R.sqrLen=R.squaredLength,R.normalize=v.normalize,R.fromMat3=function(u,f){var y=f[0]+f[4]+f[8],D;if(y>0)D=Math.sqrt(y+1),u[3]=.5*D,D=.5/D,u[0]=(f[5]-f[7])*D,u[1]=(f[6]-f[2])*D,u[2]=(f[1]-f[3])*D;else{var I=0;f[4]>f[0]&&(I=1),f[8]>f[I*3+I]&&(I=2);var U=(I+1)%3,F=(I+2)%3;D=Math.sqrt(f[I*3+I]-f[U*3+U]-f[F*3+F]+1),u[I]=.5*D,D=.5/D,u[3]=(f[U*3+F]-f[F*3+U])*D,u[U]=(f[U*3+I]+f[I*3+U])*D,u[F]=(f[F*3+I]+f[I*3+F])*D}return u},R.str=function(u){return"quat("+u[0]+", "+u[1]+", "+u[2]+", "+u[3]+")"},typeof T!="undefined"&&(T.quat=R)}(P.exports)})(this)},function(q,H,b){"use strict";var z=b(24),P=b(46),T=b(5),x=b(6),O=b(7),_=b(17),g=b(28),m=b(13),L=b(0),d=b.n(L),v=b(29),M=b(53),w=b.n(M),S=b(54),A=b(106),R=b(107),u=b(113),f=b(114),y=b(3),D=b(68),I=b(37),U=b(69),F=b(116),G=b(70),Y=b(71),te=b(72),$=b(36),oe=b(30),ie=b(23),ne=b(4),le=b(117),ae=b(50),de=b(118),se=b(119),fe=b(120),ye=b(9),ge=b(67),xe=b(49),Me=b(15),Ne=b(52),We=b(121),tt=b(126),Je=b(63),st=b(127),yt=b(128),gt=b(129),Ke=b(130),nt=b(131),Ze=b(132);d.a.util.extend(g.a.prototype,We.a),O.a.import(tt.a),O.a.import(Je.a),O.a.import(st.a),O.a.import(yt.a),O.a.import(gt.a),O.a.import(Ke.a),O.a.import(nt.a),O.a.import(Ze.a);function Ve(Ue){return!Ue||Ue==="none"}function Pe(Ue){return Ue instanceof HTMLCanvasElement||Ue instanceof HTMLImageElement||Ue instanceof Image}function He(Ue){return Ue.getZr&&Ue.setOption}var be=v.a.prototype.addToScene,Ie=v.a.prototype.removeFromScene;v.a.prototype.addToScene=function(Ue){if(be.call(this,Ue),this.__zr){var Qe=this.__zr;Ue.traverse(function(et){et.__zr=Qe,et.addAnimatorsToZr&&et.addAnimatorsToZr(Qe)})}},v.a.prototype.removeFromScene=function(Ue){Ie.call(this,Ue),Ue.traverse(function(Qe){var et=Qe.__zr;Qe.__zr=null,et&&Qe.removeAnimatorsFromZr&&Qe.removeAnimatorsFromZr(et)})},_.a.prototype.setTextureImage=function(Ue,Qe,et,dt){if(this.shader){var mt=et.getZr(),Tt=this,At;return Tt.autoUpdateTextureStatus=!1,Tt.disableTexture(Ue),Ve(Qe)||(At=Te.loadTexture(Qe,et,dt,function(Ye){Tt.enableTexture(Ue),mt&&mt.refresh()}),Tt.set(Ue,At)),At}};var Te={};Te.Renderer=P.a,Te.Node=g.a,Te.Mesh=z.a,Te.Shader=O.a,Te.Material=_.a,Te.Texture=x.a,Te.Texture2D=T.a,Te.Geometry=m.a,Te.SphereGeometry=D.a,Te.PlaneGeometry=I.a,Te.CubeGeometry=U.a,Te.AmbientLight=F.a,Te.DirectionalLight=G.a,Te.PointLight=Y.a,Te.SpotLight=te.a,Te.PerspectiveCamera=$.a,Te.OrthographicCamera=oe.a,Te.Vector2=ie.a,Te.Vector3=ne.a,Te.Vector4=le.a,Te.Quaternion=ae.a,Te.Matrix2=de.a,Te.Matrix2d=se.a,Te.Matrix3=fe.a,Te.Matrix4=ye.a,Te.Plane=ge.a,Te.Ray=xe.a,Te.BoundingBox=Me.a,Te.Frustum=Ne.a;var Re=S.a.createBlank("rgba(255,255,255,0)").image;function Ge(Ue){return Math.pow(2,Math.round(Math.log(Ue)/Math.LN2))}function Le(Ue){if((Ue.wrapS===x.a.REPEAT||Ue.wrapT===x.a.REPEAT)&&Ue.image){var Qe=Ge(Ue.width),et=Ge(Ue.height);if(Qe!==Ue.width||et!==Ue.height){var dt=document.createElement("canvas");dt.width=Qe,dt.height=et;var mt=dt.getContext("2d");mt.drawImage(Ue.image,0,0,Qe,et),Ue.image=dt}}}Te.loadTexture=function(Ue,Qe,et,dt){typeof et=="function"&&(dt=et,et={}),et=et||{};for(var mt=Object.keys(et).sort(),Tt="",At=0;At<mt.length;At++)Tt+=mt[At]+"_"+et[mt[At]]+"_";var Ye=Qe.__textureCache=Qe.__textureCache||new w.a(20);if(He(Ue)){var ft=Ue.__textureid__,pt=Ye.get(Tt+ft);if(pt)pt.texture.surface.setECharts(Ue),dt&&dt(pt.texture);else{var _t=new A.a(Ue);_t.onupdate=function(){Qe.getZr().refresh()},pt={texture:_t.getTexture()};for(var At=0;At<mt.length;At++)pt.texture[mt[At]]=et[mt[At]];ft=Ue.__textureid__||"__ecgl_ec__"+pt.texture.__uid__,Ue.__textureid__=ft,Ye.put(Tt+ft,pt),dt&&dt(pt.texture)}return pt.texture}else if(Pe(Ue)){var ft=Ue.__textureid__,pt=Ye.get(Tt+ft);if(!pt){pt={texture:new Te.Texture2D({image:Ue})};for(var At=0;At<mt.length;At++)pt.texture[mt[At]]=et[mt[At]];ft=Ue.__textureid__||"__ecgl_image__"+pt.texture.__uid__,Ue.__textureid__=ft,Ye.put(Tt+ft,pt),Le(pt.texture),dt&&dt(pt.texture)}return pt.texture}else{var pt=Ye.get(Tt+Ue);if(pt)pt.callbacks?pt.callbacks.push(dt):dt&&dt(pt.texture);else if(Ue.match(/.hdr$|^data:application\/octet-stream/)){pt={callbacks:[dt]};var Ot=S.a.loadTexture(Ue,{exposure:et.exposure,fileType:"hdr"},function(){Ot.dirty(),pt.callbacks.forEach(function(zt){zt&&zt(Ot)}),pt.callbacks=null});pt.texture=Ot,Ye.put(Tt+Ue,pt)}else{for(var Ot=new Te.Texture2D({image:new Image}),At=0;At<mt.length;At++)Ot[mt[At]]=et[mt[At]];pt={texture:Ot,callbacks:[dt]};var Wt=Ot.image;Wt.onload=function(){Ot.image=Wt,Le(Ot),Ot.dirty(),pt.callbacks.forEach(function($t){$t&&$t(Ot)}),pt.callbacks=null},Wt.src=Ue,Ot.image=Re,Ye.put(Tt+Ue,pt)}return pt.texture}},Te.createAmbientCubemap=function(Ue,Qe,et,dt){Ue=Ue||{};var mt=Ue.texture,Tt=y.a.firstNotNull(Ue.exposure,1),At=new R.a({intensity:y.a.firstNotNull(Ue.specularIntensity,1)}),Ye=new u.a({intensity:y.a.firstNotNull(Ue.diffuseIntensity,1),coefficients:[.844,.712,.691,-.037,.083,.167,.343,.288,.299,-.041,-.021,-.009,-.003,-.041,-.064,-.011,-.007,-.004,-.031,.034,.081,-.06,-.049,-.06,.046,.056,.05]});return At.cubemap=Te.loadTexture(mt,et,{exposure:Tt},function(){At.cubemap.flipY=!1,At.prefilter(Qe,32),Ye.coefficients=f.a.projectEnvironmentMap(Qe,At.cubemap,{lod:1}),dt&&dt()}),{specular:At,diffuse:Ye}},Te.createBlankTexture=S.a.createBlank,Te.isImage=Pe,Te.additiveBlend=function(Ue){Ue.blendEquation(Ue.FUNC_ADD),Ue.blendFunc(Ue.SRC_ALPHA,Ue.ONE)},Te.parseColor=function(Ue,Qe){return Ue instanceof Array?(Qe||(Qe=[]),Qe[0]=Ue[0],Qe[1]=Ue[1],Qe[2]=Ue[2],Ue.length>3?Qe[3]=Ue[3]:Qe[3]=1,Qe):(Qe=d.a.color.parse(Ue||"#000",Qe)||[0,0,0,0],Qe[0]/=255,Qe[1]/=255,Qe[2]/=255,Qe)},Te.directionFromAlphaBeta=function(Ue,Qe){var et=Ue/180*Math.PI+Math.PI/2,dt=-Qe/180*Math.PI+Math.PI/2,mt=[],Tt=Math.sin(et);return mt[0]=Tt*Math.cos(dt),mt[1]=-Math.cos(et),mt[2]=Tt*Math.sin(dt),mt},Te.getShadowResolution=function(Ue){var Qe=1024;switch(Ue){case"low":Qe=512;break;case"medium":break;case"high":Qe=2048;break;case"ultra":Qe=4096;break}return Qe},Te.COMMON_SHADERS=["lambert","color","realistic","hatching"],Te.createShader=function(Ue){var Qe=O.a.source(Ue+".vertex"),et=O.a.source(Ue+".fragment");Qe||console.error("Vertex shader of '%s' not exits",Ue),et||console.error("Fragment shader of '%s' not exits",Ue);var dt=new O.a(Qe,et);return dt.name=Ue,dt},Te.createMaterial=function(Ue,Qe){Qe instanceof Array||(Qe=[Qe]);var et=Te.createShader(Ue),dt=new _.a({shader:et});return Qe.forEach(function(mt){typeof mt=="string"&&dt.define(mt)}),dt},Te.setMaterialFromModel=function(Ue,Qe,et,dt){Qe.autoUpdateTextureStatus=!1;var mt=et.getModel(Ue+"Material"),Tt=mt.get("detailTexture"),At=y.a.firstNotNull(mt.get("textureTiling"),1),Ye=y.a.firstNotNull(mt.get("textureOffset"),0);typeof At=="number"&&(At=[At,At]),typeof Ye=="number"&&(Ye=[Ye,Ye]);var ft=At[0]>1||At[1]>1?Te.Texture.REPEAT:Te.Texture.CLAMP_TO_EDGE,pt={anisotropic:8,wrapS:ft,wrapT:ft};if(Ue==="realistic"){var _t=mt.get("roughness"),Ot=mt.get("metalness");Ot!=null?isNaN(Ot)&&(Qe.setTextureImage("metalnessMap",Ot,dt,pt),Ot=y.a.firstNotNull(mt.get("metalnessAdjust"),.5)):Ot=0,_t!=null?isNaN(_t)&&(Qe.setTextureImage("roughnessMap",_t,dt,pt),_t=y.a.firstNotNull(mt.get("roughnessAdjust"),.5)):_t=.5;var Wt=mt.get("normalTexture");Qe.setTextureImage("detailMap",Tt,dt,pt),Qe.setTextureImage("normalMap",Wt,dt,pt),Qe.set({roughness:_t,metalness:Ot,detailUvRepeat:At,detailUvOffset:Ye})}else if(Ue==="lambert")Qe.setTextureImage("detailMap",Tt,dt,pt),Qe.set({detailUvRepeat:At,detailUvOffset:Ye});else if(Ue==="color")Qe.setTextureImage("detailMap",Tt,dt,pt),Qe.set({detailUvRepeat:At,detailUvOffset:Ye});else if(Ue==="hatching"){var jt=mt.get("hatchingTextures")||[];jt.length<6&&console.error("Invalid hatchingTextures.");for(var zt=0;zt<6;zt++)Qe.setTextureImage("hatch"+(zt+1),jt[zt],dt,{anisotropic:8,wrapS:Te.Texture.REPEAT,wrapT:Te.Texture.REPEAT});Qe.set({detailUvRepeat:At,detailUvOffset:Ye})}},Te.updateVertexAnimation=function(Ue,Qe,et,dt){var mt=dt.get("animation"),Tt=dt.get("animationDurationUpdate"),At=dt.get("animationEasingUpdate"),Ye=et.shadowDepthMaterial;if(mt&&Qe&&Tt>0&&Qe.geometry.vertexCount===et.geometry.vertexCount){et.material.define("vertex","VERTEX_ANIMATION"),et.ignorePreZ=!0,Ye&&Ye.define("vertex","VERTEX_ANIMATION");for(var ft=0;ft<Ue.length;ft++)et.geometry.attributes[Ue[ft][0]].value=Qe.geometry.attributes[Ue[ft][1]].value;et.geometry.dirty(),et.__percent=0,et.material.set("percent",0),et.stopAnimation(),et.animate().when(Tt,{__percent:1}).during(function(){et.material.set("percent",et.__percent),Ye&&Ye.set("percent",et.__percent)}).done(function(){et.ignorePreZ=!1,et.material.undefine("vertex","VERTEX_ANIMATION"),Ye&&Ye.undefine("vertex","VERTEX_ANIMATION")}).start(At)}else et.material.undefine("vertex","VERTEX_ANIMATION"),Ye&&Ye.undefine("vertex","VERTEX_ANIMATION")},H.a=Te},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T={firstNotNull:function(){for(var x=0,O=arguments.length;x<O;x++)if(arguments[x]!=null)return arguments[x]},queryDataIndex:function(x,O){if(O.dataIndexInside!=null)return O.dataIndexInside;if(O.dataIndex!=null)return P.a.util.isArray(O.dataIndex)?P.a.util.map(O.dataIndex,function(_){return x.indexOfRawIndex(_)}):x.indexOfRawIndex(O.dataIndex);if(O.name!=null)return P.a.util.isArray(O.name)?P.a.util.map(O.name,function(_){return x.indexOfName(_)}):x.indexOfName(O.name)}};H.a=T},function(q,H,b){"use strict";var z=b(1),P=b.n(z),T=P.a.vec3,x=function(v,M,w){v=v||0,M=M||0,w=w||0,this.array=T.fromValues(v,M,w),this._dirty=!0};x.prototype={constructor:x,add:function(v){return T.add(this.array,this.array,v.array),this._dirty=!0,this},set:function(v,M,w){return this.array[0]=v,this.array[1]=M,this.array[2]=w,this._dirty=!0,this},setArray:function(v){return this.array[0]=v[0],this.array[1]=v[1],this.array[2]=v[2],this._dirty=!0,this},clone:function(){return new x(this.x,this.y,this.z)},copy:function(v){return T.copy(this.array,v.array),this._dirty=!0,this},cross:function(v,M){return T.cross(this.array,v.array,M.array),this._dirty=!0,this},dist:function(v){return T.dist(this.array,v.array)},distance:function(v){return T.distance(this.array,v.array)},div:function(v){return T.div(this.array,this.array,v.array),this._dirty=!0,this},divide:function(v){return T.divide(this.array,this.array,v.array),this._dirty=!0,this},dot:function(v){return T.dot(this.array,v.array)},len:function(){return T.len(this.array)},length:function(){return T.length(this.array)},lerp:function(v,M,w){return T.lerp(this.array,v.array,M.array,w),this._dirty=!0,this},min:function(v){return T.min(this.array,this.array,v.array),this._dirty=!0,this},max:function(v){return T.max(this.array,this.array,v.array),this._dirty=!0,this},mul:function(v){return T.mul(this.array,this.array,v.array),this._dirty=!0,this},multiply:function(v){return T.multiply(this.array,this.array,v.array),this._dirty=!0,this},negate:function(){return T.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return T.normalize(this.array,this.array),this._dirty=!0,this},random:function(v){return T.random(this.array,v),this._dirty=!0,this},scale:function(v){return T.scale(this.array,this.array,v),this._dirty=!0,this},scaleAndAdd:function(v,M){return T.scaleAndAdd(this.array,this.array,v.array,M),this._dirty=!0,this},sqrDist:function(v){return T.sqrDist(this.array,v.array)},squaredDistance:function(v){return T.squaredDistance(this.array,v.array)},sqrLen:function(){return T.sqrLen(this.array)},squaredLength:function(){return T.squaredLength(this.array)},sub:function(v){return T.sub(this.array,this.array,v.array),this._dirty=!0,this},subtract:function(v){return T.subtract(this.array,this.array,v.array),this._dirty=!0,this},transformMat3:function(v){return T.transformMat3(this.array,this.array,v.array),this._dirty=!0,this},transformMat4:function(v){return T.transformMat4(this.array,this.array,v.array),this._dirty=!0,this},transformQuat:function(v){return T.transformQuat(this.array,this.array,v.array),this._dirty=!0,this},applyProjection:function(v){var M=this.array;if(v=v.array,v[15]===0){var w=-1/M[2];M[0]=v[0]*M[0]*w,M[1]=v[5]*M[1]*w,M[2]=(v[10]*M[2]+v[14])*w}else M[0]=v[0]*M[0]+v[12],M[1]=v[5]*M[1]+v[13],M[2]=v[10]*M[2]+v[14];return this._dirty=!0,this},eulerFromQuat:function(v,M){x.eulerFromQuat(this,v,M)},eulerFromMat3:function(v,M){x.eulerFromMat3(this,v,M)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var O=Object.defineProperty;if(O){var _=x.prototype;O(_,"x",{get:function(){return this.array[0]},set:function(v){this.array[0]=v,this._dirty=!0}}),O(_,"y",{get:function(){return this.array[1]},set:function(v){this.array[1]=v,this._dirty=!0}}),O(_,"z",{get:function(){return this.array[2]},set:function(v){this.array[2]=v,this._dirty=!0}})}x.add=function(v,M,w){return T.add(v.array,M.array,w.array),v._dirty=!0,v},x.set=function(v,M,w,S){T.set(v.array,M,w,S),v._dirty=!0},x.copy=function(v,M){return T.copy(v.array,M.array),v._dirty=!0,v},x.cross=function(v,M,w){return T.cross(v.array,M.array,w.array),v._dirty=!0,v},x.dist=function(v,M){return T.distance(v.array,M.array)},x.distance=x.dist,x.div=function(v,M,w){return T.divide(v.array,M.array,w.array),v._dirty=!0,v},x.divide=x.div,x.dot=function(v,M){return T.dot(v.array,M.array)},x.len=function(v){return T.length(v.array)},x.lerp=function(v,M,w,S){return T.lerp(v.array,M.array,w.array,S),v._dirty=!0,v},x.min=function(v,M,w){return T.min(v.array,M.array,w.array),v._dirty=!0,v},x.max=function(v,M,w){return T.max(v.array,M.array,w.array),v._dirty=!0,v},x.mul=function(v,M,w){return T.multiply(v.array,M.array,w.array),v._dirty=!0,v},x.multiply=x.mul,x.negate=function(v,M){return T.negate(v.array,M.array),v._dirty=!0,v},x.normalize=function(v,M){return T.normalize(v.array,M.array),v._dirty=!0,v},x.random=function(v,M){return T.random(v.array,M),v._dirty=!0,v},x.scale=function(v,M,w){return T.scale(v.array,M.array,w),v._dirty=!0,v},x.scaleAndAdd=function(v,M,w,S){return T.scaleAndAdd(v.array,M.array,w.array,S),v._dirty=!0,v},x.sqrDist=function(v,M){return T.sqrDist(v.array,M.array)},x.squaredDistance=x.sqrDist,x.sqrLen=function(v){return T.sqrLen(v.array)},x.squaredLength=x.sqrLen,x.sub=function(v,M,w){return T.subtract(v.array,M.array,w.array),v._dirty=!0,v},x.subtract=x.sub,x.transformMat3=function(v,M,w){return T.transformMat3(v.array,M.array,w.array),v._dirty=!0,v},x.transformMat4=function(v,M,w){return T.transformMat4(v.array,M.array,w.array),v._dirty=!0,v},x.transformQuat=function(v,M,w){return T.transformQuat(v.array,M.array,w.array),v._dirty=!0,v};function g(v,M,w){return v<M?M:v>w?w:v}var m=Math.atan2,L=Math.asin,d=Math.abs;x.eulerFromQuat=function(v,M,F){v._dirty=!0,M=M.array;var S=v.array,A=M[0],R=M[1],u=M[2],f=M[3],y=A*A,D=R*R,I=u*u,U=f*f,F=(F||"XYZ").toUpperCase();switch(F){case"XYZ":S[0]=m(2*(A*f-R*u),U-y-D+I),S[1]=L(g(2*(A*u+R*f),-1,1)),S[2]=m(2*(u*f-A*R),U+y-D-I);break;case"YXZ":S[0]=L(g(2*(A*f-R*u),-1,1)),S[1]=m(2*(A*u+R*f),U-y-D+I),S[2]=m(2*(A*R+u*f),U-y+D-I);break;case"ZXY":S[0]=L(g(2*(A*f+R*u),-1,1)),S[1]=m(2*(R*f-u*A),U-y-D+I),S[2]=m(2*(u*f-A*R),U-y+D-I);break;case"ZYX":S[0]=m(2*(A*f+u*R),U-y-D+I),S[1]=L(g(2*(R*f-A*u),-1,1)),S[2]=m(2*(A*R+u*f),U+y-D-I);break;case"YZX":S[0]=m(2*(A*f-u*R),U-y+D-I),S[1]=m(2*(R*f-A*u),U+y-D-I),S[2]=L(g(2*(A*R+u*f),-1,1));break;case"XZY":S[0]=m(2*(A*f+R*u),U-y+D-I),S[1]=m(2*(A*u+R*f),U+y-D-I),S[2]=L(g(2*(u*f-A*R),-1,1));break;default:console.warn("Unkown order: "+F)}return v},x.eulerFromMat3=function(v,M,Y){var S=M.array,A=S[0],R=S[3],u=S[6],f=S[1],y=S[4],D=S[7],I=S[2],U=S[5],F=S[8],G=v.array,Y=(Y||"XYZ").toUpperCase();switch(Y){case"XYZ":G[1]=L(g(u,-1,1)),d(u)<.99999?(G[0]=m(-D,F),G[2]=m(-R,A)):(G[0]=m(U,y),G[2]=0);break;case"YXZ":G[0]=L(-g(D,-1,1)),d(D)<.99999?(G[1]=m(u,F),G[2]=m(f,y)):(G[1]=m(-I,A),G[2]=0);break;case"ZXY":G[0]=L(g(U,-1,1)),d(U)<.99999?(G[1]=m(-I,F),G[2]=m(-R,y)):(G[1]=0,G[2]=m(f,A));break;case"ZYX":G[1]=L(-g(I,-1,1)),d(I)<.99999?(G[0]=m(U,F),G[2]=m(f,A)):(G[0]=0,G[2]=m(-R,y));break;case"YZX":G[2]=L(g(f,-1,1)),d(f)<.99999?(G[0]=m(-D,y),G[1]=m(-I,A)):(G[0]=0,G[1]=m(u,F));break;case"XZY":G[2]=L(-g(R,-1,1)),d(R)<.99999?(G[0]=m(U,y),G[1]=m(u,A)):(G[0]=m(-D,F),G[1]=0);break;default:console.warn("Unkown order: "+Y)}return v._dirty=!0,v},x.POSITIVE_X=new x(1,0,0),x.NEGATIVE_X=new x(-1,0,0),x.POSITIVE_Y=new x(0,1,0),x.NEGATIVE_Y=new x(0,-1,0),x.POSITIVE_Z=new x(0,0,1),x.NEGATIVE_Z=new x(0,0,-1),x.UP=new x(0,1,0),x.ZERO=new x(0,0,0),H.a=x},function(q,H,b){"use strict";var z=b(6),P=b(11),T=b(66),x=T.a.isPowerOfTwo,O=z.a.extend(function(){return{image:null,pixels:null,mipmaps:[]}},{update:function(_){var g=_.gl;g.bindTexture(g.TEXTURE_2D,this._cache.get("webgl_texture")),this.updateCommon(_);var m=this.format,L=this.type;g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_S,this.getAvailableWrapS()),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_T,this.getAvailableWrapT()),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var d=_.getGLExtension("EXT_texture_filter_anisotropic");if(d&&this.anisotropic>1&&g.texParameterf(g.TEXTURE_2D,d.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),L===36193){var v=_.getGLExtension("OES_texture_half_float");v||(L=P.a.FLOAT)}if(this.mipmaps.length)for(var M=this.width,w=this.height,S=0;S<this.mipmaps.length;S++){var A=this.mipmaps[S];this._updateTextureData(g,A,S,M,w,m,L),M/=2,w/=2}else this._updateTextureData(g,this,0,this.width,this.height,m,L),this.useMipmap&&!this.NPOT&&g.generateMipmap(g.TEXTURE_2D);g.bindTexture(g.TEXTURE_2D,null)},_updateTextureData:function(_,g,m,L,d,v,M){g.image?_.texImage2D(_.TEXTURE_2D,m,v,v,M,g.image):v<=z.a.COMPRESSED_RGBA_S3TC_DXT5_EXT&&v>=z.a.COMPRESSED_RGB_S3TC_DXT1_EXT?_.compressedTexImage2D(_.TEXTURE_2D,m,v,L,d,0,g.pixels):_.texImage2D(_.TEXTURE_2D,m,v,L,d,0,v,M,g.pixels)},generateMipmap:function(_){var g=_.gl;this.useMipmap&&!this.NPOT&&(g.bindTexture(g.TEXTURE_2D,this._cache.get("webgl_texture")),g.generateMipmap(g.TEXTURE_2D))},isPowerOfTwo:function(){var _,g;return this.image?(_=this.image.width,g=this.image.height):(_=this.width,g=this.height),x(_)&&x(g)},isRenderable:function(){return this.image?this.image.nodeName==="CANVAS"||this.image.nodeName==="VIDEO"||this.image.complete:!!(this.width&&this.height)},bind:function(_){_.gl.bindTexture(_.gl.TEXTURE_2D,this.getWebGLTexture(_))},unbind:function(_){_.gl.bindTexture(_.gl.TEXTURE_2D,null)},load:function(_,g){var m=new Image;g&&(m.crossOrigin=g);var L=this;return m.onload=function(){L.dirty(),L.trigger("success",L),m.onload=null},m.onerror=function(){L.trigger("error",L),m.onerror=null},m.src=_,this.image=m,this}});Object.defineProperty(O.prototype,"width",{get:function(){return this.image?this.image.width:this._width},set:function(_){this.image?console.warn("Texture from image can't set width"):(this._width!==_&&this.dirty(),this._width=_)}}),Object.defineProperty(O.prototype,"height",{get:function(){return this.image?this.image.height:this._height},set:function(_){this.image?console.warn("Texture from image can't set height"):(this._height!==_&&this.dirty(),this._height=_)}}),H.a=O},function(q,H,b){"use strict";var z=b(8),P=b(11),T=b(48),x=z.a.extend({width:512,height:512,type:P.a.UNSIGNED_BYTE,format:P.a.RGBA,wrapS:P.a.REPEAT,wrapT:P.a.REPEAT,minFilter:P.a.LINEAR_MIPMAP_LINEAR,magFilter:P.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,sRGB:!0,unpackAlignment:4,premultiplyAlpha:!1,dynamic:!1,NPOT:!1},function(){this._cache=new T.a},{getWebGLTexture:function(O){var _=O.gl,g=this._cache;return g.use(O.__uid__),g.miss("webgl_texture")&&g.put("webgl_texture",_.createTexture()),this.dynamic?this.update(O):g.isDirty()&&(this.update(O),g.fresh()),g.get("webgl_texture")},bind:function(){},unbind:function(){},dirty:function(){this._cache&&this._cache.dirtyAll()},update:function(O){},updateCommon:function(O){var _=O.gl;_.pixelStorei(_.UNPACK_FLIP_Y_WEBGL,this.flipY),_.pixelStorei(_.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),_.pixelStorei(_.UNPACK_ALIGNMENT,this.unpackAlignment),this.format===P.a.DEPTH_COMPONENT&&(this.useMipmap=!1);var g=O.getGLExtension("EXT_sRGB");this.format===x.SRGB&&!g&&(this.format=x.RGB),this.format===x.SRGB_ALPHA&&!g&&(this.format=x.RGBA),this.NPOT=!this.isPowerOfTwo()},getAvailableWrapS:function(){return this.NPOT?P.a.CLAMP_TO_EDGE:this.wrapS},getAvailableWrapT:function(){return this.NPOT?P.a.CLAMP_TO_EDGE:this.wrapT},getAvailableMinFilter:function(){var O=this.minFilter;return this.NPOT||!this.useMipmap?O==P.a.NEAREST_MIPMAP_NEAREST||O==P.a.NEAREST_MIPMAP_LINEAR?P.a.NEAREST:O==P.a.LINEAR_MIPMAP_LINEAR||O==P.a.LINEAR_MIPMAP_NEAREST?P.a.LINEAR:O:O},getAvailableMagFilter:function(){return this.magFilter},nextHighestPowerOfTwo:function(O){--O;for(var _=1;_<32;_<<=1)O=O|O>>_;return O+1},dispose:function(O){var _=this._cache;_.use(O.__uid__);var g=_.get("webgl_texture");g&&O.gl.deleteTexture(g),_.deleteContext(O.__uid__)},isRenderable:function(){},isPowerOfTwo:function(){}});Object.defineProperty(x.prototype,"width",{get:function(){return this._width},set:function(O){this._width=O}}),Object.defineProperty(x.prototype,"height",{get:function(){return this._height},set:function(O){this._height=O}}),x.BYTE=P.a.BYTE,x.UNSIGNED_BYTE=P.a.UNSIGNED_BYTE,x.SHORT=P.a.SHORT,x.UNSIGNED_SHORT=P.a.UNSIGNED_SHORT,x.INT=P.a.INT,x.UNSIGNED_INT=P.a.UNSIGNED_INT,x.FLOAT=P.a.FLOAT,x.HALF_FLOAT=36193,x.UNSIGNED_INT_24_8_WEBGL=34042,x.DEPTH_COMPONENT=P.a.DEPTH_COMPONENT,x.DEPTH_STENCIL=P.a.DEPTH_STENCIL,x.ALPHA=P.a.ALPHA,x.RGB=P.a.RGB,x.RGBA=P.a.RGBA,x.LUMINANCE=P.a.LUMINANCE,x.LUMINANCE_ALPHA=P.a.LUMINANCE_ALPHA,x.SRGB=35904,x.SRGB_ALPHA=35906,x.COMPRESSED_RGB_S3TC_DXT1_EXT=33776,x.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777,x.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778,x.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779,x.NEAREST=P.a.NEAREST,x.LINEAR=P.a.LINEAR,x.NEAREST_MIPMAP_NEAREST=P.a.NEAREST_MIPMAP_NEAREST,x.LINEAR_MIPMAP_NEAREST=P.a.LINEAR_MIPMAP_NEAREST,x.NEAREST_MIPMAP_LINEAR=P.a.NEAREST_MIPMAP_LINEAR,x.LINEAR_MIPMAP_LINEAR=P.a.LINEAR_MIPMAP_LINEAR,x.REPEAT=P.a.REPEAT,x.CLAMP_TO_EDGE=P.a.CLAMP_TO_EDGE,x.MIRRORED_REPEAT=P.a.MIRRORED_REPEAT,H.a=x},function(q,H,b){"use strict";var z=b(21),P=b(18),T=b(1),x=b.n(T),O=x.a.mat2,_=x.a.mat3,g=x.a.mat4,m=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\w\,]+)?(\[.*?\])?\s*(:\s*([\S\s]+?))?;/g,L=/attribute\s+(float|int|vec2|vec3|vec4)\s+(\w*)\s*(:\s*(\w+))?;/g,d=/#define\s+(\w+)?(\s+[\w-.]+)?\s*;?\s*\n/g,v={bool:"1i",int:"1i",sampler2D:"t",samplerCube:"t",float:"1f",vec2:"2f",vec3:"3f",vec4:"4f",ivec2:"2i",ivec3:"3i",ivec4:"4i",mat2:"m2",mat3:"m3",mat4:"m4"},M={bool:function(){return!0},int:function(){return 0},float:function(){return 0},sampler2D:function(){return null},samplerCube:function(){return null},vec2:function(){return[0,0]},vec3:function(){return[0,0,0]},vec4:function(){return[0,0,0,0]},ivec2:function(){return[0,0]},ivec3:function(){return[0,0,0]},ivec4:function(){return[0,0,0,0]},mat2:function(){return O.create()},mat3:function(){return _.create()},mat4:function(){return g.create()},array:function(){return[]}},w=["POSITION","NORMAL","BINORMAL","TANGENT","TEXCOORD","TEXCOORD_0","TEXCOORD_1","COLOR","JOINT","WEIGHT"],S=["SKIN_MATRIX","VIEWPORT_SIZE","VIEWPORT","DEVICEPIXELRATIO","WINDOW_SIZE","NEAR","FAR","TIME"],A=["WORLD","VIEW","PROJECTION","WORLDVIEW","VIEWPROJECTION","WORLDVIEWPROJECTION","WORLDINVERSE","VIEWINVERSE","PROJECTIONINVERSE","WORLDVIEWINVERSE","VIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSE","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","WORLDINVERSETRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","WORLDVIEWINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE"],R={},u={};function f(U,F){var G="vertex:"+U+"fragment:"+F;if(R[G])return R[G];var Y=z.a.genGUID();return R[G]=Y,u[Y]={vertex:U,fragment:F},Y}function y(U,F){typeof U=="object"&&(F=U.fragment,U=U.vertex),this._shaderID=f(U,F),this._vertexCode=y.parseImport(U),this._fragmentCode=y.parseImport(F),this.attributeSemantics={},this.matrixSemantics={},this.uniformSemantics={},this.matrixSemanticKeys=[],this.uniformTemplates={},this.attributes={},this.textures={},this.vertexDefines={},this.fragmentDefines={},this._parseAttributes(),this._parseUniforms(),this._parseDefines()}y.prototype={constructor:y,createUniforms:function(){var U={};for(var F in this.uniformTemplates){var G=this.uniformTemplates[F];U[F]={type:G.type,value:G.value()}}return U},_parseImport:function(){this._vertexCode=y.parseImport(this.vertex),this._fragmentCode=y.parseImport(this.fragment)},_parseUniforms:function(){var U={},F=this,G="vertex";this._uniformList=[],this._vertexCode=this._vertexCode.replace(m,Y),G="fragment",this._fragmentCode=this._fragmentCode.replace(m,Y),F.matrixSemanticKeys=Object.keys(this.matrixSemantics);function Y(te,$,oe,ie,ne,le){if($&&oe){var ae=v[$],de=!0,se;if(ae){if(F._uniformList.push(oe),($==="sampler2D"||$==="samplerCube")&&(F.textures[oe]={shaderType:G,type:$}),ie&&(ae+="v"),le)if(w.indexOf(le)>=0)F.attributeSemantics[le]={symbol:oe,type:ae},de=!1;else if(A.indexOf(le)>=0){var fe=!1,ye=le;le.match(/TRANSPOSE$/)&&(fe=!0,ye=le.slice(0,-9)),F.matrixSemantics[le]={symbol:oe,type:ae,isTranspose:fe,semanticNoTranspose:ye},de=!1}else if(S.indexOf(le)>=0)F.uniformSemantics[le]={symbol:oe,type:ae},de=!1;else if(le==="unconfigurable")de=!1;else if(se=F._parseDefaultValue($,le),se)le="";else throw new Error('Unkown semantic "'+le+'"');de&&(U[oe]={type:ae,value:ie?M.array:se||M[$],semantic:le||null})}return["uniform",$,oe,ie].join(" ")+`;
`}}this.uniformTemplates=U},_parseDefaultValue:function(U,F){var G=/\[\s*(.*)\s*\]/;if(U==="vec2"||U==="vec3"||U==="vec4"){var Y=G.exec(F)[1];if(Y){var te=Y.split(/\s*,\s*/);return function(){return new P.a.Float32Array(te)}}else return}else{if(U==="bool")return function(){return F.toLowerCase()==="true"};if(U==="float")return function(){return parseFloat(F)};if(U==="int")return function(){return parseInt(F)}}},_parseAttributes:function(){var U={},F=this;this._vertexCode=this._vertexCode.replace(L,G);function G(Y,te,$,oe,ie){if(te&&$){var ne=1;switch(te){case"vec4":ne=4;break;case"vec3":ne=3;break;case"vec2":ne=2;break;case"float":ne=1;break}if(U[$]={type:"float",size:ne,semantic:ie||null},ie){if(w.indexOf(ie)<0)throw new Error('Unkown semantic "'+ie+'"');F.attributeSemantics[ie]={symbol:$,type:te}}}return["attribute",te,$].join(" ")+`;
`}this.attributes=U},_parseDefines:function(){var U=this,F="vertex";this._vertexCode=this._vertexCode.replace(d,G),F="fragment",this._fragmentCode=this._fragmentCode.replace(d,G);function G(Y,te,$){var oe=F==="vertex"?U.vertexDefines:U.fragmentDefines;return oe[te]||($=="false"?oe[te]=!1:$=="true"?oe[te]=!0:oe[te]=$?isNaN(parseFloat($))?$.trim():parseFloat($):null),""}},clone:function(){var U=u[this._shaderID],F=new y(U.vertex,U.fragment);return F}},Object.defineProperty&&(Object.defineProperty(y.prototype,"shaderID",{get:function(){return this._shaderID}}),Object.defineProperty(y.prototype,"vertex",{get:function(){return this._vertexCode}}),Object.defineProperty(y.prototype,"fragment",{get:function(){return this._fragmentCode}}),Object.defineProperty(y.prototype,"uniforms",{get:function(){return this._uniformList}}));var D=/(@import)\s*([0-9a-zA-Z_\-\.]*)/g;y.parseImport=function(U){return U=U.replace(D,function(te,G,Y){var te=y.source(Y);return te?y.parseImport(te):(console.error('Shader chunk "'+Y+'" not existed in library'),"")}),U};var I=/(@export)\s*([0-9a-zA-Z_\-\.]*)\s*\n([\s\S]*?)@end/g;y.import=function(U){U.replace(I,function(F,G,Y,$){var $=$.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g,"");if($){for(var oe=Y.split("."),ie=y.codes,ne=0,le;ne<oe.length-1;)le=oe[ne++],ie[le]||(ie[le]={}),ie=ie[le];le=oe[ne],ie[le]=$}return $})},y.codes={},y.source=function(U){for(var F=U.split("."),G=y.codes,Y=0;G&&Y<F.length;){var te=F[Y++];G=G[te]}return typeof G!="string"?(console.error('Shader "'+U+'" not existed in library'),""):G},H.a=y},function(q,H,b){"use strict";var z=b(91),P=b(47),T=b(21),x=function(){this.__uid__=T.a.genGUID()};x.__initializers__=[function(O){T.a.extend(this,O)}],T.a.extend(x,z.a),T.a.extend(x.prototype,P.a),H.a=x},function(q,H,b){"use strict";var z=b(1),P=b.n(z),T=b(4),x=P.a.mat4,O=P.a.vec3,_=P.a.mat3,g=P.a.quat,m=function(){this._axisX=new T.a,this._axisY=new T.a,this._axisZ=new T.a,this.array=x.create(),this._dirty=!0};m.prototype={constructor:m,setArray:function(v){for(var M=0;M<this.array.length;M++)this.array[M]=v[M];return this._dirty=!0,this},adjoint:function(){return x.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new m().copy(this)},copy:function(v){return x.copy(this.array,v.array),this._dirty=!0,this},determinant:function(){return x.determinant(this.array)},fromQuat:function(v){return x.fromQuat(this.array,v.array),this._dirty=!0,this},fromRotationTranslation:function(v,M){return x.fromRotationTranslation(this.array,v.array,M.array),this._dirty=!0,this},fromMat2d:function(v){return m.fromMat2d(this,v),this},frustum:function(v,M,w,S,A,R){return x.frustum(this.array,v,M,w,S,A,R),this._dirty=!0,this},identity:function(){return x.identity(this.array),this._dirty=!0,this},invert:function(){return x.invert(this.array,this.array),this._dirty=!0,this},lookAt:function(v,M,w){return x.lookAt(this.array,v.array,M.array,w.array),this._dirty=!0,this},mul:function(v){return x.mul(this.array,this.array,v.array),this._dirty=!0,this},mulLeft:function(v){return x.mul(this.array,v.array,this.array),this._dirty=!0,this},multiply:function(v){return x.multiply(this.array,this.array,v.array),this._dirty=!0,this},multiplyLeft:function(v){return x.multiply(this.array,v.array,this.array),this._dirty=!0,this},ortho:function(v,M,w,S,A,R){return x.ortho(this.array,v,M,w,S,A,R),this._dirty=!0,this},perspective:function(v,M,w,S){return x.perspective(this.array,v,M,w,S),this._dirty=!0,this},rotate:function(v,M){return x.rotate(this.array,this.array,v,M.array),this._dirty=!0,this},rotateX:function(v){return x.rotateX(this.array,this.array,v),this._dirty=!0,this},rotateY:function(v){return x.rotateY(this.array,this.array,v),this._dirty=!0,this},rotateZ:function(v){return x.rotateZ(this.array,this.array,v),this._dirty=!0,this},scale:function(v){return x.scale(this.array,this.array,v.array),this._dirty=!0,this},translate:function(v){return x.translate(this.array,this.array,v.array),this._dirty=!0,this},transpose:function(){return x.transpose(this.array,this.array),this._dirty=!0,this},decomposeMatrix:function(){var v=O.create(),M=O.create(),w=O.create(),S=_.create();return function(A,R,u){var f=this.array;O.set(v,f[0],f[1],f[2]),O.set(M,f[4],f[5],f[6]),O.set(w,f[8],f[9],f[10]);var y=O.length(v),D=O.length(M),I=O.length(w),U=this.determinant();U<0&&(y=-y),A&&A.set(y,D,I),u.set(f[12],f[13],f[14]),_.fromMat4(S,f),S[0]/=y,S[1]/=y,S[2]/=y,S[3]/=D,S[4]/=D,S[5]/=D,S[6]/=I,S[7]/=I,S[8]/=I,g.fromMat3(R.array,S),g.normalize(R.array,R.array),R._dirty=!0,u._dirty=!0}}(),toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var L=Object.defineProperty;if(L){var d=m.prototype;L(d,"z",{get:function(){var v=this.array;return this._axisZ.set(v[8],v[9],v[10]),this._axisZ},set:function(v){var M=this.array;v=v.array,M[8]=v[0],M[9]=v[1],M[10]=v[2],this._dirty=!0}}),L(d,"y",{get:function(){var v=this.array;return this._axisY.set(v[4],v[5],v[6]),this._axisY},set:function(v){var M=this.array;v=v.array,M[4]=v[0],M[5]=v[1],M[6]=v[2],this._dirty=!0}}),L(d,"x",{get:function(){var v=this.array;return this._axisX.set(v[0],v[1],v[2]),this._axisX},set:function(v){var M=this.array;v=v.array,M[0]=v[0],M[1]=v[1],M[2]=v[2],this._dirty=!0}})}m.adjoint=function(v,M){return x.adjoint(v.array,M.array),v._dirty=!0,v},m.copy=function(v,M){return x.copy(v.array,M.array),v._dirty=!0,v},m.determinant=function(v){return x.determinant(v.array)},m.identity=function(v){return x.identity(v.array),v._dirty=!0,v},m.ortho=function(v,M,w,S,A,R,u){return x.ortho(v.array,M,w,S,A,R,u),v._dirty=!0,v},m.perspective=function(v,M,w,S,A){return x.perspective(v.array,M,w,S,A),v._dirty=!0,v},m.lookAt=function(v,M,w,S){return x.lookAt(v.array,M.array,w.array,S.array),v._dirty=!0,v},m.invert=function(v,M){return x.invert(v.array,M.array),v._dirty=!0,v},m.mul=function(v,M,w){return x.mul(v.array,M.array,w.array),v._dirty=!0,v},m.multiply=m.mul,m.fromQuat=function(v,M){return x.fromQuat(v.array,M.array),v._dirty=!0,v},m.fromRotationTranslation=function(v,M,w){return x.fromRotationTranslation(v.array,M.array,w.array),v._dirty=!0,v},m.fromMat2d=function(S,w){S._dirty=!0;var w=w.array,S=S.array;return S[0]=w[0],S[4]=w[2],S[12]=w[4],S[1]=w[1],S[5]=w[3],S[13]=w[5],S},m.rotate=function(v,M,w,S){return x.rotate(v.array,M.array,w,S.array),v._dirty=!0,v},m.rotateX=function(v,M,w){return x.rotateX(v.array,M.array,w),v._dirty=!0,v},m.rotateY=function(v,M,w){return x.rotateY(v.array,M.array,w),v._dirty=!0,v},m.rotateZ=function(v,M,w){return x.rotateZ(v.array,M.array,w),v._dirty=!0,v},m.scale=function(v,M,w){return x.scale(v.array,M.array,w.array),v._dirty=!0,v},m.transpose=function(v,M){return x.transpose(v.array,M.array),v._dirty=!0,v},m.translate=function(v,M,w){return x.translate(v.array,M.array,w.array),v._dirty=!0,v},H.a=m},function(q,H,b){"use strict";var z=b(8),P=b(6),T=b(25),x=b(11),O=b(48),_="framebuffer",g="renderbuffer",m=g+"_width",L=g+"_height",d=g+"_attached",v="depthtexture_attached",M=x.a.FRAMEBUFFER,w=x.a.RENDERBUFFER,S=x.a.DEPTH_ATTACHMENT,A=x.a.COLOR_ATTACHMENT0,R=z.a.extend({depthBuffer:!0,viewport:null,_width:0,_height:0,_textures:null,_boundRenderer:null},function(){this._cache=new O.a,this._textures={}},{getTextureWidth:function(){return this._width},getTextureHeight:function(){return this._height},bind:function(u){if(u.__currentFrameBuffer){if(u.__currentFrameBuffer===this)return;console.warn("Renderer already bound with another framebuffer. Unbind it first")}u.__currentFrameBuffer=this;var f=u.gl;f.bindFramebuffer(M,this._getFrameBufferGL(u)),this._boundRenderer=u;var y=this._cache;y.put("viewport",u.viewport);var D=!1,I,U;for(var F in this._textures){D=!0;var G=this._textures[F];G&&(I=G.texture.width,U=G.texture.height,this._doAttach(u,G.texture,F,G.target))}this._width=I,this._height=U,!D&&this.depthBuffer&&console.error("Must attach texture before bind, or renderbuffer may have incorrect width and height."),this.viewport?u.setViewport(this.viewport):u.setViewport(0,0,I,U,1);var Y=y.get("attached_textures");if(Y){for(var F in Y)if(!this._textures[F]){var te=Y[F];this._doDetach(f,F,te)}}if(!y.get(v)&&this.depthBuffer){y.miss(g)&&y.put(g,f.createRenderbuffer());var $=y.get(g);(I!==y.get(m)||U!==y.get(L))&&(f.bindRenderbuffer(w,$),f.renderbufferStorage(w,f.DEPTH_COMPONENT16,I,U),y.put(m,I),y.put(L,U),f.bindRenderbuffer(w,null)),y.get(d)||(f.framebufferRenderbuffer(M,S,w,$),y.put(d,!0))}},unbind:function(u){u.__currentFrameBuffer=null;var f=u.gl;f.bindFramebuffer(M,null),this._boundRenderer=null,this._cache.use(u.__uid__);var y=this._cache.get("viewport");y&&u.setViewport(y),this.updateMipmap(u)},updateMipmap:function(u){var f=u.gl;for(var y in this._textures){var D=this._textures[y];if(D){var I=D.texture;if(!I.NPOT&&I.useMipmap&&I.minFilter===P.a.LINEAR_MIPMAP_LINEAR){var U=I instanceof T.a?x.a.TEXTURE_CUBE_MAP:x.a.TEXTURE_2D;f.bindTexture(U,I.getWebGLTexture(u)),f.generateMipmap(U),f.bindTexture(U,null)}}}},checkStatus:function(u){return u.checkFramebufferStatus(M)},_getFrameBufferGL:function(u){var f=this._cache;return f.use(u.__uid__),f.miss(_)&&f.put(_,u.gl.createFramebuffer()),f.get(_)},attach:function(u,f,y){if(!u.width)throw new Error("The texture attached to color buffer is not a valid.");f=f||A,y=y||x.a.TEXTURE_2D;var D=this._boundRenderer,I=D&&D.gl,U;if(I){var F=this._cache;F.use(D.__uid__),U=F.get("attached_textures")}var G=this._textures[f];if(!(G&&G.target===y&&G.texture===u&&U&&U[f]!=null)){var Y=!0;D&&(Y=this._doAttach(D,u,f,y),this.viewport||D.setViewport(0,0,u.width,u.height,1)),Y&&(this._textures[f]=this._textures[f]||{},this._textures[f].texture=u,this._textures[f].target=y)}},_doAttach:function(u,f,y,D){var I=u.gl,U=f.getWebGLTexture(u),F=this._cache.get("attached_textures");if(F&&F[y]){var G=F[y];if(G.texture===f&&G.target===D)return}y=+y;var Y=!0;if(y===S||y===x.a.DEPTH_STENCIL_ATTACHMENT){var te=u.getGLExtension("WEBGL_depth_texture");if(te||(console.error("Depth texture is not supported by the browser"),Y=!1),f.format!==x.a.DEPTH_COMPONENT&&f.format!==x.a.DEPTH_STENCIL&&(console.error("The texture attached to depth buffer is not a valid."),Y=!1),Y){var $=this._cache.get(g);$&&(I.framebufferRenderbuffer(M,S,w,null),I.deleteRenderbuffer($),this._cache.put(g,!1)),this._cache.put(d,!1),this._cache.put(v,!0)}}return I.framebufferTexture2D(M,y,D,U,0),F||(F={},this._cache.put("attached_textures",F)),F[y]=F[y]||{},F[y].texture=f,F[y].target=D,Y},_doDetach:function(u,f,y){u.framebufferTexture2D(M,f,y,null,0);var D=this._cache.get("attached_textures");D&&D[f]&&(D[f]=null),(f===S||f===x.a.DEPTH_STENCIL_ATTACHMENT)&&this._cache.put(v,!1)},detach:function(u,f){if(this._textures[u]=null,this._boundRenderer){var y=this._cache;y.use(this._boundRenderer.__uid__),this._doDetach(this._boundRenderer.gl,u,f)}},dispose:function(u){var f=u.gl,y=this._cache;y.use(u.__uid__);var D=y.get(g);D&&f.deleteRenderbuffer(D);var I=y.get(_);I&&f.deleteFramebuffer(I),y.deleteContext(u.__uid__),this._textures={}}});R.DEPTH_ATTACHMENT=S,R.COLOR_ATTACHMENT0=A,R.STENCIL_ATTACHMENT=x.a.STENCIL_ATTACHMENT,R.DEPTH_STENCIL_ATTACHMENT=x.a.DEPTH_STENCIL_ATTACHMENT,H.a=R},function(q,H,b){"use strict";H.a={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444}},function(q,H){var b={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},z={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},P=Object.prototype.toString,T=Array.prototype,x=T.forEach,O=T.filter,_=T.slice,g=T.map,m=T.reduce,L={};function d(be,Ie){L[be]=Ie}function v(be){if(be==null||typeof be!="object")return be;var Ie=be,Te=P.call(be);if(Te==="[object Array]"){if(!gt(be)){Ie=[];for(var Re=0,Ge=be.length;Re<Ge;Re++)Ie[Re]=v(be[Re])}}else if(z[Te]){if(!gt(be)){var Le=be.constructor;if(be.constructor.from)Ie=Le.from(be);else{Ie=new Le(be.length);for(var Re=0,Ge=be.length;Re<Ge;Re++)Ie[Re]=v(be[Re])}}}else if(!b[Te]&&!gt(be)&&!ye(be)){Ie={};for(var Ue in be)be.hasOwnProperty(Ue)&&(Ie[Ue]=v(be[Ue]))}return Ie}function M(be,Ie,Te){if(!de(Ie)||!de(be))return Te?v(Ie):be;for(var Re in Ie)if(Ie.hasOwnProperty(Re)){var Ge=be[Re],Le=Ie[Re];de(Le)&&de(Ge)&&!ne(Le)&&!ne(Ge)&&!ye(Le)&&!ye(Ge)&&!se(Le)&&!se(Ge)&&!gt(Le)&&!gt(Ge)?M(Ge,Le,Te):(Te||!(Re in be))&&(be[Re]=v(Ie[Re],!0))}return be}function w(be,Ie){for(var Te=be[0],Re=1,Ge=be.length;Re<Ge;Re++)Te=M(Te,be[Re],Ie);return Te}function S(be,Ie){for(var Te in Ie)Ie.hasOwnProperty(Te)&&(be[Te]=Ie[Te]);return be}function A(be,Ie,Te){for(var Re in Ie)Ie.hasOwnProperty(Re)&&(Te?Ie[Re]!=null:be[Re]==null)&&(be[Re]=Ie[Re]);return be}var R=function(){return L.createCanvas()};L.createCanvas=function(){return document.createElement("canvas")};var u;function f(){return u||(u=R().getContext("2d")),u}function y(be,Ie){if(be){if(be.indexOf)return be.indexOf(Ie);for(var Te=0,Re=be.length;Te<Re;Te++)if(be[Te]===Ie)return Te}return-1}function D(be,Ie){var Te=be.prototype;function Re(){}Re.prototype=Ie.prototype,be.prototype=new Re;for(var Ge in Te)be.prototype[Ge]=Te[Ge];be.prototype.constructor=be,be.superClass=Ie}function I(be,Ie,Te){be="prototype"in be?be.prototype:be,Ie="prototype"in Ie?Ie.prototype:Ie,A(be,Ie,Te)}function U(be){if(be)return typeof be=="string"?!1:typeof be.length=="number"}function F(be,Ie,Te){if(be&&Ie)if(be.forEach&&be.forEach===x)be.forEach(Ie,Te);else if(be.length===+be.length)for(var Re=0,Ge=be.length;Re<Ge;Re++)Ie.call(Te,be[Re],Re,be);else for(var Le in be)be.hasOwnProperty(Le)&&Ie.call(Te,be[Le],Le,be)}function G(be,Ie,Te){if(be&&Ie){if(be.map&&be.map===g)return be.map(Ie,Te);for(var Re=[],Ge=0,Le=be.length;Ge<Le;Ge++)Re.push(Ie.call(Te,be[Ge],Ge,be));return Re}}function Y(be,Ie,Te,Re){if(be&&Ie){if(be.reduce&&be.reduce===m)return be.reduce(Ie,Te,Re);for(var Ge=0,Le=be.length;Ge<Le;Ge++)Te=Ie.call(Re,Te,be[Ge],Ge,be);return Te}}function te(be,Ie,Te){if(be&&Ie){if(be.filter&&be.filter===O)return be.filter(Ie,Te);for(var Re=[],Ge=0,Le=be.length;Ge<Le;Ge++)Ie.call(Te,be[Ge],Ge,be)&&Re.push(be[Ge]);return Re}}function $(be,Ie,Te){if(be&&Ie){for(var Re=0,Ge=be.length;Re<Ge;Re++)if(Ie.call(Te,be[Re],Re,be))return be[Re]}}function oe(be,Ie){var Te=_.call(arguments,2);return function(){return be.apply(Ie,Te.concat(_.call(arguments)))}}function ie(be){var Ie=_.call(arguments,1);return function(){return be.apply(this,Ie.concat(_.call(arguments)))}}function ne(be){return P.call(be)==="[object Array]"}function le(be){return typeof be=="function"}function ae(be){return P.call(be)==="[object String]"}function de(be){var Ie=typeof be;return Ie==="function"||!!be&&Ie=="object"}function se(be){return!!b[P.call(be)]}function fe(be){return!!z[P.call(be)]}function ye(be){return typeof be=="object"&&typeof be.nodeType=="number"&&typeof be.ownerDocument=="object"}function ge(be){return be!==be}function xe(be){for(var Ie=0,Te=arguments.length;Ie<Te;Ie++)if(arguments[Ie]!=null)return arguments[Ie]}function Me(be,Ie){return be!=null?be:Ie}function Ne(be,Ie,Te){return be!=null?be:Ie!=null?Ie:Te}function We(){return Function.call.apply(_,arguments)}function tt(be){if(typeof be=="number")return[be,be,be,be];var Ie=be.length;return Ie===2?[be[0],be[1],be[0],be[1]]:Ie===3?[be[0],be[1],be[2],be[1]]:be}function Je(be,Ie){if(!be)throw new Error(Ie)}var st="__ec_primitive__";function yt(be){be[st]=!0}function gt(be){return be[st]}function Ke(be){var Ie=ne(be);be&&F(be,function(Te,Re){Ie?this.set(Te,1):this.set(Re,Te)},this)}var nt="_ec_",Ze=4;Ke.prototype={constructor:Ke,get:function(be){return this[nt+be]},set:function(be,Ie){return this[nt+be]=Ie,Ie},each:function(be,Ie){Ie!==void 0&&(be=oe(be,Ie));for(var Te in this)this.hasOwnProperty(Te)&&be(this[Te],Te.slice(Ze))},removeKey:function(be){delete this[nt+be]}};function Ve(be){return new Ke(be)}function Pe(be,Ie){for(var Te=new be.constructor(be.length+Ie.length),Re=0;Re<be.length;Re++)Te[Re]=be[Re];var Ge=be.length;for(Re=0;Re<Ie.length;Re++)Te[Re+Ge]=Ie[Re];return Te}function He(){}H.$override=d,H.clone=v,H.merge=M,H.mergeAll=w,H.extend=S,H.defaults=A,H.createCanvas=R,H.getContext=f,H.indexOf=y,H.inherits=D,H.mixin=I,H.isArrayLike=U,H.each=F,H.map=G,H.reduce=Y,H.filter=te,H.find=$,H.bind=oe,H.curry=ie,H.isArray=ne,H.isFunction=le,H.isString=ae,H.isObject=de,H.isBuiltInObject=se,H.isTypedArray=fe,H.isDom=ye,H.eqNaN=ge,H.retrieve=xe,H.retrieve2=Me,H.retrieve3=Ne,H.slice=We,H.normalizeCssArray=tt,H.assert=Je,H.setAsPrimitive=yt,H.isPrimitive=gt,H.createHashMap=Ve,H.concatArray=Pe,H.noop=He},function(q,H,b){"use strict";var z=b(8),P=b(11),T=b(48),x=b(18),O=b(1),_=b.n(O),g=b(15),m=_.a.vec3,L=_.a.mat4,d=m.create,v=m.add,M=m.set;function w(y){return{byte:x.a.Int8Array,ubyte:x.a.Uint8Array,short:x.a.Int16Array,ushort:x.a.Uint16Array}[y]||x.a.Float32Array}function S(y){return"attr_"+y}function A(y,D,I,U){switch(this.name=y,this.type=D,this.size=I,this.semantic=U||"",this.value=null,I){case 1:this.get=function(F){return this.value[F]},this.set=function(F,G){this.value[F]=G},this.copy=function(F,G){this.value[F]=this.value[F]};break;case 2:this.get=function(F,G){var Y=this.value;return G[0]=Y[F*2],G[1]=Y[F*2+1],G},this.set=function(F,G){var Y=this.value;Y[F*2]=G[0],Y[F*2+1]=G[1]},this.copy=function(F,G){var Y=this.value;G*=2,F*=2,Y[F]=Y[G],Y[F+1]=Y[G+1]};break;case 3:this.get=function(F,G){var Y=F*3,te=this.value;return G[0]=te[Y],G[1]=te[Y+1],G[2]=te[Y+2],G},this.set=function(F,G){var Y=F*3,te=this.value;te[Y]=G[0],te[Y+1]=G[1],te[Y+2]=G[2]},this.copy=function(F,G){var Y=this.value;G*=3,F*=3,Y[F]=Y[G],Y[F+1]=Y[G+1],Y[F+2]=Y[G+2]};break;case 4:this.get=function(F,G){var Y=this.value,te=F*4;return G[0]=Y[te],G[1]=Y[te+1],G[2]=Y[te+2],G[3]=Y[te+3],G},this.set=function(F,G){var Y=this.value,te=F*4;Y[te]=G[0],Y[te+1]=G[1],Y[te+2]=G[2],Y[te+3]=G[3]},this.copy=function(F,G){var Y=this.value;G*=4,F*=4,Y[F]=Y[G],Y[F+1]=Y[G+1],Y[F+2]=Y[G+2],Y[F+3]=Y[G+3]}}}A.prototype.init=function(y){if(!this.value||this.value.length!=y*this.size){var D=w(this.type);this.value=new D(y*this.size)}},A.prototype.fromArray=function(y){var D=w(this.type),I;if(y[0]&&y[0].length){var U=0,F=this.size;I=new D(y.length*F);for(var G=0;G<y.length;G++)for(var Y=0;Y<F;Y++)I[U++]=y[G][Y]}else I=new D(y);this.value=I},A.prototype.clone=function(y){var D=new A(this.name,this.type,this.size,this.semantic);return y&&console.warn("todo"),D};function R(y,D,I,U,F){this.name=y,this.type=D,this.buffer=I,this.size=U,this.semantic=F,this.symbol="",this.needsRemove=!1}function u(y){this.buffer=y,this.count=0}var f=z.a.extend(function(){return{attributes:{position:new A("position","float",3,"POSITION"),texcoord0:new A("texcoord0","float",2,"TEXCOORD_0"),texcoord1:new A("texcoord1","float",2,"TEXCOORD_1"),normal:new A("normal","float",3,"NORMAL"),tangent:new A("tangent","float",4,"TANGENT"),color:new A("color","float",4,"COLOR"),weight:new A("weight","float",3,"WEIGHT"),joint:new A("joint","float",4,"JOINT"),barycentric:new A("barycentric","float",3,null)},boundingBox:null,indices:null,dynamic:!0,_enabledAttributes:null}},function(){this._cache=new T.a,this._attributeList=Object.keys(this.attributes)},{mainAttribute:"position",pick:null,pickByRay:null,updateBoundingBox:function(){var y=this.boundingBox;y||(y=this.boundingBox=new g.a);var D=this.attributes.position.value;if(D&&D.length){var I=y.min,U=y.max,F=I.array,G=U.array;m.set(F,D[0],D[1],D[2]),m.set(G,D[0],D[1],D[2]);for(var Y=3;Y<D.length;){var te=D[Y++],$=D[Y++],oe=D[Y++];te<F[0]&&(F[0]=te),$<F[1]&&(F[1]=$),oe<F[2]&&(F[2]=oe),te>G[0]&&(G[0]=te),$>G[1]&&(G[1]=$),oe>G[2]&&(G[2]=oe)}I._dirty=!0,U._dirty=!0}},dirty:function(){for(var y=this.getEnabledAttributes(),D=0;D<y.length;D++)this.dirtyAttribute(y[D]);this.dirtyIndices(),this._enabledAttributes=null,this._cache.dirty("any")},dirtyIndices:function(){this._cache.dirtyAll("indices")},dirtyAttribute:function(y){this._cache.dirtyAll(S(y)),this._cache.dirtyAll("attributes")},getTriangleIndices:function(y,D){if(y<this.triangleCount&&y>=0){D||(D=d());var I=this.indices;return D[0]=I[y*3],D[1]=I[y*3+1],D[2]=I[y*3+2],D}},setTriangleIndices:function(y,D){var I=this.indices;I[y*3]=D[0],I[y*3+1]=D[1],I[y*3+2]=D[2]},isUseIndices:function(){return!!this.indices},initIndicesFromArray:function(y){var D,I=this.vertexCount>65535?x.a.Uint32Array:x.a.Uint16Array;if(y[0]&&y[0].length){var U=0,F=3;D=new I(y.length*F);for(var G=0;G<y.length;G++)for(var Y=0;Y<F;Y++)D[U++]=y[G][Y]}else D=new I(y);this.indices=D},createAttribute:function(y,D,I,U){var F=new A(y,D,I,U);return this.attributes[y]&&this.removeAttribute(y),this.attributes[y]=F,this._attributeList.push(y),F},removeAttribute:function(y){var D=this._attributeList,I=D.indexOf(y);return I>=0?(D.splice(I,1),delete this.attributes[y],!0):!1},getAttribute:function(y){return this.attributes[y]},getEnabledAttributes:function(){var y=this._enabledAttributes,D=this._attributeList;if(y)return y;for(var I=[],U=this.vertexCount,F=0;F<D.length;F++){var G=D[F],Y=this.attributes[G];Y.value&&Y.value.length===U*Y.size&&I.push(G)}return this._enabledAttributes=I,I},getBufferChunks:function(y){var D=this._cache;D.use(y.__uid__);var I=D.isDirty("attributes"),U=D.isDirty("indices");if(I||U){this._updateBuffer(y.gl,I,U);for(var F=this.getEnabledAttributes(),G=0;G<F.length;G++)D.fresh(S(F[G]));D.fresh("attributes"),D.fresh("indices")}return D.fresh("any"),D.get("chunks")},_updateBuffer:function(y,D,I){var U=this._cache,F=U.get("chunks"),G=!1;F||(F=[],F[0]={attributeBuffers:[],indicesBuffer:null},U.put("chunks",F),G=!0);var Y=F[0],te=Y.attributeBuffers,$=Y.indicesBuffer;if(D||G){var oe=this.getEnabledAttributes(),ie={};if(!G)for(var ne=0;ne<te.length;ne++)ie[te[ne].name]=te[ne];for(var le=0;le<oe.length;le++){var ae=oe[le],de=this.attributes[ae],se;G||(se=ie[ae]);var fe;se?fe=se.buffer:fe=y.createBuffer(),U.isDirty(S(ae))&&(y.bindBuffer(y.ARRAY_BUFFER,fe),y.bufferData(y.ARRAY_BUFFER,de.value,this.dynamic?P.a.DYNAMIC_DRAW:P.a.STATIC_DRAW)),te[le]=new R(ae,de.type,fe,de.size,de.semantic)}for(var ne=le;ne<te.length;ne++)y.deleteBuffer(te[ne].buffer);te.length=le}this.isUseIndices()&&(I||G)&&($||($=new u(y.createBuffer()),Y.indicesBuffer=$),$.count=this.indices.length,y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,$.buffer),y.bufferData(y.ELEMENT_ARRAY_BUFFER,this.indices,this.dynamic?P.a.DYNAMIC_DRAW:P.a.STATIC_DRAW))},generateVertexNormals:function(){if(this.vertexCount){var y=this.indices,D=this.attributes,I=D.position.value,U=D.normal.value;if(!U||U.length!==I.length)U=D.normal.value=new x.a.Float32Array(I.length);else for(var F=0;F<U.length;F++)U[F]=0;for(var G=d(),Y=d(),te=d(),$=d(),oe=d(),ie=d(),ne=y?y.length:this.vertexCount,le,ae,de,se=0;se<ne;){y?(le=y[se++],ae=y[se++],de=y[se++]):(le=se++,ae=se++,de=se++),M(G,I[le*3],I[le*3+1],I[le*3+2]),M(Y,I[ae*3],I[ae*3+1],I[ae*3+2]),M(te,I[de*3],I[de*3+1],I[de*3+2]),m.sub($,G,Y),m.sub(oe,Y,te),m.cross(ie,$,oe);for(var F=0;F<3;F++)U[le*3+F]=U[le*3+F]+ie[F],U[ae*3+F]=U[ae*3+F]+ie[F],U[de*3+F]=U[de*3+F]+ie[F]}for(var F=0;F<U.length;)M(ie,U[F],U[F+1],U[F+2]),m.normalize(ie,ie),U[F++]=ie[0],U[F++]=ie[1],U[F++]=ie[2];this.dirty()}},generateFaceNormals:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var y=this.indices,D=this.attributes,I=D.position.value,U=D.normal.value,F=d(),G=d(),Y=d(),te=d(),$=d(),oe=d();U||(U=D.normal.value=new Float32Array(I.length));for(var ie=y?y.length:this.vertexCount,ne,le,ae,de=0;de<ie;){y?(ne=y[de++],le=y[de++],ae=y[de++]):(ne=de++,le=de++,ae=de++),M(F,I[ne*3],I[ne*3+1],I[ne*3+2]),M(G,I[le*3],I[le*3+1],I[le*3+2]),M(Y,I[ae*3],I[ae*3+1],I[ae*3+2]),m.sub(te,F,G),m.sub($,G,Y),m.cross(oe,te,$),m.normalize(oe,oe);for(var se=0;se<3;se++)U[ne*3+se]=oe[se],U[le*3+se]=oe[se],U[ae*3+se]=oe[se]}this.dirty()}},generateTangents:function(){if(this.vertexCount){var y=this.vertexCount,D=this.attributes;D.tangent.value||(D.tangent.value=new Float32Array(y*4));var I=D.texcoord0.value,U=D.position.value,F=D.tangent.value,G=D.normal.value;if(!I){console.warn("Geometry without texcoords can't generate tangents.");return}for(var Y=[],te=[],$=0;$<y;$++)Y[$]=[0,0,0],te[$]=[0,0,0];for(var oe=[0,0,0],ie=[0,0,0],ne=this.indices,le=ne?ne.length:this.vertexCount,ae,de,se,$=0;$<le;){ne?(ae=ne[$++],de=ne[$++],se=ne[$++]):(ae=$++,de=$++,se=$++);var fe=I[ae*2],ye=I[de*2],ge=I[se*2],xe=I[ae*2+1],Me=I[de*2+1],Ne=I[se*2+1],We=U[ae*3],tt=U[de*3],Je=U[se*3],st=U[ae*3+1],yt=U[de*3+1],gt=U[se*3+1],Ke=U[ae*3+2],nt=U[de*3+2],Ze=U[se*3+2],Ve=tt-We,Pe=Je-We,He=yt-st,be=gt-st,Ie=nt-Ke,Te=Ze-Ke,Re=ye-fe,Ge=ge-fe,Le=Me-xe,Ue=Ne-xe,Qe=1/(Re*Ue-Le*Ge);oe[0]=(Ue*Ve-Le*Pe)*Qe,oe[1]=(Ue*He-Le*be)*Qe,oe[2]=(Ue*Ie-Le*Te)*Qe,ie[0]=(Re*Pe-Ge*Ve)*Qe,ie[1]=(Re*be-Ge*He)*Qe,ie[2]=(Re*Te-Ge*Ie)*Qe,v(Y[ae],Y[ae],oe),v(Y[de],Y[de],oe),v(Y[se],Y[se],oe),v(te[ae],te[ae],ie),v(te[de],te[de],ie),v(te[se],te[se],ie)}for(var et=d(),dt=d(),mt=d(),$=0;$<y;$++){mt[0]=G[$*3],mt[1]=G[$*3+1],mt[2]=G[$*3+2];var Tt=Y[$];m.scale(et,mt,m.dot(mt,Tt)),m.sub(et,Tt,et),m.normalize(et,et),m.cross(dt,mt,Tt),F[$*4]=et[0],F[$*4+1]=et[1],F[$*4+2]=et[2],F[$*4+3]=m.dot(dt,te[$])<0?-1:1}this.dirty()}},isUniqueVertex:function(){return this.isUseIndices()?this.vertexCount===this.indices.length:!0},generateUniqueVertex:function(){if(!(!this.vertexCount||!this.indices)){this.indices.length>65535&&(this.indices=new x.a.Uint32Array(this.indices));for(var y=this.attributes,D=this.indices,I=this.getEnabledAttributes(),U={},F=0;F<I.length;F++){var G=I[F];U[G]=y[G].value,y[G].init(this.indices.length)}for(var Y=0,te=0;te<D.length;te++){for(var $=D[te],F=0;F<I.length;F++)for(var G=I[F],oe=y[G].value,ie=y[G].size,ne=0;ne<ie;ne++)oe[Y*ie+ne]=U[G][$*ie+ne];D[te]=Y,Y++}this.dirty()}},generateBarycentric:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var y=this.attributes,D=y.barycentric.value,I=this.indices;if(!(D&&D.length===I.length*3)){D=y.barycentric.value=new Float32Array(I.length*3);for(var U=0;U<(I?I.length:this.vertexCount/3);)for(var F=0;F<3;F++){var G=I?I[U++]:U*3+F;D[G*3+F]=1}this.dirty()}}},applyTransform:function(y){var D=this.attributes,I=D.position.value,U=D.normal.value,F=D.tangent.value;y=y.array;var G=L.create();L.invert(G,y),L.transpose(G,G);var Y=m.transformMat4,te=m.forEach;te(I,3,0,null,Y,y),U&&te(U,3,0,null,Y,G),F&&te(F,4,0,null,Y,G),this.boundingBox&&this.updateBoundingBox()},dispose:function(y){var D=this._cache;D.use(y.__uid__);var I=D.get("chunks");if(I)for(var U=0;U<I.length;U++){for(var F=I[U],G=0;G<F.attributeBuffers.length;G++){var Y=F.attributeBuffers[G];y.gl.deleteBuffer(Y.buffer)}F.indicesBuffer&&y.gl.deleteBuffer(F.indicesBuffer.buffer)}D.deleteContext(y.__uid__)}});Object.defineProperty&&(Object.defineProperty(f.prototype,"vertexCount",{enumerable:!1,get:function(){var y=this.attributes[this.mainAttribute];return!y||!y.value?0:y.value.length/y.size}}),Object.defineProperty(f.prototype,"triangleCount",{enumerable:!1,get:function(){var y=this.indices;return y?y.length/3:0}})),f.STATIC_DRAW=P.a.STATIC_DRAW,f.DYNAMIC_DRAW=P.a.DYNAMIC_DRAW,f.STREAM_DRAW=P.a.STREAM_DRAW,f.AttributeBuffer=R,f.IndicesBuffer=u,f.Attribute=A,H.a=f},function(q,H,b){"use strict";var z=b(8),P=b(30),T=b(37),x=b(7),O=b(17),_=b(24),g=b(11),m=b(109);x.a.import(m.a);var L=new T.a,d=new _.a({geometry:L,frustumCulling:!1}),v=new P.a,M=z.a.extend(function(){return{fragment:"",outputs:null,material:null,blendWithPrevious:!1,clearColor:!1,clearDepth:!0}},function(){var w=new x.a(x.a.source("clay.compositor.vertex"),this.fragment),S=new O.a({shader:w});S.enableTexturesAll(),this.material=S},{setUniform:function(w,S){this.material.setUniform(w,S)},getUniform:function(w){var S=this.material.uniforms[w];if(S)return S.value},attachOutput:function(w,S){this.outputs||(this.outputs={}),S=S||g.a.COLOR_ATTACHMENT0,this.outputs[S]=w},detachOutput:function(w){for(var S in this.outputs)this.outputs[S]===w&&(this.outputs[S]=null)},bind:function(w,S){if(this.outputs)for(var A in this.outputs){var R=this.outputs[A];R&&S.attach(R,A)}S&&S.bind(w)},unbind:function(w,S){S.unbind(w)},render:function(w,S){var A=w.gl;if(S){this.bind(w,S);var R=w.getGLExtension("EXT_draw_buffers");if(R&&this.outputs){var u=[];for(var f in this.outputs)f=+f,f>=A.COLOR_ATTACHMENT0&&f<=A.COLOR_ATTACHMENT0+8&&u.push(f);R.drawBuffersEXT(u)}}this.trigger("beforerender",this,w);var y=this.clearDepth?A.DEPTH_BUFFER_BIT:0;if(A.depthMask(!0),this.clearColor){y=y|A.COLOR_BUFFER_BIT,A.colorMask(!0,!0,!0,!0);var D=this.clearColor;Array.isArray(D)&&A.clearColor(D[0],D[1],D[2],D[3])}A.clear(y),this.blendWithPrevious?(A.enable(A.BLEND),this.material.transparent=!0):(A.disable(A.BLEND),this.material.transparent=!1),this.renderQuad(w),this.trigger("afterrender",this,w),S&&this.unbind(w,S)},renderQuad:function(w){d.material=this.material,w.renderPass([d],v)},dispose:function(w){}});H.a=M},function(q,H,b){"use strict";var z=b(4),P=b(1),T=b.n(P),x=T.a.vec3,O=x.copy,_=x.set,g=function(m,L){this.min=m||new z.a(1/0,1/0,1/0),this.max=L||new z.a(-1/0,-1/0,-1/0)};g.prototype={constructor:g,updateFromVertices:function(m){if(m.length>0){var L=this.min,d=this.max,v=L.array,M=d.array;O(v,m[0]),O(M,m[0]);for(var w=1;w<m.length;w++){var S=m[w];S[0]<v[0]&&(v[0]=S[0]),S[1]<v[1]&&(v[1]=S[1]),S[2]<v[2]&&(v[2]=S[2]),S[0]>M[0]&&(M[0]=S[0]),S[1]>M[1]&&(M[1]=S[1]),S[2]>M[2]&&(M[2]=S[2])}L._dirty=!0,d._dirty=!0}},union:function(m){var L=this.min,d=this.max;return x.min(L.array,L.array,m.min.array),x.max(d.array,d.array,m.max.array),L._dirty=!0,d._dirty=!0,this},intersection:function(m){var L=this.min,d=this.max;return x.max(L.array,L.array,m.min.array),x.min(d.array,d.array,m.max.array),L._dirty=!0,d._dirty=!0,this},intersectBoundingBox:function(m){var L=this.min.array,d=this.max.array,v=m.min.array,M=m.max.array;return!(L[0]>M[0]||L[1]>M[1]||L[2]>M[2]||d[0]<v[0]||d[1]<v[1]||d[2]<v[2])},containBoundingBox:function(m){var L=this.min.array,d=this.max.array,v=m.min.array,M=m.max.array;return L[0]<=v[0]&&L[1]<=v[1]&&L[2]<=v[2]&&d[0]>=M[0]&&d[1]>=M[1]&&d[2]>=M[2]},containPoint:function(m){var L=this.min.array,d=this.max.array,v=m.array;return L[0]<=v[0]&&L[1]<=v[1]&&L[2]<=v[2]&&d[0]>=v[0]&&d[1]>=v[1]&&d[2]>=v[2]},isFinite:function(){var m=this.min.array,L=this.max.array;return isFinite(m[0])&&isFinite(m[1])&&isFinite(m[2])&&isFinite(L[0])&&isFinite(L[1])&&isFinite(L[2])},applyTransform:function(){var m=x.create(),L=x.create(),d=x.create(),v=x.create(),M=x.create(),w=x.create();return function(S){var A=this.min.array,R=this.max.array,u=S.array;return m[0]=u[0]*A[0],m[1]=u[1]*A[0],m[2]=u[2]*A[0],L[0]=u[0]*R[0],L[1]=u[1]*R[0],L[2]=u[2]*R[0],d[0]=u[4]*A[1],d[1]=u[5]*A[1],d[2]=u[6]*A[1],v[0]=u[4]*R[1],v[1]=u[5]*R[1],v[2]=u[6]*R[1],M[0]=u[8]*A[2],M[1]=u[9]*A[2],M[2]=u[10]*A[2],w[0]=u[8]*R[2],w[1]=u[9]*R[2],w[2]=u[10]*R[2],A[0]=Math.min(m[0],L[0])+Math.min(d[0],v[0])+Math.min(M[0],w[0])+u[12],A[1]=Math.min(m[1],L[1])+Math.min(d[1],v[1])+Math.min(M[1],w[1])+u[13],A[2]=Math.min(m[2],L[2])+Math.min(d[2],v[2])+Math.min(M[2],w[2])+u[14],R[0]=Math.max(m[0],L[0])+Math.max(d[0],v[0])+Math.max(M[0],w[0])+u[12],R[1]=Math.max(m[1],L[1])+Math.max(d[1],v[1])+Math.max(M[1],w[1])+u[13],R[2]=Math.max(m[2],L[2])+Math.max(d[2],v[2])+Math.max(M[2],w[2])+u[14],this.min._dirty=!0,this.max._dirty=!0,this}}(),applyProjection:function(m){var L=this.min.array,d=this.max.array,v=m.array,M=L[0],w=L[1],S=L[2],A=d[0],R=d[1],u=L[2],f=d[0],y=d[1],D=d[2];if(v[15]===1)L[0]=v[0]*M+v[12],L[1]=v[5]*w+v[13],d[2]=v[10]*S+v[14],d[0]=v[0]*f+v[12],d[1]=v[5]*y+v[13],L[2]=v[10]*D+v[14];else{var I=-1/S;L[0]=v[0]*M*I,L[1]=v[5]*w*I,d[2]=(v[10]*S+v[14])*I,I=-1/u,d[0]=v[0]*A*I,d[1]=v[5]*R*I,I=-1/D,L[2]=(v[10]*D+v[14])*I}return this.min._dirty=!0,this.max._dirty=!0,this},updateVertices:function(){var m=this.vertices;if(!m){for(var m=[],L=0;L<8;L++)m[L]=x.fromValues(0,0,0);this.vertices=m}var d=this.min.array,v=this.max.array;return _(m[0],d[0],d[1],d[2]),_(m[1],d[0],v[1],d[2]),_(m[2],v[0],d[1],d[2]),_(m[3],v[0],v[1],d[2]),_(m[4],d[0],d[1],v[2]),_(m[5],d[0],v[1],v[2]),_(m[6],v[0],d[1],v[2]),_(m[7],v[0],v[1],v[2]),this},copy:function(m){var L=this.min,d=this.max;return O(L.array,m.min.array),O(d.array,m.max.array),L._dirty=!0,d._dirty=!0,this},clone:function(){var m=new g;return m.copy(this),m}},H.a=g},function(q,H,b){"use strict";H.a=function(z,P,T){return{seriesType:z,reset:function(x,O){var _=x.getData(),g=x.visualColorAccessPath.split(".");g[g.length-1]="opacity";var m=x.get(g);_.setVisual("opacity",m==null?1:m);function L(d){var v=_.getItemModel(d),M=v.get(g);M!=null&&_.setItemVisual(d,"opacity",M)}return{dataEach:_.hasItemOption?L:null}}}}},function(q,H,b){"use strict";var z=b(8),P=b(6),T=b(21),x=b(93),O=x.a.parseToFloat,_={};function g(d,v,M){var w=Object.keys(d);w.sort();for(var S=[],A=0;A<w.length;A++){var R=w[A],u=d[R];u===null?S.push(R):S.push(R+" "+u.toString())}return S.join(`
`)}function m(d,v,M){M.sort();for(var w=[],S=0;S<M.length;S++){var A=M[S];w.push(A)}var R=g(d)+`
`+g(v)+`
`+w.join(`
`);if(_[R])return _[R];var u=T.a.genGUID();return _[R]=u,u}var L=z.a.extend(function(){return{name:"",depthTest:!0,depthMask:!0,transparent:!1,blend:null,autoUpdateTextureStatus:!0,uniforms:{},vertexDefines:{},fragmentDefines:{},_textureStatus:{},_enabledUniforms:null}},function(){this.name||(this.name="MATERIAL_"+this.__uid__),this.shader&&this.attachShader(this.shader,!0)},{precision:"highp",bind:function(d,v,M,w){for(var S=d.gl,A=v.currentTextureSlot(),R=0;R<this._enabledUniforms.length;R++){var u=this._enabledUniforms[R],f=this.uniforms[u].value;if(f instanceof P.a)f.__slot=-1;else if(Array.isArray(f))for(var y=0;y<f.length;y++)f[y]instanceof P.a&&(f[y].__slot=-1)}for(var R=0;R<this._enabledUniforms.length;R++){var u=this._enabledUniforms[R],D=this.uniforms[u],f=D.value;if(f===null){if(D.type==="t"){var I=v.currentTextureSlot(),U=v.setUniform(S,"1i",u,I);U&&v.takeCurrentTextureSlot(d,null)}continue}else if(f instanceof P.a)if(f.__slot<0){var I=v.currentTextureSlot(),U=v.setUniform(S,"1i",u,I);if(!U)continue;v.takeCurrentTextureSlot(d,f),f.__slot=I}else v.setUniform(S,"1i",u,f.__slot);else if(Array.isArray(f)){if(f.length===0)continue;var F=f[0];if(F instanceof P.a){if(!v.hasUniform(u))continue;for(var G=[],y=0;y<f.length;y++){var Y=f[y];if(Y.__slot<0){var I=v.currentTextureSlot();G.push(I),v.takeCurrentTextureSlot(d,Y),Y.__slot=I}else G.push(Y.__slot)}v.setUniform(S,"1iv",u,G)}else v.setUniform(S,D.type,u,f)}else v.setUniform(S,D.type,u,f)}v.resetTextureSlot(A)},setUniform:function(d,v){v===void 0&&console.warn('Uniform value "'+d+'" is undefined');var M=this.uniforms[d];M&&(typeof v=="string"&&(v=O(v)||v),M.value=v,this.autoUpdateTextureStatus&&M.type==="t"&&(v?this.enableTexture(d):this.disableTexture(d)))},setUniforms:function(d){for(var v in d){var M=d[v];this.setUniform(v,M)}},isUniformEnabled:function(d){return this._enabledUniforms.indexOf(d)>=0},getEnabledUniforms:function(){return this._enabledUniforms},getTextureUniforms:function(){return this._textureUniforms},set:function(d,v){if(typeof d=="object")for(var M in d){var w=d[M];this.setUniform(M,w)}else this.setUniform(d,v)},get:function(d){var v=this.uniforms[d];if(v)return v.value},attachShader:function(d,v){var M=this.uniforms;this.uniforms=d.createUniforms(),this.shader=d;var w=this.uniforms;this._enabledUniforms=Object.keys(w),this._enabledUniforms.sort(),this._textureUniforms=this._enabledUniforms.filter(function(y){var D=this.uniforms[y].type;return D==="t"||D==="tv"},this);var S=this.vertexDefines,A=this.fragmentDefines;if(this.vertexDefines=T.a.clone(d.vertexDefines),this.fragmentDefines=T.a.clone(d.fragmentDefines),v){for(var R in M)w[R]&&(w[R].value=M[R].value);T.a.defaults(this.vertexDefines,S),T.a.defaults(this.fragmentDefines,A)}var u={};for(var f in d.textures)u[f]={shaderType:d.textures[f].shaderType,type:d.textures[f].type,enabled:v&&this._textureStatus[f]?this._textureStatus[f].enabled:!1};this._textureStatus=u,this._programKey=""},clone:function(){var d=new this.constructor({name:this.name,shader:this.shader});for(var v in this.uniforms)d.uniforms[v].value=this.uniforms[v].value;return d.depthTest=this.depthTest,d.depthMask=this.depthMask,d.transparent=this.transparent,d.blend=this.blend,d.vertexDefines=T.a.clone(this.vertexDefines),d.fragmentDefines=T.a.clone(this.fragmentDefines),d.enableTexture(this.getEnabledTextures()),d.precision=this.precision,d},define:function(d,v,M){var w=this.vertexDefines,S=this.fragmentDefines;d!=="vertex"&&d!=="fragment"&&d!=="both"&&arguments.length<3&&(M=v,v=d,d="both"),M=M!=null?M:null,(d==="vertex"||d==="both")&&w[v]!==M&&(w[v]=M,this._programKey=""),(d==="fragment"||d==="both")&&S[v]!==M&&(S[v]=M,d!=="both"&&(this._programKey=""))},undefine:function(d,v){d!=="vertex"&&d!=="fragment"&&d!=="both"&&arguments.length<2&&(v=d,d="both"),(d==="vertex"||d==="both")&&this.isDefined("vertex",v)&&(delete this.vertexDefines[v],this._programKey=""),(d==="fragment"||d==="both")&&this.isDefined("fragment",v)&&(delete this.fragmentDefines[v],d!=="both"&&(this._programKey=""))},isDefined:function(d,v){switch(d){case"vertex":return this.vertexDefines[v]!==void 0;case"fragment":return this.fragmentDefines[v]!==void 0}},getDefine:function(d,v){switch(d){case"vertex":return this.vertexDefines[v];case"fragment":return this.fragmentDefines[v]}},enableTexture:function(d){if(Array.isArray(d)){for(var v=0;v<d.length;v++)this.enableTexture(d[v]);return}var M=this._textureStatus[d];if(M){var w=M.enabled;w||(M.enabled=!0,this._programKey="")}},enableTexturesAll:function(){var d=this._textureStatus;for(var v in d)d[v].enabled=!0;this._programKey=""},disableTexture:function(d){if(Array.isArray(d)){for(var v=0;v<d.length;v++)this.disableTexture(d[v]);return}var M=this._textureStatus[d];if(M){var w=!M.enabled;w||(M.enabled=!1,this._programKey="")}},disableTexturesAll:function(){var d=this._textureStatus;for(var v in d)d[v].enabled=!1;this._programKey=""},isTextureEnabled:function(d){var v=this._textureStatus;return!!v[d]&&v[d].enabled},getEnabledTextures:function(){var d=[],v=this._textureStatus;for(var M in v)v[M].enabled&&d.push(M);return d},dirtyDefines:function(){this._programKey=""}});Object.defineProperty&&(Object.defineProperty(L.prototype,"shader",{get:function(){return this._shader||null},set:function(d){this._shader=d}}),Object.defineProperty(L.prototype,"programKey",{get:function(){return this._programKey||(this._programKey=m(this.vertexDefines,this.fragmentDefines,this.getEnabledTextures())),this._programKey}})),H.a=L},function(q,H,b){"use strict";var z=!0;try{var P=document.createElement("canvas"),T=P.getContext("webgl")||P.getContext("experimental-webgl");if(!T)throw new Error}catch(O){z=!1}var x={};x.supportWebGL=function(){return z},x.Int8Array=typeof Int8Array=="undefined"?Array:Int8Array,x.Uint8Array=typeof Uint8Array=="undefined"?Array:Uint8Array,x.Uint16Array=typeof Uint16Array=="undefined"?Array:Uint16Array,x.Uint32Array=typeof Uint32Array=="undefined"?Array:Uint32Array,x.Int16Array=typeof Int16Array=="undefined"?Array:Int16Array,x.Float32Array=typeof Float32Array=="undefined"?Array:Float32Array,x.Float64Array=typeof Float64Array=="undefined"?Array:Float64Array,H.a=x},function(q,H,b){"use strict";var z=b(28),P=z.a.extend(function(){return{color:[1,1,1],intensity:1,castShadow:!0,shadowResolution:512,group:0}},{type:"",clone:function(){var T=z.a.prototype.clone.call(this);return T.color=Array.prototype.slice.call(this.color),T.intensity=this.intensity,T.castShadow=this.castShadow,T.shadowResolution=this.shadowResolution,T}});H.a=P},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(29),x=b(152),O=b(36),_=b(30),g=b(9),m=b(4),L=b(23),d=b(47),v=b(155),M=b(182),w=b(43);function S(R){R=R||"perspective",this.layer=null,this.scene=new T.a,this.rootNode=this.scene,this.viewport={x:0,y:0,width:0,height:0},this.setProjection(R),this._compositor=new v.a,this._temporalSS=new M.a,this._shadowMapPass=new x.a;for(var u=[],f=0,y=0;y<30;y++){for(var D=[],I=0;I<6;I++)D.push(Object(w.a)(f,2)*4-2),D.push(Object(w.a)(f,3)*4-2),f++;u.push(D)}this._pcfKernels=u,this.scene.on("beforerender",function(U,F,G){this.needsTemporalSS()&&this._temporalSS.jitterProjection(U,G)},this)}S.prototype.setProjection=function(R){var u=this.camera;u&&u.update(),R==="perspective"?this.camera instanceof O.a||(this.camera=new O.a,u&&this.camera.setLocalTransform(u.localTransform)):this.camera instanceof _.a||(this.camera=new _.a,u&&this.camera.setLocalTransform(u.localTransform)),this.camera.near=.1,this.camera.far=2e3},S.prototype.setViewport=function(R,u,f,y,D){this.camera instanceof O.a&&(this.camera.aspect=f/y),D=D||1,this.viewport.x=R,this.viewport.y=u,this.viewport.width=f,this.viewport.height=y,this.viewport.devicePixelRatio=D,this._compositor.resize(f*D,y*D),this._temporalSS.resize(f*D,y*D)},S.prototype.containPoint=function(R,u){var f=this.viewport,y=this.layer.renderer.getHeight();return u=y-u,R>=f.x&&u>=f.y&&R<=f.x+f.width&&u<=f.y+f.height};var A=new L.a;S.prototype.castRay=function(R,u,f){var y=this.layer.renderer,D=y.viewport;return y.viewport=this.viewport,y.screenToNDC(R,u,A),this.camera.castRay(A,f),y.viewport=D,f},S.prototype.prepareRender=function(){this.scene.update(),this.camera.update(),this._needsSortProgressively=!1;for(var R=0;R<this.scene.transparentList.length;R++){var u=this.scene.transparentList[R],f=u.geometry;f.needsSortVerticesProgressively&&f.needsSortVerticesProgressively()&&(this._needsSortProgressively=!0),f.needsSortTrianglesProgressively&&f.needsSortTrianglesProgressively()&&(this._needsSortProgressively=!0)}this._frame=0,this._temporalSS.resetFrame()},S.prototype.render=function(R,u){this._doRender(R,u,this._frame),this._frame++},S.prototype.needsAccumulate=function(){return this.needsTemporalSS()||this._needsSortProgressively},S.prototype.needsTemporalSS=function(){var R=this._enableTemporalSS;return R=="auto"&&(R=this._enablePostEffect),R},S.prototype.hasDOF=function(){return this._enableDOF},S.prototype.isAccumulateFinished=function(){return this.needsTemporalSS()?this._temporalSS.isFinished():this._frame>30},S.prototype._doRender=function(R,u,f){var y=this.scene,D=this.camera;if(f=f||0,this._updateTransparent(R,y,D,f),u||(this._shadowMapPass.kernelPCF=this._pcfKernels[0],this._shadowMapPass.render(R,y,D,!0)),this._updateShadowPCFKernel(f),R.gl.clearColor(0,0,0,0),this._enablePostEffect&&(this.needsTemporalSS()&&this._temporalSS.jitterProjection(R,D),this._compositor.updateNormal(R,y,D,this._temporalSS.getFrame())),this._updateSSAO(R,y,D,this._temporalSS.getFrame()),this._enablePostEffect){var I=this._compositor.getSourceFrameBuffer();I.bind(R),R.gl.clear(R.gl.DEPTH_BUFFER_BIT|R.gl.COLOR_BUFFER_BIT),R.render(y,D,!0,!0),I.unbind(R),this.needsTemporalSS()&&u?(this._compositor.composite(R,D,this._temporalSS.getSourceFrameBuffer(),this._temporalSS.getFrame()),R.setViewport(this.viewport),this._temporalSS.render(R)):(R.setViewport(this.viewport),this._compositor.composite(R,D,null,0))}else if(this.needsTemporalSS()&&u){var I=this._temporalSS.getSourceFrameBuffer();I.bind(R),R.saveClear(),R.clearBit=R.gl.DEPTH_BUFFER_BIT|R.gl.COLOR_BUFFER_BIT,R.render(y,D,!0,!0),R.restoreClear(),I.unbind(R),R.setViewport(this.viewport),this._temporalSS.render(R)}else R.setViewport(this.viewport),R.render(y,D,!0,!0)},S.prototype._updateTransparent=function(R,u,f,y){for(var D=new m.a,I=new g.a,U=f.getWorldPosition(),F=0;F<u.transparentList.length;F++){var G=u.transparentList[F],Y=G.geometry;g.a.invert(I,G.worldTransform),m.a.transformMat4(D,U,I),Y.needsSortTriangles&&Y.needsSortTriangles()&&Y.doSortTriangles(D,y),Y.needsSortVertices&&Y.needsSortVertices()&&Y.doSortVertices(D,y)}},S.prototype._updateSSAO=function(R,u,f,y){var D=this._enableSSAO&&this._enablePostEffect;D&&this._compositor.updateSSAO(R,u,f,this._temporalSS.getFrame());for(var I=0;I<u.opaqueList.length;I++){var U=u.opaqueList[I];U.renderNormal&&U.material[D?"enableTexture":"disableTexture"]("ssaoMap"),D&&U.material.set("ssaoMap",this._compositor.getSSAOTexture())}},S.prototype._updateShadowPCFKernel=function(R){for(var u=this._pcfKernels[R%this._pcfKernels.length],f=this.scene.opaqueList,y=0;y<f.length;y++)f[y].receiveShadow&&(f[y].material.set("pcfKernel",u),f[y].material.define("fragment","PCF_KERNEL_SIZE",u.length/2))},S.prototype.dispose=function(R){this._compositor.dispose(R.gl),this._temporalSS.dispose(R.gl),this._shadowMapPass.dispose(R)},S.prototype.setPostEffect=function(R,u){var f=this._compositor;this._enablePostEffect=R.get("enable");var y=R.getModel("bloom"),D=R.getModel("edge"),I=R.getModel("DOF",R.getModel("depthOfField")),U=R.getModel("SSAO",R.getModel("screenSpaceAmbientOcclusion")),F=R.getModel("SSR",R.getModel("screenSpaceReflection")),G=R.getModel("FXAA"),Y=R.getModel("colorCorrection");y.get("enable")?f.enableBloom():f.disableBloom(),I.get("enable")?f.enableDOF():f.disableDOF(),F.get("enable")?f.enableSSR():f.disableSSR(),Y.get("enable")?f.enableColorCorrection():f.disableColorCorrection(),D.get("enable")?f.enableEdge():f.disableEdge(),G.get("enable")?f.enableFXAA():f.disableFXAA(),this._enableDOF=I.get("enable"),this._enableSSAO=U.get("enable"),this._enableSSAO?f.enableSSAO():f.disableSSAO(),f.setBloomIntensity(y.get("intensity")),f.setEdgeColor(D.get("color")),f.setColorLookupTexture(Y.get("lookupTexture"),u),f.setExposure(Y.get("exposure")),["radius","quality","intensity"].forEach(function(te){f.setSSAOParameter(te,U.get(te))}),["quality","maxRoughness"].forEach(function(te){f.setSSRParameter(te,F.get(te))}),["quality","focalDistance","focalRange","blurRadius","fstop"].forEach(function(te){f.setDOFParameter(te,I.get(te))}),["brightness","contrast","saturation"].forEach(function(te){f.setColorCorrection(te,Y.get(te))})},S.prototype.setDOFFocusOnPoint=function(R){if(this._enablePostEffect)return R>this.camera.far||R<this.camera.near?void 0:(this._compositor.setDOFParameter("focalDistance",R),!0)},S.prototype.setTemporalSuperSampling=function(R){this._enableTemporalSS=R.get("enable")},S.prototype.isLinearSpace=function(){return this._enablePostEffect},S.prototype.setRootNode=function(R){if(this.rootNode!==R){for(var u=this.rootNode.children(),f=0;f<u.length;f++)R.add(u[f]);R!==this.scene&&this.scene.add(R),this.rootNode=R}},S.prototype.add=function(R){this.rootNode.add(R)},S.prototype.remove=function(R){this.rootNode.remove(R)},S.prototype.removeAll=function(R){this.rootNode.removeAll(R)},P.a.util.extend(S.prototype,d.a),H.a=S},function(q,H,b){"use strict";var z=0,P=Array.prototype,T=P.forEach,x={genGUID:function(){return++z},relative2absolute:function(O,_){if(!_||O.match(/^\//))return O;for(var g=O.split("/"),m=_.split("/"),L=g[0];L==="."||L==="..";)L===".."&&m.pop(),g.shift(),L=g[0];return m.join("/")+"/"+g.join("/")},extend:function(O,_){if(_)for(var g in _)_.hasOwnProperty(g)&&(O[g]=_[g]);return O},defaults:function(O,_){if(_)for(var g in _)O[g]===void 0&&(O[g]=_[g]);return O},extendWithPropList:function(O,_,g){if(_)for(var m=0;m<g.length;m++){var L=g[m];O[L]=_[L]}return O},defaultsWithPropList:function(O,_,g){if(_)for(var m=0;m<g.length;m++){var L=g[m];O[L]==null&&(O[L]=_[L])}return O},each:function(O,_,g){if(O&&_)if(O.forEach&&O.forEach===T)O.forEach(_,g);else if(O.length===+O.length)for(var m=0,L=O.length;m<L;m++)_.call(g,O[m],m,O);else for(var d in O)O.hasOwnProperty(d)&&_.call(g,O[d],d,O)},isObject:function(O){return O===Object(O)},isArray:function(O){return Array.isArray(O)},isArrayLike:function(O){return O?O.length===+O.length:!1},clone:function(O){if(x.isObject(O)){if(x.isArray(O))return O.slice();if(x.isArrayLike(O)){for(var _=new O.constructor(O.length),g=0;g<O.length;g++)_[g]=O[g];return _}else return x.extend({},O)}else return O}};H.a=x},function(q,H,b){"use strict";var z=b(13),P=b(0),T=b.n(P),x=b(33),O=b(1),_=b.n(O),g=_.a.vec3,m=[[0,0],[1,1]],L=z.a.extend(function(){return{segmentScale:1,dynamic:!0,useNativeLine:!0,attributes:{position:new z.a.Attribute("position","float",3,"POSITION"),positionPrev:new z.a.Attribute("positionPrev","float",3),positionNext:new z.a.Attribute("positionNext","float",3),prevPositionPrev:new z.a.Attribute("prevPositionPrev","float",3),prevPosition:new z.a.Attribute("prevPosition","float",3),prevPositionNext:new z.a.Attribute("prevPositionNext","float",3),offset:new z.a.Attribute("offset","float",1),color:new z.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(d){var v=this.attributes;this.vertexCount!==d&&(v.position.init(d),v.color.init(d),this.useNativeLine||(v.positionPrev.init(d),v.positionNext.init(d),v.offset.init(d)),d>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(d){this.triangleCount!==d&&(d===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(d*3):new Uint16Array(d*3))},_getCubicCurveApproxStep:function(d,v,M,w){var S=g.dist(d,v)+g.dist(M,v)+g.dist(w,M),A=1/(S+1)*this.segmentScale;return A},getCubicCurveVertexCount:function(d,v,M,w){var S=this._getCubicCurveApproxStep(d,v,M,w),A=Math.ceil(1/S);return this.useNativeLine?A*2:A*2+2},getCubicCurveTriangleCount:function(d,v,M,w){var S=this._getCubicCurveApproxStep(d,v,M,w),A=Math.ceil(1/S);return this.useNativeLine?0:A*2},getLineVertexCount:function(){return this.getPolylineVertexCount(m)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(m)},getPolylineVertexCount:function(d){var v;if(typeof d=="number")v=d;else{var M=typeof d[0]!="number";v=M?d.length:d.length/3}return this.useNativeLine?(v-1)*2:(v-1)*2+2},getPolylineTriangleCount:function(d){var v;if(typeof d=="number")v=d;else{var M=typeof d[0]!="number";v=M?d.length:d.length/3}return this.useNativeLine?0:Math.max(v-1,0)*2},addCubicCurve:function(d,v,M,w,S,A){A==null&&(A=1);for(var R=d[0],u=d[1],f=d[2],y=v[0],D=v[1],I=v[2],U=M[0],F=M[1],G=M[2],Y=w[0],te=w[1],$=w[2],oe=this._getCubicCurveApproxStep(d,v,M,w),ie=oe*oe,ne=ie*oe,le=3*oe,ae=3*ie,de=6*ie,se=6*ne,fe=R-y*2+U,ye=u-D*2+F,ge=f-I*2+G,xe=(y-U)*3-R+Y,Me=(D-F)*3-u+te,Ne=(I-G)*3-f+$,We=R,tt=u,Je=f,st=(y-R)*le+fe*ae+xe*ne,yt=(D-u)*le+ye*ae+Me*ne,gt=(I-f)*le+ge*ae+Ne*ne,Ke=fe*de+xe*se,nt=ye*de+Me*se,Ze=ge*de+Ne*se,Ve=xe*se,Pe=Me*se,He=Ne*se,be=0,Ie=0,Te=Math.ceil(1/oe),Re=new Float32Array((Te+1)*3),Re=[],Ge=0,Ie=0;Ie<Te+1;Ie++)Re[Ge++]=We,Re[Ge++]=tt,Re[Ge++]=Je,We+=st,tt+=yt,Je+=gt,st+=Ke,yt+=nt,gt+=Ze,Ke+=Ve,nt+=Pe,Ze+=He,be+=oe,be>1&&(We=st>0?Math.min(We,Y):Math.max(We,Y),tt=yt>0?Math.min(tt,te):Math.max(tt,te),Je=gt>0?Math.min(Je,$):Math.max(Je,$));return this.addPolyline(Re,S,A)},addLine:function(d,v,M,w){return this.addPolyline([d,v],M,w)},addPolyline:function(d,v,M,w,S){if(d.length){var A=typeof d[0]!="number";if(S==null&&(S=A?d.length:d.length/3),!(S<2)){w==null&&(w=0),M==null&&(M=1),this._itemVertexOffsets.push(this._vertexOffset);var A=typeof d[0]!="number",R=A?typeof v[0]!="number":v.length/4===S,u=this.attributes.position,f=this.attributes.positionPrev,y=this.attributes.positionNext,D=this.attributes.color,I=this.attributes.offset,U=this.indices,F=this._vertexOffset,G,Y;M=Math.max(M,.01);for(var te=w;te<S;te++){if(A)G=d[te],R?Y=v[te]:Y=v;else{var $=te*3;if(G=G||[],G[0]=d[$],G[1]=d[$+1],G[2]=d[$+2],R){var oe=te*4;Y=Y||[],Y[0]=v[oe],Y[1]=v[oe+1],Y[2]=v[oe+2],Y[3]=v[oe+3]}else Y=v}if(this.useNativeLine?te>1&&(u.copy(F,F-1),D.copy(F,F-1),F++):(te<S-1&&(f.set(F+2,G),f.set(F+3,G)),te>0&&(y.set(F-2,G),y.set(F-1,G)),u.set(F,G),u.set(F+1,G),D.set(F,Y),D.set(F+1,Y),I.set(F,M/2),I.set(F+1,-M/2),F+=2),this.useNativeLine)D.set(F,Y),u.set(F,G),F++;else if(te>0){var ie=this._triangleOffset*3,U=this.indices;U[ie]=F-4,U[ie+1]=F-3,U[ie+2]=F-2,U[ie+3]=F-3,U[ie+4]=F-1,U[ie+5]=F-2,this._triangleOffset+=2}}if(!this.useNativeLine){var ne=this._vertexOffset,le=this._vertexOffset+S*2;f.copy(ne,ne+2),f.copy(ne+1,ne+3),y.copy(le-1,le-3),y.copy(le-2,le-4)}return this._vertexOffset=F,this._vertexOffset}}},setItemColor:function(d,v){for(var M=this._itemVertexOffsets[d],w=d<this._itemVertexOffsets.length-1?this._itemVertexOffsets[d+1]:this._vertexOffset,S=M;S<w;S++)this.attributes.color.set(S,v);this.dirty("color")},currentTriangleOffset:function(){return this._triangleOffset},currentVertexOffset:function(){return this._vertexOffset}});T.a.util.defaults(L.prototype,x.a),H.a=L},function(q,H,b){"use strict";var z=b(1),P=b.n(z),T=P.a.vec2,x=function(_,g){_=_||0,g=g||0,this.array=T.fromValues(_,g),this._dirty=!0};if(x.prototype={constructor:x,add:function(_){return T.add(this.array,this.array,_.array),this._dirty=!0,this},set:function(_,g){return this.array[0]=_,this.array[1]=g,this._dirty=!0,this},setArray:function(_){return this.array[0]=_[0],this.array[1]=_[1],this._dirty=!0,this},clone:function(){return new x(this.x,this.y)},copy:function(_){return T.copy(this.array,_.array),this._dirty=!0,this},cross:function(_,g){return T.cross(_.array,this.array,g.array),_._dirty=!0,this},dist:function(_){return T.dist(this.array,_.array)},distance:function(_){return T.distance(this.array,_.array)},div:function(_){return T.div(this.array,this.array,_.array),this._dirty=!0,this},divide:function(_){return T.divide(this.array,this.array,_.array),this._dirty=!0,this},dot:function(_){return T.dot(this.array,_.array)},len:function(){return T.len(this.array)},length:function(){return T.length(this.array)},lerp:function(_,g,m){return T.lerp(this.array,_.array,g.array,m),this._dirty=!0,this},min:function(_){return T.min(this.array,this.array,_.array),this._dirty=!0,this},max:function(_){return T.max(this.array,this.array,_.array),this._dirty=!0,this},mul:function(_){return T.mul(this.array,this.array,_.array),this._dirty=!0,this},multiply:function(_){return T.multiply(this.array,this.array,_.array),this._dirty=!0,this},negate:function(){return T.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return T.normalize(this.array,this.array),this._dirty=!0,this},random:function(_){return T.random(this.array,_),this._dirty=!0,this},scale:function(_){return T.scale(this.array,this.array,_),this._dirty=!0,this},scaleAndAdd:function(_,g){return T.scaleAndAdd(this.array,this.array,_.array,g),this._dirty=!0,this},sqrDist:function(_){return T.sqrDist(this.array,_.array)},squaredDistance:function(_){return T.squaredDistance(this.array,_.array)},sqrLen:function(){return T.sqrLen(this.array)},squaredLength:function(){return T.squaredLength(this.array)},sub:function(_){return T.sub(this.array,this.array,_.array),this._dirty=!0,this},subtract:function(_){return T.subtract(this.array,this.array,_.array),this._dirty=!0,this},transformMat2:function(_){return T.transformMat2(this.array,this.array,_.array),this._dirty=!0,this},transformMat2d:function(_){return T.transformMat2d(this.array,this.array,_.array),this._dirty=!0,this},transformMat3:function(_){return T.transformMat3(this.array,this.array,_.array),this._dirty=!0,this},transformMat4:function(_){return T.transformMat4(this.array,this.array,_.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Object.defineProperty){var O=x.prototype;Object.defineProperty(O,"x",{get:function(){return this.array[0]},set:function(_){this.array[0]=_,this._dirty=!0}}),Object.defineProperty(O,"y",{get:function(){return this.array[1]},set:function(_){this.array[1]=_,this._dirty=!0}})}x.add=function(_,g,m){return T.add(_.array,g.array,m.array),_._dirty=!0,_},x.set=function(_,g,m){return T.set(_.array,g,m),_._dirty=!0,_},x.copy=function(_,g){return T.copy(_.array,g.array),_._dirty=!0,_},x.cross=function(_,g,m){return T.cross(_.array,g.array,m.array),_._dirty=!0,_},x.dist=function(_,g){return T.distance(_.array,g.array)},x.distance=x.dist,x.div=function(_,g,m){return T.divide(_.array,g.array,m.array),_._dirty=!0,_},x.divide=x.div,x.dot=function(_,g){return T.dot(_.array,g.array)},x.len=function(_){return T.length(_.array)},x.lerp=function(_,g,m,L){return T.lerp(_.array,g.array,m.array,L),_._dirty=!0,_},x.min=function(_,g,m){return T.min(_.array,g.array,m.array),_._dirty=!0,_},x.max=function(_,g,m){return T.max(_.array,g.array,m.array),_._dirty=!0,_},x.mul=function(_,g,m){return T.multiply(_.array,g.array,m.array),_._dirty=!0,_},x.multiply=x.mul,x.negate=function(_,g){return T.negate(_.array,g.array),_._dirty=!0,_},x.normalize=function(_,g){return T.normalize(_.array,g.array),_._dirty=!0,_},x.random=function(_,g){return T.random(_.array,g),_._dirty=!0,_},x.scale=function(_,g,m){return T.scale(_.array,g.array,m),_._dirty=!0,_},x.scaleAndAdd=function(_,g,m,L){return T.scaleAndAdd(_.array,g.array,m.array,L),_._dirty=!0,_},x.sqrDist=function(_,g){return T.sqrDist(_.array,g.array)},x.squaredDistance=x.sqrDist,x.sqrLen=function(_){return T.sqrLen(_.array)},x.squaredLength=x.sqrLen,x.sub=function(_,g,m){return T.subtract(_.array,g.array,m.array),_._dirty=!0,_},x.subtract=x.sub,x.transformMat2=function(_,g,m){return T.transformMat2(_.array,g.array,m.array),_._dirty=!0,_},x.transformMat2d=function(_,g,m){return T.transformMat2d(_.array,g.array,m.array),_._dirty=!0,_},x.transformMat3=function(_,g,m){return T.transformMat3(_.array,g.array,m.array),_._dirty=!0,_},x.transformMat4=function(_,g,m){return T.transformMat4(_.array,g.array,m.array),_._dirty=!0,_},H.a=x},function(q,H,b){"use strict";var z=b(64),P=b(11),T=b(5),x=z.a.extend({skeleton:null,joints:null,useSkinMatricesTexture:!1},function(){this.joints||(this.joints=[])},{isSkinnedMesh:function(){return!!(this.skeleton&&this.joints&&this.joints.length>0)},render:function(O,_,g){var m=O.gl;if(this.skeleton){this.skeleton.update();var L=this.skeleton.getSubSkinMatrices(this.__uid__,this.joints);g.setUniformOfSemantic(m,"SKIN_MATRIX",L)}return z.a.prototype.render.call(this,O,_,g)},getSkinMatricesTexture:function(){return this._skinMatricesTexture=this._skinMatricesTexture||new T.a({type:P.a.FLOAT,minFilter:P.a.NEAREST,magFilter:P.a.NEAREST,useMipmap:!1,flipY:!1}),this._skinMatricesTexture}});x.POINTS=P.a.POINTS,x.LINES=P.a.LINES,x.LINE_LOOP=P.a.LINE_LOOP,x.LINE_STRIP=P.a.LINE_STRIP,x.TRIANGLES=P.a.TRIANGLES,x.TRIANGLE_STRIP=P.a.TRIANGLE_STRIP,x.TRIANGLE_FAN=P.a.TRIANGLE_FAN,x.BACK=P.a.BACK,x.FRONT=P.a.FRONT,x.FRONT_AND_BACK=P.a.FRONT_AND_BACK,x.CW=P.a.CW,x.CCW=P.a.CCW,H.a=x},function(q,H,b){"use strict";var z=b(6),P=b(11),T=b(21),x=b(66),O=x.a.isPowerOfTwo,_=["px","nx","py","ny","pz","nz"],g=z.a.extend(function(){return{image:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},pixels:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},mipmaps:[]}},{update:function(L){var d=L.gl;d.bindTexture(d.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),this.updateCommon(L);var v=this.format,M=this.type;d.texParameteri(d.TEXTURE_CUBE_MAP,d.TEXTURE_WRAP_S,this.getAvailableWrapS()),d.texParameteri(d.TEXTURE_CUBE_MAP,d.TEXTURE_WRAP_T,this.getAvailableWrapT()),d.texParameteri(d.TEXTURE_CUBE_MAP,d.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),d.texParameteri(d.TEXTURE_CUBE_MAP,d.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var w=L.getGLExtension("EXT_texture_filter_anisotropic");if(w&&this.anisotropic>1&&d.texParameterf(d.TEXTURE_CUBE_MAP,w.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),M===36193){var S=L.getGLExtension("OES_texture_half_float");S||(M=P.a.FLOAT)}if(this.mipmaps.length)for(var A=this.width,R=this.height,u=0;u<this.mipmaps.length;u++){var f=this.mipmaps[u];this._updateTextureData(d,f,u,A,R,v,M),A/=2,R/=2}else this._updateTextureData(d,this,0,this.width,this.height,v,M),!this.NPOT&&this.useMipmap&&d.generateMipmap(d.TEXTURE_CUBE_MAP);d.bindTexture(d.TEXTURE_CUBE_MAP,null)},_updateTextureData:function(L,d,v,M,w,S,A){for(var R=0;R<6;R++){var u=_[R],f=d.image&&d.image[u];f?L.texImage2D(L.TEXTURE_CUBE_MAP_POSITIVE_X+R,v,S,S,A,f):L.texImage2D(L.TEXTURE_CUBE_MAP_POSITIVE_X+R,v,S,M,w,0,S,A,d.pixels&&d.pixels[u])}},generateMipmap:function(L){var d=L.gl;this.useMipmap&&!this.NPOT&&(d.bindTexture(d.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),d.generateMipmap(d.TEXTURE_CUBE_MAP))},bind:function(L){L.gl.bindTexture(L.gl.TEXTURE_CUBE_MAP,this.getWebGLTexture(L))},unbind:function(L){L.gl.bindTexture(L.gl.TEXTURE_CUBE_MAP,null)},isPowerOfTwo:function(){return this.image.px?O(this.image.px.width)&&O(this.image.px.height):O(this.width)&&O(this.height)},isRenderable:function(){return this.image.px?m(this.image.px)&&m(this.image.nx)&&m(this.image.py)&&m(this.image.ny)&&m(this.image.pz)&&m(this.image.nz):!!(this.width&&this.height)},load:function(L,d){var v=0,M=this;return T.a.each(L,function(w,S){var A=new Image;d&&(A.crossOrigin=d),A.onload=function(){v--,v===0&&(M.dirty(),M.trigger("success",M)),A.onload=null},A.onerror=function(){v--,A.onerror=null},v++,A.src=w,M.image[S]=A}),this}});Object.defineProperty(g.prototype,"width",{get:function(){return this.image&&this.image.px?this.image.px.width:this._width},set:function(L){this.image&&this.image.px?console.warn("Texture from image can't set width"):(this._width!==L&&this.dirty(),this._width=L)}}),Object.defineProperty(g.prototype,"height",{get:function(){return this.image&&this.image.px?this.image.px.height:this._height},set:function(L){this.image&&this.image.px?console.warn("Texture from image can't set height"):(this._height!==L&&this.dirty(),this._height=L)}});function m(L){return L.nodeName==="CANVAS"||L.nodeName==="VIDEO"||L.complete}H.a=g},function(q,H,b){"use strict";H.a={defaultOption:{shading:null,realisticMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},lambertMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},colorMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},hatchingMaterial:{textureTiling:1,textureOffset:0,paperColor:"#fff"}}}},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T={};T.getFormattedLabel=function(x,O,_,g,m){_=_||"normal";var L=x.getData(g),d=L.getItemModel(O),v=x.getDataParams(O,g);m!=null&&v.value instanceof Array&&(v.value=v.value[m]);var M=d.get(_==="normal"?["label","formatter"]:["emphasis","label","formatter"]);M==null&&(M=d.get(["label","formatter"]));var w;return typeof M=="function"?(v.status=_,w=M(v)):typeof M=="string"&&(w=P.a.format.formatTpl(M,v)),w},T.normalizeToArray=function(x){return x instanceof Array?x:x==null?[]:[x]},H.a=T},function(q,H,b){"use strict";var z=b(8),P=b(4),T=b(50),x=b(9),O=b(1),_=b.n(O),g=b(15),m=_.a.mat4,L=0,d=z.a.extend({name:"",position:null,rotation:null,scale:null,worldTransform:null,localTransform:null,autoUpdateLocalTransform:!0,_parent:null,_scene:null,_needsUpdateWorldTransform:!0,_inIterating:!1,__depth:0},function(){this.name||(this.name=(this.type||"NODE")+"_"+L++),this.position||(this.position=new P.a),this.rotation||(this.rotation=new T.a),this.scale||(this.scale=new P.a(1,1,1)),this.worldTransform=new x.a,this.localTransform=new x.a,this._children=[]},{target:null,invisible:!1,isSkinnedMesh:function(){return!1},isRenderable:function(){return!1},setName:function(v){var M=this._scene;if(M){var w=M._nodeRepository;delete w[this.name],w[v]=this}this.name=v},add:function(v){this._inIterating&&console.warn("Add operation can cause unpredictable error when in iterating");var M=v._parent;if(M!==this){M&&M.remove(v),v._parent=this,this._children.push(v);var w=this._scene;w&&w!==v.scene&&v.traverse(this._addSelfToScene,this),v._needsUpdateWorldTransform=!0}},remove:function(v){this._inIterating&&console.warn("Remove operation can cause unpredictable error when in iterating");var M=this._children,w=M.indexOf(v);w<0||(M.splice(w,1),v._parent=null,this._scene&&v.traverse(this._removeSelfFromScene,this))},removeAll:function(){for(var v=this._children,M=0;M<v.length;M++)v[M]._parent=null,this._scene&&v[M].traverse(this._removeSelfFromScene,this);this._children=[]},getScene:function(){return this._scene},getParent:function(){return this._parent},_removeSelfFromScene:function(v){v._scene.removeFromScene(v),v._scene=null},_addSelfToScene:function(v){this._scene.addToScene(v),v._scene=this._scene},isAncestor:function(v){for(var M=v._parent;M;){if(M===this)return!0;M=M._parent}return!1},children:function(){return this._children.slice()},childAt:function(v){return this._children[v]},getChildByName:function(v){for(var M=this._children,w=0;w<M.length;w++)if(M[w].name===v)return M[w]},getDescendantByName:function(v){for(var M=this._children,w=0;w<M.length;w++){var S=M[w];if(S.name===v)return S;var A=S.getDescendantByName(v);if(A)return A}},queryNode:function(v){if(v){for(var M=v.split("/"),w=this,S=0;S<M.length;S++){var A=M[S];if(A){for(var R=!1,u=w._children,f=0;f<u.length;f++){var y=u[f];if(y.name===A){w=y,R=!0;break}}if(!R)return}}return w}},getPath:function(v){if(!this._parent)return"/";for(var M=this._parent,w=this.name;M._parent&&(w=M.name+"/"+w,M._parent!=v);)M=M._parent;return!M._parent&&v?null:w},traverse:function(v,M,w){this._inIterating=!0,(!w||w.call(M,this))&&v.call(M,this);for(var S=this._children,A=0,R=S.length;A<R;A++)S[A].traverse(v,M,w);this._inIterating=!1},eachChild:function(v,M,w){this._inIterating=!0;for(var S=this._children,A=w==null,R=0,u=S.length;R<u;R++){var f=S[R];(A||f.constructor===w)&&v.call(M,f,R)}this._inIterating=!1},setLocalTransform:function(v){m.copy(this.localTransform.array,v.array),this.decomposeLocalTransform()},decomposeLocalTransform:function(v){var M=v?null:this.scale;this.localTransform.decomposeMatrix(M,this.rotation,this.position)},setWorldTransform:function(v){m.copy(this.worldTransform.array,v.array),this.decomposeWorldTransform()},decomposeWorldTransform:function(){var v=m.create();return function(M){var w=this.localTransform,S=this.worldTransform;this._parent?(m.invert(v,this._parent.worldTransform.array),m.multiply(w.array,v,S.array)):m.copy(w.array,S.array);var A=M?null:this.scale;w.decomposeMatrix(A,this.rotation,this.position)}}(),transformNeedsUpdate:function(){return this.position._dirty||this.rotation._dirty||this.scale._dirty},updateLocalTransform:function(){var v=this.position,M=this.rotation,w=this.scale;if(this.transformNeedsUpdate()){var S=this.localTransform.array;m.fromRotationTranslation(S,M.array,v.array),m.scale(S,S,w.array),M._dirty=!1,w._dirty=!1,v._dirty=!1,this._needsUpdateWorldTransform=!0}},_updateWorldTransformTopDown:function(){var v=this.localTransform.array,M=this.worldTransform.array;this._parent?m.multiplyAffine(M,this._parent.worldTransform.array,v):m.copy(M,v)},updateWorldTransform:function(){for(var v=this;v&&v.getParent()&&v.getParent().transformNeedsUpdate();)v=v.getParent();v.update()},update:function(v){this.autoUpdateLocalTransform?this.updateLocalTransform():v=!0,(v||this._needsUpdateWorldTransform)&&(this._updateWorldTransformTopDown(),v=!0,this._needsUpdateWorldTransform=!1);for(var M=this._children,w=0,S=M.length;w<S;w++)M[w].update(v)},getBoundingBox:function(){function v(A){return!A.invisible&&A.geometry}var M=new g.a,w=new x.a,S=new x.a;return function(A,R){return R=R||new g.a,A=A||v,this._parent?x.a.invert(S,this._parent.worldTransform):x.a.identity(S),this.traverse(function(u){u.geometry&&u.geometry.boundingBox&&(M.copy(u.geometry.boundingBox),x.a.multiply(w,S,u.worldTransform),M.applyTransform(w),R.union(M))},this,v),R}}(),getWorldPosition:function(v){this.transformNeedsUpdate()&&this.updateWorldTransform();var M=this.worldTransform.array;if(v){var w=v.array;return w[0]=M[12],w[1]=M[13],w[2]=M[14],v}else return new P.a(M[12],M[13],M[14])},clone:function(){var v=new this.constructor,M=this._children;v.setName(this.name),v.position.copy(this.position),v.rotation.copy(this.rotation),v.scale.copy(this.scale);for(var w=0;w<M.length;w++)v.add(M[w].clone());return v},rotateAround:function(){var v=new P.a,M=new x.a;return function(w,S,A){v.copy(this.position).subtract(w);var R=this.localTransform;R.identity(),R.translate(w),R.rotate(A,S),M.fromRotationTranslation(this.rotation,v),R.multiply(M),R.scale(this.scale),this.decomposeLocalTransform(),this._needsUpdateWorldTransform=!0}}(),lookAt:function(){var v=new x.a;return function(M,w){v.lookAt(this.position,M,w||this.localTransform.y).invert(),this.setLocalTransform(v),this.target=M}}()});H.a=d},function(q,H,b){"use strict";var z=b(28),P=b(19),T=b(51),x=b(15),O=b(21),_={};function g(d){var v=[],M=Object.keys(d);M.sort();for(var w=0;w<M.length;w++){var S=d[w];v.push(S+" "+d[S])}var A=v.join(`
`);if(_[A])return _[A];var R=O.a.genGUID();return _[A]=R,R}var m=z.a.extend(function(){return{material:null,autoUpdate:!0,opaqueList:[],transparentList:[],lights:[],viewBoundingBoxLastFrame:new x.a,shadowUniforms:{},_cameraList:[],_lightUniforms:{},_previousLightNumber:{},_lightNumber:{},_lightProgramKeys:{},_opaqueObjectCount:0,_transparentObjectCount:0,_nodeRepository:{}}},function(){this._scene=this},{addToScene:function(d){d instanceof T.a&&(this._cameraList.length>0&&console.warn("Found multiple camera in one scene. Use the fist one."),this._cameraList.push(d)),d.name&&(this._nodeRepository[d.name]=d)},removeFromScene:function(d){if(d instanceof T.a){var v=this._cameraList.indexOf(d);v>=0&&this._cameraList.splice(v,1)}d.name&&delete this._nodeRepository[d.name]},getNode:function(d){return this._nodeRepository[d]},cloneNode:function(d){var v=d.clone(),M={},w=function(A,R){A.skeleton&&(R.skeleton=A.skeleton.clone(d,v),R.joints=A.joints.slice()),A.material&&(M[A.material.__uid__]={oldMat:A.material});for(var u=0;u<A._children.length;u++)w(A._children[u],R._children[u])};w(d,v);for(var S in M)M[S].newMat=M[S].oldMat.clone();return v.traverse(function(A){A.material&&(A.material=M[A.material.__uid__].newMat)}),v},update:function(d,v){if(this.autoUpdate||d){z.a.prototype.update.call(this,d);var M=this.lights,w=this.material&&this.material.transparent;if(this._opaqueObjectCount=0,this._transparentObjectCount=0,M.length=0,this._updateRenderList(this,w),this.opaqueList.length=this._opaqueObjectCount,this.transparentList.length=this._transparentObjectCount,!v){this._previousLightNumber=this._lightNumber;for(var S={},A=0;A<M.length;A++){var R=M[A],u=R.group;S[u]||(S[u]={}),S[u][R.type]=S[u][R.type]||0,S[u][R.type]++}this._lightNumber=S;for(var f in S)this._lightProgramKeys[f]=g(S[f]);this._updateLightUniforms()}}},getMainCamera:function(){return this._cameraList[0]},_updateRenderList:function(d,v){if(!d.invisible)for(var M=0;M<d._children.length;M++){var w=d._children[M];w instanceof P.a?this.lights.push(w):w.isRenderable()&&(w.material.transparent||v?this.transparentList[this._transparentObjectCount++]=w:this.opaqueList[this._opaqueObjectCount++]=w),w._children.length>0&&this._updateRenderList(w)}},_updateLightUniforms:function(){var d=this.lights;d.sort(L);var v=this._lightUniforms;for(var M in v)for(var w in v[M])v[M][w].value.length=0;for(var S=0;S<d.length;S++){var A=d[S],M=A.group;for(var w in A.uniformTemplates){var R=A.uniformTemplates[w],u=R.value(A);if(u!=null){v[M]||(v[M]={}),v[M][w]||(v[M][w]={type:"",value:[]});var f=v[M][w];switch(f.type=R.type+"v",R.type){case"1i":case"1f":case"t":f.value.push(u);break;case"2f":case"3f":case"4f":for(var y=0;y<u.length;y++)f.value.push(u[y]);break;default:console.error("Unkown light uniform type "+R.type)}}}}},getLightGroups:function(){var d=[];for(var v in this._lightNumber)d.push(v);return d},getNumberChangedLightGroups:function(){var d=[];for(var v in this._lightNumber)this.isLightNumberChanged(v)&&d.push(v);return d},isLightNumberChanged:function(d){var v=this._previousLightNumber,M=this._lightNumber;for(var w in M[d])if(!v[d]||M[d][w]!==v[d][w])return!0;for(var w in v[d])if(!M[d]||M[d][w]!==v[d][w])return!0;return!1},getLightsNumbers:function(d){return this._lightNumber[d]},getProgramKey:function(d){return this._lightProgramKeys[d]},setLightUniforms:function(){function d(v,M,w){for(var S in v){var A=v[S];if(A.type==="tv"){if(!M.hasUniform(S))continue;for(var R=[],u=0;u<A.value.length;u++){var f=A.value[u],y=M.takeCurrentTextureSlot(w,f);R.push(y)}M.setUniform(w.gl,"1iv",S,R)}else M.setUniform(w.gl,A.type,S,A.value)}}return function(v,M,w){d(this._lightUniforms[M],v,w),d(this.shadowUniforms,v,w)}}(),dispose:function(){this.material=null,this.opaqueList=[],this.transparentList=[],this.lights=[],this._lightUniforms={},this._lightNumber={},this._nodeRepository={}}});function L(d,v){if(v.castShadow&&!d.castShadow)return!0}H.a=m},function(q,H,b){"use strict";var z=b(51),P=z.a.extend({left:-1,right:1,near:-1,far:1,top:1,bottom:-1},{updateProjectionMatrix:function(){this.projectionMatrix.ortho(this.left,this.right,this.bottom,this.top,this.near,this.far)},decomposeProjectionMatrix:function(){var T=this.projectionMatrix.array;this.left=(-1-T[12])/T[0],this.right=(1-T[12])/T[0],this.top=(1-T[13])/T[5],this.bottom=(-1-T[13])/T[5],this.near=-(-1-T[14])/T[10],this.far=-(1-T[14])/T[10]},clone:function(){var T=z.a.prototype.clone.call(this);return T.left=this.left,T.right=this.right,T.near=this.near,T.far=this.far,T.top=this.top,T.bottom=this.bottom,T}});H.a=P},function(q,H,b){"use strict";H.a={defaultOption:{postEffect:{enable:!1,bloom:{enable:!0,intensity:.1},depthOfField:{enable:!1,focalRange:20,focalDistance:50,blurRadius:10,fstop:2.8,quality:"medium"},screenSpaceAmbientOcclusion:{enable:!1,radius:2,quality:"medium",intensity:1},screenSpaceReflection:{enable:!1,quality:"medium",maxRoughness:.8},colorCorrection:{enable:!0,exposure:0,brightness:0,contrast:1,saturation:1,lookupTexture:""},edge:{enable:!1},FXAA:{enable:!1}},temporalSuperSampling:{enable:"auto"}}}},function(q,H,b){"use strict";H.a={defaultOption:{light:{main:{shadow:!1,shadowQuality:"high",color:"#fff",intensity:1,alpha:0,beta:0},ambient:{color:"#fff",intensity:.2},ambientCubemap:{texture:null,exposure:1,diffuseIntensity:.5,specularIntensity:.5}}}}},function(q,H,b){"use strict";H.a={convertToDynamicArray:function(z){z&&this.resetOffset();var P=this.attributes;for(var T in P)z||!P[T].value?P[T].value=[]:P[T].value=Array.prototype.slice.call(P[T].value);z||!this.indices?this.indices=[]:this.indices=Array.prototype.slice.call(this.indices)},convertToTypedArray:function(){var z=this.attributes;for(var P in z)z[P].value&&z[P].value.length>0?z[P].value=new Float32Array(z[P].value):z[P].value=null;this.indices&&this.indices.length>0&&(this.indices=this.vertexCount>65535?new Uint32Array(this.indices):new Uint16Array(this.indices)),this.dirty()}}},function(q,H,b){"use strict";var z=b(2),P=b(57),T=b(56),x=b(0),O=b.n(x);function _(){}_.prototype={constructor:_,setScene:function(g){this._scene=g,this._skybox&&this._skybox.attachScene(this._scene)},initLight:function(g){this._lightRoot=g,this.mainLight=new z.a.DirectionalLight({shadowBias:.005}),this.ambientLight=new z.a.AmbientLight,g.add(this.mainLight),g.add(this.ambientLight)},dispose:function(){this._lightRoot&&(this._lightRoot.remove(this.mainLight),this._lightRoot.remove(this.ambientLight))},updateLight:function(g){var m=this.mainLight,L=this.ambientLight,d=g.getModel("light"),v=d.getModel("main"),M=d.getModel("ambient");m.intensity=v.get("intensity"),L.intensity=M.get("intensity"),m.color=z.a.parseColor(v.get("color")).slice(0,3),L.color=z.a.parseColor(M.get("color")).slice(0,3);var w=v.get("alpha")||0,S=v.get("beta")||0;m.position.setArray(z.a.directionFromAlphaBeta(w,S)),m.lookAt(z.a.Vector3.ZERO),m.castShadow=v.get("shadow"),m.shadowResolution=z.a.getShadowResolution(v.get("shadowQuality"))},updateAmbientCubemap:function(g,m,L){var d=m.getModel("light.ambientCubemap"),v=d.get("texture");if(v){this._cubemapLightsCache=this._cubemapLightsCache||{};var M=this._cubemapLightsCache[v];if(!M){var w=this;M=this._cubemapLightsCache[v]=z.a.createAmbientCubemap(d.option,g,L,function(){w._skybox instanceof P.a&&w._skybox.setEnvironmentMap(M.specular.cubemap),L.getZr().refresh()})}this._lightRoot.add(M.diffuse),this._lightRoot.add(M.specular),this._currentCubemapLights=M}else this._currentCubemapLights&&(this._lightRoot.remove(this._currentCubemapLights.diffuse),this._lightRoot.remove(this._currentCubemapLights.specular),this._currentCubemapLights=null)},updateSkybox:function(g,m,L){var d=m.get("environment"),v=this;function M(){return v._skybox instanceof P.a||(v._skybox&&v._skybox.dispose(g),v._skybox=new P.a),v._skybox}function w(){return v._skybox instanceof T.a||(v._skybox&&v._skybox.dispose(g),v._skybox=new T.a),v._skybox}if(d&&d!=="none")if(d==="auto")if(this._currentCubemapLights){var S=M(),A=this._currentCubemapLights.specular.cubemap;S.setEnvironmentMap(A),this._scene&&S.attachScene(this._scene),S.material.set("lod",2)}else this._skybox&&this._skybox.detachScene();else if(typeof d=="object"&&d.colorStops||typeof d=="string"&&O.a.color.parse(d)){var R=w(),u=new z.a.Texture2D({anisotropic:8,flipY:!1});R.setEnvironmentMap(u);var f=u.image=document.createElement("canvas");f.width=f.height=16;var y=f.getContext("2d"),D=new O.a.graphic.Rect({shape:{x:0,y:0,width:16,height:16},style:{fill:d}});D.brush(y),R.attachScene(this._scene)}else{var R=w(),u=z.a.loadTexture(d,L,{anisotropic:8,flipY:!1});R.setEnvironmentMap(u),R.attachScene(this._scene)}else this._skybox&&this._skybox.detachScene(this._scene),this._skybox=null;var I=m.coordinateSystem;if(this._skybox)if(I&&I.viewGL&&d!=="auto"&&!(d.match&&d.match(/.hdr$/))){var U=I.viewGL.isLinearSpace()?"define":"undefine";this._skybox.material[U]("fragment","SRGB_DECODE")}else this._skybox.material.undefine("fragment","SRGB_DECODE")}},H.a=_},function(q,H,b){"use strict";var z=b(0),P=b.n(z);function T(x,O){var _=[];return P.a.util.each(x.dimensions,function(g){var m=x.getDimensionInfo(g),L=m.otherDims,d=L[O];d!=null&&d!==!1&&(_[d]=m.name)}),_}H.a=function(x,O,_){function g(A){var R=!0,u=[],f=T(m,"tooltip");f.length?P.a.util.each(f,function(D){y(m.get(D,O),D)}):P.a.util.each(A,y);function y(D,I){var U=m.getDimensionInfo(I);if(!(!U||U.otherDims.tooltip===!1)){var F=U.type,G=(R?"- "+(U.tooltipName||U.name)+": ":"")+(F==="ordinal"?D+"":F==="time"?_?"":P.a.format.formatTime("yyyy/MM/dd hh:mm:ss",D):P.a.format.addCommas(D));G&&u.push(P.a.format.encodeHTML(G))}}return(R?"<br/>":"")+u.join(R?"<br/>":", ")}var m=x.getData(),L=x.getRawValue(O),d=P.a.util.isArray(L)?g(L):P.a.format.encodeHTML(P.a.format.addCommas(L)),v=m.getName(O),M=m.getItemVisual(O,"color");P.a.util.isObject(M)&&M.colorStops&&(M=(M.colorStops[0]||{}).color),M=M||"transparent";var w=P.a.format.getTooltipMarker(M),S=x.name;return S==="\0-"&&(S=""),S=S?P.a.format.encodeHTML(S)+(_?": ":"<br/>"):"",_?w+S+d:S+w+(v?P.a.format.encodeHTML(v)+": "+d:d)}},function(q,H,b){"use strict";var z=b(51),P=z.a.extend({fov:50,aspect:1,near:.1,far:2e3},{updateProjectionMatrix:function(){var T=this.fov/180*Math.PI;this.projectionMatrix.perspective(T,this.aspect,this.near,this.far)},decomposeProjectionMatrix:function(){var T=this.projectionMatrix.array,x=Math.atan(1/T[5])*2;this.fov=x/Math.PI*180,this.aspect=T[5]/T[0],this.near=T[14]/(T[10]-1),this.far=T[14]/(T[10]+1)},clone:function(){var T=z.a.prototype.clone.call(this);return T.fov=this.fov,T.aspect=this.aspect,T.near=this.near,T.far=this.far,T}});H.a=P},function(q,H,b){"use strict";var z=b(13),P=b(15),T=z.a.extend({dynamic:!1,widthSegments:1,heightSegments:1},function(){this.build()},{build:function(){for(var x=this.heightSegments,O=this.widthSegments,_=this.attributes,g=[],m=[],L=[],d=[],v=0;v<=x;v++)for(var M=v/x,w=0;w<=O;w++){var S=w/O;if(g.push([2*S-1,2*M-1,0]),m&&m.push([S,M]),L&&L.push([0,0,1]),w<O&&v<x){var A=w+v*(O+1);d.push([A,A+1,A+O+1]),d.push([A+O+1,A+1,A+O+2])}}_.position.fromArray(g),_.texcoord0.fromArray(m),_.normal.fromArray(L),this.initIndicesFromArray(d),this.boundingBox=new P.a,this.boundingBox.min.set(-1,-1,0),this.boundingBox.max.set(1,1,0)}});H.a=T},function(q,H,b){"use strict";H.a={defaultOption:{viewControl:{projection:"perspective",autoRotate:!1,autoRotateDirection:"cw",autoRotateSpeed:10,autoRotateAfterStill:3,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",distance:150,minDistance:40,maxDistance:400,orthographicSize:150,maxOrthographicSize:400,minOrthographicSize:20,center:[0,0,0],alpha:0,beta:0,minAlpha:-90,maxAlpha:90}},setView:function(z){z=z||{},this.option.viewControl=this.option.viewControl||{},z.alpha!=null&&(this.option.viewControl.alpha=z.alpha),z.beta!=null&&(this.option.viewControl.beta=z.beta),z.distance!=null&&(this.option.viewControl.distance=z.distance),z.center!=null&&(this.option.viewControl.center=z.center)}}},function(q,H,b){"use strict";var z=b(8),P=b(23),T=b(4),x=b(50),O=b(3),_=O.a.firstNotNull,g={left:0,middle:1,right:2};function m(d){return d instanceof Array||(d=[d,d]),d}var L=z.a.extend(function(){return{zr:null,viewGL:null,_center:new T.a,minDistance:.5,maxDistance:1.5,maxOrthographicSize:300,minOrthographicSize:30,minAlpha:-90,maxAlpha:90,minBeta:-1/0,maxBeta:1/0,autoRotateAfterStill:0,autoRotateDirection:"cw",autoRotateSpeed:60,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",_mode:"rotate",_camera:null,_needsUpdate:!1,_rotating:!1,_phi:0,_theta:0,_mouseX:0,_mouseY:0,_rotateVelocity:new P.a,_panVelocity:new P.a,_distance:500,_zoomSpeed:0,_stillTimeout:0,_animators:[]}},function(){["_mouseDownHandler","_mouseWheelHandler","_mouseMoveHandler","_mouseUpHandler","_pinchHandler","_contextMenuHandler","_update"].forEach(function(d){this[d]=this[d].bind(this)},this)},{init:function(){var d=this.zr;d&&(d.on("mousedown",this._mouseDownHandler),d.on("globalout",this._mouseUpHandler),d.on("mousewheel",this._mouseWheelHandler),d.on("pinch",this._pinchHandler),d.animation.on("frame",this._update),d.dom.addEventListener("contextmenu",this._contextMenuHandler))},dispose:function(){var d=this.zr;d&&(d.off("mousedown",this._mouseDownHandler),d.off("mousemove",this._mouseMoveHandler),d.off("mouseup",this._mouseUpHandler),d.off("mousewheel",this._mouseWheelHandler),d.off("pinch",this._pinchHandler),d.off("globalout",this._mouseUpHandler),d.dom.removeEventListener("contextmenu",this._contextMenuHandler),d.animation.off("frame",this._update)),this.stopAllAnimation()},getDistance:function(){return this._distance},setDistance:function(d){this._distance=d,this._needsUpdate=!0},getOrthographicSize:function(){return this._orthoSize},setOrthographicSize:function(d){this._orthoSize=d,this._needsUpdate=!0},getAlpha:function(){return this._theta/Math.PI*180},getBeta:function(){return-this._phi/Math.PI*180},getCenter:function(){return this._center.toArray()},setAlpha:function(d){d=Math.max(Math.min(this.maxAlpha,d),this.minAlpha),this._theta=d/180*Math.PI,this._needsUpdate=!0},setBeta:function(d){d=Math.max(Math.min(this.maxBeta,d),this.minBeta),this._phi=-d/180*Math.PI,this._needsUpdate=!0},setCenter:function(d){this._center.setArray(d)},setViewGL:function(d){this.viewGL=d},getCamera:function(){return this.viewGL.camera},setFromViewControlModel:function(d,v){v=v||{};var M=v.baseDistance||0,w=v.baseOrthoSize||1,S=d.get("projection");S!=="perspective"&&S!=="orthographic"&&S!=="isometric"&&(console.error("Unkown projection type %s, use perspective projection instead.",S),S="perspective"),this._projection=S,this.viewGL.setProjection(S);var A=d.get("distance")+M,R=d.get("orthographicSize")+w;[["damping",.8],["autoRotate",!1],["autoRotateAfterStill",3],["autoRotateDirection","cw"],["autoRotateSpeed",10],["minDistance",30],["maxDistance",400],["minOrthographicSize",30],["maxOrthographicSize",300],["minAlpha",-90],["maxAlpha",90],["minBeta",-1/0],["maxBeta",1/0],["rotateSensitivity",1],["zoomSensitivity",1],["panSensitivity",1],["panMouseButton","left"],["rotateMouseButton","middle"]].forEach(function(U){this[U[0]]=_(d.get(U[0]),U[1])},this),this.minDistance+=M,this.maxDistance+=M,this.minOrthographicSize+=w,this.maxOrthographicSize+=w;var u=d.ecModel,f={};["animation","animationDurationUpdate","animationEasingUpdate"].forEach(function(U){f[U]=_(d.get(U),u&&u.get(U))});var y=_(v.alpha,d.get("alpha"))||0,D=_(v.beta,d.get("beta"))||0,I=_(v.center,d.get("center"))||[0,0,0];f.animation&&f.animationDurationUpdate>0&&this._notFirst?this.animateTo({alpha:y,beta:D,center:I,distance:A,targetOrthographicSize:R,easing:f.animationEasingUpdate,duration:f.animationDurationUpdate}):(this.setDistance(A),this.setAlpha(y),this.setBeta(D),this.setCenter(I),this.setOrthographicSize(R)),this._notFirst=!0,this._validateProperties()},_validateProperties:function(){g[this.panMouseButton]==null&&console.error("Unkown panMouseButton %s. It should be left|middle|right",this.panMouseButton),g[this.rotateMouseButton]==null&&console.error("Unkown rotateMouseButton %s. It should be left|middle|right",this.rotateMouseButton),this.autoRotateDirection!=="cw"&&this.autoRotateDirection!=="ccw"&&console.error("Unkown autoRotateDirection %s. It should be cw|ccw",this.autoRotateDirection)},animateTo:function(d){var v=this.zr,M=this,w={},S={};return d.distance!=null&&(w.distance=this.getDistance(),S.distance=d.distance),d.orthographicSize!=null&&(w.orthographicSize=this.getOrthographicSize(),S.orthographicSize=d.orthographicSize),d.alpha!=null&&(w.alpha=this.getAlpha(),S.alpha=d.alpha),d.beta!=null&&(w.beta=this.getBeta(),S.beta=d.beta),d.center!=null&&(w.center=this.getCenter(),S.center=d.center),this._addAnimator(v.animation.animate(w).when(d.duration||1e3,S).during(function(){w.alpha!=null&&M.setAlpha(w.alpha),w.beta!=null&&M.setBeta(w.beta),w.distance!=null&&M.setDistance(w.distance),w.center!=null&&M.setCenter(w.center),w.orthographicSize!=null&&M.setOrthographicSize(w.orthographicSize),M._needsUpdate=!0})).start(d.easing||"linear")},stopAllAnimation:function(){for(var d=0;d<this._animators.length;d++)this._animators[d].stop();this._animators.length=0},_isAnimating:function(){return this._animators.length>0},_update:function(d){if(this._rotating){var v=(this.autoRotateDirection==="cw"?1:-1)*this.autoRotateSpeed/180*Math.PI;this._phi-=v*d/1e3,this._needsUpdate=!0}else this._rotateVelocity.len()>0&&(this._needsUpdate=!0);(Math.abs(this._zoomSpeed)>.1||this._panVelocity.len()>0)&&(this._needsUpdate=!0),this._needsUpdate&&(d=Math.min(d,50),this._updateDistanceOrSize(d),this._updatePan(d),this._updateRotate(d),this._updateTransform(),this.getCamera().update(),this.zr&&this.zr.refresh(),this.trigger("update"),this._needsUpdate=!1)},_updateRotate:function(d){var v=this._rotateVelocity;this._phi=v.y*d/20+this._phi,this._theta=v.x*d/20+this._theta,this.setAlpha(this.getAlpha()),this.setBeta(this.getBeta()),this._vectorDamping(v,Math.pow(this.damping,d/16))},_updateDistanceOrSize:function(d){this._projection==="perspective"?this._setDistance(this._distance+this._zoomSpeed*d/20):this._setOrthoSize(this._orthoSize+this._zoomSpeed*d/20),this._zoomSpeed*=Math.pow(this.damping,d/16)},_setDistance:function(d){this._distance=Math.max(Math.min(d,this.maxDistance),this.minDistance)},_setOrthoSize:function(d){this._orthoSize=Math.max(Math.min(d,this.maxOrthographicSize),this.minOrthographicSize);var v=this.getCamera(),M=this._orthoSize,w=M/this.viewGL.viewport.height*this.viewGL.viewport.width;v.left=-w/2,v.right=w/2,v.top=M/2,v.bottom=-M/2},_updatePan:function(d){var v=this._panVelocity,M=this._distance,w=this.getCamera(),S=w.worldTransform.y,A=w.worldTransform.x;this._center.scaleAndAdd(A,-v.x*M/200).scaleAndAdd(S,-v.y*M/200),this._vectorDamping(v,0)},_updateTransform:function(){var d=this.getCamera(),v=new T.a,M=this._theta+Math.PI/2,w=this._phi+Math.PI/2,S=Math.sin(M);v.x=S*Math.cos(w),v.y=-Math.cos(M),v.z=S*Math.sin(w),d.position.copy(this._center).scaleAndAdd(v,this._distance),d.rotation.identity().rotateY(-this._phi).rotateX(-this._theta)},_startCountingStill:function(){clearTimeout(this._stillTimeout);var d=this.autoRotateAfterStill,v=this;!isNaN(d)&&d>0&&(this._stillTimeout=setTimeout(function(){v._rotating=!0},d*1e3))},_vectorDamping:function(d,v){var M=d.len();M=M*v,M<1e-4&&(M=0),d.normalize().scale(M)},_decomposeTransform:function(){if(this.getCamera()){this.getCamera().updateWorldTransform();var d=this.getCamera().worldTransform.z,v=Math.asin(d.y),M=Math.atan2(d.x,d.z);this._theta=v,this._phi=-M,this.setBeta(this.getBeta()),this.setAlpha(this.getAlpha()),this.getCamera().aspect?this._setDistance(this.getCamera().position.dist(this._center)):this._setOrthoSize(this.getCamera().top-this.getCamera().bottom)}},_mouseDownHandler:function(d){if(!d.target&&!this._isAnimating()){var v=d.offsetX,M=d.offsetY;this.viewGL&&!this.viewGL.containPoint(v,M)||(this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler),d.event.targetTouches?d.event.targetTouches.length===1&&(this._mode="rotate"):d.event.button===g[this.rotateMouseButton]?this._mode="rotate":d.event.button===g[this.panMouseButton]?this._mode="pan":this._mode="",this._rotateVelocity.set(0,0),this._rotating=!1,this.autoRotate&&this._startCountingStill(),this._mouseX=d.offsetX,this._mouseY=d.offsetY)}},_mouseMoveHandler:function(d){if(!(d.target&&d.target.__isGLToZRProxy)&&!this._isAnimating()){var v=m(this.panSensitivity),M=m(this.rotateSensitivity);this._mode==="rotate"?(this._rotateVelocity.y=(d.offsetX-this._mouseX)/this.zr.getHeight()*2*M[0],this._rotateVelocity.x=(d.offsetY-this._mouseY)/this.zr.getWidth()*2*M[1]):this._mode==="pan"&&(this._panVelocity.x=(d.offsetX-this._mouseX)/this.zr.getWidth()*v[0]*400,this._panVelocity.y=(-d.offsetY+this._mouseY)/this.zr.getHeight()*v[1]*400),this._mouseX=d.offsetX,this._mouseY=d.offsetY,d.event.preventDefault()}},_mouseWheelHandler:function(d){if(!this._isAnimating()){var v=d.event.wheelDelta||-d.event.detail;this._zoomHandler(d,v)}},_pinchHandler:function(d){this._isAnimating()||(this._zoomHandler(d,d.pinchScale>1?1:-1),this._mode="")},_zoomHandler:function(d,v){if(v!==0){var M=d.offsetX,w=d.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(M,w))){var S;this._projection==="perspective"?S=Math.max(Math.max(Math.min(this._distance-this.minDistance,this.maxDistance-this._distance))/20,.5):S=Math.max(Math.max(Math.min(this._orthoSize-this.minOrthographicSize,this.maxOrthographicSize-this._orthoSize))/20,.5),this._zoomSpeed=(v>0?-1:1)*S*this.zoomSensitivity,this._rotating=!1,this.autoRotate&&this._mode==="rotate"&&this._startCountingStill(),d.event.preventDefault()}}},_mouseUpHandler:function(){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_isRightMouseButtonUsed:function(){return this.rotateMouseButton==="right"||this.panMouseButton==="right"},_contextMenuHandler:function(d){this._isRightMouseButtonUsed()&&d.preventDefault()},_addAnimator:function(d){var v=this._animators;return v.push(d),d.done(function(){var M=v.indexOf(d);M>=0&&v.splice(M,1)}),d}});Object.defineProperty(L.prototype,"autoRotate",{get:function(d){return this._autoRotate},set:function(d){this._autoRotate=d,this._rotating=d}}),H.a=L},function(q,H,b){"use strict";H.a=`@export ecgl.lines3D.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position: POSITION;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
void main()
{
gl_Position = worldViewProjection * vec4(position, 1.0);
v_Color = a_Color;
}
@end
@export ecgl.lines3D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
}
@end
@export ecgl.lines3D.clipNear
vec4 clipNear(vec4 p1, vec4 p2) {
float n = (p1.w - near) / (p1.w - p2.w);
return vec4(mix(p1.xy, p2.xy, n), -near, near);
}
@end
@export ecgl.lines3D.expandLine
#ifdef VERTEX_ANIMATION
vec4 prevProj = worldViewProjection * vec4(mix(prevPositionPrev, positionPrev, percent), 1.0);
vec4 currProj = worldViewProjection * vec4(mix(prevPosition, position, percent), 1.0);
vec4 nextProj = worldViewProjection * vec4(mix(prevPositionNext, positionNext, percent), 1.0);
#else
vec4 prevProj = worldViewProjection * vec4(positionPrev, 1.0);
vec4 currProj = worldViewProjection * vec4(position, 1.0);
vec4 nextProj = worldViewProjection * vec4(positionNext, 1.0);
#endif
if (currProj.w < 0.0) {
if (nextProj.w > 0.0) {
currProj = clipNear(currProj, nextProj);
}
else if (prevProj.w > 0.0) {
currProj = clipNear(currProj, prevProj);
}
}
vec2 prevScreen = (prevProj.xy / abs(prevProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 currScreen = (currProj.xy / abs(currProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 nextScreen = (nextProj.xy / abs(nextProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 dir;
float len = offset;
if (position == positionPrev) {
dir = normalize(nextScreen - currScreen);
}
else if (position == positionNext) {
dir = normalize(currScreen - prevScreen);
}
else {
vec2 dirA = normalize(currScreen - prevScreen);
vec2 dirB = normalize(nextScreen - currScreen);
vec2 tanget = normalize(dirA + dirB);
float miter = 1.0 / max(dot(tanget, dirA), 0.5);
len *= miter;
dir = tanget;
}
dir = vec2(-dir.y, dir.x) * len;
currScreen += dir;
currProj.xy = (currScreen / viewport.zw - 0.5) * 2.0 * abs(currProj.w);
@end
@export ecgl.meshLines3D.vertex
attribute vec3 position: POSITION;
attribute vec3 positionPrev;
attribute vec3 positionNext;
attribute float offset;
attribute vec4 a_Color : COLOR;
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute vec3 prevPositionPrev;
attribute vec3 prevPositionNext;
uniform float percent : 1.0;
#endif
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
uniform float near : NEAR;
varying vec4 v_Color;
@import ecgl.common.wireframe.vertexHeader
@import ecgl.lines3D.clipNear
void main()
{
@import ecgl.lines3D.expandLine
gl_Position = currProj;
v_Color = a_Color;
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.meshLines3D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(q,H,b){var z=b(12),P=b(75),T=b(78),x=T.parsePercent,O=b(149),_=z.each,g=["left","right","top","bottom","width","height"],m=[["width","left","right"],["height","top","bottom"]];function L(D,I,U,F,G){var Y=0,te=0;F==null&&(F=1/0),G==null&&(G=1/0);var $=0;I.eachChild(function(oe,ie){var ne=oe.position,le=oe.getBoundingRect(),ae=I.childAt(ie+1),de=ae&&ae.getBoundingRect(),se,fe;if(D==="horizontal"){var ye=le.width+(de?-de.x+le.x:0);se=Y+ye,se>F||oe.newline?(Y=0,se=ye,te+=$+U,$=le.height):$=Math.max($,le.height)}else{var ge=le.height+(de?-de.y+le.y:0);fe=te+ge,fe>G||oe.newline?(Y+=$+U,te=0,fe=ge,$=le.width):$=Math.max($,le.width)}oe.newline||(ne[0]=Y,ne[1]=te,D==="horizontal"?Y=se+U:te=fe+U)})}var d=L,v=z.curry(L,"vertical"),M=z.curry(L,"horizontal");function w(D,I,U){var F=I.width,G=I.height,Y=x(D.x,F),te=x(D.y,G),$=x(D.x2,F),oe=x(D.y2,G);return(isNaN(Y)||isNaN(parseFloat(D.x)))&&(Y=0),(isNaN($)||isNaN(parseFloat(D.x2)))&&($=F),(isNaN(te)||isNaN(parseFloat(D.y)))&&(te=0),(isNaN(oe)||isNaN(parseFloat(D.y2)))&&(oe=G),U=O.normalizeCssArray(U||0),{width:Math.max($-Y-U[1]-U[3],0),height:Math.max(oe-te-U[0]-U[2],0)}}function S(D,I,U){U=O.normalizeCssArray(U||0);var F=I.width,G=I.height,Y=x(D.left,F),te=x(D.top,G),$=x(D.right,F),oe=x(D.bottom,G),ie=x(D.width,F),ne=x(D.height,G),le=U[2]+U[0],ae=U[1]+U[3],de=D.aspect;switch(isNaN(ie)&&(ie=F-$-ae-Y),isNaN(ne)&&(ne=G-oe-le-te),de!=null&&(isNaN(ie)&&isNaN(ne)&&(de>F/G?ie=F*.8:ne=G*.8),isNaN(ie)&&(ie=de*ne),isNaN(ne)&&(ne=ie/de)),isNaN(Y)&&(Y=F-$-ie-ae),isNaN(te)&&(te=G-oe-ne-le),D.left||D.right){case"center":Y=F/2-ie/2-U[3];break;case"right":Y=F-ie-ae;break}switch(D.top||D.bottom){case"middle":case"center":te=G/2-ne/2-U[0];break;case"bottom":te=G-ne-le;break}Y=Y||0,te=te||0,isNaN(ie)&&(ie=F-ae-Y-($||0)),isNaN(ne)&&(ne=G-le-te-(oe||0));var se=new P(Y+U[3],te+U[0],ie,ne);return se.margin=U,se}function A(D,I,U,F,G){var Y=!G||!G.hv||G.hv[0],te=!G||!G.hv||G.hv[1],$=G&&G.boundingMode||"all";if(!(!Y&&!te)){var oe;if($==="raw")oe=D.type==="group"?new P(0,0,+I.width||0,+I.height||0):D.getBoundingRect();else if(oe=D.getBoundingRect(),D.needLocalTransform()){var ie=D.getLocalTransform();oe=oe.clone(),oe.applyTransform(ie)}I=S(z.defaults({width:oe.width,height:oe.height},I),U,F);var ne=D.position,le=Y?I.x-oe.x:0,ae=te?I.y-oe.y:0;D.attr("position",$==="raw"?[le,ae]:[ne[0]+le,ne[1]+ae])}}function R(D,I){return D[m[I][0]]!=null||D[m[I][1]]!=null&&D[m[I][2]]!=null}function u(D,I,U){!z.isObject(U)&&(U={});var F=U.ignoreSize;!z.isArray(F)&&(F=[F,F]);var G=te(m[0],0),Y=te(m[1],1);ie(m[0],D,G),ie(m[1],D,Y);function te(ne,le){var ae={},de=0,se={},fe=0,ye=2;if(_(ne,function(Me){se[Me]=D[Me]}),_(ne,function(Me){$(I,Me)&&(ae[Me]=se[Me]=I[Me]),oe(ae,Me)&&de++,oe(se,Me)&&fe++}),F[le])return oe(I,ne[1])?se[ne[2]]=null:oe(I,ne[2])&&(se[ne[1]]=null),se;if(fe===ye||!de)return se;if(de>=ye)return ae;for(var ge=0;ge<ne.length;ge++){var xe=ne[ge];if(!$(ae,xe)&&$(D,xe)){ae[xe]=D[xe];break}}return ae}function $(ne,le){return ne.hasOwnProperty(le)}function oe(ne,le){return ne[le]!=null&&ne[le]!=="auto"}function ie(ne,le,ae){_(ne,function(de){le[de]=ae[de]})}}function f(D){return y({},D)}function y(D,I){return I&&D&&_(g,function(U){I.hasOwnProperty(U)&&(D[U]=I[U])}),D}H.LOCATION_PARAMS=g,H.HV_NAMES=m,H.box=d,H.vbox=v,H.hbox=M,H.getAvailableSize=w,H.getLayoutRect=S,H.positionElement=A,H.sizeCalculable=R,H.mergeLayoutParam=u,H.getLayoutParams=f,H.copyLayoutParams=y},function(q,H,b){"use strict";var z=b(8),P=z.a.extend(function(){return{name:"",inputLinks:{},outputLinks:{},_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},{updateParameter:function(T,x){var O=this.outputs[T],_=O.parameters,g=O._parametersCopy;if(g||(g=O._parametersCopy={}),_)for(var m in _)m!=="width"&&m!=="height"&&(g[m]=_[m]);var L,d;return _.width instanceof Function?L=_.width.call(this,x):L=_.width,_.height instanceof Function?d=_.height.call(this,x):d=_.height,(g.width!==L||g.height!==d)&&this._outputTextures[T]&&this._outputTextures[T].dispose(x.gl),g.width=L,g.height=d,g},setParameter:function(T,x){},getParameter:function(T){},setParameters:function(T){for(var x in T)this.setParameter(x,T[x])},render:function(){},getOutput:function(T,x){if(x==null)return x=T,this._outputTextures[x];var O=this.outputs[x];if(O)return this._rendered?O.outputLastFrame?this._prevOutputTextures[x]:this._outputTextures[x]:this._rendering?(this._prevOutputTextures[x]||(this._prevOutputTextures[x]=this._compositor.allocateTexture(O.parameters||{})),this._prevOutputTextures[x]):(this.render(T),this._outputTextures[x])},removeReference:function(T){if(this._outputReferences[T]--,this._outputReferences[T]===0){var x=this.outputs[T];x.keepLastFrame?(this._prevOutputTextures[T]&&this._compositor.releaseTexture(this._prevOutputTextures[T]),this._prevOutputTextures[T]=this._outputTextures[T]):this._compositor.releaseTexture(this._outputTextures[T])}},link:function(T,x,O){this.inputLinks[T]={node:x,pin:O},x.outputLinks[O]||(x.outputLinks[O]=[]),x.outputLinks[O].push({node:this,pin:T}),this.pass.material.enableTexture(T)},clear:function(){this.inputLinks={},this.outputLinks={}},updateReference:function(T){if(!this._rendering){this._rendering=!0;for(var x in this.inputLinks){var O=this.inputLinks[x];O.node.updateReference(O.pin)}this._rendering=!1}T&&this._outputReferences[T]++},beforeFrame:function(){this._rendered=!1;for(var T in this.outputLinks)this._outputReferences[T]=0},afterFrame:function(){for(var T in this.outputLinks)if(this._outputReferences[T]>0){var x=this.outputs[T];x.keepLastFrame?(this._prevOutputTextures[T]&&this._compositor.releaseTexture(this._prevOutputTextures[T]),this._prevOutputTextures[T]=this._outputTextures[T]):this._compositor.releaseTexture(this._outputTextures[T])}}});H.a=P},function(q,H,b){"use strict";function z(P,T){for(var x=0,O=1/T,_=P;_>0;)x=x+O*(_%T),_=Math.floor(_/T),O=O/T;return x}H.a=z},function(q,H,b){"use strict";var z=b(0),P=b.n(z);H.a=function(T,x,O){O=O||T.getSource();var _=x||P.a.getCoordinateSystemDimensions(T.get("coordinateSystem"))||["x","y","z"],g=P.a.helper.createDimensions(O,{dimensionsDefine:O.dimensionsDefine||T.get("dimensions"),encodeDefine:O.encodeDefine||T.get("encode"),coordDimensions:_.map(function(L){var d=T.getReferringComponents(L+"Axis3D")[0];return{type:d&&d.get("type")==="category"?"ordinal":"float",name:L,stackable:L==="z"}})});T.get("coordinateSystem")==="cartesian3D"&&g.forEach(function(L){if(_.indexOf(L.coordDim)>=0){var d=T.getReferringComponents(L.coordDim+"Axis3D")[0];d&&d.get("type")==="category"&&(L.ordinalMeta=d.getOrdinalMeta())}});var m=new P.a.List(g,T);return m.initData(O),m}},function(q,H){function b(z,P,T){return{seriesType:z,performRawSeries:!0,reset:function(x,O,_){var g=x.getData(),m=x.get("symbol")||P,L=x.get("symbolSize");if(g.setVisual({legendSymbol:T||m,symbol:m,symbolSize:L}),O.isSeriesFiltered(x))return;var d=typeof L=="function";function v(M,w){if(typeof L=="function"){var S=x.getRawValue(w),A=x.getDataParams(w);M.setItemVisual(w,"symbolSize",L(S,A))}if(M.hasItemOption){var R=M.getItemModel(w),u=R.getShallow("symbol",!0),f=R.getShallow("symbolSize",!0);u!=null&&M.setItemVisual(w,"symbol",u),f!=null&&M.setItemVisual(w,"symbolSize",f)}}return{dataEach:g.hasItemOption||d?v:null}}}}q.exports=b},function(q,H,b){"use strict";var z=b(8),P=b(92),T=b(11),x=b(18),O=b(15),_=b(9),g=b(17),m=b(23),L=b(96),d=b(7),v=b(98),M=b(63),w=b(1),S=b.n(w);d.a.import(v.a),d.a.import(M.a);var A=S.a.mat4,R=S.a.vec3,u=A.create,f={};function y(F){return F.material}function D(){}var I=z.a.extend(function(){return{canvas:null,_width:100,_height:100,devicePixelRatio:window.devicePixelRatio||1,clearColor:[0,0,0,0],clearBit:17664,alpha:!0,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!1,throwError:!0,gl:null,viewport:{},__currentFrameBuffer:null,_viewportStack:[],_clearStack:[],_sceneRendering:null}},function(){this.canvas||(this.canvas=document.createElement("canvas"));var F=this.canvas;try{var G={alpha:this.alpha,depth:this.depth,stencil:this.stencil,antialias:this.antialias,premultipliedAlpha:this.premultipliedAlpha,preserveDrawingBuffer:this.preserveDrawingBuffer};if(this.gl=F.getContext("webgl",G)||F.getContext("experimental-webgl",G),!this.gl)throw new Error;this._glinfo=new P.a(this.gl),this.gl.targetRenderer&&console.error("Already created a renderer"),this.gl.targetRenderer=this,this.resize()}catch(Y){throw"Error creating WebGL Context "+Y}this._programMgr=new L.a(this)},{resize:function(F,G){var Y=this.canvas,te=this.devicePixelRatio;F!=null?(Y.style.width=F+"px",Y.style.height=G+"px",Y.width=F*te,Y.height=G*te,this._width=F,this._height=G):(this._width=Y.width/te,this._height=Y.height/te),this.setViewport(0,0,this._width,this._height)},getWidth:function(){return this._width},getHeight:function(){return this._height},getViewportAspect:function(){var F=this.viewport;return F.width/F.height},setDevicePixelRatio:function(F){this.devicePixelRatio=F,this.resize(this._width,this._height)},getDevicePixelRatio:function(){return this.devicePixelRatio},getGLExtension:function(F){return this._glinfo.getExtension(F)},getGLParameter:function(F){return this._glinfo.getParameter(F)},setViewport:function(F,G,Y,te,$){if(typeof F=="object"){var oe=F;F=oe.x,G=oe.y,Y=oe.width,te=oe.height,$=oe.devicePixelRatio}$=$||this.devicePixelRatio,this.gl.viewport(F*$,G*$,Y*$,te*$),this.viewport={x:F,y:G,width:Y,height:te,devicePixelRatio:$}},saveViewport:function(){this._viewportStack.push(this.viewport)},restoreViewport:function(){this._viewportStack.length>0&&this.setViewport(this._viewportStack.pop())},saveClear:function(){this._clearStack.push({clearBit:this.clearBit,clearColor:this.clearColor})},restoreClear:function(){if(this._clearStack.length>0){var F=this._clearStack.pop();this.clearColor=F.clearColor,this.clearBit=F.clearBit}},bindSceneRendering:function(F){this._sceneRendering=F},render:function(F,G,Y,te){var $=this.gl,oe=this.clearColor;if(this.clearBit){$.colorMask(!0,!0,!0,!0),$.depthMask(!0);var ie=this.viewport,ne=!1,le=ie.devicePixelRatio;(ie.width!==this._width||ie.height!==this._height||le&&le!==this.devicePixelRatio||ie.x||ie.y)&&(ne=!0,$.enable($.SCISSOR_TEST),$.scissor(ie.x*le,ie.y*le,ie.width*le,ie.height*le)),$.clearColor(oe[0],oe[1],oe[2],oe[3]),$.clear(this.clearBit),ne&&$.disable($.SCISSOR_TEST)}if(Y||F.update(!1),G=G||F.getMainCamera(),!G){console.error("Can't find camera in the scene.");return}G.getScene()||G.update(!0),this._sceneRendering=F,F.viewBoundingBoxLastFrame.min.set(1/0,1/0,1/0),F.viewBoundingBoxLastFrame.max.set(-1/0,-1/0,-1/0);var ae=this.cullRenderList(F.opaqueList,F,G),de=this.cullRenderList(F.transparentList,F,G),se=F.material;F.trigger("beforerender",this,F,G),te?(this.renderPreZ(ae,F,G),$.depthFunc($.LEQUAL)):$.depthFunc($.LESS);for(var fe=u(),ye=R.create(),ge=0;ge<de.length;ge++){var xe=de[ge];A.multiplyAffine(fe,G.viewMatrix.array,xe.worldTransform.array),R.transformMat4(ye,xe.position.array,fe),xe.__depth=ye[2]}var Me=this.renderPass(ae,G,{getMaterial:function(Je){return se||Je.material},sortCompare:this.opaqueSortCompare}),Ne=this.renderPass(de,G,{getMaterial:function(Je){return se||Je.material},sortCompare:this.transparentSortCompare}),We={};for(var tt in Me)We[tt]=Me[tt]+Ne[tt];return F.trigger("afterrender",this,F,G,We),this._sceneRendering=null,We},getProgram:function(F,G,Y){return G=G||F.material,this._programMgr.getProgram(F,G,Y)},validateProgram:function(F){if(F.__error){var G=F.__error;if(f[F.__uid__])return;if(f[F.__uid__]=!0,this.throwError)throw new Error(G);this.trigger("error",G)}},updatePrograms:function(F,G,Y){var te=Y&&Y.getMaterial||y;G=G||null;for(var $=0;$<F.length;$++){var oe=F[$],ie=te.call(this,oe);if($>0){var ne=F[$-1],le=ne.joints?ne.joints.length:0,ae=oe.joints.length?oe.joints.length:0;if(ae===le&&oe.material===ne.material&&oe.lightGroup===ne.lightGroup){oe.__program=ne.__program;continue}}var de=this._programMgr.getProgram(oe,ie,G);this.validateProgram(de),oe.__program=de}},cullRenderList:function(F,G,Y){for(var te=[],$=0;$<F.length;$++){var oe=F[$],ie=oe.isSkinnedMesh()?U.IDENTITY:oe.worldTransform.array,ne=oe.geometry;A.multiplyAffine(U.WORLDVIEW,Y.viewMatrix.array,ie),!(ne.boundingBox&&this.isFrustumCulled(oe,G,Y,U.WORLDVIEW,Y.projectionMatrix.array))&&te.push(oe)}return te},renderPass:function(F,G,Y){this.trigger("beforerenderpass",this,F,G,Y);var te={triangleCount:0,vertexCount:0,drawCallCount:0,meshCount:F.length,renderedMeshCount:0};Y=Y||{},Y.getMaterial=Y.getMaterial||y,Y.beforeRender=Y.beforeRender||D,Y.afterRender=Y.afterRender||D,this.updatePrograms(F,this._sceneRendering,Y),Y.sortCompare&&F.sort(Y.sortCompare);var $=this.viewport,oe=$.devicePixelRatio,ie=[$.x*oe,$.y*oe,$.width*oe,$.height*oe],ne=this.devicePixelRatio,le=this.__currentFrameBuffer?[this.__currentFrameBuffer.getTextureWidth(),this.__currentFrameBuffer.getTextureHeight()]:[this._width*ne,this._height*ne],ae=[ie[2],ie[3]],de=Date.now();A.copy(U.VIEW,G.viewMatrix.array),A.copy(U.PROJECTION,G.projectionMatrix.array),A.multiply(U.VIEWPROJECTION,G.projectionMatrix.array,U.VIEW),A.copy(U.VIEWINVERSE,G.worldTransform.array),A.invert(U.PROJECTIONINVERSE,U.PROJECTION),A.invert(U.VIEWPROJECTIONINVERSE,U.VIEWPROJECTION);for(var se=this.gl,fe=this._sceneRendering,ye,ge,xe,Me,Ne,We,tt,Je,st=0;st<F.length;st++){var yt=F[st];if(!(Y.ifRender&&!Y.ifRender(yt))){var gt=yt.isSkinnedMesh()?U.IDENTITY:yt.worldTransform.array,Ke=Y.getMaterial.call(this,yt),nt=yt.__program,Ze=Ke.shader;A.copy(U.WORLD,gt),A.multiply(U.WORLDVIEWPROJECTION,U.VIEWPROJECTION,gt),(Ze.matrixSemantics.WORLDINVERSE||Ze.matrixSemantics.WORLDINVERSETRANSPOSE)&&A.invert(U.WORLDINVERSE,gt),(Ze.matrixSemantics.WORLDVIEWINVERSE||Ze.matrixSemantics.WORLDVIEWINVERSETRANSPOSE)&&A.invert(U.WORLDVIEWINVERSE,U.WORLDVIEW),(Ze.matrixSemantics.WORLDVIEWPROJECTIONINVERSE||Ze.matrixSemantics.WORLDVIEWPROJECTIONINVERSETRANSPOSE)&&A.invert(U.WORLDVIEWPROJECTIONINVERSE,U.WORLDVIEWPROJECTION),yt.beforeRender(this),Y.beforeRender.call(this,yt,Ke,ye);var Ve=nt!==ge;Ve?(nt.bind(this),nt.setUniformOfSemantic(se,"VIEWPORT",ie),nt.setUniformOfSemantic(se,"WINDOW_SIZE",le),nt.setUniformOfSemantic(se,"NEAR",G.near),nt.setUniformOfSemantic(se,"FAR",G.far),nt.setUniformOfSemantic(se,"DEVICEPIXELRATIO",oe),nt.setUniformOfSemantic(se,"TIME",de),nt.setUniformOfSemantic(se,"VIEWPORT_SIZE",ae),fe&&fe.setLightUniforms(nt,yt.lightGroup,this)):nt=ge,(ye!==Ke||Ve)&&(Ke.depthTest!==xe&&(Ke.depthTest?se.enable(se.DEPTH_TEST):se.disable(se.DEPTH_TEST),xe=Ke.depthTest),Ke.depthMask!==Me&&(se.depthMask(Ke.depthMask),Me=Ke.depthMask),Ke.transparent!==Je&&(Ke.transparent?se.enable(se.BLEND):se.disable(se.BLEND),Je=Ke.transparent),Ke.transparent&&(Ke.blend?Ke.blend(se):(se.blendEquationSeparate(se.FUNC_ADD,se.FUNC_ADD),se.blendFuncSeparate(se.SRC_ALPHA,se.ONE_MINUS_SRC_ALPHA,se.ONE,se.ONE_MINUS_SRC_ALPHA))),Ke.bind(this,nt,ye,ge),ye=Ke);for(var Pe=Ze.matrixSemanticKeys,He=0;He<Pe.length;He++){var be=Pe[He],Ie=Ze.matrixSemantics[be],Te=U[be];if(Ie.isTranspose){var Re=U[Ie.semanticNoTranspose];A.transpose(Te,Re)}nt.setUniform(se,Ie.type,Ie.symbol,Te)}yt.cullFace!==We&&(We=yt.cullFace,se.cullFace(We)),yt.frontFace!==tt&&(tt=yt.frontFace,se.frontFace(tt)),yt.culling!==Ne&&(Ne=yt.culling,Ne?se.enable(se.CULL_FACE):se.disable(se.CULL_FACE));var Ge=yt.render(this,Ke,nt);Ge&&(te.triangleCount+=Ge.triangleCount,te.vertexCount+=Ge.vertexCount,te.drawCallCount+=Ge.drawCallCount,te.renderedMeshCount++),Y.afterRender.call(this,yt,Ge),yt.afterRender(this,Ge),ge=nt}}for(var st=0;st<F.length;st++)F[st].__program=null;return this.trigger("afterrenderpass",this,F,G,Y),te},renderPreZ:function(F,G,Y){var te=this.gl,$=this._prezMaterial||new g.a({shader:new d.a(d.a.source("clay.prez.vertex"),d.a.source("clay.prez.fragment"))});this._prezMaterial=$,te.colorMask(!1,!1,!1,!1),te.depthMask(!0),this.renderPass(F,Y,{ifRender:function(oe){return!oe.ignorePreZ},getMaterial:function(){return $},sort:this.opaqueSortCompare}),te.colorMask(!0,!0,!0,!0),te.depthMask(!0)},isFrustumCulled:function(){var F=new O.a,G=new _.a;return function(Y,te,$,oe,ie){var ne=Y.boundingBox||Y.geometry.boundingBox;if(G.array=oe,F.copy(ne),F.applyTransform(G),te&&Y.isRenderable()&&Y.castShadow&&te.viewBoundingBoxLastFrame.union(F),Y.frustumCulling&&!Y.isSkinnedMesh()){if(!F.intersectBoundingBox($.frustum.boundingBox))return!0;G.array=ie,F.max.array[2]>0&&F.min.array[2]<0&&(F.max.array[2]=-1e-20),F.applyProjection(G);var le=F.min.array,ae=F.max.array;if(ae[0]<-1||le[0]>1||ae[1]<-1||le[1]>1||ae[2]<-1||le[2]>1)return!0}return!1}}(),disposeScene:function(F){this.disposeNode(F,!0,!0),F.dispose()},disposeNode:function(F,G,Y){F.getParent()&&F.getParent().remove(F),F.traverse(function(te){te.geometry&&G&&te.geometry.dispose(this),te.dispose&&te.dispose(this)},this)},disposeGeometry:function(F){F.dispose(this)},disposeTexture:function(F){F.dispose(this)},disposeFrameBuffer:function(F){F.dispose(this)},dispose:function(){},screenToNDC:function(F,G,Y){Y||(Y=new m.a),G=this._height-G;var te=this.viewport,$=Y.array;return $[0]=(F-te.x)/te.width,$[0]=$[0]*2-1,$[1]=(G-te.y)/te.height,$[1]=$[1]*2-1,Y}});I.opaqueSortCompare=I.prototype.opaqueSortCompare=function(F,G){return F.renderOrder===G.renderOrder?F.__program===G.__program?F.material===G.material?F.geometry.__uid__-G.geometry.__uid__:F.material.__uid__-G.material.__uid__:F.__program&&G.__program?F.__program.__uid__-G.__program.__uid__:0:F.renderOrder-G.renderOrder},I.transparentSortCompare=I.prototype.transparentSortCompare=function(F,G){return F.renderOrder===G.renderOrder?F.__depth===G.__depth?F.__program===G.__program?F.material===G.material?F.geometry.__uid__-G.geometry.__uid__:F.material.__uid__-G.material.__uid__:F.__program&&G.__program?F.__program.__uid__-G.__program.__uid__:0:F.__depth-G.__depth:F.renderOrder-G.renderOrder};var U={IDENTITY:u(),WORLD:u(),VIEW:u(),PROJECTION:u(),WORLDVIEW:u(),VIEWPROJECTION:u(),WORLDVIEWPROJECTION:u(),WORLDINVERSE:u(),VIEWINVERSE:u(),PROJECTIONINVERSE:u(),WORLDVIEWINVERSE:u(),VIEWPROJECTIONINVERSE:u(),WORLDVIEWPROJECTIONINVERSE:u(),WORLDTRANSPOSE:u(),VIEWTRANSPOSE:u(),PROJECTIONTRANSPOSE:u(),WORLDVIEWTRANSPOSE:u(),VIEWPROJECTIONTRANSPOSE:u(),WORLDVIEWPROJECTIONTRANSPOSE:u(),WORLDINVERSETRANSPOSE:u(),VIEWINVERSETRANSPOSE:u(),PROJECTIONINVERSETRANSPOSE:u(),WORLDVIEWINVERSETRANSPOSE:u(),VIEWPROJECTIONINVERSETRANSPOSE:u(),WORLDVIEWPROJECTIONINVERSETRANSPOSE:u()};I.COLOR_BUFFER_BIT=T.a.COLOR_BUFFER_BIT,I.DEPTH_BUFFER_BIT=T.a.DEPTH_BUFFER_BIT,I.STENCIL_BUFFER_BIT=T.a.STENCIL_BUFFER_BIT,H.a=I},function(q,H,b){"use strict";function z(T,x){this.action=T,this.context=x}var P={trigger:function(T){if(this.hasOwnProperty("__handlers__")&&this.__handlers__.hasOwnProperty(T)){var x=this.__handlers__[T],O=x.length,_=-1,g=arguments;switch(g.length){case 1:for(;++_<O;)x[_].action.call(x[_].context);return;case 2:for(;++_<O;)x[_].action.call(x[_].context,g[1]);return;case 3:for(;++_<O;)x[_].action.call(x[_].context,g[1],g[2]);return;case 4:for(;++_<O;)x[_].action.call(x[_].context,g[1],g[2],g[3]);return;case 5:for(;++_<O;)x[_].action.call(x[_].context,g[1],g[2],g[3],g[4]);return;default:for(;++_<O;)x[_].action.apply(x[_].context,Array.prototype.slice.call(g,1));return}}},on:function(T,x,O){if(!(!T||!x)){var _=this.__handlers__||(this.__handlers__={});if(!_[T])_[T]=[];else if(this.has(T,x))return;var g=new z(x,O||this);return _[T].push(g),this}},once:function(T,x,O){if(!T||!x)return;var _=this;function g(){_.off(T,g),x.apply(this,arguments)}return this.on(T,g,O)},before:function(T,x,O){if(!(!T||!x))return T="before"+T,this.on(T,x,O)},after:function(T,x,O){if(!(!T||!x))return T="after"+T,this.on(T,x,O)},success:function(T,x){return this.once("success",T,x)},error:function(T,x){return this.once("error",T,x)},off:function(T,x){var O=this.__handlers__||(this.__handlers__={});if(!x){O[T]=[];return}if(O[T]){for(var _=O[T],g=[],m=0;m<_.length;m++)x&&_[m].action!==x&&g.push(_[m]);O[T]=g}return this},has:function(T,x){var O=this.__handlers__;if(!O||!O[T])return!1;for(var _=O[T],g=0;g<_.length;g++)if(_[g].action===x)return!0}};H.a=P},function(q,H,b){"use strict";var z="__dt__",P=function(){this._contextId=0,this._caches=[],this._context={}};P.prototype={use:function(T,x){var O=this._caches;O[T]||(O[T]={},x&&(O[T]=x())),this._contextId=T,this._context=O[T]},put:function(T,x){this._context[T]=x},get:function(T){return this._context[T]},dirty:function(T){T=T||"";var x=z+T;this.put(x,!0)},dirtyAll:function(T){T=T||"";for(var x=z+T,O=this._caches,_=0;_<O.length;_++)O[_]&&(O[_][x]=!0)},fresh:function(T){T=T||"";var x=z+T;this.put(x,!1)},freshAll:function(T){T=T||"";for(var x=z+T,O=this._caches,_=0;_<O.length;_++)O[_]&&(O[_][x]=!1)},isDirty:function(T){T=T||"";var x=z+T,O=this._context;return!O.hasOwnProperty(x)||O[x]===!0},deleteContext:function(T){delete this._caches[T],this._context={}},delete:function(T){delete this._context[T]},clearAll:function(){this._caches={}},getContext:function(){return this._context},eachContext:function(T,x){var O=Object.keys(this._caches);O.forEach(function(_){T&&T.call(x,_)})},miss:function(T){return!this._context.hasOwnProperty(T)}},P.prototype.constructor=P,H.a=P},function(q,H,b){"use strict";var z=b(4),P=b(1),T=b.n(P),x=T.a.vec3,O=1e-5,_=function(g,m){this.origin=g||new z.a,this.direction=m||new z.a};_.prototype={constructor:_,intersectPlane:function(g,m){var L=g.normal.array,d=g.distance,v=this.origin.array,M=this.direction.array,w=x.dot(L,M);if(w===0)return null;m||(m=new z.a);var S=(x.dot(L,v)-d)/w;return x.scaleAndAdd(m.array,v,M,-S),m._dirty=!0,m},mirrorAgainstPlane:function(g){var m=x.dot(g.normal.array,this.direction.array);x.scaleAndAdd(this.direction.array,this.direction.array,g.normal.array,-m*2),this.direction._dirty=!0},distanceToPoint:function(){var g=x.create();return function(m){x.sub(g,m,this.origin.array);var L=x.dot(g,this.direction.array);if(L<0)return x.distance(this.origin.array,m);var d=x.lenSquared(g);return Math.sqrt(d-L*L)}}(),intersectSphere:function(){var g=x.create();return function(m,L,d){var v=this.origin.array,M=this.direction.array;m=m.array,x.sub(g,m,v);var w=x.dot(g,M),S=x.squaredLength(g),A=S-w*w,R=L*L;if(!(A>R)){var u=Math.sqrt(R-A),f=w-u,y=w+u;return d||(d=new z.a),f<0?y<0?null:(x.scaleAndAdd(d.array,v,M,y),d):(x.scaleAndAdd(d.array,v,M,f),d)}}}(),intersectBoundingBox:function(g,m){var L=this.direction.array,d=this.origin.array,v=g.min.array,M=g.max.array,w=1/L[0],S=1/L[1],A=1/L[2],R,u,f,y,D,I;if(w>=0?(R=(v[0]-d[0])*w,u=(M[0]-d[0])*w):(u=(v[0]-d[0])*w,R=(M[0]-d[0])*w),S>=0?(f=(v[1]-d[1])*S,y=(M[1]-d[1])*S):(y=(v[1]-d[1])*S,f=(M[1]-d[1])*S),R>y||f>u||((f>R||R!==R)&&(R=f),(y<u||u!==u)&&(u=y),A>=0?(D=(v[2]-d[2])*A,I=(M[2]-d[2])*A):(I=(v[2]-d[2])*A,D=(M[2]-d[2])*A),R>I||D>u)||((D>R||R!==R)&&(R=D),(I<u||u!==u)&&(u=I),u<0))return null;var U=R>=0?R:u;return m||(m=new z.a),x.scaleAndAdd(m.array,d,L,U),m},intersectTriangle:function(){var g=x.create(),m=x.create(),L=x.create(),d=x.create();return function(v,M,w,S,A,R){var u=this.direction.array,f=this.origin.array;v=v.array,M=M.array,w=w.array,x.sub(g,M,v),x.sub(m,w,v),x.cross(d,m,u);var y=x.dot(g,d);if(S){if(y>-O)return null}else if(y>-O&&y<O)return null;x.sub(L,f,v);var D=x.dot(d,L)/y;if(D<0||D>1)return null;x.cross(d,g,L);var I=x.dot(u,d)/y;if(I<0||I>1||D+I>1)return null;x.cross(d,g,m);var U=-x.dot(L,d)/y;return U<0?null:(A||(A=new z.a),R&&z.a.set(R,1-D-I,D,I),x.scaleAndAdd(A.array,f,u,U),A)}}(),applyTransform:function(g){z.a.add(this.direction,this.direction,this.origin),z.a.transformMat4(this.origin,this.origin,g),z.a.transformMat4(this.direction,this.direction,g),z.a.sub(this.direction,this.direction,this.origin),z.a.normalize(this.direction,this.direction)},copy:function(g){z.a.copy(this.origin,g.origin),z.a.copy(this.direction,g.direction)},clone:function(){var g=new _;return g.copy(this),g}},H.a=_},function(q,H,b){"use strict";var z=b(1),P=b.n(z),T=P.a.quat,x=function(g,m,L,d){g=g||0,m=m||0,L=L||0,d=d===void 0?1:d,this.array=T.fromValues(g,m,L,d),this._dirty=!0};x.prototype={constructor:x,add:function(g){return T.add(this.array,this.array,g.array),this._dirty=!0,this},calculateW:function(){return T.calculateW(this.array,this.array),this._dirty=!0,this},set:function(g,m,L,d){return this.array[0]=g,this.array[1]=m,this.array[2]=L,this.array[3]=d,this._dirty=!0,this},setArray:function(g){return this.array[0]=g[0],this.array[1]=g[1],this.array[2]=g[2],this.array[3]=g[3],this._dirty=!0,this},clone:function(){return new x(this.x,this.y,this.z,this.w)},conjugate:function(){return T.conjugate(this.array,this.array),this._dirty=!0,this},copy:function(g){return T.copy(this.array,g.array),this._dirty=!0,this},dot:function(g){return T.dot(this.array,g.array)},fromMat3:function(g){return T.fromMat3(this.array,g.array),this._dirty=!0,this},fromMat4:function(){var g=P.a.mat3,m=g.create();return function(L){return g.fromMat4(m,L.array),g.transpose(m,m),T.fromMat3(this.array,m),this._dirty=!0,this}}(),identity:function(){return T.identity(this.array),this._dirty=!0,this},invert:function(){return T.invert(this.array,this.array),this._dirty=!0,this},len:function(){return T.len(this.array)},length:function(){return T.length(this.array)},lerp:function(g,m,L){return T.lerp(this.array,g.array,m.array,L),this._dirty=!0,this},mul:function(g){return T.mul(this.array,this.array,g.array),this._dirty=!0,this},mulLeft:function(g){return T.multiply(this.array,g.array,this.array),this._dirty=!0,this},multiply:function(g){return T.multiply(this.array,this.array,g.array),this._dirty=!0,this},multiplyLeft:function(g){return T.multiply(this.array,g.array,this.array),this._dirty=!0,this},normalize:function(){return T.normalize(this.array,this.array),this._dirty=!0,this},rotateX:function(g){return T.rotateX(this.array,this.array,g),this._dirty=!0,this},rotateY:function(g){return T.rotateY(this.array,this.array,g),this._dirty=!0,this},rotateZ:function(g){return T.rotateZ(this.array,this.array,g),this._dirty=!0,this},rotationTo:function(g,m){return T.rotationTo(this.array,g.array,m.array),this._dirty=!0,this},setAxes:function(g,m,L){return T.setAxes(this.array,g.array,m.array,L.array),this._dirty=!0,this},setAxisAngle:function(g,m){return T.setAxisAngle(this.array,g.array,m),this._dirty=!0,this},slerp:function(g,m,L){return T.slerp(this.array,g.array,m.array,L),this._dirty=!0,this},sqrLen:function(){return T.sqrLen(this.array)},squaredLength:function(){return T.squaredLength(this.array)},fromEuler:function(g,m){return x.fromEuler(this,g,m)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var O=Object.defineProperty;if(O){var _=x.prototype;O(_,"x",{get:function(){return this.array[0]},set:function(g){this.array[0]=g,this._dirty=!0}}),O(_,"y",{get:function(){return this.array[1]},set:function(g){this.array[1]=g,this._dirty=!0}}),O(_,"z",{get:function(){return this.array[2]},set:function(g){this.array[2]=g,this._dirty=!0}}),O(_,"w",{get:function(){return this.array[3]},set:function(g){this.array[3]=g,this._dirty=!0}})}x.add=function(g,m,L){return T.add(g.array,m.array,L.array),g._dirty=!0,g},x.set=function(g,m,L,d,v){T.set(g.array,m,L,d,v),g._dirty=!0},x.copy=function(g,m){return T.copy(g.array,m.array),g._dirty=!0,g},x.calculateW=function(g,m){return T.calculateW(g.array,m.array),g._dirty=!0,g},x.conjugate=function(g,m){return T.conjugate(g.array,m.array),g._dirty=!0,g},x.identity=function(g){return T.identity(g.array),g._dirty=!0,g},x.invert=function(g,m){return T.invert(g.array,m.array),g._dirty=!0,g},x.dot=function(g,m){return T.dot(g.array,m.array)},x.len=function(g){return T.length(g.array)},x.lerp=function(g,m,L,d){return T.lerp(g.array,m.array,L.array,d),g._dirty=!0,g},x.slerp=function(g,m,L,d){return T.slerp(g.array,m.array,L.array,d),g._dirty=!0,g},x.mul=function(g,m,L){return T.multiply(g.array,m.array,L.array),g._dirty=!0,g},x.multiply=x.mul,x.rotateX=function(g,m,L){return T.rotateX(g.array,m.array,L),g._dirty=!0,g},x.rotateY=function(g,m,L){return T.rotateY(g.array,m.array,L),g._dirty=!0,g},x.rotateZ=function(g,m,L){return T.rotateZ(g.array,m.array,L),g._dirty=!0,g},x.setAxisAngle=function(g,m,L){return T.setAxisAngle(g.array,m.array,L),g._dirty=!0,g},x.normalize=function(g,m){return T.normalize(g.array,m.array),g._dirty=!0,g},x.sqrLen=function(g){return T.sqrLen(g.array)},x.squaredLength=x.sqrLen,x.fromMat3=function(g,m){return T.fromMat3(g.array,m.array),g._dirty=!0,g},x.setAxes=function(g,m,L,d){return T.setAxes(g.array,m.array,L.array,d.array),g._dirty=!0,g},x.rotationTo=function(g,m,L){return T.rotationTo(g.array,m.array,L.array),g._dirty=!0,g},x.fromEuler=function(g,m,u){g._dirty=!0,m=m.array;var d=g.array,v=Math.cos(m[0]/2),M=Math.cos(m[1]/2),w=Math.cos(m[2]/2),S=Math.sin(m[0]/2),A=Math.sin(m[1]/2),R=Math.sin(m[2]/2),u=(u||"XYZ").toUpperCase();switch(u){case"XYZ":d[0]=S*M*w+v*A*R,d[1]=v*A*w-S*M*R,d[2]=v*M*R+S*A*w,d[3]=v*M*w-S*A*R;break;case"YXZ":d[0]=S*M*w+v*A*R,d[1]=v*A*w-S*M*R,d[2]=v*M*R-S*A*w,d[3]=v*M*w+S*A*R;break;case"ZXY":d[0]=S*M*w-v*A*R,d[1]=v*A*w+S*M*R,d[2]=v*M*R+S*A*w,d[3]=v*M*w-S*A*R;break;case"ZYX":d[0]=S*M*w-v*A*R,d[1]=v*A*w+S*M*R,d[2]=v*M*R-S*A*w,d[3]=v*M*w+S*A*R;break;case"YZX":d[0]=S*M*w+v*A*R,d[1]=v*A*w+S*M*R,d[2]=v*M*R-S*A*w,d[3]=v*M*w-S*A*R;break;case"XZY":d[0]=S*M*w-v*A*R,d[1]=v*A*w-S*M*R,d[2]=v*M*R+S*A*w,d[3]=v*M*w+S*A*R;break}},H.a=x},function(q,H,b){"use strict";var z=b(28),P=b(9),T=b(52),x=b(49),O=b(1),_=b.n(O),g=_.a.vec3,m=_.a.vec4,L=z.a.extend(function(){return{projectionMatrix:new P.a,invProjectionMatrix:new P.a,viewMatrix:new P.a,frustum:new T.a}},function(){this.update(!0)},{update:function(d){z.a.prototype.update.call(this,d),P.a.invert(this.viewMatrix,this.worldTransform),this.updateProjectionMatrix(),P.a.invert(this.invProjectionMatrix,this.projectionMatrix),this.frustum.setFromProjection(this.projectionMatrix)},setViewMatrix:function(d){P.a.copy(this.viewMatrix,d),P.a.invert(this.worldTransform,d),this.decomposeWorldTransform()},decomposeProjectionMatrix:function(){},setProjectionMatrix:function(d){P.a.copy(this.projectionMatrix,d),P.a.invert(this.invProjectionMatrix,d),this.decomposeProjectionMatrix()},updateProjectionMatrix:function(){},castRay:function(){var d=m.create();return function(v,M){var w=M!==void 0?M:new x.a,S=v.array[0],A=v.array[1];return m.set(d,S,A,-1,1),m.transformMat4(d,d,this.invProjectionMatrix.array),m.transformMat4(d,d,this.worldTransform.array),g.scale(w.origin.array,d,1/d[3]),m.set(d,S,A,1,1),m.transformMat4(d,d,this.invProjectionMatrix.array),m.transformMat4(d,d,this.worldTransform.array),g.scale(d,d,1/d[3]),g.sub(w.direction.array,d,w.origin.array),g.normalize(w.direction.array,w.direction.array),w.direction._dirty=!0,w.origin._dirty=!0,w}}()});H.a=L},function(q,H,b){"use strict";var z=b(4),P=b(15),T=b(67),x=b(1),O=b.n(x),_=O.a.vec3,g=_.set,m=_.copy,L=_.transformMat4,d=Math.min,v=Math.max,M=function(){this.planes=[];for(var w=0;w<6;w++)this.planes.push(new T.a);this.boundingBox=new P.a,this.vertices=[];for(var w=0;w<8;w++)this.vertices[w]=_.fromValues(0,0,0)};M.prototype={setFromProjection:function(w){var S=this.planes,A=w.array,R=A[0],u=A[1],f=A[2],y=A[3],D=A[4],I=A[5],U=A[6],F=A[7],G=A[8],Y=A[9],te=A[10],$=A[11],oe=A[12],ie=A[13],ne=A[14],le=A[15];g(S[0].normal.array,y-R,F-D,$-G),S[0].distance=-(le-oe),S[0].normalize(),g(S[1].normal.array,y+R,F+D,$+G),S[1].distance=-(le+oe),S[1].normalize(),g(S[2].normal.array,y+u,F+I,$+Y),S[2].distance=-(le+ie),S[2].normalize(),g(S[3].normal.array,y-u,F-I,$-Y),S[3].distance=-(le-ie),S[3].normalize(),g(S[4].normal.array,y-f,F-U,$-te),S[4].distance=-(le-ne),S[4].normalize(),g(S[5].normal.array,y+f,F+U,$+te),S[5].distance=-(le+ne),S[5].normalize();var ae=this.boundingBox;if(le===0){var de=I/R,se=-ne/(te-1),fe=-ne/(te+1),ye=-fe/I,ge=-se/I;ae.min.set(-ye*de,-ye,fe),ae.max.set(ye*de,ye,se);var xe=this.vertices;g(xe[0],-ye*de,-ye,fe),g(xe[1],-ye*de,ye,fe),g(xe[2],ye*de,-ye,fe),g(xe[3],ye*de,ye,fe),g(xe[4],-ge*de,-ge,se),g(xe[5],-ge*de,ge,se),g(xe[6],ge*de,-ge,se),g(xe[7],ge*de,ge,se)}else{var Me=(-1-oe)/R,Ne=(1-oe)/R,We=(1-ie)/I,tt=(-1-ie)/I,Je=(-1-ne)/te,st=(1-ne)/te;ae.min.set(Math.min(Me,Ne),Math.min(tt,We),Math.min(st,Je)),ae.max.set(Math.max(Ne,Me),Math.max(We,tt),Math.max(Je,st));var yt=ae.min.array,gt=ae.max.array,xe=this.vertices;g(xe[0],yt[0],yt[1],yt[2]),g(xe[1],yt[0],gt[1],yt[2]),g(xe[2],gt[0],yt[1],yt[2]),g(xe[3],gt[0],gt[1],yt[2]),g(xe[4],yt[0],yt[1],gt[2]),g(xe[5],yt[0],gt[1],gt[2]),g(xe[6],gt[0],yt[1],gt[2]),g(xe[7],gt[0],gt[1],gt[2])}},getTransformedBoundingBox:function(){var w=_.create();return function(S,A){var R=this.vertices,u=A.array,f=S.min,y=S.max,D=f.array,I=y.array,U=R[0];L(w,U,u),m(D,w),m(I,w);for(var F=1;F<8;F++)U=R[F],L(w,U,u),D[0]=d(w[0],D[0]),D[1]=d(w[1],D[1]),D[2]=d(w[2],D[2]),I[0]=v(w[0],I[0]),I[1]=v(w[1],I[1]),I[2]=v(w[2],I[2]);return f._dirty=!0,y._dirty=!0,S}}()},H.a=M},function(q,H){var b=function(){this.head=null,this.tail=null,this._len=0},z=b.prototype;z.insert=function(_){var g=new P(_);return this.insertEntry(g),g},z.insertEntry=function(_){this.head?(this.tail.next=_,_.prev=this.tail,_.next=null,this.tail=_):this.head=this.tail=_,this._len++},z.remove=function(_){var g=_.prev,m=_.next;g?g.next=m:this.head=m,m?m.prev=g:this.tail=g,_.next=_.prev=null,this._len--},z.len=function(){return this._len},z.clear=function(){this.head=this.tail=null,this._len=0};var P=function(_){this.value=_,this.next,this.prev},T=function(_){this._list=new b,this._map={},this._maxSize=_||10,this._lastRemovedEntry=null},x=T.prototype;x.put=function(_,g){var m=this._list,L=this._map,d=null;if(L[_]==null){var v=m.len(),M=this._lastRemovedEntry;if(v>=this._maxSize&&v>0){var w=m.head;m.remove(w),delete L[w.key],d=w.value,this._lastRemovedEntry=w}M?M.value=g:M=new P(g),M.key=_,m.insertEntry(M),L[_]=M}return d},x.get=function(_){var g=this._map[_],m=this._list;if(g!=null)return g!==m.tail&&(m.remove(g),m.insertEntry(g)),g.value},x.clear=function(){this._list.clear(),this._map={}};var O=T;q.exports=O},function(q,H,b){"use strict";var z=b(5),P=b(25),T=b(102),x=b(55),O=b(56),_=b(29),g=b(104),m=b(105),L={loadTexture:function(d,v,M,w){var S;if(typeof v=="function"?(M=v,w=M,v={}):v=v||{},typeof d=="string"){if(d.match(/.hdr$/)||v.fileType==="hdr")return S=new z.a({width:0,height:0,sRGB:!1}),L._fetchTexture(d,function(A){m.a.parseRGBE(A,S,v.exposure),S.dirty(),M&&M(S)},w),S;d.match(/.dds$/)||v.fileType==="dds"?(S=new z.a({width:0,height:0}),L._fetchTexture(d,function(A){g.a.parse(A,S),S.dirty(),M&&M(S)},w)):(S=new z.a,S.load(d),S.success(M),S.error(w))}else if(typeof d=="object"&&typeof d.px!="undefined"){var S=new P.a;S.load(d),S.success(M),S.error(w)}return S},loadPanorama:function(d,v,M,w,S,A){var R=this;typeof w=="function"?(S=w,A=S,w={}):w=w||{},L.loadTexture(v,w,function(u){u.flipY=w.flipY||!1,R.panoramaToCubeMap(d,u,M,w),u.dispose(d),S&&S(M)},A)},panoramaToCubeMap:function(d,v,M,w){var S=new x.a,A=new O.a({scene:new _.a});return A.material.set("diffuseMap",v),w=w||{},w.encodeRGBM&&A.material.define("fragment","RGBM_ENCODE"),M.sRGB=v.sRGB,S.texture=M,S.render(d,A.scene),S.texture=null,S.dispose(d),M},heightToNormal:function(d,v){var M=document.createElement("canvas"),w=M.width=d.width,S=M.height=d.height,A=M.getContext("2d");A.drawImage(d,0,0,w,S),v=v||!1;for(var R=A.getImageData(0,0,w,S),u=A.createImageData(w,S),f=0;f<R.data.length;f+=4){if(v){var y=R.data[f],D=R.data[f+1],I=R.data[f+2],U=Math.abs(y-D)+Math.abs(D-I);if(U>20)return console.warn("Given image is not a height map"),d}var F,G,Y,te;f%(w*4)===0?(F=R.data[f],Y=R.data[f+4]):f%(w*4)===(w-1)*4?(F=R.data[f-4],Y=R.data[f]):(F=R.data[f-4],Y=R.data[f+4]),f<w*4?(G=R.data[f],te=R.data[f+w*4]):f>w*(S-1)*4?(G=R.data[f-w*4],te=R.data[f]):(G=R.data[f-w*4],te=R.data[f+w*4]),u.data[f]=F-Y+127,u.data[f+1]=G-te+127,u.data[f+2]=255,u.data[f+3]=255}return A.putImageData(u,0,0),M},isHeightImage:function(d,v,M){if(!d||!d.width||!d.height)return!1;var w=document.createElement("canvas"),S=w.getContext("2d"),A=v||32;M=M||20,w.width=w.height=A,S.drawImage(d,0,0,A,A);for(var R=S.getImageData(0,0,A,A),u=0;u<R.data.length;u+=4){var f=R.data[u],y=R.data[u+1],D=R.data[u+2],I=Math.abs(f-y)+Math.abs(y-D);if(I>M)return!1}return!0},_fetchTexture:function(d,v,M){T.a.get({url:d,responseType:"arraybuffer",onload:v,onerror:M})},createChessboard:function(d,v,M,w){d=d||512,v=v||64,M=M||"black",w=w||"white";var S=Math.ceil(d/v),A=document.createElement("canvas");A.width=d,A.height=d;var R=A.getContext("2d");R.fillStyle=w,R.fillRect(0,0,d,d),R.fillStyle=M;for(var u=0;u<S;u++)for(var f=0;f<S;f++){var y=f%2?u%2:u%2-1;y&&R.fillRect(u*v,f*v,v,v)}var D=new z.a({image:A,anisotropic:8});return D},createBlank:function(d){var v=document.createElement("canvas");v.width=1,v.height=1;var M=v.getContext("2d");M.fillStyle=d,M.fillRect(0,0,1,1);var w=new z.a({image:v});return w}};H.a=L},function(q,H,b){"use strict";var z=b(8),P=b(4),T=b(36),x=b(10),O=["px","nx","py","ny","pz","nz"],_=z.a.extend(function(){var g={position:new P.a,far:1e3,near:.1,texture:null,shadowMapPass:null},m=g._cameras={px:new T.a({fov:90}),nx:new T.a({fov:90}),py:new T.a({fov:90}),ny:new T.a({fov:90}),pz:new T.a({fov:90}),nz:new T.a({fov:90})};return m.px.lookAt(P.a.POSITIVE_X,P.a.NEGATIVE_Y),m.nx.lookAt(P.a.NEGATIVE_X,P.a.NEGATIVE_Y),m.py.lookAt(P.a.POSITIVE_Y,P.a.POSITIVE_Z),m.ny.lookAt(P.a.NEGATIVE_Y,P.a.NEGATIVE_Z),m.pz.lookAt(P.a.POSITIVE_Z,P.a.NEGATIVE_Y),m.nz.lookAt(P.a.NEGATIVE_Z,P.a.NEGATIVE_Y),g._frameBuffer=new x.a,g},{getCamera:function(g){return this._cameras[g]},render:function(g,m,L){var d=g.gl;L||m.update();for(var v=this.texture.width,M=2*Math.atan(v/(v-.5))/Math.PI*180,w=0;w<6;w++){var S=O[w],A=this._cameras[S];if(P.a.copy(A.position,this.position),A.far=this.far,A.near=this.near,A.fov=M,this.shadowMapPass){A.update();var R=m.getBoundingBox();R.applyTransform(A.viewMatrix),m.viewBoundingBoxLastFrame.copy(R),this.shadowMapPass.render(g,m,A,!0)}this._frameBuffer.attach(this.texture,d.COLOR_ATTACHMENT0,d.TEXTURE_CUBE_MAP_POSITIVE_X+w),this._frameBuffer.bind(g),g.render(m,A,!0),this._frameBuffer.unbind(g)}},dispose:function(g){this._frameBuffer.dispose(g)}});H.a=_},function(q,H,b){"use strict";var z=b(24),P=b(68),T=b(7),x=b(17),O=b(103);T.a.import(O.a);var _=z.a.extend(function(){var g=new T.a(T.a.source("clay.basic.vertex"),T.a.source("clay.basic.fragment")),m=new x.a({shader:g,depthMask:!1});return m.enableTexture("diffuseMap"),{scene:null,geometry:new P.a({widthSegments:30,heightSegments:30}),material:m,environmentMap:null,culling:!1}},function(){var g=this.scene;g&&this.attachScene(g),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(g){this.scene&&this.detachScene(),g.skydome=this,this.scene=g,g.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skydome=null),this.scene=null},_beforeRenderScene:function(g,m,L){this.position.copy(L.getWorldPosition()),this.update(),g.renderPass([this],L)},setEnvironmentMap:function(g){this.material.set("diffuseMap",g)},getEnvironmentMap:function(){return this.material.get("diffuseMap")},dispose:function(g){this.detachScene(),this.geometry.dispose(g)}});H.a=_},function(q,H,b){"use strict";var z=b(24),P=b(69),T=b(7),x=b(17),O=b(110);T.a.import(O.a);var _=z.a.extend(function(){var g=new T.a({vertex:T.a.source("clay.skybox.vertex"),fragment:T.a.source("clay.skybox.fragment")}),m=new x.a({shader:g,depthMask:!1});return{scene:null,geometry:new P.a,material:m,environmentMap:null,culling:!1}},function(){var g=this.scene;g&&this.attachScene(g),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(g){this.scene&&this.detachScene(),g.skybox=this,this.scene=g,g.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skybox=null),this.scene=null},dispose:function(g){this.detachScene(),this.geometry.dispose(g)},setEnvironmentMap:function(g){this.material.set("environmentMap",g)},getEnvironmentMap:function(){return this.material.get("environmentMap")},_beforeRenderScene:function(g,m,L){this.renderSkybox(g,L)},renderSkybox:function(g,m){this.position.copy(m.getWorldPosition()),this.update(),g.gl.disable(g.gl.BLEND),this.material.get("lod")>0?this.material.define("fragment","LOD"):this.material.undefine("fragment","LOD"),g.renderPass([this],m)}});H.a=_},function(q,H,b){"use strict";var z=b(2),P=b(143),T=b(144);z.a.Shader.import(T.a),H.a=z.a.Mesh.extend(function(){var x=new P.a({dynamic:!0}),O=new z.a.Material({shader:z.a.createShader("ecgl.labels"),transparent:!0,depthMask:!1});return{geometry:x,material:O,culling:!1,castShadow:!1,ignorePicking:!0}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(186),O=b(22),_=b(3),g=b(1),m=b.n(g),L=b(60),d=b(61),v=b(40),M=m.a.vec3;T.a.Shader.import(v.a);function w(S){this.rootNode=new T.a.Node,this._triangulationResults={},this._shadersMap=T.a.COMMON_SHADERS.reduce(function(R,u){return R[u]=T.a.createShader("ecgl."+u),R},{}),this._linesShader=T.a.createShader("ecgl.meshLines3D");var A={};T.a.COMMON_SHADERS.forEach(function(R){A[R]=new T.a.Material({shader:T.a.createShader("ecgl."+R)})}),this._groundMaterials=A,this._groundMesh=new T.a.Mesh({geometry:new T.a.PlaneGeometry({dynamic:!0}),castShadow:!1,renderNormal:!0,$ignorePicking:!0}),this._groundMesh.rotation.rotateX(-Math.PI/2),this._labelsBuilder=new d.a(512,512,S),this._labelsBuilder.getMesh().renderOrder=100,this._labelsBuilder.getMesh().material.depthTest=!1,this.rootNode.add(this._labelsBuilder.getMesh()),this._initMeshes(),this._api=S}w.prototype={constructor:w,extrudeY:!0,update:function(S,A,R,u,f){var y=S.getData();u==null&&(u=0),f==null&&(f=y.count()),this._startIndex=u,this._endIndex=f-1,this._triangulation(S,u,f);var D=this._getShader(S.get("shading"));this._prepareMesh(S,D,R,u,f),this.rootNode.updateWorldTransform(),this._updateRegionMesh(S,R,u,f);var I=S.coordinateSystem;I.type==="geo3D"&&this._updateGroundPlane(S,I,R);var U=this;this._labelsBuilder.updateData(y,u,f),this._labelsBuilder.getLabelPosition=function(F,G,Y){var te=y.getName(F),$,oe=Y;if(I.type==="geo3D"){var ie=I.getRegion(te);return $=ie.center,I.dataToPoint([$[0],$[1],oe])}else var ne=U._triangulationResults[F-U._startIndex],$=U.extrudeY?[(ne.max[0]+ne.min[0])/2,ne.max[1]+oe,(ne.max[2]+ne.min[2])/2]:[(ne.max[0]+ne.min[0])/2,(ne.max[1]+ne.min[1])/2,ne.max[2]+oe]},this._data=y,this._labelsBuilder.updateLabels(),this._updateDebugWireframe(S),this._lastHoverDataIndex=0},_initMeshes:function(){this.rootNode.removeAll();var S=this;function A(){var f=new T.a.Mesh({name:"Polygon",material:new T.a.Material({shader:S._shadersMap.lambert}),culling:!1,geometry:new T.a.Geometry({sortTriangles:!0,dynamic:!0}),ignorePicking:!0,renderNormal:!0});return P.a.util.extend(f.geometry,L.a),f}var R=A(),u=new T.a.Mesh({material:new T.a.Material({shader:this._linesShader}),castShadow:!1,ignorePicking:!0,$ignorePicking:!0,geometry:new O.a({useNativeLine:!1})});this.rootNode.add(R),this.rootNode.add(u),R.material.define("both","VERTEX_COLOR"),R.material.define("fragment","DOUBLE_SIDED"),this._polygonMesh=R,this._linesMesh=u,this.rootNode.add(this._groundMesh)},_getShader:function(S){var A=this._shadersMap[S];return A||(console.warn("Unkown shading "+S),A=this._shadersMap.lambert),A.__shading=S,A},_prepareMesh:function(S,A,R,u,f){for(var y=0,D=0,I=0,U=0,F=u;F<f;F++){var G=this._getRegionPolygonInfo(F),Y=this._getRegionLinesInfo(F,S,this._linesMesh.geometry);y+=G.vertexCount,D+=G.triangleCount,I+=Y.vertexCount,U+=Y.triangleCount}var te=this._polygonMesh,$=te.geometry;["position","normal","texcoord0","color"].forEach(function(oe){$.attributes[oe].init(y)}),$.indices=y>65535?new Uint32Array(D*3):new Uint16Array(D*3),te.material.shader!==A&&te.material.attachShader(A,!0),T.a.setMaterialFromModel(A.__shading,te.material,S,R),I>0&&(this._linesMesh.geometry.resetOffset(),this._linesMesh.geometry.setVertexCount(I),this._linesMesh.geometry.setTriangleCount(U)),this._dataIndexOfVertex=new Uint32Array(y),this._vertexRangeOfDataIndex=new Uint32Array((f-u)*2)},_updateRegionMesh:function(S,A,R,u){for(var f=S.getData(),y=0,D=0,I=!1,ye=this._polygonMesh,U=this._linesMesh,F=R;F<u;F++){var G=S.getRegionModel(F),Y=G.getModel("itemStyle"),te=Y.get("color"),$=_.a.firstNotNull(Y.get("opacity"),1),oe=f.getItemVisual(F,"color",!0);oe!=null&&f.hasValue(F)&&(te=oe),f.setItemVisual(F,"color",te),f.setItemVisual(F,"opacity",$),te=T.a.parseColor(te);var ie=T.a.parseColor(Y.get("borderColor"));te[3]*=$,ie[3]*=$;var ne=te[3]<.99;ye.material.set("color",[1,1,1,1]),I=I||ne;for(var le=_.a.firstNotNull(G.get("height",!0),S.get("regionHeight")),ae=this._updatePolygonGeometry(S,ye.geometry,F,le,y,D,te),de=y;de<ae.vertexOffset;de++)this._dataIndexOfVertex[de]=F;this._vertexRangeOfDataIndex[(F-R)*2]=y,this._vertexRangeOfDataIndex[(F-R)*2+1]=ae.vertexOffset,y=ae.vertexOffset,D=ae.triangleOffset;var se=Y.get("borderWidth"),fe=se>0;fe&&(se*=A.getDevicePixelRatio(),this._updateLinesGeometry(U.geometry,S,F,le,se,S.coordinateSystem.transform)),U.invisible=!fe,U.material.set({color:ie})}var ye=this._polygonMesh;ye.material.transparent=I,ye.material.depthMask=!I,ye.geometry.updateBoundingBox(),ye.material.get("normalMap")&&ye.geometry.generateTangents(),ye.seriesIndex=S.seriesIndex,ye.on("mousemove",this._onmousemove,this),ye.on("mouseout",this._onmouseout,this)},_updateDebugWireframe:function(S){var A=S.getModel("debug.wireframe");if(A.get("show")){var R=T.a.parseColor(A.get("lineStyle.color")||"rgba(0,0,0,0.5)"),u=_.a.firstNotNull(A.get("lineStyle.width"),1),f=this._polygonMesh;f.geometry.generateBarycentric(),f.material.define("both","WIREFRAME_TRIANGLE"),f.material.set("wireframeLineColor",R),f.material.set("wireframeLineWidth",u)}},_onmousemove:function(S){var A=this._dataIndexOfVertex[S.triangle[0]];A==null&&(A=-1),A!==this._lastHoverDataIndex&&(this.downplay(this._lastHoverDataIndex),this.highlight(A)),this._lastHoverDataIndex=A,this._polygonMesh.dataIndex=A},_onmouseover:function(S){if(S.target){var A=S.target.eventData?this._data.indexOfName(S.target.eventData.name):S.target.dataIndex;A!=null&&(this.highlight(A),this._labelsBuilder.updateLabels([A]))}},_onmouseout:function(S){S.target&&(this.downplay(this._lastHoverDataIndex),this._lastHoverDataIndex=-1,this._polygonMesh.dataIndex=-1)},_updateGroundPlane:function(S,A,R){var u=S.getModel("groundPlane",S);if(this._groundMesh.invisible=!u.get("show",!0),!this._groundMesh.invisible){var f=S.get("shading"),y=this._groundMaterials[f];y||(console.warn("Unkown shading "+f),y=this._groundMaterials.lambert),T.a.setMaterialFromModel(f,y,u,R),y.get("normalMap")&&this._groundMesh.geometry.generateTangents(),this._groundMesh.material=y,this._groundMesh.material.set("color",T.a.parseColor(u.get("color"))),this._groundMesh.scale.set(A.size[0],A.size[2],1)}},_triangulation:function(S,A,R){this._triangulationResults=[];for(var u=[1/0,1/0,1/0],f=[-1/0,-1/0,-1/0],y=S.coordinateSystem,D=A;D<R;D++){for(var I=[],U=S.getRegionPolygonCoords(D),F=0;F<U.length;F++){var G=U[F].exterior,Y=U[F].interiors,te=[],$=[];if(!(G.length<3)){for(var oe=0,ie=0;ie<G.length;ie++){var ne=G[ie];te[oe++]=ne[0],te[oe++]=ne[1]}for(var ie=0;ie<Y.length;ie++)if(!(Y[ie].length<3)){for(var le=te.length/2,ae=0;ae<Y[ie].length;ae++){var ne=Y[ie][ae];te.push(ne[0]),te.push(ne[1])}$.push(le)}for(var de=Object(x.a)(te,$),se=new Float64Array(te.length/2*3),fe=[],ye=[1/0,1/0,1/0],ge=[-1/0,-1/0,-1/0],xe=0,ie=0;ie<te.length;)M.set(fe,te[ie++],0,te[ie++]),y&&y.transform&&M.transformMat4(fe,fe,y.transform),M.min(ye,ye,fe),M.max(ge,ge,fe),se[xe++]=fe[0],se[xe++]=fe[1],se[xe++]=fe[2];M.min(u,u,ye),M.max(f,f,ge),I.push({points:se,indices:de,min:ye,max:ge})}}this._triangulationResults.push(I)}this._geoBoundingBox=[u,f]},_getRegionPolygonInfo:function(S){for(var A=this._triangulationResults[S-this._startIndex],R=0,u=0,f=0;f<A.length;f++)R+=A[f].points.length/3,u+=A[f].indices.length/3;var y=R*2+R*4,D=u*2+R*2;return{vertexCount:y,triangleCount:D}},_updatePolygonGeometry:function(S,A,R,u,f,y,D){var I=S.get("projectUVOnGround"),U=A.attributes.position,F=A.attributes.normal,G=A.attributes.texcoord0,Y=A.attributes.color,te=this._triangulationResults[R-this._startIndex],$=Y.value&&D,oe=A.indices,ie=this.extrudeY?1:2,ne=this.extrudeY?2:1,le=[this.rootNode.worldTransform.x.len(),this.rootNode.worldTransform.y.len(),this.rootNode.worldTransform.z.len()],ae=M.mul([],this._geoBoundingBox[0],le),de=M.mul([],this._geoBoundingBox[1],le),se=Math.max(de[0]-ae[0],de[2]-ae[2]);function fe(Le,Ue,Qe){for(var et=Le.points,dt=et.length,mt=[],Tt=[],At=0;At<dt;At+=3)mt[0]=et[At],mt[ie]=Ue,mt[ne]=et[At+2],Tt[0]=(et[At]*le[0]-ae[0])/se,Tt[1]=(et[At+2]*le[ne]-ae[2])/se,U.set(f,mt),$&&Y.set(f,D),G.set(f++,Tt)}function ye(Le,Ue,Qe){var et=f;fe(Le,Ue,Qe);for(var dt=0;dt<Le.indices.length;dt++)oe[y*3+dt]=Le.indices[dt]+et;y+=Le.indices.length/3}for(var ge=this.extrudeY?[0,1,0]:[0,0,1],xe=M.negate([],ge),Me=0;Me<te.length;Me++){var Ne=f,We=te[Me];ye(We,0,0),ye(We,u,0);for(var tt=We.points.length/3,Je=0;Je<tt;Je++)F.set(Ne+Je,xe),F.set(Ne+Je+tt,ge);for(var st=[0,3,1,1,3,2],yt=[[],[],[],[]],gt=[],Ke=[],nt=[],Ze=[],Ve=0,Je=0;Je<tt;Je++){for(var Pe=(Je+1)%tt,He=(We.points[Pe*3]-We.points[Je*3])*le[0],be=(We.points[Pe*3+2]-We.points[Je*3+2])*le[ne],Ie=Math.sqrt(He*He+be*be),Te=0;Te<4;Te++){var Re=Te===0||Te===3,Ge=(Re?Je:Pe)*3;yt[Te][0]=We.points[Ge],yt[Te][ie]=Te>1?u:0,yt[Te][ne]=We.points[Ge+2],U.set(f+Te,yt[Te]),I?(Ze[0]=(We.points[Ge]*le[0]-ae[0])/se,Ze[1]=(We.points[Ge+2]*le[ne]-ae[ne])/se):(Ze[0]=(Re?Ve:Ve+Ie)/se,Ze[1]=(yt[Te][ie]*le[ie]-ae[ie])/se),G.set(f+Te,Ze)}M.sub(gt,yt[1],yt[0]),M.sub(Ke,yt[3],yt[0]),M.cross(nt,gt,Ke),M.normalize(nt,nt);for(var Te=0;Te<4;Te++)F.set(f+Te,nt),$&&Y.set(f+Te,D);for(var Te=0;Te<6;Te++)oe[y*3+Te]=st[Te]+f;f+=4,y+=2,Ve+=Ie}}return A.dirty(),{vertexOffset:f,triangleOffset:y}},_getRegionLinesInfo:function(S,A,R){var u=0,f=0,y=A.getRegionModel(S),D=y.getModel("itemStyle"),I=D.get("borderWidth");if(I>0){var U=A.getRegionPolygonCoords(S);U.forEach(function(F){var G=F.exterior,Y=F.interiors;u+=R.getPolylineVertexCount(G),f+=R.getPolylineTriangleCount(G);for(var te=0;te<Y.length;te++)u+=R.getPolylineVertexCount(Y[te]),f+=R.getPolylineTriangleCount(Y[te])},this)}return{vertexCount:u,triangleCount:f}},_updateLinesGeometry:function(S,A,R,u,f,y){function D(F){for(var G=new Float64Array(F.length*3),Y=0,te=[],$=0;$<F.length;$++)te[0]=F[$][0],te[1]=u+.1,te[2]=F[$][1],y&&M.transformMat4(te,te,y),G[Y++]=te[0],G[Y++]=te[1],G[Y++]=te[2];return G}var I=[1,1,1,1],U=A.getRegionPolygonCoords(R);U.forEach(function(F){var G=F.exterior,Y=F.interiors;S.addPolyline(D(G),I,f);for(var te=0;te<Y.length;te++)S.addPolyline(D(Y[te]),I,f)})},highlight:function(S){var A=this._data;if(A){var R=A.getItemModel(S),u=R.getModel("emphasis.itemStyle"),f=u.get("color"),y=_.a.firstNotNull(u.get("opacity"),A.getItemVisual(S,"opacity"),1);if(f==null){var D=A.getItemVisual(S,"color");f=P.a.color.lift(D,-.4)}y==null&&(y=A.getItemVisual(S,"opacity"));var I=T.a.parseColor(f);I[3]*=y,this._setColorOfDataIndex(A,S,I)}},downplay:function(S){var A=this._data;if(A){var R=A.getItemVisual(S,"color"),u=_.a.firstNotNull(A.getItemVisual(S,"opacity"),1),f=T.a.parseColor(R);f[3]*=u,this._setColorOfDataIndex(A,S,f)}},_setColorOfDataIndex:function(S,A,R){if(!(A<this._startIndex&&A>this._endIndex)){A-=this._startIndex;for(var u=this._vertexRangeOfDataIndex[A*2];u<this._vertexRangeOfDataIndex[A*2+1];u++)this._polygonMesh.geometry.attributes.color.set(u,R);this._polygonMesh.geometry.dirty(),this._api.getZr().refresh()}}},H.a=w},function(q,H,b){"use strict";var z=b(81),P=b(1),T=b.n(P),x=T.a.vec3,O=x.create(),_=x.create(),g=x.create();H.a={needsSortTriangles:function(){return this.indices&&this.sortTriangles},needsSortTrianglesProgressively:function(){return this.needsSortTriangles()&&this.triangleCount>=2e4},doSortTriangles:function(m,L){var d=this.indices;if(L===0){var v=this.attributes.position,m=m.array;(!this._triangleZList||this._triangleZList.length!==this.triangleCount)&&(this._triangleZList=new Float32Array(this.triangleCount),this._sortedTriangleIndices=new Uint32Array(this.triangleCount),this._indicesTmp=new d.constructor(d.length),this._triangleZListTmp=new Float32Array(this.triangleCount));for(var M=0,w,S=0;S<d.length;){v.get(d[S++],O),v.get(d[S++],_),v.get(d[S++],g);var A=x.sqrDist(O,m),R=x.sqrDist(_,m),u=x.sqrDist(g,m),f=Math.min(A,R);f=Math.min(f,u),S===3?(w=f,f=0):f=f-w,this._triangleZList[M++]=f}}for(var y=this._sortedTriangleIndices,S=0;S<y.length;S++)y[S]=S;if(this.triangleCount<2e4)L===0&&this._simpleSort(!0);else for(var S=0;S<3;S++)this._progressiveQuickSort(L*3+S);for(var D=this._indicesTmp,I=this._triangleZListTmp,U=this._triangleZList,S=0;S<this.triangleCount;S++){var F=y[S]*3,G=S*3;D[G++]=d[F++],D[G++]=d[F++],D[G]=d[F],I[S]=U[y[S]]}var Y=this._indicesTmp;this._indicesTmp=this.indices,this.indices=Y;var Y=this._triangleZListTmp;this._triangleZListTmp=this._triangleZList,this._triangleZList=Y,this.dirtyIndices()},_simpleSort:function(m){var L=this._triangleZList,d=this._sortedTriangleIndices;function v(M,w){return L[w]-L[M]}m?Array.prototype.sort.call(d,v):z.a.sort(d,v,0,d.length-1)},_progressiveQuickSort:function(m){var L=this._triangleZList,d=this._sortedTriangleIndices;this._quickSort=this._quickSort||new z.a,this._quickSort.step(d,function(v,M){return L[M]-L[v]},m)}}},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(73),x=b(58),O=b(3),_=1,g=2;function m(L,d,v){this._labelsMesh=new x.a,this._labelTextureSurface=new T.a({width:512,height:512,devicePixelRatio:v.getDevicePixelRatio(),onupdate:function(){v.getZr().refresh()}}),this._api=v,this._labelsMesh.material.set("textureAtlas",this._labelTextureSurface.getTexture())}m.prototype.getLabelPosition=function(L,d,v){return[0,0,0]},m.prototype.getLabelDistance=function(L,d,v){return 0},m.prototype.getMesh=function(){return this._labelsMesh},m.prototype.updateData=function(L,d,v){d==null&&(d=0),v==null&&(v=L.count()),(!this._labelsVisibilitiesBits||this._labelsVisibilitiesBits.length!==v-d)&&(this._labelsVisibilitiesBits=new Uint8Array(v-d));for(var M=["label","show"],w=["emphasis","label","show"],S=d;S<v;S++){var A=L.getItemModel(S),R=A.get(M),u=A.get(w);u==null&&(u=R);var f=(R?_:0)|(u?g:0);this._labelsVisibilitiesBits[S-d]=f}this._start=d,this._end=v,this._data=L},m.prototype.updateLabels=function(L){if(this._data){L=L||[];for(var d=L.length>0,v={},M=0;M<L.length;M++)v[L[M]]=!0;this._labelsMesh.geometry.convertToDynamicArray(!0),this._labelTextureSurface.clear();for(var w=["label"],S=["emphasis","label"],A=this._data.hostModel,R=this._data,u=A.getModel(w),f=A.getModel(S,u),y={left:"right",right:"left",top:"center",bottom:"center"},D={left:"middle",right:"middle",top:"bottom",bottom:"top"},I=this._start;I<this._end;I++){var U=!1;d&&v[I]&&(U=!0);var F=this._labelsVisibilitiesBits[I-this._start]&(U?g:_);if(F){var G=R.getItemModel(I),Y=G.getModel(U?S:w,U?f:u),te=Y.get("distance")||0,$=Y.get("position"),oe=Y.getModel("textStyle"),ie=this._api.getDevicePixelRatio(),ne=A.getFormattedLabel(I,U?"emphasis":"normal");if(ne==null||ne==="")return;var le=new P.a.graphic.Text;P.a.graphic.setTextStyle(le.style,oe,{text:ne,textFill:oe.get("color")||R.getItemVisual(I,"color")||"#000",textAlign:"left",textVerticalAlign:"top",opacity:O.a.firstNotNull(oe.get("opacity"),R.getItemVisual(I,"opacity"),1)});var ae=le.getBoundingRect(),de=1.2;ae.height*=de;var se=this._labelTextureSurface.add(le),fe=y[$]||"center",ye=D[$]||"bottom";this._labelsMesh.geometry.addSprite(this.getLabelPosition(I,$,te),[ae.width*ie,ae.height*ie],se,fe,ye,this.getLabelDistance(I,$,te)*ie)}}this._labelsMesh.material.set("uvScale",this._labelTextureSurface.getCoordsScale()),this._labelTextureSurface.getZr().refreshImmediately(),this._labelsMesh.geometry.convertToTypedArray(),this._labelsMesh.geometry.dirty()}},H.a=m},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(216),O=b(217),_=b(61),g=b(9),m=b(3),L=20,d=-10;function v(w,S){return w&&S&&w[0]===S[0]&&w[1]===S[1]}function M(w,S){this.rootNode=new T.a.Node,this.is2D=w,this._labelsBuilder=new _.a(256,256,S),this._labelsBuilder.getMesh().renderOrder=100,this.rootNode.add(this._labelsBuilder.getMesh()),this._api=S,this._spriteImageCanvas=document.createElement("canvas"),this._startDataIndex=0,this._endDataIndex=0,this._sizeScale=1}M.prototype={constructor:M,highlightOnMouseover:!0,update:function(w,S,A,R,u){var f=this._prevMesh;this._prevMesh=this._mesh,this._mesh=f;var y=w.getData();if(R==null&&(R=0),u==null&&(u=y.count()),this._startDataIndex=R,this._endDataIndex=u-1,!this._mesh){var D=this._prevMesh&&this._prevMesh.material;this._mesh=new O.a({renderOrder:10,frustumCulling:!1}),D&&(this._mesh.material=D)}var D=this._mesh.material,I=this._mesh.geometry,U=I.attributes;this.rootNode.remove(this._prevMesh),this.rootNode.add(this._mesh),this._setPositionTextureToMesh(this._mesh,this._positionTexture);var F=this._getSymbolInfo(w,R,u),G=A.getDevicePixelRatio(),Y=w.getModel("itemStyle").getItemStyle(),te=w.get("large"),$=1;F.maxSize>2?($=this._updateSymbolSprite(w,Y,F,G),D.enableTexture("sprite")):D.disableTexture("sprite"),U.position.init(u-R);var oe=[];if(te){D.undefine("VERTEX_SIZE"),D.undefine("VERTEX_COLOR");var ie=y.getVisual("color"),ne=y.getVisual("opacity");T.a.parseColor(ie,oe),oe[3]*=ne,D.set({color:oe,u_Size:F.maxSize*this._sizeScale})}else D.set({color:[1,1,1,1]}),D.define("VERTEX_SIZE"),D.define("VERTEX_COLOR"),U.size.init(u-R),U.color.init(u-R),this._originalOpacity=new Float32Array(u-R);for(var le=y.getLayout("points"),ae=U.position.value,de=!1,se=0;se<u-R;se++){var fe=se*3,ye=se*2;if(this.is2D?(ae[fe]=le[ye],ae[fe+1]=le[ye+1],ae[fe+2]=d):(ae[fe]=le[fe],ae[fe+1]=le[fe+1],ae[fe+2]=le[fe+2]),!te){var ie=y.getItemVisual(se,"color"),ne=y.getItemVisual(se,"opacity");T.a.parseColor(ie,oe),oe[3]*=ne,U.color.set(se,oe),oe[3]<.99&&(de=!0);var ge=y.getItemVisual(se,"symbolSize");ge=ge instanceof Array?Math.max(ge[0],ge[1]):ge,isNaN(ge)&&(ge=0),U.size.value[se]=ge*$*this._sizeScale,this._originalOpacity[se]=oe[3]}}this._mesh.sizeScale=$,I.updateBoundingBox(),I.dirty(),this._updateMaterial(w,Y);var xe=w.coordinateSystem;if(xe&&xe.viewGL){var Me=xe.viewGL.isLinearSpace()?"define":"undefine";D[Me]("fragment","SRGB_DECODE")}te||this._updateLabelBuilder(w,R,u),this._updateHandler(w,S,A),this._updateAnimation(w),this._api=A},getPointsMesh:function(){return this._mesh},updateLabels:function(w){this._labelsBuilder.updateLabels(w)},hideLabels:function(){this.rootNode.remove(this._labelsBuilder.getMesh())},showLabels:function(){this.rootNode.add(this._labelsBuilder.getMesh())},_updateSymbolSprite:function(w,S,A,R){A.maxSize=Math.min(A.maxSize*2,200);var u=[];return A.aspect>1?(u[0]=A.maxSize,u[1]=A.maxSize/A.aspect):(u[1]=A.maxSize,u[0]=A.maxSize*A.aspect),u[0]=u[0]||1,u[1]=u[1]||1,(this._symbolType!==A.type||!v(this._symbolSize,u)||this._lineWidth!==S.lineWidth)&&(x.a.createSymbolSprite(A.type,u,{fill:"#fff",lineWidth:S.lineWidth,stroke:"transparent",shadowColor:"transparent",minMargin:Math.min(u[0]/2,10)},this._spriteImageCanvas),x.a.createSDFFromCanvas(this._spriteImageCanvas,Math.min(this._spriteImageCanvas.width,32),L,this._mesh.material.get("sprite").image),this._symbolType=A.type,this._symbolSize=u,this._lineWidth=S.lineWidth),this._spriteImageCanvas.width/A.maxSize*R},_updateMaterial:function(w,S){var A=w.get("blendMode")==="lighter"?T.a.additiveBlend:null,R=this._mesh.material;R.blend=A,R.set("lineWidth",S.lineWidth/L);var u=T.a.parseColor(S.stroke);R.set("strokeColor",u),R.transparent=!0,R.depthMask=!1,R.depthTest=!this.is2D,R.sortVertices=!this.is2D},_updateLabelBuilder:function(w,y,A){var R=w.getData(),u=this._mesh.geometry,f=u.attributes.position.value,y=this._startDataIndex,D=this._mesh.sizeScale;this._labelsBuilder.updateData(R,y,A),this._labelsBuilder.getLabelPosition=function(I,U,F){var G=(I-y)*3;return[f[G],f[G+1],f[G+2]]},this._labelsBuilder.getLabelDistance=function(I,U,F){var G=u.attributes.size.get(I-y)/D;return G/2+F},this._labelsBuilder.updateLabels()},_updateAnimation:function(w){T.a.updateVertexAnimation([["prevPosition","position"],["prevSize","size"]],this._prevMesh,this._mesh,w)},_updateHandler:function(w,S,A){var R=w.getData(),u=this._mesh,f=this,y=-1,D=w.coordinateSystem&&w.coordinateSystem.type==="cartesian3D",I;D&&(I=w.coordinateSystem.model),u.seriesIndex=w.seriesIndex,u.off("mousemove"),u.off("mouseout"),u.on("mousemove",function(U){var F=U.vertexIndex+f._startDataIndex;F!==y&&(this.highlightOnMouseover&&(this.downplay(R,y),this.highlight(R,F),this._labelsBuilder.updateLabels([F])),D&&A.dispatchAction({type:"grid3DShowAxisPointer",value:[R.get(w.coordDimToDataDim("x")[0],F),R.get(w.coordDimToDataDim("y")[0],F),R.get(w.coordDimToDataDim("z")[0],F)],grid3DIndex:I.componentIndex})),u.dataIndex=F,y=F},this),u.on("mouseout",function(U){var F=U.vertexIndex+f._startDataIndex;this.highlightOnMouseover&&(this.downplay(R,F),this._labelsBuilder.updateLabels()),y=-1,u.dataIndex=-1,D&&A.dispatchAction({type:"grid3DHideAxisPointer",grid3DIndex:I.componentIndex})},this)},updateLayout:function(w,S,A){var R=w.getData();if(this._mesh){var u=this._mesh.geometry.attributes.position.value,f=R.getLayout("points");if(this.is2D)for(var y=0;y<f.length/2;y++){var D=y*3,I=y*2;u[D]=f[I],u[D+1]=f[I+1],u[D+2]=d}else for(var y=0;y<f.length;y++)u[y]=f[y];this._mesh.geometry.dirty(),A.getZr().refresh()}},updateView:function(w){if(this._mesh){var S=new g.a;g.a.mul(S,w.viewMatrix,this._mesh.worldTransform),g.a.mul(S,w.projectionMatrix,S),this._mesh.updateNDCPosition(S,this.is2D,this._api)}},highlight:function(w,S){if(!(S>this._endDataIndex||S<this._startDataIndex)){var A=w.getItemModel(S),R=A.getModel("emphasis.itemStyle"),u=R.get("color"),f=R.get("opacity");if(u==null){var y=w.getItemVisual(S,"color");u=P.a.color.lift(y,-.4)}f==null&&(f=w.getItemVisual(S,"opacity"));var D=T.a.parseColor(u);D[3]*=f,this._mesh.geometry.attributes.color.set(S-this._startDataIndex,D),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},downplay:function(w,S){if(!(S>this._endDataIndex||S<this._startDataIndex)){var A=w.getItemVisual(S,"color"),R=w.getItemVisual(S,"opacity"),u=T.a.parseColor(A);u[3]*=R,this._mesh.geometry.attributes.color.set(S-this._startDataIndex,u),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeOutAll:function(w){if(this._originalOpacity){for(var S=this._mesh.geometry,A=0;A<S.vertexCount;A++){var R=this._originalOpacity[A]*w;S.attributes.color.value[A*4+3]=R}S.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeInAll:function(){this.fadeOutAll(1)},setPositionTexture:function(w){this._mesh&&this._setPositionTextureToMesh(this._mesh,w),this._positionTexture=w},removePositionTexture:function(){this._positionTexture=null,this._mesh&&this._setPositionTextureToMesh(this._mesh,null)},setSizeScale:function(w){if(w!==this._sizeScale){if(this._mesh){var S=this._mesh.material.get("u_Size");this._mesh.material.set("u_Size",S/this._sizeScale*w);var A=this._mesh.geometry.attributes;if(A.size.value)for(var R=0;R<A.size.value.length;R++)A.size.value[R]=A.size.value[R]/this._sizeScale*w}this._sizeScale=w}},_setPositionTextureToMesh:function(w,S){S&&w.material.set("positionTexture",S),w.material[S?"enableTexture":"disableTexture"]("positionTexture")},_getSymbolInfo:function(w,S,A){if(w.get("large")){var R=m.a.firstNotNull(w.get("symbolSize"),1),U,f;return R instanceof Array?(U=Math.max(R[0],R[1]),f=R[0]/R[1]):(U=R,f=1),{maxSize:R,type:w.get("symbol"),aspect:f}}for(var u=w.getData(),f,y=!1,D=u.getItemVisual(0,"symbol")||"circle",I=!1,U=0,F=S;F<A;F++){var R=u.getItemVisual(F,"symbolSize"),G=u.getItemVisual(F,"symbol"),Y;if(R instanceof Array)Y=R[0]/R[1],U=Math.max(Math.max(R[0],R[1]),U);else{if(isNaN(R))return;Y=1,U=Math.max(R,U)}f!=null&&Math.abs(Y-f)>.05&&(y=!0),G!==D&&(I=!0),D=G,f=Y}return y&&console.warn("Different symbol width / height ratio will be ignored."),I&&console.warn("Different symbol type will be ignored."),{maxSize:U,type:D,aspect:f}}},H.a=M},function(q,H,b){"use strict";H.a=`@export clay.prez.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
@import clay.chunk.skinning_header
void main()
{
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
}
@end
@export clay.prez.fragment
void main()
{
gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);
}
@end`},function(q,H,b){"use strict";var z=b(28),P=b(11),T=0,x=null,O=!0,_,g=function(){this.triangleCount=0,this.vertexCount=0,this.drawCallCount=0};function m(d,v,M){this.availableAttributes=d,this.availableAttributeSymbols=v,this.indicesBuffer=M,this.vao=null}var L=z.a.extend({material:null,geometry:null,mode:P.a.TRIANGLES,_drawCache:null,_renderInfo:null},function(){this._drawCache={},this._renderInfo=new g},{__program:null,lightGroup:0,renderOrder:0,lineWidth:1,culling:!0,cullFace:P.a.BACK,frontFace:P.a.CCW,frustumCulling:!0,receiveShadow:!0,castShadow:!0,ignorePicking:!1,ignorePreZ:!1,ignoreGBuffer:!1,isRenderable:function(){return this.geometry&&this.material&&this.material.shader&&!this.invisible&&this.geometry.vertexCount>0},beforeRender:function(d){},afterRender:function(d,v){},getBoundingBox:function(d,v){return v=z.a.prototype.getBoundingBox.call(this,d,v),this.geometry&&this.geometry.boundingBox&&v.union(this.geometry.boundingBox),v},render:function(d,v,M){var w=d.gl;v=v||this.material;var S=v.shader,A=this.geometry,R=this.mode,u=A.vertexCount,f=A.isUseIndices(),y=d.getGLExtension("OES_element_index_uint"),D=y&&u>65535,I=D?w.UNSIGNED_INT:w.UNSIGNED_SHORT,U=d.getGLExtension("OES_vertex_array_object"),F=!A.dynamic,G=this._renderInfo;G.vertexCount=u,G.triangleCount=0,G.drawCallCount=0;var Y=!1;if(_=d.__uid__+"-"+A.__uid__+"-"+M.__uid__,(_!==T||U&&F||A._cache.isDirty("any"))&&(Y=!0),T=_,!Y)O?(w.drawElements(R,x.count,I,0),G.triangleCount=x.count/3):w.drawArrays(R,0,u),G.drawCallCount=1;else{var te=this._drawCache[_];if(!te){var $=A.getBufferChunks(d);if(!$)return;te=[];for(var oe=0;oe<$.length;oe++){for(var ie=$[oe],ne=ie.attributeBuffers,le=ie.indicesBuffer,ae=[],de=[],se=0;se<ne.length;se++){var fe=ne[se],ye=fe.name,ge=fe.semantic,xe;if(ge){var Me=S.attributeSemantics[ge];xe=Me&&Me.symbol}else xe=ye;xe&&M.attributes[xe]&&(ae.push(fe),de.push(xe))}var Ne=new m(ae,de,le);te.push(Ne)}F&&(this._drawCache[_]=te)}for(var We=0;We<te.length;We++){var Ne=te[We],tt=!0;U&&F&&(Ne.vao==null?Ne.vao=U.createVertexArrayOES():tt=!1,U.bindVertexArrayOES(Ne.vao));var ae=Ne.availableAttributes,le=Ne.indicesBuffer;if(tt)for(var Je=M.enableAttributes(d,Ne.availableAttributeSymbols,U&&F&&Ne.vao),se=0;se<ae.length;se++){var st=Je[se];if(st!==-1){var fe=ae[se],yt=fe.buffer,gt=fe.size,Ke;switch(fe.type){case"float":Ke=w.FLOAT;break;case"byte":Ke=w.BYTE;break;case"ubyte":Ke=w.UNSIGNED_BYTE;break;case"short":Ke=w.SHORT;break;case"ushort":Ke=w.UNSIGNED_SHORT;break;default:Ke=w.FLOAT;break}w.bindBuffer(w.ARRAY_BUFFER,yt),w.vertexAttribPointer(st,gt,Ke,!1,0,0)}}(R==P.a.LINES||R==P.a.LINE_STRIP||R==P.a.LINE_LOOP)&&w.lineWidth(this.lineWidth),x=le,O=A.isUseIndices(),O?(tt&&w.bindBuffer(w.ELEMENT_ARRAY_BUFFER,le.buffer),w.drawElements(R,le.count,I,0),G.triangleCount+=le.count/3):w.drawArrays(R,0,u),U&&F&&U.bindVertexArrayOES(null),G.drawCallCount++}}return G},clone:function(){var d=["castShadow","receiveShadow","mode","culling","cullFace","frontFace","frustumCulling","renderOrder","lineWidth","ignorePicking","ignorePreZ","ignoreGBuffer"];return function(){var v=z.a.prototype.clone.call(this);v.geometry=this.geometry,v.material=this.material;for(var M=0;M<d.length;M++){var w=d[M];v[w]!==this[w]&&(v[w]=this[w])}return v}}()});L.POINTS=P.a.POINTS,L.LINES=P.a.LINES,L.LINE_LOOP=P.a.LINE_LOOP,L.LINE_STRIP=P.a.LINE_STRIP,L.TRIANGLES=P.a.TRIANGLES,L.TRIANGLE_STRIP=P.a.TRIANGLE_STRIP,L.TRIANGLE_FAN=P.a.TRIANGLE_FAN,L.BACK=P.a.BACK,L.FRONT=P.a.FRONT,L.FRONT_AND_BACK=P.a.FRONT_AND_BACK,L.CW=P.a.CW,L.CCW=P.a.CCW,L.RenderInfo=g,H.a=L},function(q,H){var b=typeof window!="undefined"&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(z){setTimeout(z,16)};q.exports=b},function(q,H,b){"use strict";var z={};z.isPowerOfTwo=function(P){return(P&P-1)===0},z.nextPowerOfTwo=function(P){return P--,P|=P>>1,P|=P>>2,P|=P>>4,P|=P>>8,P|=P>>16,P++,P},z.nearestPowerOfTwo=function(P){return Math.pow(2,Math.round(Math.log(P)/Math.LN2))},H.a=z},function(q,H,b){"use strict";var z=b(4),P=b(1),T=b.n(P),x=T.a.vec3,O=T.a.mat4,_=T.a.vec4,g=function(m,L){this.normal=m||new z.a(0,1,0),this.distance=L||0};g.prototype={constructor:g,distanceToPoint:function(m){return x.dot(m.array,this.normal.array)-this.distance},projectPoint:function(m,L){L||(L=new z.a);var d=this.distanceToPoint(m);return x.scaleAndAdd(L.array,m.array,this.normal.array,-d),L._dirty=!0,L},normalize:function(){var m=1/x.len(this.normal.array);x.scale(this.normal.array,m),this.distance*=m},intersectFrustum:function(m){for(var L=m.vertices,d=this.normal.array,v=x.dot(L[0].array,d)>this.distance,M=1;M<8;M++)if(x.dot(L[M].array,d)>this.distance!=v)return!0},intersectLine:function(){var m=x.create();return function(L,d,v){var M=this.distanceToPoint(L),w=this.distanceToPoint(d);if(M>0&&w>0||M<0&&w<0)return null;var S=this.normal.array,A=this.distance,R=L.array;x.sub(m,d.array,L.array),x.normalize(m,m);var u=x.dot(S,m);if(u===0)return null;v||(v=new z.a);var f=(x.dot(S,R)-A)/u;return x.scaleAndAdd(v.array,R,m,-f),v._dirty=!0,v}}(),applyTransform:function(){var m=O.create(),L=_.create(),d=_.create();return d[3]=1,function(v){v=v.array,x.scale(d,this.normal.array,this.distance),_.transformMat4(d,d,v),this.distance=x.dot(d,this.normal.array),O.invert(m,v),O.transpose(m,m),L[3]=0,x.copy(L,this.normal.array),_.transformMat4(L,L,m),x.copy(this.normal.array,L)}}(),copy:function(m){x.copy(this.normal.array,m.normal.array),this.normal._dirty=!0,this.distance=m.distance},clone:function(){var m=new g;return m.copy(this),m}},H.a=g},function(q,H,b){"use strict";var z=b(13),P=b(15),T=z.a.extend({dynamic:!1,widthSegments:40,heightSegments:20,phiStart:0,phiLength:Math.PI*2,thetaStart:0,thetaLength:Math.PI,radius:1},function(){this.build()},{build:function(){var x=this.heightSegments,O=this.widthSegments,_=this.attributes.position,g=this.attributes.texcoord0,m=this.attributes.normal,L=(O+1)*(x+1);_.init(L),g.init(L),m.init(L);var d=L>65535?Uint32Array:Uint16Array,v=this.indices=new d(O*x*6),M,w,S,A,R,u,f,F=this.radius,y=this.phiStart,D=this.phiLength,I=this.thetaStart,U=this.thetaLength,F=this.radius,G=[],Y=[],te=0,$=1/F;for(f=0;f<=x;f++)for(u=0;u<=O;u++)A=u/O,R=f/x,M=-F*Math.cos(y+A*D)*Math.sin(I+R*U),w=F*Math.cos(I+R*U),S=F*Math.sin(y+A*D)*Math.sin(I+R*U),G[0]=M,G[1]=w,G[2]=S,Y[0]=A,Y[1]=R,_.set(te,G),g.set(te,Y),G[0]*=$,G[1]*=$,G[2]*=$,m.set(te,G),te++;var oe,ie,ne,le,ae=O+1,de=0;for(f=0;f<x;f++)for(u=0;u<O;u++)ie=f*ae+u,oe=f*ae+u+1,le=(f+1)*ae+u+1,ne=(f+1)*ae+u,v[de++]=oe,v[de++]=ie,v[de++]=le,v[de++]=ie,v[de++]=ne,v[de++]=le;this.boundingBox=new P.a,this.boundingBox.max.set(F,F,F),this.boundingBox.min.set(-F,-F,-F)}});H.a=T},function(q,H,b){"use strict";var z=b(13),P=b(37),T=b(9),x=b(4),O=b(15),_=b(18),g=new T.a,m=z.a.extend({dynamic:!1,widthSegments:1,heightSegments:1,depthSegments:1,inside:!1},function(){this.build()},{build:function(){var d={px:L("px",this.depthSegments,this.heightSegments),nx:L("nx",this.depthSegments,this.heightSegments),py:L("py",this.widthSegments,this.depthSegments),ny:L("ny",this.widthSegments,this.depthSegments),pz:L("pz",this.widthSegments,this.heightSegments),nz:L("nz",this.widthSegments,this.heightSegments)},v=["position","texcoord0","normal"],M=0,w=0;for(var S in d)M+=d[S].vertexCount,w+=d[S].indices.length;for(var A=0;A<v.length;A++)this.attributes[v[A]].init(M);this.indices=new _.a.Uint16Array(w);var R=0,u=0;for(var S in d){for(var f=d[S],A=0;A<v.length;A++)for(var y=v[A],D=f.attributes[y].value,I=f.attributes[y].size,U=y==="normal",F=0;F<D.length;F++){var G=D[F];this.inside&&U&&(G=-G),this.attributes[y].value[F+I*u]=G}for(var Y=f.indices.length,F=0;F<f.indices.length;F++)this.indices[F+R]=u+f.indices[this.inside?Y-F-1:F];R+=f.indices.length,u+=f.vertexCount}this.boundingBox=new O.a,this.boundingBox.max.set(1,1,1),this.boundingBox.min.set(-1,-1,-1)}});function L(d,v,M){g.identity();var w=new P.a({widthSegments:v,heightSegments:M});switch(d){case"px":T.a.translate(g,g,x.a.POSITIVE_X),T.a.rotateY(g,g,Math.PI/2);break;case"nx":T.a.translate(g,g,x.a.NEGATIVE_X),T.a.rotateY(g,g,-Math.PI/2);break;case"py":T.a.translate(g,g,x.a.POSITIVE_Y),T.a.rotateX(g,g,-Math.PI/2);break;case"ny":T.a.translate(g,g,x.a.NEGATIVE_Y),T.a.rotateX(g,g,Math.PI/2);break;case"pz":T.a.translate(g,g,x.a.POSITIVE_Z);break;case"nz":T.a.translate(g,g,x.a.NEGATIVE_Z),T.a.rotateY(g,g,Math.PI);break}return w.applyTransform(g),w}H.a=m},function(q,H,b){"use strict";var z=b(19),P=b(4),T=z.a.extend({shadowBias:.001,shadowSlopeScale:2,shadowCascade:1,cascadeSplitLogFactor:.2},{type:"DIRECTIONAL_LIGHT",uniformTemplates:{directionalLightDirection:{type:"3f",value:function(x){return x.__dir=x.__dir||new P.a,x.__dir.copy(x.worldTransform.z).normalize().negate().array}},directionalLightColor:{type:"3f",value:function(x){var O=x.color,_=x.intensity;return[O[0]*_,O[1]*_,O[2]*_]}}},clone:function(){var x=z.a.prototype.clone.call(this);return x.shadowBias=this.shadowBias,x.shadowSlopeScale=this.shadowSlopeScale,x}});H.a=T},function(q,H,b){"use strict";var z=b(19),P=z.a.extend({range:100,castShadow:!1},{type:"POINT_LIGHT",uniformTemplates:{pointLightPosition:{type:"3f",value:function(T){return T.getWorldPosition().array}},pointLightRange:{type:"1f",value:function(T){return T.range}},pointLightColor:{type:"3f",value:function(T){var x=T.color,O=T.intensity;return[x[0]*O,x[1]*O,x[2]*O]}}},clone:function(){var T=z.a.prototype.clone.call(this);return T.range=this.range,T}});H.a=P},function(q,H,b){"use strict";var z=b(19),P=b(4),T=z.a.extend({range:20,umbraAngle:30,penumbraAngle:45,falloffFactor:2,shadowBias:2e-4,shadowSlopeScale:2},{type:"SPOT_LIGHT",uniformTemplates:{spotLightPosition:{type:"3f",value:function(x){return x.getWorldPosition().array}},spotLightRange:{type:"1f",value:function(x){return x.range}},spotLightUmbraAngleCosine:{type:"1f",value:function(x){return Math.cos(x.umbraAngle*Math.PI/180)}},spotLightPenumbraAngleCosine:{type:"1f",value:function(x){return Math.cos(x.penumbraAngle*Math.PI/180)}},spotLightFalloffFactor:{type:"1f",value:function(x){return x.falloffFactor}},spotLightDirection:{type:"3f",value:function(x){return x.__dir=x.__dir||new P.a,x.__dir.copy(x.worldTransform.z).negate().array}},spotLightColor:{type:"3f",value:function(x){var O=x.color,_=x.intensity;return[O[0]*_,O[1]*_,O[2]*_]}}},clone:function(){var x=z.a.prototype.clone.call(this);return x.range=this.range,x.umbraAngle=this.umbraAngle,x.penumbraAngle=this.penumbraAngle,x.falloffFactor=this.falloffFactor,x.shadowBias=this.shadowBias,x.shadowSlopeScale=this.shadowSlopeScale,x}});H.a=T},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(5);function x(_,g,m,L,d,v,M){this._zr=_,this._x=0,this._y=0,this._rowHeight=0,this.width=L,this.height=d,this.offsetX=g,this.offsetY=m,this.dpr=M,this.gap=v}x.prototype={constructor:x,clear:function(){this._x=0,this._y=0,this._rowHeight=0},add:function(_,g,m){var L=_.getBoundingRect();g==null&&(g=L.width),m==null&&(m=L.height),g*=this.dpr,m*=this.dpr,this._fitElement(_,g,m);var d=this._x,v=this._y,M=this.width*this.dpr,w=this.height*this.dpr,S=this.gap;if(d+g+S>M&&(d=this._x=0,v+=this._rowHeight+S,this._y=v,this._rowHeight=0),this._x+=g+S,this._rowHeight=Math.max(this._rowHeight,m),v+m+S>w)return null;_.position[0]+=this.offsetX*this.dpr+d,_.position[1]+=this.offsetY*this.dpr+v,this._zr.add(_);var A=[this.offsetX/this.width,this.offsetY/this.height],R=[[d/M+A[0],v/w+A[1]],[(d+g)/M+A[0],(v+m)/w+A[1]]];return R},_fitElement:function(_,g,m){var L=_.getBoundingRect(),d=g/L.width,v=m/L.height;_.position=[-L.x*d,-L.y*v],_.scale=[d,v],_.update()}};function O(_){_=_||{},_.width=_.width||512,_.height=_.height||512,_.devicePixelRatio=_.devicePixelRatio||1,_.gap=_.gap==null?2:_.gap;var g=document.createElement("canvas");g.width=_.width*_.devicePixelRatio,g.height=_.height*_.devicePixelRatio,this._canvas=g,this._texture=new T.a({image:g,flipY:!1});var m=this;this._zr=P.a.zrender.init(g);var L=this._zr.refreshImmediately;this._zr.refreshImmediately=function(){L.call(this),m._texture.dirty(),m.onupdate&&m.onupdate()},this._dpr=_.devicePixelRatio,this._coords={},this.onupdate=_.onupdate,this._gap=_.gap,this._textureAtlasNodes=[new x(this._zr,0,0,_.width,_.height,this._gap,this._dpr)],this._nodeWidth=_.width,this._nodeHeight=_.height,this._currentNodeIdx=0}O.prototype={clear:function(){for(var _=0;_<this._textureAtlasNodes.length;_++)this._textureAtlasNodes[_].clear();this._currentNodeIdx=0,this._zr.clear(),this._coords={}},getWidth:function(){return this._width},getHeight:function(){return this._height},getTexture:function(){return this._texture},getDevicePixelRatio:function(){return this._dpr},getZr:function(){return this._zr},_getCurrentNode:function(){return this._textureAtlasNodes[this._currentNodeIdx]},_expand:function(){if(this._currentNodeIdx++,this._textureAtlasNodes[this._currentNodeIdx])return this._textureAtlasNodes[this._currentNodeIdx];var _=4096/this._dpr,g=this._textureAtlasNodes,m=g.length,L=m*this._nodeWidth%_,d=Math.floor(m*this._nodeWidth/_)*this._nodeHeight;if(d>=_){console.error("Too much labels. Some will be ignored.");return}var v=(L+this._nodeWidth)*this._dpr,M=(d+this._nodeHeight)*this._dpr;try{this._zr.resize({width:v,height:M})}catch(S){this._canvas.width=v,this._canvas.height=M}var w=new x(this._zr,L,d,this._nodeWidth,this._nodeHeight,this._gap,this._dpr);return this._textureAtlasNodes.push(w),w},add:function(_,g,m){if(this._coords[_.id])return console.warn("Element already been add"),this._coords[_.id];var L=this._getCurrentNode().add(_,g,m);if(!L){var d=this._expand();if(!d)return;L=d.add(_,g,m)}return this._coords[_.id]=L,L},getCoordsScale:function(){var _=this._dpr;return[this._nodeWidth/this._canvas.width*_,this._nodeHeight/this._canvas.height*_]},getCoords:function(_){return this._coords[_]}},H.a=O},function(q,H,b){"use strict";H.a=z;function z(P,T,x){var O,_=P.scale;return _.type==="ordinal"&&(typeof x=="function"?(O=_.getTicks()[T],!x(O,_.getLabel(O))):T%(x+1))}},function(q,H,b){var z=b(76),P=b(77),T=z.applyTransform,x=Math.min,O=Math.max;function _(m,L,d,v){d<0&&(m=m+d,d=-d),v<0&&(L=L+v,v=-v),this.x=m,this.y=L,this.width=d,this.height=v}_.prototype={constructor:_,union:function(m){var L=x(m.x,this.x),d=x(m.y,this.y);this.width=O(m.x+m.width,this.x+this.width)-L,this.height=O(m.y+m.height,this.y+this.height)-d,this.x=L,this.y=d},applyTransform:function(){var m=[],L=[],d=[],v=[];return function(M){if(M){m[0]=d[0]=this.x,m[1]=v[1]=this.y,L[0]=v[0]=this.x+this.width,L[1]=d[1]=this.y+this.height,T(m,m,M),T(L,L,M),T(d,d,M),T(v,v,M),this.x=x(m[0],L[0],d[0],v[0]),this.y=x(m[1],L[1],d[1],v[1]);var w=O(m[0],L[0],d[0],v[0]),S=O(m[1],L[1],d[1],v[1]);this.width=w-this.x,this.height=S-this.y}}}(),calculateTransform:function(m){var L=this,d=m.width/L.width,v=m.height/L.height,M=P.create();return P.translate(M,M,[-L.x,-L.y]),P.scale(M,M,[d,v]),P.translate(M,M,[m.x,m.y]),M},intersect:function(m){if(!m)return!1;m instanceof _||(m=_.create(m));var L=this,d=L.x,v=L.x+L.width,M=L.y,w=L.y+L.height,S=m.x,A=m.x+m.width,R=m.y,u=m.y+m.height;return!(v<S||A<d||w<R||u<M)},contain:function(m,L){var d=this;return m>=d.x&&m<=d.x+d.width&&L>=d.y&&L<=d.y+d.height},clone:function(){return new _(this.x,this.y,this.width,this.height)},copy:function(m){this.x=m.x,this.y=m.y,this.width=m.width,this.height=m.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},_.create=function(m){return new _(m.x,m.y,m.width,m.height)};var g=_;q.exports=g},function(q,H){var b=typeof Float32Array=="undefined"?Array:Float32Array;function z(te,$){var oe=new b(2);return te==null&&(te=0),$==null&&($=0),oe[0]=te,oe[1]=$,oe}function P(te,$){return te[0]=$[0],te[1]=$[1],te}function T(te){var $=new b(2);return $[0]=te[0],$[1]=te[1],$}function x(te,$,oe){return te[0]=$,te[1]=oe,te}function O(te,$,oe){return te[0]=$[0]+oe[0],te[1]=$[1]+oe[1],te}function _(te,$,oe,ie){return te[0]=$[0]+oe[0]*ie,te[1]=$[1]+oe[1]*ie,te}function g(te,$,oe){return te[0]=$[0]-oe[0],te[1]=$[1]-oe[1],te}function m(te){return Math.sqrt(d(te))}var L=m;function d(te){return te[0]*te[0]+te[1]*te[1]}var v=d;function M(te,$,oe){return te[0]=$[0]*oe[0],te[1]=$[1]*oe[1],te}function w(te,$,oe){return te[0]=$[0]/oe[0],te[1]=$[1]/oe[1],te}function S(te,$){return te[0]*$[0]+te[1]*$[1]}function A(te,$,oe){return te[0]=$[0]*oe,te[1]=$[1]*oe,te}function R(te,$){var oe=m($);return oe===0?(te[0]=0,te[1]=0):(te[0]=$[0]/oe,te[1]=$[1]/oe),te}function u(te,$){return Math.sqrt((te[0]-$[0])*(te[0]-$[0])+(te[1]-$[1])*(te[1]-$[1]))}var f=u;function y(te,$){return(te[0]-$[0])*(te[0]-$[0])+(te[1]-$[1])*(te[1]-$[1])}var D=y;function I(te,$){return te[0]=-$[0],te[1]=-$[1],te}function U(te,$,oe,ie){return te[0]=$[0]+ie*(oe[0]-$[0]),te[1]=$[1]+ie*(oe[1]-$[1]),te}function F(te,$,oe){var ie=$[0],ne=$[1];return te[0]=oe[0]*ie+oe[2]*ne+oe[4],te[1]=oe[1]*ie+oe[3]*ne+oe[5],te}function G(te,$,oe){return te[0]=Math.min($[0],oe[0]),te[1]=Math.min($[1],oe[1]),te}function Y(te,$,oe){return te[0]=Math.max($[0],oe[0]),te[1]=Math.max($[1],oe[1]),te}H.create=z,H.copy=P,H.clone=T,H.set=x,H.add=O,H.scaleAndAdd=_,H.sub=g,H.len=m,H.length=L,H.lenSquare=d,H.lengthSquare=v,H.mul=M,H.div=w,H.dot=S,H.scale=A,H.normalize=R,H.distance=u,H.dist=f,H.distanceSquare=y,H.distSquare=D,H.negate=I,H.lerp=U,H.applyTransform=F,H.min=G,H.max=Y},function(q,H){var b=typeof Float32Array=="undefined"?Array:Float32Array;function z(){var d=new b(6);return P(d),d}function P(d){return d[0]=1,d[1]=0,d[2]=0,d[3]=1,d[4]=0,d[5]=0,d}function T(d,v){return d[0]=v[0],d[1]=v[1],d[2]=v[2],d[3]=v[3],d[4]=v[4],d[5]=v[5],d}function x(d,v,M){var w=v[0]*M[0]+v[2]*M[1],S=v[1]*M[0]+v[3]*M[1],A=v[0]*M[2]+v[2]*M[3],R=v[1]*M[2]+v[3]*M[3],u=v[0]*M[4]+v[2]*M[5]+v[4],f=v[1]*M[4]+v[3]*M[5]+v[5];return d[0]=w,d[1]=S,d[2]=A,d[3]=R,d[4]=u,d[5]=f,d}function O(d,v,M){return d[0]=v[0],d[1]=v[1],d[2]=v[2],d[3]=v[3],d[4]=v[4]+M[0],d[5]=v[5]+M[1],d}function _(d,v,M){var w=v[0],S=v[2],A=v[4],R=v[1],u=v[3],f=v[5],y=Math.sin(M),D=Math.cos(M);return d[0]=w*D+R*y,d[1]=-w*y+R*D,d[2]=S*D+u*y,d[3]=-S*y+D*u,d[4]=D*A+y*f,d[5]=D*f-y*A,d}function g(d,v,M){var w=M[0],S=M[1];return d[0]=v[0]*w,d[1]=v[1]*S,d[2]=v[2]*w,d[3]=v[3]*S,d[4]=v[4]*w,d[5]=v[5]*S,d}function m(d,v){var M=v[0],w=v[2],S=v[4],A=v[1],R=v[3],u=v[5],f=M*R-A*w;return f?(f=1/f,d[0]=R*f,d[1]=-A*f,d[2]=-w*f,d[3]=M*f,d[4]=(w*u-R*S)*f,d[5]=(A*S-M*u)*f,d):null}function L(d){var v=z();return T(v,d),v}H.create=z,H.identity=P,H.copy=T,H.mul=x,H.translate=O,H.rotate=_,H.scale=g,H.invert=m,H.clone=L},function(q,H,b){var z=b(12),P=1e-4;function T(U){return U.replace(/^\s+/,"").replace(/\s+$/,"")}function x(U,F,G,Y){var te=F[1]-F[0],$=G[1]-G[0];if(te===0)return $===0?G[0]:(G[0]+G[1])/2;if(Y)if(te>0){if(U<=F[0])return G[0];if(U>=F[1])return G[1]}else{if(U>=F[0])return G[0];if(U<=F[1])return G[1]}else{if(U===F[0])return G[0];if(U===F[1])return G[1]}return(U-F[0])/te*$+G[0]}function O(U,F){switch(U){case"center":case"middle":U="50%";break;case"left":case"top":U="0%";break;case"right":case"bottom":U="100%";break}return typeof U=="string"?T(U).match(/%$/)?parseFloat(U)/100*F:parseFloat(U):U==null?NaN:+U}function _(U,F,G){return F==null&&(F=10),F=Math.min(Math.max(0,F),20),U=(+U).toFixed(F),G?U:+U}function g(U){return U.sort(function(F,G){return F-G}),U}function m(U){if(U=+U,isNaN(U))return 0;for(var F=1,G=0;Math.round(U*F)/F!==U;)F*=10,G++;return G}function L(U){var F=U.toString(),G=F.indexOf("e");if(G>0){var Y=+F.slice(G+1);return Y<0?-Y:0}else{var te=F.indexOf(".");return te<0?0:F.length-1-te}}function d(U,F){var G=Math.log,Y=Math.LN10,te=Math.floor(G(U[1]-U[0])/Y),$=Math.round(G(Math.abs(F[1]-F[0]))/Y),oe=Math.min(Math.max(-te+$,0),20);return isFinite(oe)?oe:20}function v(U,F,G){if(!U[F])return 0;var Y=z.reduce(U,function(ye,ge){return ye+(isNaN(ge)?0:ge)},0);if(Y===0)return 0;for(var te=Math.pow(10,G),$=z.map(U,function(ye){return(isNaN(ye)?0:ye)/Y*te*100}),oe=te*100,ie=z.map($,function(ye){return Math.floor(ye)}),ne=z.reduce(ie,function(ye,ge){return ye+ge},0),le=z.map($,function(ye,ge){return ye-ie[ge]});ne<oe;){for(var ae=Number.NEGATIVE_INFINITY,de=null,se=0,fe=le.length;se<fe;++se)le[se]>ae&&(ae=le[se],de=se);++ie[de],le[de]=0,++ne}return ie[F]/te}var M=9007199254740991;function w(U){var F=Math.PI*2;return(U%F+F)%F}function S(U){return U>-P&&U<P}var A=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function R(U){if(U instanceof Date)return U;if(typeof U=="string"){var F=A.exec(U);if(!F)return new Date(NaN);if(F[8]){var G=+F[4]||0;return F[8].toUpperCase()!=="Z"&&(G-=F[8].slice(0,3)),new Date(Date.UTC(+F[1],+(F[2]||1)-1,+F[3]||1,G,+(F[5]||0),+F[6]||0,+F[7]||0))}else return new Date(+F[1],+(F[2]||1)-1,+F[3]||1,+F[4]||0,+(F[5]||0),+F[6]||0,+F[7]||0)}else if(U==null)return new Date(NaN);return new Date(Math.round(U))}function u(U){return Math.pow(10,f(U))}function f(U){return Math.floor(Math.log(U)/Math.LN10)}function y(U,F){var G=f(U),Y=Math.pow(10,G),te=U/Y,$;return F?te<1.5?$=1:te<2.5?$=2:te<4?$=3:te<7?$=5:$=10:te<1?$=1:te<2?$=2:te<3?$=3:te<5?$=5:$=10,U=$*Y,G>=-20?+U.toFixed(G<0?-G:0):U}function D(U){U.sort(function(ne,le){return ie(ne,le,0)?-1:1});for(var F=-1/0,G=1,Y=0;Y<U.length;){for(var te=U[Y].interval,$=U[Y].close,oe=0;oe<2;oe++)te[oe]<=F&&(te[oe]=F,$[oe]=oe?1:1-G),F=te[oe],G=$[oe];te[0]===te[1]&&$[0]*$[1]!==1?U.splice(Y,1):Y++}return U;function ie(ne,le,ae){return ne.interval[ae]<le.interval[ae]||ne.interval[ae]===le.interval[ae]&&(ne.close[ae]-le.close[ae]===(ae?-1:1)||!ae&&ie(ne,le,1))}}function I(U){return U-parseFloat(U)>=0}H.linearMap=x,H.parsePercent=O,H.round=_,H.asc=g,H.getPrecision=m,H.getPrecisionSafe=L,H.getPixelPrecision=d,H.getPercentWithPrecision=v,H.MAX_SAFE_INTEGER=M,H.remRadian=w,H.isRadianAroundZero=S,H.parseDate=R,H.quantity=u,H.nice=y,H.reformIntervals=D,H.isNumeric=I},function(q,H,b){"use strict";var z=b(5),P=b(11),T=b(21),x=function(){this._pool={},this._allocatedTextures=[]};x.prototype={constructor:x,get:function(d){var v=g(d);this._pool.hasOwnProperty(v)||(this._pool[v]=[]);var M=this._pool[v];if(!M.length){var w=new z.a(d);return this._allocatedTextures.push(w),w}return M.pop()},put:function(d){var v=g(d);this._pool.hasOwnProperty(v)||(this._pool[v]=[]);var M=this._pool[v];M.push(d)},clear:function(d){for(var v=0;v<this._allocatedTextures.length;v++)this._allocatedTextures[v].dispose(d);this._pool={},this._allocatedTextures=[]}};var O={width:512,height:512,type:P.a.UNSIGNED_BYTE,format:P.a.RGBA,wrapS:P.a.CLAMP_TO_EDGE,wrapT:P.a.CLAMP_TO_EDGE,minFilter:P.a.LINEAR_MIPMAP_LINEAR,magFilter:P.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,unpackAlignment:4,premultiplyAlpha:!1},_=Object.keys(O);function g(d){T.a.defaultsWithPropList(d,O,_),m(d);for(var v="",M=0;M<_.length;M++){var w=_[M],S=d[w].toString();v+=S}return v}function m(d){var v=L(d.width,d.height);d.format===P.a.DEPTH_COMPONENT&&(d.useMipmap=!1),(!v||!d.useMipmap)&&(d.minFilter==P.a.NEAREST_MIPMAP_NEAREST||d.minFilter==P.a.NEAREST_MIPMAP_LINEAR?d.minFilter=P.a.NEAREST:(d.minFilter==P.a.LINEAR_MIPMAP_LINEAR||d.minFilter==P.a.LINEAR_MIPMAP_NEAREST)&&(d.minFilter=P.a.LINEAR)),v||(d.wrapS=P.a.CLAMP_TO_EDGE,d.wrapT=P.a.CLAMP_TO_EDGE)}function L(d,v){return(d&d-1)===0&&(v&v-1)===0}H.a=x},function(q,H,b){"use strict";var z=b(0),P=b.n(z);H.a={getFilledRegions:function(T,x){var O=(T||[]).slice(),_;if(typeof x=="string"?(x=P.a.getMap(x),_=x&&x.geoJson):x&&x.features&&(_=x),!_)return console.error("Map "+x+" not exists. You can download map file on http://echarts.baidu.com/download-map.html"),_.features||console.error("Invalid GeoJSON for map3D"),[];for(var g={},m=_.features,L=0;L<O.length;L++)g[O[L].name]=O[L];for(var L=0;L<m.length;L++){var d=m[L].properties.name;g[d]||O.push({name:d})}return O},defaultOption:{show:!0,zlevel:-10,map:"",left:0,top:0,width:"100%",height:"100%",boxWidth:100,boxHeight:10,boxDepth:"auto",regionHeight:3,environment:"auto",groundPlane:{show:!1,color:"#aaa"},shading:"lambert",light:{main:{alpha:40,beta:30}},viewControl:{alpha:40,beta:0,distance:100,orthographicSize:60,minAlpha:5,minBeta:-80,maxBeta:80},label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}}},function(q,H,b){"use strict";function z(O,_,g){var m=O[_];O[_]=O[g],O[g]=m}function P(O,_,g,m,L){var d=g,v=O[_];z(O,_,m);for(var M=g;M<m;M++)L(O[M],v)<0&&(z(O,M,d),d++);return z(O,m,d),d}function T(O,_,g,m){if(g<m){var L=Math.floor((g+m)/2),d=P(O,L,g,m,_);T(O,_,g,d-1),T(O,_,d+1,m)}}function x(){this._parts=[]}x.prototype.step=function(O,_,g){var m=O.length;if(g===0){this._parts=[],this._sorted=!1;var L=Math.floor(m/2);this._parts.push({pivot:L,left:0,right:m-1}),this._currentSortPartIdx=0}if(!this._sorted){var d=this._parts;if(d.length===0)return this._sorted=!0,!0;if(d.length<512){for(var v=0;v<d.length;v++)d[v].pivot=P(O,d[v].pivot,d[v].left,d[v].right,_);for(var M=[],v=0;v<d.length;v++){var w=d[v].left,S=d[v].pivot-1;S>w&&M.push({pivot:Math.floor((S+w)/2),left:w,right:S});var w=d[v].pivot+1,S=d[v].right;S>w&&M.push({pivot:Math.floor((S+w)/2),left:w,right:S})}d=this._parts=M}else for(var v=0;v<Math.floor(d.length/10);v++){var A=d.length-1-this._currentSortPartIdx;if(T(O,_,d[A].left,d[A].right),this._currentSortPartIdx++,this._currentSortPartIdx===d.length)return this._sorted=!0,!0}return!1}},x.sort=T,H.a=x},function(q,H,b){"use strict";var z=b(83),P=b(0),T=b.n(P),x=b(41),O=b.n(x),_=b(20),g=b(3);function m(w,S){var A=w.getBoxLayoutParams(),R=O.a.getLayoutRect(A,{width:S.getWidth(),height:S.getHeight()});R.y=S.getHeight()-R.y-R.height,this.viewGL.setViewport(R.x,R.y,R.width,R.height,S.getDevicePixelRatio());var u=this.getGeoBoundingRect(),f=u.width/u.height*(w.get("aspectScale")||.75),y=w.get("boxWidth"),D=w.get("boxDepth"),I=w.get("boxHeight");I==null&&(I=5),isNaN(y)&&isNaN(D)&&(y=100),isNaN(D)?D=y/f:isNaN(y)&&(y=D/f),this.setSize(y,I,D),this.regionHeight=w.get("regionHeight"),this.altitudeAxis&&this.altitudeAxis.setExtent(0,Math.max(I-this.regionHeight,0))}function L(w,S){var A=[1/0,-1/0];if(w.eachSeries(function(u){if(u.coordinateSystem===this&&u.type!=="series.map3D"){var f=u.getData(),y=u.coordDimToDataDim("alt")[0];if(y){var D=f.getDataExtent(y,!0);A[0]=Math.min(A[0],D[0]),A[1]=Math.max(A[1],D[1])}}},this),A&&isFinite(A[1]-A[0])){var R=T.a.helper.createScale(A,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new T.a.Axis("altitude",R),this.resize(this.model,S)}}var d=function(w){console.error("Map "+w+" not exists. You can download map file on http://echarts.baidu.com/download-map.html")},v=0,M={dimensions:z.a.prototype.dimensions,create:function(w,S){var A=[];if(!T.a.getMap)throw new Error("geo3D component depends on geo component");function R(u,f){var y=M.createGeo3D(u);u.__viewGL=u.__viewGL||new _.a,y.viewGL=u.__viewGL,u.coordinateSystem=y,y.model=u,A.push(y),y.resize=m,y.resize(u,S),y.update=L}return w.eachComponent("geo3D",function(u,f){R(u,f)}),w.eachSeriesByType("map3D",function(u,f){var y=u.get("coordinateSystem");y==null&&(y="geo3D"),y==="geo3D"&&R(u,f)}),w.eachSeries(function(u){if(u.get("coordinateSystem")==="geo3D"){if(u.type==="series.map3D")return;var f=u.getReferringComponents("geo3D")[0];if(f||(f=w.getComponent("geo3D")),!f)throw new Error('geo "'+g.a.firstNotNull(u.get("geo3DIndex"),u.get("geo3DId"),0)+'" not found');u.coordinateSystem=f.coordinateSystem}}),A},createGeo3D:function(w){var S=w.get("map"),A;if(typeof S=="string"?(A=S,S=T.a.getMap(S)):S&&S.features&&(S={geoJson:S}),S||d(S),!S.geoJson.features)throw new Error("Invalid GeoJSON for map3D");return A==null&&(A="GEO_ANONYMOUS_"+v++),new z.a(A+v++,A,S&&S.geoJson,S&&S.specialAreas,w.get("nameMap"))}};T.a.registerCoordinateSystem("geo3D",M),H.a=M},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(1),x=b.n(T),O=b(187),_=b.n(O),g=b(188),m=b.n(g),L=x.a.vec3,d=x.a.mat4,v=[_.a,m.a];function M(w,S,A,R,u){this.name=w,this.map=S,this.regionHeight=0,this.regions=[],this._nameCoordMap={},this.loadGeoJson(A,R,u),this.transform=d.identity(new Float64Array(16)),this.invTransform=d.identity(new Float64Array(16)),this.extrudeY=!0,this.altitudeAxis}M.prototype={constructor:M,type:"geo3D",dimensions:["lng","lat","alt"],containPoint:function(){},loadGeoJson:function(w,S,A){var R=P.a.parseGeoJSON||P.a.parseGeoJson;try{this.regions=w?R(w):[]}catch(U){throw`Invalid geoJson format
`+U}S=S||{},A=A||{};for(var u=this.regions,f={},y=0;y<u.length;y++){var D=u[y].name;D=A[D]||D,u[y].name=D,f[D]=u[y],this.addGeoCoord(D,u[y].center);var I=S[D];I&&u[y].transformTo(I.left,I.top,I.width,I.height)}this._regionsMap=f,this._geoRect=null,v.forEach(function(U){U(this)},this)},getGeoBoundingRect:function(){if(this._geoRect)return this._geoRect;for(var w,S=this.regions,A=0;A<S.length;A++){var R=S[A].getBoundingRect();w=w||R.clone(),w.union(R)}return this._geoRect=w||new P.a.graphic.BoundingRect(0,0,0,0)},addGeoCoord:function(w,S){this._nameCoordMap[w]=S},getRegion:function(w){return this._regionsMap[w]},getRegionByCoord:function(w){for(var S=this.regions,A=0;A<S.length;A++)if(S[A].contain(w))return S[A]},setSize:function(w,S,A){this.size=[w,S,A];var R=this.getGeoBoundingRect(),u=w/R.width,f=-A/R.height,y=-w/2-R.x*u,D=A/2-R.y*f,I=this.extrudeY?[y,0,D]:[y,D,0],U=this.extrudeY?[u,1,f]:[u,f,1],F=this.transform;d.identity(F),d.translate(F,F,I),d.scale(F,F,U),d.invert(this.invTransform,F)},dataToPoint:function(w,S){S=S||[];var A=this.extrudeY?1:2,R=this.extrudeY?2:1,u=w[2];return isNaN(u)&&(u=0),S[0]=w[0],S[R]=w[1],this.altitudeAxis?S[A]=this.altitudeAxis.dataToCoord(u):S[A]=0,S[A]+=this.regionHeight,L.transformMat4(S,S,this.transform),S},pointToData:function(w,S){}},H.a=M},function(q,H,b){"use strict";var z=b(77),P=b.n(z),T=b(76),x=b.n(T);function O(_){this.viewGL=_}O.prototype.reset=function(_,g){this._updateCamera(g.getWidth(),g.getHeight(),g.getDevicePixelRatio()),this._viewTransform=P.a.create(),this.updateTransform(_,g)},O.prototype.updateTransform=function(_,g){var m=_.coordinateSystem;m.getRoamTransform&&(P.a.invert(this._viewTransform,m.getRoamTransform()),this._setCameraTransform(this._viewTransform),g.getZr().refresh())},O.prototype.dataToPoint=function(_,g,m){m=_.dataToPoint(g,null,m);var L=this._viewTransform;L&&x.a.applyTransform(m,m,L)},O.prototype.removeTransformInPoint=function(_){return this._viewTransform&&x.a.applyTransform(_,_,this._viewTransform),_},O.prototype.getZoom=function(){if(this._viewTransform){var _=this._viewTransform;return 1/Math.max(Math.sqrt(_[0]*_[0]+_[1]*_[1]),Math.sqrt(_[2]*_[2]+_[3]*_[3]))}return 1},O.prototype._setCameraTransform=function(_){var g=this.viewGL.camera;g.position.set(_[4],_[5],0),g.scale.set(Math.sqrt(_[0]*_[0]+_[1]*_[1]),Math.sqrt(_[2]*_[2]+_[3]*_[3]),1)},O.prototype._updateCamera=function(_,g,m){this.viewGL.setViewport(0,0,_,g,m);var L=this.viewGL.camera;L.left=L.top=0,L.bottom=g,L.right=_,L.near=0,L.far=100},H.a=O},function(q,H,b){(function(z){var P;typeof window!="undefined"?P=window.__DEV__:typeof z!="undefined"&&(P=z.__DEV__),typeof P=="undefined"&&(P=!0);var T=P;H.__DEV__=T}).call(H,b(243))},function(q,H,b){"use strict";var z=b(13),P=b(0),T=b.n(P),x=b(33),O=b(1),_=b.n(O),g=_.a.vec2,m=[[0,0],[1,1]],L=z.a.extend(function(){return{segmentScale:4,dynamic:!0,useNativeLine:!0,attributes:{position:new z.a.Attribute("position","float",2,"POSITION"),normal:new z.a.Attribute("normal","float",2),offset:new z.a.Attribute("offset","float",1),color:new z.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(d){var v=this.attributes;this.vertexCount!==d&&(v.position.init(d),v.color.init(d),this.useNativeLine||(v.offset.init(d),v.normal.init(d)),d>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(d){this.triangleCount!==d&&(d===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(d*3):new Uint16Array(d*3))},_getCubicCurveApproxStep:function(d,v,M,w){var S=g.dist(d,v)+g.dist(M,v)+g.dist(w,M),A=1/(S+1)*this.segmentScale;return A},getCubicCurveVertexCount:function(d,v,M,w){var S=this._getCubicCurveApproxStep(d,v,M,w),A=Math.ceil(1/S);return this.useNativeLine?A*2:A*2+2},getCubicCurveTriangleCount:function(d,v,M,w){var S=this._getCubicCurveApproxStep(d,v,M,w),A=Math.ceil(1/S);return this.useNativeLine?0:A*2},getLineVertexCount:function(){return this.getPolylineVertexCount(m)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(m)},getPolylineVertexCount:function(d){var v;if(typeof d=="number")v=d;else{var M=typeof d[0]!="number";v=M?d.length:d.length/2}return this.useNativeLine?(v-1)*2:(v-1)*2+2},getPolylineTriangleCount:function(d){var v;if(typeof d=="number")v=d;else{var M=typeof d[0]!="number";v=M?d.length:d.length/2}return this.useNativeLine?0:(v-1)*2},addCubicCurve:function(d,v,M,w,S,A){A==null&&(A=1);for(var R=d[0],u=d[1],f=v[0],y=v[1],D=M[0],I=M[1],U=w[0],F=w[1],G=this._getCubicCurveApproxStep(d,v,M,w),Y=G*G,te=Y*G,$=3*G,oe=3*Y,ie=6*Y,ne=6*te,le=R-f*2+D,ae=u-y*2+I,de=(f-D)*3-R+U,se=(y-I)*3-u+F,fe=R,ye=u,ge=(f-R)*$+le*oe+de*te,xe=(y-u)*$+ae*oe+se*te,Me=le*ie+de*ne,Ne=ae*ie+se*ne,We=de*ne,tt=se*ne,Je=0,st=0,yt=Math.ceil(1/G),gt=new Float32Array((yt+1)*3),gt=[],Ke=0,st=0;st<yt+1;st++)gt[Ke++]=fe,gt[Ke++]=ye,fe+=ge,ye+=xe,ge+=Me,xe+=Ne,Me+=We,Ne+=tt,Je+=G,Je>1&&(fe=ge>0?Math.min(fe,U):Math.max(fe,U),ye=xe>0?Math.min(ye,F):Math.max(ye,F));this.addPolyline(gt,S,A)},addLine:function(d,v,M,w){this.addPolyline([d,v],M,w)},addPolyline:function(){var d=g.create(),v=g.create(),M=g.create(),w=g.create(),S=[],A=[],R=[];return function(u,f,y,D,I){if(u.length){var U=typeof u[0]!="number";if(I==null&&(I=U?u.length:u.length/2),!(I<2)){D==null&&(D=0),y==null&&(y=1),this._itemVertexOffsets.push(this._vertexOffset);for(var F=U?typeof f[0]!="number":f.length/4===I,G=this.attributes.position,Y=this.attributes.color,te=this.attributes.offset,$=this.attributes.normal,oe=this.indices,ie=this._vertexOffset,ne,le=0;le<I;le++){if(U)S=u[le+D],F?ne=f[le+D]:ne=f;else{var ae=le*2+D;if(S=S||[],S[0]=u[ae],S[1]=u[ae+1],F){var de=le*4+D;ne=ne||[],ne[0]=f[de],ne[1]=f[de+1],ne[2]=f[de+2],ne[3]=f[de+3]}else ne=f}if(this.useNativeLine)le>1&&(G.copy(ie,ie-1),Y.copy(ie,ie-1),ie++);else{var se;if(le<I-1){if(U)g.copy(A,u[le+1]);else{var ae=(le+1)*2+D;A=A||[],A[0]=u[ae],A[1]=u[ae+1]}if(le>0){g.sub(d,S,R),g.sub(v,A,S),g.normalize(d,d),g.normalize(v,v),g.add(w,d,v),g.normalize(w,w);var fe=y/2*Math.min(1/g.dot(d,w),2);M[0]=-w[1],M[1]=w[0],se=fe}else g.sub(d,A,S),g.normalize(d,d),M[0]=-d[1],M[1]=d[0],se=y/2}else g.sub(d,S,R),g.normalize(d,d),M[0]=-d[1],M[1]=d[0],se=y/2;$.set(ie,M),$.set(ie+1,M),te.set(ie,se),te.set(ie+1,-se),g.copy(R,S),G.set(ie,S),G.set(ie+1,S),Y.set(ie,ne),Y.set(ie+1,ne),ie+=2}if(this.useNativeLine)Y.set(ie,ne),G.set(ie,S),ie++;else if(le>0){var ye=this._faceOffset*3,oe=this.indices;oe[ye]=ie-4,oe[ye+1]=ie-3,oe[ye+2]=ie-2,oe[ye+3]=ie-3,oe[ye+4]=ie-1,oe[ye+5]=ie-2,this._faceOffset+=2}}this._vertexOffset=ie}}}}(),setItemColor:function(d,v){for(var M=this._itemVertexOffsets[d],w=d<this._itemVertexOffsets.length-1?this._itemVertexOffsets[d+1]:this._vertexOffset,S=M;S<w;S++)this.attributes.color.set(S,v);this.dirty("color")}});T.a.util.defaults(L.prototype,x.a),H.a=L},function(q,H,b){"use strict";Object.defineProperty(H,"__esModule",{value:!0});var z=b(88),P=b(133),T=b(183),x=b(189),O=b(195),_=b(202),g=b(209),m=b(213),L=b(220),d=b(226),v=b(229),M=b(233),w=b(236),S=b(239),A=b(253),R=b(259)},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(89),x=b(90),O=b(101),_=b(2),g={version:"1.0.0",dependencies:{echarts:"4.0.0",claygl:"1.0.0"}},m=g.dependencies;function L(S){throw new Error(S+" version is too old, needs "+m[S]+" or higher")}function d(S,A){S.replace(".","")-0<m[A].replace(".","")-0&&L(A),console.log("Loaded "+A+", version "+S)}d(T.a,"claygl"),d(P.a.version,"echarts");function v(S){this._layers={},this._zr=S}v.prototype.update=function(S,A){var R=this,u=A.getZr();if(!u.getWidth()||!u.getHeight()){console.warn("Dom has no width or height");return}function f(I){var U;I.coordinateSystem&&I.coordinateSystem.model,U=I.get("zlevel");var F=R._layers,G=F[U];if(!G){if(G=F[U]=new x.a("gl-"+U,u),u.painter.isSingleCanvas()){G.virtual=!0;var Y=new P.a.graphic.Image({z:1e4,style:{image:G.renderer.canvas},silent:!0});G.__hostImage=Y,u.add(Y)}u.painter.insertLayer(U,G)}return G.__hostImage&&G.__hostImage.setStyle({width:G.renderer.getWidth(),height:G.renderer.getHeight()}),G}function y(I,U){I&&I.traverse(function(F){F.isRenderable&&F.isRenderable()&&(F.ignorePicking=F.$ignorePicking!=null?F.$ignorePicking:U)})}for(var D in this._layers)this._layers[D].removeViewsAll();S.eachComponent(function(I,U){if(I!=="series"){var F=A.getViewOfComponentModel(U),G=U.coordinateSystem;if(F.__ecgl__){var Y;if(G){if(!G.viewGL){console.error("Can't find viewGL in coordinateSystem of component "+U.id);return}Y=G.viewGL}else{if(!U.viewGL){console.error("Can't find viewGL of component "+U.id);return}Y=G.viewGL}var Y=G.viewGL,te=f(U);te.addView(Y),F.afterRender&&F.afterRender(U,S,A,te),y(F.groupGL,U.get("silent"))}}}),S.eachSeries(function(I){var U=A.getViewOfSeriesModel(I),F=I.coordinateSystem;if(U.__ecgl__){if(F&&!F.viewGL&&!U.viewGL){console.error("Can't find viewGL of series "+U.id);return}var G=F&&F.viewGL||U.viewGL,Y=f(I);Y.addView(G),U.afterRender&&U.afterRender(I,S,A,Y),y(U.groupGL,I.get("silent"))}})};var M=P.a.init;P.a.init=function(){var S=M.apply(this,arguments);return S.getZr().painter.getRenderedCanvas=function(A){if(A=A||{},this._singleCanvas)return this._layers[0].dom;var R=document.createElement("canvas"),u=A.pixelRatio||this.dpr;R.width=this.getWidth()*u,R.height=this.getHeight()*u;var f=R.getContext("2d");f.dpr=u,f.clearRect(0,0,R.width,R.height),A.backgroundColor&&(f.fillStyle=A.backgroundColor,f.fillRect(0,0,R.width,R.height));var y=this.storage.getDisplayList(!0),D={},I,U=this;function F($,oe){var ie=U._zlevelList;$==null&&($=-1/0);for(var ne,le=0;le<ie.length;le++){var ae=ie[le],de=U._layers[ae];if(!de.__builtin__&&ae>$&&ae<oe){ne=de;break}}ne&&ne.renderToCanvas&&(f.save(),ne.renderToCanvas(f),f.restore())}for(var G={ctx:f},Y=0;Y<y.length;Y++){var te=y[Y];te.zlevel!==I&&(F(I,te.zlevel),I=te.zlevel),this._doPaintEl(te,G,!0,D)}return F(I,1/0),R},S},P.a.registerPostUpdate(function(S,A){var R=A.getZr(),u=R.__egl=R.__egl||new v(R);u.update(S,A)}),P.a.registerPreprocessor(O.a),P.a.graphicGL=_.a;var w=v},function(q,H,b){"use strict";H.a="1.0.0"},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(46),x=b(100),O=b(6),_=b(47),g=b(65),m=b.n(g),L=function(R,u){this.id=R,this.zr=u;try{this.renderer=new T.a({clearBit:0,devicePixelRatio:u.painter.dpr,preserveDrawingBuffer:!0,premultipliedAlpha:!0}),this.renderer.resize(u.painter.getWidth(),u.painter.getHeight())}catch(y){this.renderer=null,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute; left: 0; top: 0; right: 0; bottom: 0;",this.dom.className="ecgl-nowebgl",this.dom.innerHTML="Sorry, your browser does support WebGL",console.error(y);return}this.onglobalout=this.onglobalout.bind(this),u.on("globalout",this.onglobalout),this.dom=this.renderer.canvas;var f=this.dom.style;f.position="absolute",f.left="0",f.top="0",this.views=[],this._picking=new x.a({renderer:this.renderer}),this._viewsToDispose=[],this._accumulatingId=0,this._zrEventProxy=new P.a.graphic.Rect({shape:{x:-1,y:-1,width:2,height:2},__isGLToZRProxy:!0})};L.prototype.addView=function(R){if(R.layer!==this){var u=this._viewsToDispose.indexOf(R);u>=0&&this._viewsToDispose.splice(u,1),this.views.push(R),R.layer=this;var f=this.zr;R.scene.traverse(function(y){y.__zr=f,y.addAnimatorsToZr&&y.addAnimatorsToZr(f)})}};function d(R){var u=R.__zr;R.__zr=null,u&&R.removeAnimatorsFromZr&&R.removeAnimatorsFromZr(u)}L.prototype.removeView=function(R){if(R.layer===this){var u=this.views.indexOf(R);u>=0&&(this.views.splice(u,1),R.scene.traverse(d,this),R.layer=null,this._viewsToDispose.push(R))}},L.prototype.removeViewsAll=function(){this.views.forEach(function(R){R.scene.traverse(d,this),R.layer=null,this._viewsToDispose.push(R)},this),this.views.length=0},L.prototype.resize=function(R,u){var f=this.renderer;f.resize(R,u)},L.prototype.clear=function(){var R=this.renderer.gl;R.clearColor(0,0,0,0),R.depthMask(!0),R.colorMask(!0,!0,!0,!0),R.clear(R.DEPTH_BUFFER_BIT|R.COLOR_BUFFER_BIT)},L.prototype.clearDepth=function(){var R=this.renderer.gl;R.clear(R.DEPTH_BUFFER_BIT)},L.prototype.clearColor=function(){var R=this.renderer.gl;R.clearColor(0,0,0,0),R.clear(R.COLOR_BUFFER_BIT)},L.prototype.needsRefresh=function(){this.zr.refresh()},L.prototype.refresh=function(){for(var R=0;R<this.views.length;R++)this.views[R].prepareRender();this._doRender(!1),this._trackAndClean();for(var R=0;R<this._viewsToDispose.length;R++)this._viewsToDispose[R].dispose(this.renderer);this._viewsToDispose.length=0,this._startAccumulating()},L.prototype.renderToCanvas=function(R){this._startAccumulating(!0),R.drawImage(this.dom,0,0,R.canvas.width,R.canvas.height)},L.prototype._doRender=function(R){this.clear(),this.renderer.saveViewport();for(var u=0;u<this.views.length;u++)this.views[u].render(this.renderer,R);this.renderer.restoreViewport()},L.prototype._stopAccumulating=function(){this._accumulatingId=0,clearTimeout(this._accumulatingTimeout)};var v=1;L.prototype._startAccumulating=function(R){var u=this;this._stopAccumulating();for(var f=!1,y=0;y<this.views.length;y++)f=this.views[y].needsAccumulate()||f;if(!f)return;function D(I){if(!(!u._accumulatingId||I!==u._accumulatingId)){for(var U=!0,F=0;F<u.views.length;F++)U=u.views[F].isAccumulateFinished()&&f;U||(u._doRender(!0),R?D(I):m()(function(){D(I)}))}}this._accumulatingId=v++,R?D(u._accumulatingId):this._accumulatingTimeout=setTimeout(function(){D(u._accumulatingId)},50)},L.prototype._trackAndClean=function(){var R=[],u=[];this._textureList&&(M(this._textureList),M(this._geometriesList));for(var f=0;f<this.views.length;f++)A(this.views[f].scene,R,u);this._textureList&&(w(this.renderer,this._textureList),w(this.renderer,this._geometriesList)),this._textureList=R,this._geometriesList=u};function M(R){for(var u=0;u<R.length;u++)R[u].__used__=0}function w(R,u){for(var f=0;f<u.length;f++)u[f].__used__||u[f].dispose(R)}function S(R,u){R.__used__=R.__used__||0,R.__used__++,R.__used__===1&&u.push(R)}function A(R,u,f){function y(I){for(var U,F,G=0;G<I.length;G++){var Y=I[G],te=Y.geometry,$=Y.material;if($!==U)for(var oe=$.getTextureUniforms(),ie=0;ie<oe.length;ie++){var ne=oe[ie],le=$.uniforms[ne].value;if(le){if(le instanceof O.a)S(le,u);else if(le instanceof Array)for(var ae=0;ae<le.length;ae++)le[ae]instanceof O.a&&S(le[ae],u)}}te!==F&&S(te,f),U=$,F=te}}y(R.opaqueList),y(R.transparentList);for(var D=0;D<R.lights.length;D++)R.lights[D].cubemap&&S(R.lights[D].cubemap,u)}L.prototype.dispose=function(){this._stopAccumulating(),this.renderer.disposeScene(this.scene),this.zr.off("globalout",this.onglobalout)},L.prototype.onmousedown=function(R){if(!(R.target&&R.target.__isGLToZRProxy)){R=R.event;var u=this.pickObject(R.offsetX,R.offsetY);u&&(this._dispatchEvent("mousedown",R,u),this._dispatchDataEvent("mousedown",R,u)),this._downX=R.offsetX,this._downY=R.offsetY}},L.prototype.onmousemove=function(R){if(!(R.target&&R.target.__isGLToZRProxy)){R=R.event;var u=this.pickObject(R.offsetX,R.offsetY),f=u&&u.target,y=this._hovered;this._hovered=u,y&&f!==y.target&&(y.relatedTarget=f,this._dispatchEvent("mouseout",R,y),this.zr.setCursorStyle("default")),this._dispatchEvent("mousemove",R,u),u&&(this.zr.setCursorStyle("pointer"),(!y||f!==y.target)&&this._dispatchEvent("mouseover",R,u)),this._dispatchDataEvent("mousemove",R,u)}},L.prototype.onmouseup=function(R){if(!(R.target&&R.target.__isGLToZRProxy)){R=R.event;var u=this.pickObject(R.offsetX,R.offsetY);u&&(this._dispatchEvent("mouseup",R,u),this._dispatchDataEvent("mouseup",R,u)),this._upX=R.offsetX,this._upY=R.offsetY}},L.prototype.onclick=L.prototype.dblclick=function(R){if(!(R.target&&R.target.__isGLToZRProxy)){var u=this._upX-this._downX,f=this._upY-this._downY;if(!(Math.sqrt(u*u+f*f)>20)){R=R.event;var y=this.pickObject(R.offsetX,R.offsetY);y&&(this._dispatchEvent(R.type,R,y),this._dispatchDataEvent(R.type,R,y));var D=this._clickToSetFocusPoint(R);if(D){var I=D.view.setDOFFocusOnPoint(D.distance);I&&this.zr.refresh()}}}},L.prototype._clickToSetFocusPoint=function(R){for(var u=this.renderer,f=u.viewport,y=this.views.length-1;y>=0;y--){var D=this.views[y];if(D.hasDOF()&&D.containPoint(R.offsetX,R.offsetY)){this._picking.scene=D.scene,this._picking.camera=D.camera,u.viewport=D.viewport;var I=this._picking.pick(R.offsetX,R.offsetY,!0);if(I)return I.view=D,I}}u.viewport=f},L.prototype.onglobalout=function(R){var u=this._hovered;u&&this._dispatchEvent("mouseout",R,{target:u.target})},L.prototype.pickObject=function(R,u){for(var f=[],y=this.renderer,D=y.viewport,I=0;I<this.views.length;I++){var U=this.views[I];U.containPoint(R,u)&&(this._picking.scene=U.scene,this._picking.camera=U.camera,y.viewport=U.viewport,this._picking.pickAll(R,u,f))}return y.viewport=D,f.sort(function(F,G){return F.distance-G.distance}),f[0]},L.prototype._dispatchEvent=function(R,u,f){f||(f={});var y=f.target;for(f.cancelBubble=!1,f.event=u,f.type=R,f.offsetX=u.offsetX,f.offsetY=u.offsetY;y&&(y.trigger(R,f),y=y.getParent(),!f.cancelBubble););this._dispatchToView(R,f)},L.prototype._dispatchDataEvent=function(R,u,f){var y=f&&f.target,D=y&&y.dataIndex,I=y&&y.seriesIndex,U=y&&y.eventData,F=!1,G=this._zrEventProxy;G.position=[u.offsetX,u.offsetY],G.update();var Y={target:G};R==="mousemove"&&(D!=null?D!==this._lastDataIndex&&(parseInt(this._lastDataIndex,10)>=0&&(G.dataIndex=this._lastDataIndex,G.seriesIndex=this._lastSeriesIndex,this.zr.handler.dispatchToElement(Y,"mouseout",u)),F=!0):U!=null&&U!==this._lastEventData&&(this._lastEventData!=null&&(G.eventData=this._lastEventData,this.zr.handler.dispatchToElement(Y,"mouseout",u)),F=!0),this._lastEventData=U,this._lastDataIndex=D,this._lastSeriesIndex=I),G.eventData=U,G.dataIndex=D,G.seriesIndex=I,(U!=null||parseInt(D,10)>=0)&&(this.zr.handler.dispatchToElement(Y,R,u),F&&this.zr.handler.dispatchToElement(Y,"mouseover",u))},L.prototype._dispatchToView=function(R,u){for(var f=0;f<this.views.length;f++)this.views[f].containPoint(u.offsetX,u.offsetY)&&this.views[f].trigger(R,u)},P.a.util.extend(L.prototype,_.a),H.a=L},function(q,H,b){"use strict";function z(x,O,_){typeof O=="object"&&(_=O,O=null);var g=this,m;if(!(x instanceof Function)){m=[];for(var L in x)x.hasOwnProperty(L)&&m.push(L)}var d=function(M){if(g.apply(this,arguments),x instanceof Function?P(this,x.call(this,M)):T(this,x,m),this.constructor===d)for(var w=d.__initializers__,S=0;S<w.length;S++)w[S].apply(this,arguments)};d.__super__=g,g.__initializers__?d.__initializers__=g.__initializers__.slice():d.__initializers__=[],O&&d.__initializers__.push(O);var v=function(){};return v.prototype=g.prototype,d.prototype=new v,d.prototype.constructor=d,P(d.prototype,_),d.extend=g.extend,d.derive=g.extend,d}function P(x,O){if(O)for(var _ in O)O.hasOwnProperty(_)&&(x[_]=O[_])}function T(x,O,_){for(var g=0;g<_.length;g++){var m=_[g];x[m]=O[m]}}H.a={extend:z,derive:z}},function(q,H,b){"use strict";var z=["OES_texture_float","OES_texture_half_float","OES_texture_float_linear","OES_texture_half_float_linear","OES_standard_derivatives","OES_vertex_array_object","OES_element_index_uint","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","EXT_texture_filter_anisotropic","EXT_shader_texture_lod","WEBGL_draw_buffers","EXT_frag_depth","EXT_sRGB"],P=["MAX_TEXTURE_SIZE","MAX_CUBE_MAP_TEXTURE_SIZE"];function T(x){for(var O={},_={},g=0;g<z.length;g++){var m=z[g];d(m)}for(var g=0;g<P.length;g++){var L=P[g];_[L]=x.getParameter(x[L])}this.getExtension=function(v){return v in O||d(v),O[v]},this.getParameter=function(v){return _[v]};function d(v){var M=x.getExtension(v);M||(M=x.getExtension("MOZ_"+v)),M||(M=x.getExtension("WEBKIT_"+v)),O[v]=M}}H.a=T},function(q,H,b){"use strict";var z=b(94),P={},T={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function x(f){return f=Math.round(f),f<0?0:f>255?255:f}function O(f){return f=Math.round(f),f<0?0:f>360?360:f}function _(f){return f<0?0:f>1?1:f}function g(f){return f.length&&f.charAt(f.length-1)==="%"?x(parseFloat(f)/100*255):x(parseInt(f,10))}function m(f){return f.length&&f.charAt(f.length-1)==="%"?_(parseFloat(f)/100):_(parseFloat(f))}function L(f,y,D){return D<0?D+=1:D>1&&(D-=1),D*6<1?f+(y-f)*D*6:D*2<1?y:D*3<2?f+(y-f)*(2/3-D)*6:f}function d(f,y,D){return f+(y-f)*D}function v(f,y,D,I,U){return f[0]=y,f[1]=D,f[2]=I,f[3]=U,f}function M(f,y){return f[0]=y[0],f[1]=y[1],f[2]=y[2],f[3]=y[3],f}var w=new z.a(20),S=null;function A(f,y){S&&M(S,y),S=w.put(f,S||y.slice())}P.parse=function(f,y){if(f){y=y||[];var D=w.get(f);if(D)return M(y,D);f=f+"";var I=f.replace(/ /g,"").toLowerCase();if(I in T)return M(y,T[I]),A(f,y),y;if(I.charAt(0)==="#"){if(I.length===4){var U=parseInt(I.substr(1),16);if(!(U>=0&&U<=4095)){v(y,0,0,0,1);return}return v(y,(U&3840)>>4|(U&3840)>>8,U&240|(U&240)>>4,U&15|(U&15)<<4,1),A(f,y),y}else if(I.length===7){var U=parseInt(I.substr(1),16);if(!(U>=0&&U<=16777215)){v(y,0,0,0,1);return}return v(y,(U&16711680)>>16,(U&65280)>>8,U&255,1),A(f,y),y}return}var F=I.indexOf("("),G=I.indexOf(")");if(F!==-1&&G+1===I.length){var Y=I.substr(0,F),te=I.substr(F+1,G-(F+1)).split(","),$=1;switch(Y){case"rgba":if(te.length!==4){v(y,0,0,0,1);return}$=m(te.pop());case"rgb":if(te.length!==3){v(y,0,0,0,1);return}return v(y,g(te[0]),g(te[1]),g(te[2]),$),A(f,y),y;case"hsla":if(te.length!==4){v(y,0,0,0,1);return}return te[3]=m(te[3]),R(te,y),A(f,y),y;case"hsl":if(te.length!==3){v(y,0,0,0,1);return}return R(te,y),A(f,y),y;default:return}}v(y,0,0,0,1)}},P.parseToFloat=function(f,y){if(y=P.parse(f,y),!!y)return y[0]/=255,y[1]/=255,y[2]/=255,y};function R(f,y){var D=(parseFloat(f[0])%360+360)%360/360,I=m(f[1]),U=m(f[2]),F=U<=.5?U*(I+1):U+I-U*I,G=U*2-F;return y=y||[],v(y,x(L(G,F,D+1/3)*255),x(L(G,F,D)*255),x(L(G,F,D-1/3)*255),1),f.length===4&&(y[3]=f[3]),y}function u(f){if(f){var y=f[0]/255,D=f[1]/255,I=f[2]/255,U=Math.min(y,D,I),F=Math.max(y,D,I),G=F-U,Y=(F+U)/2,te,$;if(G===0)te=0,$=0;else{Y<.5?$=G/(F+U):$=G/(2-F-U);var oe=((F-y)/6+G/2)/G,ie=((F-D)/6+G/2)/G,ne=((F-I)/6+G/2)/G;y===F?te=ne-ie:D===F?te=1/3+oe-ne:I===F&&(te=2/3+ie-oe),te<0&&(te+=1),te>1&&(te-=1)}var le=[te*360,$,Y];return f[3]!=null&&le.push(f[3]),le}}P.lift=function(f,y){var D=P.parse(f);if(D){for(var I=0;I<3;I++)y<0?D[I]=D[I]*(1-y)|0:D[I]=(255-D[I])*y+D[I]|0;return P.stringify(D,D.length===4?"rgba":"rgb")}},P.toHex=function(f){var y=P.parse(f);if(y)return((1<<24)+(y[0]<<16)+(y[1]<<8)+ +y[2]).toString(16).slice(1)},P.fastLerp=function(f,y,D){if(!(!(y&&y.length)||!(f>=0&&f<=1))){D=D||[];var I=f*(y.length-1),U=Math.floor(I),F=Math.ceil(I),G=y[U],Y=y[F],te=I-U;return D[0]=x(d(G[0],Y[0],te)),D[1]=x(d(G[1],Y[1],te)),D[2]=x(d(G[2],Y[2],te)),D[3]=_(d(G[3],Y[3],te)),D}},P.fastMapToColor=P.fastLerp,P.lerp=function(f,y,D){if(!(!(y&&y.length)||!(f>=0&&f<=1))){var I=f*(y.length-1),U=Math.floor(I),F=Math.ceil(I),G=P.parse(y[U]),Y=P.parse(y[F]),te=I-U,$=P.stringify([x(d(G[0],Y[0],te)),x(d(G[1],Y[1],te)),x(d(G[2],Y[2],te)),_(d(G[3],Y[3],te))],"rgba");return D?{color:$,leftIndex:U,rightIndex:F,value:I}:$}},P.mapToColor=P.lerp,P.modifyHSL=function(f,y,D,I){if(f=P.parse(f),f)return f=u(f),y!=null&&(f[0]=O(y)),D!=null&&(f[1]=m(D)),I!=null&&(f[2]=m(I)),P.stringify(R(f),"rgba")},P.modifyAlpha=function(f,y){if(f=P.parse(f),f&&y!=null)return f[3]=_(y),P.stringify(f,"rgba")},P.stringify=function(f,y){if(!(!f||!f.length)){var D=f[0]+","+f[1]+","+f[2];return(y==="rgba"||y==="hsva"||y==="hsla")&&(D+=","+f[3]),y+"("+D+")"}},H.a=P},function(q,H,b){"use strict";var z=b(95),P=function(T){this._list=new z.a,this._map={},this._maxSize=T||10};P.prototype.setMaxSize=function(T){this._maxSize=T},P.prototype.put=function(T,x){if(typeof this._map[T]=="undefined"){var O=this._list.length();if(O>=this._maxSize&&O>0){var _=this._list.head;this._list.remove(_),delete this._map[_.key]}var g=this._list.insert(x);g.key=T,this._map[T]=g}},P.prototype.get=function(T){var x=this._map[T];if(typeof x!="undefined")return x!==this._list.tail&&(this._list.remove(x),this._list.insertEntry(x)),x.value},P.prototype.remove=function(T){var x=this._map[T];typeof x!="undefined"&&(delete this._map[T],this._list.remove(x))},P.prototype.clear=function(){this._list.clear(),this._map={}},H.a=P},function(q,H,b){"use strict";var z=function(){this.head=null,this.tail=null,this._length=0};z.prototype.insert=function(P){var T=new z.Entry(P);return this.insertEntry(T),T},z.prototype.insertAt=function(P,T){if(!(P<0)){for(var x=this.head,O=0;x&&O!=P;)x=x.next,O++;if(x){var _=new z.Entry(T),g=x.prev;g?(g.next=_,_.prev=g):this.head=_,_.next=x,x.prev=_}else this.insert(T)}},z.prototype.insertBeforeEntry=function(P,T){var x=new z.Entry(P),O=T.prev;O?(O.next=x,x.prev=O):this.head=x,x.next=T,T.prev=x,this._length++},z.prototype.insertEntry=function(P){this.head?(this.tail.next=P,P.prev=this.tail,this.tail=P):this.head=this.tail=P,this._length++},z.prototype.remove=function(P){var T=P.prev,x=P.next;T?T.next=x:this.head=x,x?x.prev=T:this.tail=T,P.next=P.prev=null,this._length--},z.prototype.removeAt=function(P){if(!(P<0)){for(var T=this.head,x=0;T&&x!=P;)T=T.next,x++;if(T)return this.remove(T),T.value}},z.prototype.getHead=function(){if(this.head)return this.head.value},z.prototype.getTail=function(){if(this.tail)return this.tail.value},z.prototype.getAt=function(P){if(!(P<0)){for(var T=this.head,x=0;T&&x!=P;)T=T.next,x++;return T.value}},z.prototype.indexOf=function(P){for(var T=this.head,x=0;T;){if(T.value===P)return x;T=T.next,x++}},z.prototype.length=function(){return this._length},z.prototype.isEmpty=function(){return this._length===0},z.prototype.forEach=function(P,T){for(var x=this.head,O=0,_=typeof T!="undefined";x;)_?P.call(T,x.value,O):P(x.value,O),x=x.next,O++},z.prototype.clear=function(){this.tail=this.head=null,this._length=0},z.Entry=function(P){this.value=P,this.next=null,this.prev=null},H.a=z},function(q,H,b){"use strict";var z=b(97),P=/for\s*?\(int\s*?_idx_\s*\=\s*([\w-]+)\;\s*_idx_\s*<\s*([\w-]+);\s*_idx_\s*\+\+\s*\)\s*\{\{([\s\S]+?)(?=\}\})\}\}/g;function T(m,L,d){function v(S,A,R,u){var f="";isNaN(A)&&(A in L?A=L[A]:A=M[A]),isNaN(R)&&(R in L?R=L[R]:R=M[R]);for(var y=parseInt(A);y<parseInt(R);y++)f+="{"+u.replace(/float\s*\(\s*_idx_\s*\)/g,y.toFixed(1)).replace(/_idx_/g,y)+"}";return f}var M={};for(var w in d)M[w+"_COUNT"]=d[w];return m.replace(P,v)}function x(m,L,d){var v=[];if(L)for(var M in L){var w=L[M];w>0&&v.push("#define "+M.toUpperCase()+"_COUNT "+w)}if(d)for(var S=0;S<d.length;S++){var A=d[S];v.push("#define "+A.toUpperCase()+"_ENABLED")}for(var A in m){var R=m[A];R===null?v.push("#define "+A):v.push("#define "+A+" "+R.toString())}return v.join(`
`)}function O(m){for(var L=[],d=0;d<m.length;d++)L.push("#extension GL_"+m[d]+" : enable");return L.join(`
`)}function _(m){return["precision",m,"float"].join(" ")+`;
`+["precision",m,"int"].join(" ")+`;
`+["precision",m,"sampler2D"].join(" ")+`;
`}function g(m){this._renderer=m,this._cache={}}g.prototype.getProgram=function(m,L,d){var v=this._cache,M="s"+L.shader.shaderID+"m"+L.programKey;d&&(M+="se"+d.getProgramKey(m.lightGroup)),m.isSkinnedMesh()&&(M+=","+m.joints.length);var G=v[M];if(G)return G;var w=d?d.getLightsNumbers(m.lightGroup):{},S=this._renderer,A=S.gl,R=L.getEnabledTextures(),u="";m.isSkinnedMesh()&&(u=`
`+x({SKINNING:null,JOINT_COUNT:m.joints.length})+`
`);var f=u+x(L.vertexDefines,w,R),y=u+x(L.fragmentDefines,w,R),D=f+`
`+L.shader.vertex,I=O(["OES_standard_derivatives","EXT_shader_texture_lod"])+`
`+_(L.precision)+`
`+y+`
`+L.shader.fragment,U=T(D,L.vertexDefines,w),F=T(I,L.fragmentDefines,w),G=new z.a;G.uniformSemantics=L.shader.uniformSemantics,G.attributes=L.shader.attributes;var Y=G.buildProgram(A,L.shader,U,F);return G.__error=Y,v[M]=G,G},H.a=g},function(q,H,b){"use strict";var z=b(18),P=b(8),T=1,x=2,O=3,_={};function g(d){for(var v=d.split(`
`),M=0,w=v.length;M<w;M++)v[M]=M+1+": "+v[M];return v.join(`
`)}function m(d,v,M){if(!d.getShaderParameter(v,d.COMPILE_STATUS))return[d.getShaderInfoLog(v),g(M)].join(`
`)}var L=P.a.extend({uniformSemantics:{},attributes:{}},function(){this._locations={},this._textureSlot=0,this._program=null},{bind:function(d){this._textureSlot=0,d.gl.useProgram(this._program)},hasUniform:function(d){var v=this._locations[d];return v!=null},useTextureSlot:function(d,v,M){v&&(d.gl.activeTexture(d.gl.TEXTURE0+M),v.isRenderable()?v.bind(d):v.unbind(d))},currentTextureSlot:function(){return this._textureSlot},resetTextureSlot:function(d){this._textureSlot=d||0},takeCurrentTextureSlot:function(d,v){var M=this._textureSlot;return this.useTextureSlot(d,v,M),this._textureSlot++,M},setUniform:function(d,v,M,w){var S=this._locations,A=S[M];if(A==null)return!1;switch(v){case"m4":d.uniformMatrix4fv(A,!1,w);break;case"2i":d.uniform2i(A,w[0],w[1]);break;case"2f":d.uniform2f(A,w[0],w[1]);break;case"3i":d.uniform3i(A,w[0],w[1],w[2]);break;case"3f":d.uniform3f(A,w[0],w[1],w[2]);break;case"4i":d.uniform4i(A,w[0],w[1],w[2],w[3]);break;case"4f":d.uniform4f(A,w[0],w[1],w[2],w[3]);break;case"1i":d.uniform1i(A,w);break;case"1f":d.uniform1f(A,w);break;case"1fv":d.uniform1fv(A,w);break;case"1iv":d.uniform1iv(A,w);break;case"2iv":d.uniform2iv(A,w);break;case"2fv":d.uniform2fv(A,w);break;case"3iv":d.uniform3iv(A,w);break;case"3fv":d.uniform3fv(A,w);break;case"4iv":d.uniform4iv(A,w);break;case"4fv":d.uniform4fv(A,w);break;case"m2":case"m2v":d.uniformMatrix2fv(A,!1,w);break;case"m3":case"m3v":d.uniformMatrix3fv(A,!1,w);break;case"m4v":if(Array.isArray(w)){for(var R=new z.a.Float32Array(w.length*16),u=0,f=0;f<w.length;f++)for(var y=w[f],D=0;D<16;D++)R[u++]=y[D];d.uniformMatrix4fv(A,!1,R)}else w instanceof z.a.Float32Array&&d.uniformMatrix4fv(A,!1,w);break}return!0},setUniformOfSemantic:function(d,v,M){var w=this.uniformSemantics[v];return w?this.setUniform(d,w.type,w.symbol,M):!1},enableAttributes:function(d,v,M){var w=d.gl,S=this._program,A=this._locations,R;M?R=M.__enabledAttributeList:R=_[d.__uid__],R||(M?R=M.__enabledAttributeList=[]:R=_[d.__uid__]=[]);for(var u=[],f=0;f<v.length;f++){var y=v[f];if(!this.attributes[y]){u[f]=-1;continue}var D=A[y];if(D==null){if(D=w.getAttribLocation(S,y),D===-1){u[f]=-1;continue}A[y]=D}u[f]=D,R[D]?R[D]=x:R[D]=T}for(var f=0;f<R.length;f++)switch(R[f]){case T:w.enableVertexAttribArray(f),R[f]=O;break;case x:R[f]=O;break;case O:w.disableVertexAttribArray(f),R[f]=0;break}return u},buildProgram:function(d,v,M,w){var S=d.createShader(d.VERTEX_SHADER),A=d.createProgram();d.shaderSource(S,M),d.compileShader(S);var R=d.createShader(d.FRAGMENT_SHADER);d.shaderSource(R,w),d.compileShader(R);var u=m(d,S,M);if(u||(u=m(d,R,w),u))return u;if(d.attachShader(A,S),d.attachShader(A,R),v.attributeSemantics.POSITION)d.bindAttribLocation(A,0,v.attributeSemantics.POSITION.symbol);else{var f=Object.keys(this.attributes);d.bindAttribLocation(A,0,f[0])}if(d.linkProgram(A),!d.getProgramParameter(A,d.LINK_STATUS))return`Could not link program
VALIDATE_STATUS: `+d.getProgramParameter(A,d.VALIDATE_STATUS)+", gl error ["+d.getError()+"]";for(var y=0;y<v.uniforms.length;y++){var D=v.uniforms[y];this._locations[D]=d.getUniformLocation(A,D)}d.deleteShader(S),d.deleteShader(R),this._program=A,this.vertexCode=M,this.fragmentCode=w}});H.a=L},function(q,H,b){"use strict";var z=b(99),P="uniform vec3 ",T="uniform float ",x="@export clay.header.",O="@end",_=":unconfigurable;";H.a=[x+"directional_light",P+"directionalLightDirection[DIRECTIONAL_LIGHT_COUNT]"+_,P+"directionalLightColor[DIRECTIONAL_LIGHT_COUNT]"+_,O,x+"ambient_light",P+"ambientLightColor[AMBIENT_LIGHT_COUNT]"+_,O,x+"ambient_sh_light",P+"ambientSHLightColor[AMBIENT_SH_LIGHT_COUNT]"+_,P+"ambientSHLightCoefficients[AMBIENT_SH_LIGHT_COUNT * 9]"+_,z.a,O,x+"ambient_cubemap_light",P+"ambientCubemapLightColor[AMBIENT_CUBEMAP_LIGHT_COUNT]"+_,"uniform samplerCube ambientCubemapLightCubemap[AMBIENT_CUBEMAP_LIGHT_COUNT]"+_,"uniform sampler2D ambientCubemapLightBRDFLookup[AMBIENT_CUBEMAP_LIGHT_COUNT]"+_,O,x+"point_light",P+"pointLightPosition[POINT_LIGHT_COUNT]"+_,T+"pointLightRange[POINT_LIGHT_COUNT]"+_,P+"pointLightColor[POINT_LIGHT_COUNT]"+_,O,x+"spot_light",P+"spotLightPosition[SPOT_LIGHT_COUNT]"+_,P+"spotLightDirection[SPOT_LIGHT_COUNT]"+_,T+"spotLightRange[SPOT_LIGHT_COUNT]"+_,T+"spotLightUmbraAngleCosine[SPOT_LIGHT_COUNT]"+_,T+"spotLightPenumbraAngleCosine[SPOT_LIGHT_COUNT]"+_,T+"spotLightFalloffFactor[SPOT_LIGHT_COUNT]"+_,P+"spotLightColor[SPOT_LIGHT_COUNT]"+_,O].join(`
`)},function(q,H,b){"use strict";H.a=`vec3 calcAmbientSHLight(int idx, vec3 N) {
int offset = 9 * idx;
return ambientSHLightCoefficients[0]
+ ambientSHLightCoefficients[1] * N.x
+ ambientSHLightCoefficients[2] * N.y
+ ambientSHLightCoefficients[3] * N.z
+ ambientSHLightCoefficients[4] * N.x * N.z
+ ambientSHLightCoefficients[5] * N.z * N.y
+ ambientSHLightCoefficients[6] * N.y * N.x
+ ambientSHLightCoefficients[7] * (3.0 * N.z * N.z - 1.0)
+ ambientSHLightCoefficients[8] * (N.x * N.x - N.y * N.y);
}`},function(q,H,b){"use strict";var z=b(8),P=b(49),T=b(23),x=b(4),O=b(9),_=b(64),g=b(11),m=b(1),L=b.n(m),d=L.a.vec3,v=z.a.extend({scene:null,camera:null,renderer:null},function(){this._ray=new P.a,this._ndc=new T.a},{pick:function(M,w,S){var A=this.pickAll(M,w,[],S);return A[0]||null},pickAll:function(M,w,S,A){return this.renderer.screenToNDC(M,w,this._ndc),this.camera.castRay(this._ndc,this._ray),S=S||[],this._intersectNode(this.scene,S,A||!1),S.sort(this._intersectionCompareFunc),S},_intersectNode:function(M,w,S){M instanceof _.a&&M.isRenderable()&&(!M.ignorePicking||S)&&(M.mode===g.a.TRIANGLES&&M.geometry.isUseIndices()||M.geometry.pickByRay||M.geometry.pick)&&this._intersectRenderable(M,w);for(var A=0;A<M._children.length;A++)this._intersectNode(M._children[A],w,S)},_intersectRenderable:function(){var M=new x.a,w=new x.a,S=new x.a,A=new P.a,R=new O.a;return function(u,f){var y=u.isSkinnedMesh();A.copy(this._ray),O.a.invert(R,u.worldTransform),y||A.applyTransform(R);var D=u.geometry;if(!(!y&&D.boundingBox&&!A.intersectBoundingBox(D.boundingBox))){if(D.pick){D.pick(this._ndc.x,this._ndc.y,this.renderer,this.camera,u,f);return}else if(D.pickByRay){D.pickByRay(A,u,f);return}var I=u.cullFace===g.a.BACK&&u.frontFace===g.a.CCW||u.cullFace===g.a.FRONT&&u.frontFace===g.a.CW,U,F=D.indices,G=D.attributes.position,Y=D.attributes.weight,te=D.attributes.joint,$,oe=[];if(!(!G||!G.value||!F)){if(y){$=u.skeleton.getSubSkinMatrices(u.__uid__,u.joints);for(var ie=0;ie<u.joints.length;ie++){oe[ie]=oe[ie]||[];for(var ne=0;ne<16;ne++)oe[ie][ne]=$[ie*16+ne]}var le=[],ae=[],de=[],se=[],fe=[],ye=D.attributes.skinnedPosition;(!ye||!ye.value)&&(D.createAttribute("skinnedPosition","f",3),ye=D.attributes.skinnedPosition,ye.init(D.vertexCount));for(var ie=0;ie<D.vertexCount;ie++){G.get(ie,le),Y.get(ie,ae),te.get(ie,de),ae[3]=1-ae[0]-ae[1]-ae[2],d.set(se,0,0,0);for(var ne=0;ne<4;ne++)de[ne]>=0&&ae[ne]>1e-4&&(d.transformMat4(fe,le,oe[de[ne]]),d.scaleAndAdd(se,se,fe,ae[ne]));ye.set(ie,se)}}for(var ie=0;ie<F.length;ie+=3){var ge=F[ie],xe=F[ie+1],Me=F[ie+2],Ne=y?D.attributes.skinnedPosition:G;if(Ne.get(ge,M.array),Ne.get(xe,w.array),Ne.get(Me,S.array),I?U=A.intersectTriangle(M,w,S,u.culling):U=A.intersectTriangle(M,S,w,u.culling),U){var We=new x.a;y?x.a.copy(We,U):x.a.transformMat4(We,U,u.worldTransform),f.push(new v.Intersection(U,We,u,[ge,xe,Me],ie/3,x.a.dist(We,this._ray.origin)))}}}}}}(),_intersectionCompareFunc:function(M,w){return M.distance-w.distance}});v.Intersection=function(M,w,S,A,R,u){this.point=M,this.pointWorld=w,this.target=S,this.triangle=A,this.triangleIndex=R,this.distance=u},H.a=v},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=["bar3D","line3D","map3D","scatter3D","surface","lines3D","scatterGL","scatter3D"];function x(g,m){if(g&&g[m]&&(g[m].normal||g[m].emphasis)){var L=g[m].normal,d=g[m].emphasis;L&&(g[m]=L),d&&(g.emphasis=g.emphasis||{},g.emphasis[m]=d)}}function O(g){x(g,"itemStyle"),x(g,"lineStyle"),x(g,"areaStyle"),x(g,"label")}function _(g){g&&(g instanceof Array||(g=[g]),P.a.util.each(g,function(m){if(m.axisLabel){var L=m.axisLabel;P.a.util.extend(L,L.textStyle),L.textStyle=null}}))}H.a=function(g){P.a.util.each(g.series,function(m){P.a.util.indexOf(T,m.type)>=0&&(O(m),m.coordinateSystem==="mapbox"&&(m.coordinateSystem="mapbox3D",g.mapbox3D=g.mapbox))}),_(g.xAxis3D),_(g.yAxis3D),_(g.zAxis3D),_(g.grid3D),x(g.geo3D)}},function(q,H,b){"use strict";function z(P){var T=new XMLHttpRequest;T.open("get",P.url),T.responseType=P.responseType||"text",P.onprogress&&(T.onprogress=function(x){if(x.lengthComputable){var O=x.loaded/x.total;P.onprogress(O,x.loaded,x.total)}else P.onprogress(null)}),T.onload=function(x){T.status>=400?P.onerror&&P.onerror():P.onload&&P.onload(T.response)},P.onerror&&(T.onerror=P.onerror),T.send(null)}H.a={get:z}},function(q,H,b){"use strict";H.a=`@export clay.basic.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec2 uvRepeat : [1.0, 1.0];
uniform vec2 uvOffset : [0.0, 0.0];
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 position : POSITION;
attribute vec3 barycentric;
@import clay.chunk.skinning_header
varying vec2 v_Texcoord;
varying vec3 v_Barycentric;
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
void main()
{
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
v_Texcoord = texcoord * uvRepeat + uvOffset;
v_Barycentric = barycentric;
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
}
@end
@export clay.basic.fragment
varying vec2 v_Texcoord;
uniform sampler2D diffuseMap;
uniform vec3 color : [1.0, 1.0, 1.0];
uniform vec3 emission : [0.0, 0.0, 0.0];
uniform float alpha : 1.0;
#ifdef ALPHA_TEST
uniform float alphaCutoff: 0.9;
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
uniform float lineWidth : 0.0;
uniform vec4 lineColor : [0.0, 0.0, 0.0, 0.6];
varying vec3 v_Barycentric;
@import clay.util.edge_factor
@import clay.util.rgbm
@import clay.util.srgb
@import clay.util.ACES
void main()
{
#ifdef RENDER_TEXCOORD
gl_FragColor = vec4(v_Texcoord, 1.0, 1.0);
return;
#endif
gl_FragColor = vec4(color, alpha);
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
#ifdef DIFFUSEMAP_ENABLED
vec4 tex = decodeHDR(texture2D(diffuseMap, v_Texcoord));
#ifdef SRGB_DECODE
tex = sRGBToLinear(tex);
#endif
#if defined(DIFFUSEMAP_ALPHA_ALPHA)
gl_FragColor.a = tex.a;
#endif
gl_FragColor.rgb *= tex.rgb;
#endif
gl_FragColor.rgb += emission;
if( lineWidth > 0.)
{
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor(lineWidth)) * lineColor.a);
}
#ifdef ALPHA_TEST
if (gl_FragColor.a < alphaCutoff) {
discard;
}
#endif
#ifdef TONEMAPPING
gl_FragColor.rgb = ACESToneMapping(gl_FragColor.rgb);
#endif
#ifdef SRGB_ENCODE
gl_FragColor = linearTosRGB(gl_FragColor);
#endif
gl_FragColor = encodeHDR(gl_FragColor);
}
@end`},function(q,H,b){"use strict";var z=b(6),P=b(5),T=b(25),x=542327876,O=1,_=2,g=4,m=8,L=4096,d=131072,v=524288,M=8388608,w=8,S=4194304,A=4096,R=512,u=1024,f=2048,y=4096,D=8192,I=16384,U=32768,F=2097152,G=1,Y=2,te=4,$=64,oe=512,ie=131072;function ne(Ze){return Ze.charCodeAt(0)+(Ze.charCodeAt(1)<<8)+(Ze.charCodeAt(2)<<16)+(Ze.charCodeAt(3)<<24)}function le(Ze){return String.fromCharCode(Ze&255,Ze>>8&255,Ze>>16&255,Ze>>24&255)}var ae=31,de=ne("DXT1"),se=ne("DXT3"),fe=ne("DXT5"),ye=0,ge=1,xe=2,Me=3,Ne=4,We=7,tt=20,Je=21,st=27,yt=28,gt=29,Ke=30,nt={parse:function(Ze,Ve){var Pe=new Int32Array(Ze,0,ae);if(Pe[ye]!==x||!Pe(tt)&te)return null;var He=Pe(Je),be=Pe[Ne],Ie=Pe[Me],Te=Pe[yt]&R,Re=Pe[xe]&d,Ge,Le;switch(He){case de:Ge=8,Le=z.a.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case se:Ge=16,Le=z.a.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case fe:Ge=16,Le=z.a.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}var Ue=Pe[ge]+4,Qe=Te?6:1,et=1;Re&&(et=Math.max(1,Pe[We]));for(var dt=[],mt=0;mt<Qe;mt++){var Tt=be,At=Ie;dt[mt]=new P.a({width:Tt,height:At,format:Le});for(var Ye=[],ft=0;ft<et;ft++){var pt=Math.max(4,Tt)/4*Math.max(4,At)/4*Ge,_t=new Uint8Array(Ze,Ue,pt);Ue+=pt,Tt*=.5,At*=.5,Ye[ft]=_t}dt[mt].pixels=Ye[0],Re&&(dt[mt].mipmaps=Ye)}if(Ve)Ve.width=dt[0].width,Ve.height=dt[0].height,Ve.format=dt[0].format,Ve.pixels=dt[0].pixels,Ve.mipmaps=dt[0].mipmaps;else return dt[0]}};H.a=nt},function(q,H,b){"use strict";var z=b(6),P=b(5),T=String.fromCharCode,x=8,O=32767;function _(M,w,S,A){if(M[3]>0){var R=Math.pow(2,M[3]-128-8+A);w[S+0]=M[0]*R,w[S+1]=M[1]*R,w[S+2]=M[2]*R}else w[S+0]=0,w[S+1]=0,w[S+2]=0;return w[S+3]=1,w}function g(M,w,S){for(var A="",R=w;R<S;R++)A+=T(M[R]);return A}function m(M,w){w[0]=M[0],w[1]=M[1],w[2]=M[2],w[3]=M[3]}function L(M,w,S,A){for(var R=0,u=0,f=A;f>0;)if(M[u][0]=w[S++],M[u][1]=w[S++],M[u][2]=w[S++],M[u][3]=w[S++],M[u][0]===1&&M[u][1]===1&&M[u][2]===1){for(var y=M[u][3]<<R>>>0;y>0;y--)m(M[u-1],M[u]),u++,f--;R+=8}else u++,f--,R=0;return S}function d(M,w,S,A){if(A<x|A>O)return L(M,w,S,A);var R=w[S++];if(R!=2)return L(M,w,S-1,A);if(M[0][1]=w[S++],M[0][2]=w[S++],R=w[S++],(M[0][2]<<8>>>0|R)>>>0!==A)return null;for(var R=0;R<4;R++)for(var u=0;u<A;){var f=w[S++];if(f>128){f=(f&127)>>>0;for(var y=w[S++];f--;)M[u++][R]=y}else for(;f--;)M[u++][R]=w[S++]}return S}var v={parseRGBE:function(M,w,S){S==null&&(S=0);var A=new Uint8Array(M),R=A.length;if(g(A,0,2)==="#?"){for(var u=2;u<R&&!(T(A[u])===`
`&&T(A[u+1])===`
`);u++);if(!(u>=R)){u+=2;for(var f="";u<R;u++){var y=T(A[u]);if(y===`
`)break;f+=y}var D=f.split(" "),I=parseInt(D[1]),U=parseInt(D[3]);if(!(!U||!I)){for(var F=u+1,G=[],Y=0;Y<U;Y++){G[Y]=[];for(var te=0;te<4;te++)G[Y][te]=0}for(var $=new Float32Array(U*I*4),oe=0,ie=0;ie<I;ie++){var F=d(G,A,F,U);if(!F)return null;for(var Y=0;Y<U;Y++)_(G[Y],$,oe,S),oe+=4}return w||(w=new P.a),w.width=U,w.height=I,w.pixels=$,w.type=z.a.FLOAT,w}}}},parseRGBEFromPNG:function(M){}};H.a=v},function(q,H,b){"use strict";var z=b(5),P=b(4),T=b(23),x=["mousedown","mouseup","mousemove","mouseover","mouseout","click","dblclick","contextmenu"];function O(g){return"_on"+g}var _=function(g){var m=this;this._texture=new z.a({anisotropic:32,flipY:!1,surface:this,dispose:function(L){m.dispose(),z.a.prototype.dispose.call(this,L)}}),x.forEach(function(L){this[O(L)]=function(d){d.triangle&&this._meshes.forEach(function(v){this.dispatchEvent(L,v,d.triangle,d.point)},this)}},this),this._meshes=[],g&&this.setECharts(g),this.onupdate=null};_.prototype={constructor:_,getTexture:function(){return this._texture},setECharts:function(g){this._chart=g;var m=g.getDom();if(!(m instanceof HTMLCanvasElement))console.error("ECharts must init on canvas if it is used as texture."),m=document.createElement("canvas");else{var L=this,d=g.getZr(),v=d.__oldRefreshImmediately||d.refreshImmediately;d.refreshImmediately=function(){v.call(this),L._texture.dirty(),L.onupdate&&L.onupdate()},d.__oldRefreshImmediately=v}this._texture.image=m,this._texture.dirty(),this.onupdate&&this.onupdate()},dispatchEvent:function(){var g=new P.a,m=new P.a,L=new P.a,d=new T.a,v=new T.a,M=new T.a,w=new T.a,S=new P.a;return function(A,R,u,f){var y=R.geometry,D=y.attributes.position,I=y.attributes.texcoord0,U=P.a.dot,F=P.a.cross;D.get(u[0],g.array),D.get(u[1],m.array),D.get(u[2],L.array),I.get(u[0],d.array),I.get(u[1],v.array),I.get(u[2],M.array),F(S,m,L);var G=U(g,S),Y=U(f,S)/G;F(S,L,g);var te=U(f,S)/G;F(S,g,m);var $=U(f,S)/G;T.a.scale(w,d,Y),T.a.scaleAndAdd(w,w,v,te),T.a.scaleAndAdd(w,w,M,$);var oe=w.x*this._chart.getWidth(),ie=w.y*this._chart.getHeight();this._chart.getZr().handler.dispatch(A,{zrX:oe,zrY:ie})}}(),attachToMesh:function(g){this._meshes.indexOf(g)>=0||(x.forEach(function(m){g.on(m,this[O(m)],this)},this),this._meshes.push(g))},detachFromMesh:function(g){var m=this._meshes.indexOf(g);m>=0&&this._meshes.splice(m,1),x.forEach(function(L){g.off(L,this[O(L)])},this)},dispose:function(){this._meshes.forEach(function(g){this.detachFromMesh(g)},this)}},H.a=_},function(q,H,b){"use strict";var z=b(19),P=b(108),T=z.a.extend({cubemap:null,castShadow:!1,_normalDistribution:null,_brdfLookup:null},{type:"AMBIENT_CUBEMAP_LIGHT",prefilter:function(x,O){this._brdfLookup||(this._normalDistribution=P.a.generateNormalDistribution(),this._brdfLookup=P.a.integrateBRDF(x,this._normalDistribution));var _=this.cubemap;if(!_.__prefiltered){var g=P.a.prefilterEnvironmentMap(x,_,{encodeRGBM:!0,width:O,height:O},this._normalDistribution,this._brdfLookup);this.cubemap=g.environmentMap,this.cubemap.__prefiltered=!0,_.dispose(x)}},uniformTemplates:{ambientCubemapLightColor:{type:"3f",value:function(x){var O=x.color,_=x.intensity;return[O[0]*_,O[1]*_,O[2]*_]}},ambientCubemapLightCubemap:{type:"t",value:function(x){return x.cubemap}},ambientCubemapLightBRDFLookup:{type:"t",value:function(x){return x._brdfLookup}}}});H.a=T},function(q,H,b){"use strict";var z=b(5),P=b(25),T=b(6),x=b(10),O=b(14),_=b(17),g=b(7),m=b(57),L=b(29),d=b(55),v=b(18),M=b(54),w=b(111),S=b(112),A={},R=["px","nx","py","ny","pz","nz"];A.prefilterEnvironmentMap=function(u,f,y,D,I){(!I||!D)&&(D=A.generateNormalDistribution(),I=A.integrateBRDF(u,D)),y=y||{};var U=y.width||64,F=y.height||64,G=y.type||f.type,Y=new P.a({width:U,height:F,type:G,flipY:!1,mipmaps:[]});Y.isPowerOfTwo()||console.warn("Width and height must be power of two to enable mipmap.");var te=Math.min(U,F),$=Math.log(te)/Math.log(2)+1,oe=new _.a({shader:new g.a({vertex:g.a.source("clay.skybox.vertex"),fragment:S.a})});oe.set("normalDistribution",D),y.encodeRGBM&&oe.define("fragment","RGBM_ENCODE"),y.decodeRGBM&&oe.define("fragment","RGBM_DECODE");var ie=new L.a,ne;if(f instanceof z.a){var le=new P.a({width:U,height:F,type:G===T.a.FLOAT?T.a.HALF_FLOAT:G});M.a.panoramaToCubeMap(u,f,le,{encodeRGBM:y.decodeRGBM}),f=le}ne=new m.a({scene:ie,material:oe}),ne.material.set("environmentMap",f);var ae=new d.a({texture:Y});y.encodeRGBM&&(G=Y.type=T.a.UNSIGNED_BYTE);for(var de=new z.a({width:U,height:F,type:G}),se=new x.a({depthBuffer:!1}),fe=v.a[G===T.a.UNSIGNED_BYTE?"Uint8Array":"Float32Array"],ye=0;ye<$;ye++){Y.mipmaps[ye]={pixels:{}},ne.material.set("roughness",ye/(R.length-1));for(var ge=de.width,xe=2*Math.atan(ge/(ge-.5))/Math.PI*180,Me=0;Me<R.length;Me++){var Ne=new fe(de.width*de.height*4);se.attach(de),se.bind(u);var We=ae.getCamera(R[Me]);We.fov=xe,u.render(ie,We),u.gl.readPixels(0,0,de.width,de.height,T.a.RGBA,G,Ne),se.unbind(u),Y.mipmaps[ye].pixels[R[Me]]=Ne}de.width/=2,de.height/=2,de.dirty()}return se.dispose(u),de.dispose(u),ne.dispose(u),D.dispose(u),{environmentMap:Y,brdfLookup:I,normalDistribution:D,maxMipmapLevel:$}},A.integrateBRDF=function(u,f){f=f||A.generateNormalDistribution();var y=new x.a({depthBuffer:!1}),D=new O.a({fragment:w.a}),I=new z.a({width:512,height:256,type:T.a.HALF_FLOAT,minFilter:T.a.NEAREST,magFilter:T.a.NEAREST,useMipmap:!1});return D.setUniform("normalDistribution",f),D.setUniform("viewportSize",[512,256]),D.attachOutput(I),D.render(u,y),y.dispose(u),I},A.generateNormalDistribution=function(y,D){for(var y=y||256,D=D||1024,I=new z.a({width:y,height:D,type:T.a.FLOAT,minFilter:T.a.NEAREST,magFilter:T.a.NEAREST,useMipmap:!1}),U=new Float32Array(D*y*4),F=0;F<D;F++){var G=F/D,Y=(F<<16|F>>>16)>>>0;Y=((Y&1431655765)<<1|(Y&2863311530)>>>1)>>>0,Y=((Y&858993459)<<2|(Y&3435973836)>>>2)>>>0,Y=((Y&252645135)<<4|(Y&4042322160)>>>4)>>>0,Y=(((Y&16711935)<<8|(Y&4278255360)>>>8)>>>0)/4294967296;for(var te=0;te<y;te++){var $=te/y,oe=$*$,ie=2*Math.PI*G,ne=Math.sqrt((1-Y)/(1+(oe*oe-1)*Y)),le=Math.sqrt(1-ne*ne),ae=(F*y+te)*4;U[ae]=le*Math.cos(ie),U[ae+1]=le*Math.sin(ie),U[ae+2]=ne,U[ae+3]=1}}return I.pixels=U,I},H.a=A},function(q,H,b){"use strict";H.a=`
@export clay.compositor.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
attribute vec2 texcoord : TEXCOORD_0;
varying vec2 v_Texcoord;
void main()
{
v_Texcoord = texcoord;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end`},function(q,H,b){"use strict";H.a=`@export clay.skybox.vertex
uniform mat4 world : WORLD;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
varying vec3 v_WorldPosition;
void main()
{
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end
@export clay.skybox.fragment
uniform mat4 viewInverse : VIEWINVERSE;
uniform samplerCube environmentMap;
uniform float lod: 0.0;
varying vec3 v_WorldPosition;
@import clay.util.rgbm
@import clay.util.srgb
@import clay.util.ACES
void main()
{
vec3 eyePos = viewInverse[3].xyz;
vec3 viewDirection = normalize(v_WorldPosition - eyePos);
#ifdef LOD
vec4 texel = decodeHDR(textureCubeLodEXT(environmentMap, viewDirection, lod));
#else
vec4 texel = decodeHDR(textureCube(environmentMap, viewDirection));
#endif
#ifdef SRGB_DECODE
texel = sRGBToLinear(texel);
#endif
#ifdef TONEMAPPING
texel.rgb = ACESToneMapping(texel.rgb);
#endif
#ifdef SRGB_ENCODE
texel = linearTosRGB(texel);
#endif
gl_FragColor = encodeHDR(vec4(texel.rgb, 1.0));
}
@end`},function(q,H,b){"use strict";H.a=`#define SAMPLE_NUMBER 1024
#define PI 3.14159265358979
uniform sampler2D normalDistribution;
uniform vec2 viewportSize : [512, 256];
const vec3 N = vec3(0.0, 0.0, 1.0);
const float fSampleNumber = float(SAMPLE_NUMBER);
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
vec3 tangentX = normalize(cross(upVector, N));
vec3 tangentY = cross(N, tangentX);
return tangentX * H.x + tangentY * H.y + N * H.z;
}
float G_Smith(float roughness, float NoV, float NoL) {
float k = roughness * roughness / 2.0;
float G1V = NoV / (NoV * (1.0 - k) + k);
float G1L = NoL / (NoL * (1.0 - k) + k);
return G1L * G1V;
}
void main() {
vec2 uv = gl_FragCoord.xy / viewportSize;
float NoV = uv.x;
float roughness = uv.y;
vec3 V;
V.x = sqrt(1.0 - NoV * NoV);
V.y = 0.0;
V.z = NoV;
float A = 0.0;
float B = 0.0;
for (int i = 0; i < SAMPLE_NUMBER; i++) {
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
vec3 L = reflect(-V, H);
float NoL = clamp(L.z, 0.0, 1.0);
float NoH = clamp(H.z, 0.0, 1.0);
float VoH = clamp(dot(V, H), 0.0, 1.0);
if (NoL > 0.0) {
float G = G_Smith(roughness, NoV, NoL);
float G_Vis = G * VoH / (NoH * NoV);
float Fc = pow(1.0 - VoH, 5.0);
A += (1.0 - Fc) * G_Vis;
B += Fc * G_Vis;
}
}
gl_FragColor = vec4(vec2(A, B) / fSampleNumber, 0.0, 1.0);
}
`},function(q,H,b){"use strict";H.a=`#define SAMPLE_NUMBER 1024
#define PI 3.14159265358979
uniform mat4 viewInverse : VIEWINVERSE;
uniform samplerCube environmentMap;
uniform sampler2D normalDistribution;
uniform float roughness : 0.5;
varying vec2 v_Texcoord;
varying vec3 v_WorldPosition;
const float fSampleNumber = float(SAMPLE_NUMBER);
@import clay.util.rgbm
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
vec3 tangentX = normalize(cross(upVector, N));
vec3 tangentY = cross(N, tangentX);
return tangentX * H.x + tangentY * H.y + N * H.z;
}
void main() {
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(v_WorldPosition - eyePos);
vec3 N = V;
vec3 R = V;
vec3 prefilteredColor = vec3(0.0);
float totalWeight = 0.0;
for (int i = 0; i < SAMPLE_NUMBER; i++) {
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
vec3 L = reflect(-V, H);
float NoL = clamp(dot(N, L), 0.0, 1.0);
if (NoL > 0.0) {
prefilteredColor += decodeHDR(textureCube(environmentMap, L)).rgb * NoL;
totalWeight += NoL;
}
}
gl_FragColor = encodeHDR(vec4(prefilteredColor / totalWeight, 1.0));
}
`},function(q,H,b){"use strict";var z=b(19),P=b(18),T=z.a.extend({castShadow:!1,coefficients:[]},function(){this._coefficientsTmpArr=new P.a.Float32Array(9*3)},{type:"AMBIENT_SH_LIGHT",uniformTemplates:{ambientSHLightColor:{type:"3f",value:function(x){var O=x.color,_=x.intensity;return[O[0]*_,O[1]*_,O[2]*_]}},ambientSHLightCoefficients:{type:"3f",value:function(x){for(var O=x._coefficientsTmpArr,_=0;_<x.coefficients.length;_++)O[_]=x.coefficients[_];return O}}}});H.a=T},function(q,H,b){"use strict";var z=b(6),P=b(10),T=b(5),x=b(14),O=b(18),_=b(57),g=b(56),m=b(55),L=b(29),d=b(1),v=b.n(d),M=b(115),w=v.a.vec3,S={},A=["px","nx","py","ny","pz","nz"];function R(D,I){var U=new T.a({width:9,height:1,type:z.a.FLOAT}),F=new x.a({fragment:M.a});F.material.define("fragment","TEXTURE_SIZE",I.width),F.setUniform("environmentMap",I);var G=new P.a;G.attach(U),F.render(D,G),G.bind(D);var Y=new O.a.Float32Array(9*4);D.gl.readPixels(0,0,9,1,z.a.RGBA,z.a.FLOAT,Y);for(var te=new O.a.Float32Array(9*3),$=0;$<9;$++)te[$*3]=Y[$*4],te[$*3+1]=Y[$*4+1],te[$*3+2]=Y[$*4+2];return G.unbind(D),G.dispose(D),F.dispose(D),te}function u(D,I){var U=D[0],F=D[1],G=D[2];return I===0?1:I===1?U:I===2?F:I===3?G:I===4?U*G:I===5?F*G:I===6?U*F:I===7?3*G*G-1:U*U-F*F}var f={px:[2,1,0,-1,-1,1],nx:[2,1,0,1,-1,-1],py:[0,2,1,1,-1,-1],ny:[0,2,1,1,1,1],pz:[0,1,2,-1,-1,-1],nz:[0,1,2,1,-1,1]};function y(D,I,U,F){for(var G=new O.a.Float32Array(27),Y=w.create(),te=w.create(),$=w.create(),oe=0;oe<9;oe++){for(var ie=w.create(),ne=0;ne<A.length;ne++){for(var le=I[A[ne]],ae=w.create(),de=0,se=0,fe=f[A[ne]],ye=0;ye<F;ye++)for(var ge=0;ge<U;ge++){Y[0]=ge/(U-1)*2-1,Y[1]=ye/(F-1)*2-1,Y[2]=-1,w.normalize(Y,Y),$[0]=Y[fe[0]]*fe[3],$[1]=Y[fe[1]]*fe[4],$[2]=Y[fe[2]]*fe[5],te[0]=le[se++]/255,te[1]=le[se++]/255,te[2]=le[se++]/255;var xe=le[se++]/255*51.5;te[0]*=xe,te[1]*=xe,te[2]*=xe,w.scaleAndAdd(ae,ae,te,u($,oe)*-Y[2]),de+=-Y[2]}w.scaleAndAdd(ie,ie,ae,1/de)}G[oe*3]=ie[0]/6,G[oe*3+1]=ie[1]/6,G[oe*3+2]=ie[2]/6}return G}S.projectEnvironmentMap=function(D,I,U){U=U||{},U.lod=U.lod||0;var F,G=new L.a,Y=64;I instanceof T.a?F=new g.a({scene:G,environmentMap:I}):(Y=I.image&&I.image.px?I.image.px.width:I.width,F=new _.a({scene:G,environmentMap:I}));var te=Math.ceil(Y/Math.pow(2,U.lod)),$=Math.ceil(Y/Math.pow(2,U.lod)),oe=new T.a({width:te,height:$}),ie=new P.a;F.material.define("fragment","RGBM_ENCODE"),U.decodeRGBM&&F.material.define("fragment","RGBM_DECODE"),F.material.set("lod",U.lod);for(var ne=new m.a({texture:oe}),le={},ae=0;ae<A.length;ae++){le[A[ae]]=new Uint8Array(te*$*4);var de=ne.getCamera(A[ae]);de.fov=90,ie.attach(oe),ie.bind(D),D.render(G,de),D.gl.readPixels(0,0,te,$,z.a.RGBA,z.a.UNSIGNED_BYTE,le[A[ae]]),ie.unbind(D)}return F.dispose(D),ie.dispose(D),oe.dispose(D),y(D,le,te,$)},H.a=S},function(q,H,b){"use strict";H.a=`uniform samplerCube environmentMap;
varying vec2 v_Texcoord;
#define TEXTURE_SIZE 16
mat3 front = mat3(
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0
);
mat3 back = mat3(
-1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, -1.0
);
mat3 left = mat3(
0.0, 0.0, -1.0,
0.0, 1.0, 0.0,
1.0, 0.0, 0.0
);
mat3 right = mat3(
0.0, 0.0, 1.0,
0.0, 1.0, 0.0,
-1.0, 0.0, 0.0
);
mat3 up = mat3(
1.0, 0.0, 0.0,
0.0, 0.0, 1.0,
0.0, -1.0, 0.0
);
mat3 down = mat3(
1.0, 0.0, 0.0,
0.0, 0.0, -1.0,
0.0, 1.0, 0.0
);
float harmonics(vec3 normal){
int index = int(gl_FragCoord.x);
float x = normal.x;
float y = normal.y;
float z = normal.z;
if(index==0){
return 1.0;
}
else if(index==1){
return x;
}
else if(index==2){
return y;
}
else if(index==3){
return z;
}
else if(index==4){
return x*z;
}
else if(index==5){
return y*z;
}
else if(index==6){
return x*y;
}
else if(index==7){
return 3.0*z*z - 1.0;
}
else{
return x*x - y*y;
}
}
vec3 sampleSide(mat3 rot)
{
vec3 result = vec3(0.0);
float divider = 0.0;
for (int i = 0; i < TEXTURE_SIZE * TEXTURE_SIZE; i++) {
float x = mod(float(i), float(TEXTURE_SIZE));
float y = float(i / TEXTURE_SIZE);
vec2 sidecoord = ((vec2(x, y) + vec2(0.5, 0.5)) / vec2(TEXTURE_SIZE)) * 2.0 - 1.0;
vec3 normal = normalize(vec3(sidecoord, -1.0));
vec3 fetchNormal = rot * normal;
vec3 texel = textureCube(environmentMap, fetchNormal).rgb;
result += harmonics(fetchNormal) * texel * -normal.z;
divider += -normal.z;
}
return result / divider;
}
void main()
{
vec3 result = (
sampleSide(front) +
sampleSide(back) +
sampleSide(left) +
sampleSide(right) +
sampleSide(up) +
sampleSide(down)
) / 6.0;
gl_FragColor = vec4(result, 1.0);
}`},function(q,H,b){"use strict";var z=b(19),P=z.a.extend({castShadow:!1},{type:"AMBIENT_LIGHT",uniformTemplates:{ambientLightColor:{type:"3f",value:function(T){var x=T.color,O=T.intensity;return[x[0]*O,x[1]*O,x[2]*O]}}}});H.a=P},function(q,H,b){"use strict";var z=b(1),P=b.n(z),T=P.a.vec4,x=function(g,m,L,d){g=g||0,m=m||0,L=L||0,d=d||0,this.array=T.fromValues(g,m,L,d),this._dirty=!0};x.prototype={constructor:x,add:function(g){return T.add(this.array,this.array,g.array),this._dirty=!0,this},set:function(g,m,L,d){return this.array[0]=g,this.array[1]=m,this.array[2]=L,this.array[3]=d,this._dirty=!0,this},setArray:function(g){return this.array[0]=g[0],this.array[1]=g[1],this.array[2]=g[2],this.array[3]=g[3],this._dirty=!0,this},clone:function(){return new x(this.x,this.y,this.z,this.w)},copy:function(g){return T.copy(this.array,g.array),this._dirty=!0,this},dist:function(g){return T.dist(this.array,g.array)},distance:function(g){return T.distance(this.array,g.array)},div:function(g){return T.div(this.array,this.array,g.array),this._dirty=!0,this},divide:function(g){return T.divide(this.array,this.array,g.array),this._dirty=!0,this},dot:function(g){return T.dot(this.array,g.array)},len:function(){return T.len(this.array)},length:function(){return T.length(this.array)},lerp:function(g,m,L){return T.lerp(this.array,g.array,m.array,L),this._dirty=!0,this},min:function(g){return T.min(this.array,this.array,g.array),this._dirty=!0,this},max:function(g){return T.max(this.array,this.array,g.array),this._dirty=!0,this},mul:function(g){return T.mul(this.array,this.array,g.array),this._dirty=!0,this},multiply:function(g){return T.multiply(this.array,this.array,g.array),this._dirty=!0,this},negate:function(){return T.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return T.normalize(this.array,this.array),this._dirty=!0,this},random:function(g){return T.random(this.array,g),this._dirty=!0,this},scale:function(g){return T.scale(this.array,this.array,g),this._dirty=!0,this},scaleAndAdd:function(g,m){return T.scaleAndAdd(this.array,this.array,g.array,m),this._dirty=!0,this},sqrDist:function(g){return T.sqrDist(this.array,g.array)},squaredDistance:function(g){return T.squaredDistance(this.array,g.array)},sqrLen:function(){return T.sqrLen(this.array)},squaredLength:function(){return T.squaredLength(this.array)},sub:function(g){return T.sub(this.array,this.array,g.array),this._dirty=!0,this},subtract:function(g){return T.subtract(this.array,this.array,g.array),this._dirty=!0,this},transformMat4:function(g){return T.transformMat4(this.array,this.array,g.array),this._dirty=!0,this},transformQuat:function(g){return T.transformQuat(this.array,this.array,g.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var O=Object.defineProperty;if(O){var _=x.prototype;O(_,"x",{get:function(){return this.array[0]},set:function(g){this.array[0]=g,this._dirty=!0}}),O(_,"y",{get:function(){return this.array[1]},set:function(g){this.array[1]=g,this._dirty=!0}}),O(_,"z",{get:function(){return this.array[2]},set:function(g){this.array[2]=g,this._dirty=!0}}),O(_,"w",{get:function(){return this.array[3]},set:function(g){this.array[3]=g,this._dirty=!0}})}x.add=function(g,m,L){return T.add(g.array,m.array,L.array),g._dirty=!0,g},x.set=function(g,m,L,d,v){T.set(g.array,m,L,d,v),g._dirty=!0},x.copy=function(g,m){return T.copy(g.array,m.array),g._dirty=!0,g},x.dist=function(g,m){return T.distance(g.array,m.array)},x.distance=x.dist,x.div=function(g,m,L){return T.divide(g.array,m.array,L.array),g._dirty=!0,g},x.divide=x.div,x.dot=function(g,m){return T.dot(g.array,m.array)},x.len=function(g){return T.length(g.array)},x.lerp=function(g,m,L,d){return T.lerp(g.array,m.array,L.array,d),g._dirty=!0,g},x.min=function(g,m,L){return T.min(g.array,m.array,L.array),g._dirty=!0,g},x.max=function(g,m,L){return T.max(g.array,m.array,L.array),g._dirty=!0,g},x.mul=function(g,m,L){return T.multiply(g.array,m.array,L.array),g._dirty=!0,g},x.multiply=x.mul,x.negate=function(g,m){return T.negate(g.array,m.array),g._dirty=!0,g},x.normalize=function(g,m){return T.normalize(g.array,m.array),g._dirty=!0,g},x.random=function(g,m){return T.random(g.array,m),g._dirty=!0,g},x.scale=function(g,m,L){return T.scale(g.array,m.array,L),g._dirty=!0,g},x.scaleAndAdd=function(g,m,L,d){return T.scaleAndAdd(g.array,m.array,L.array,d),g._dirty=!0,g},x.sqrDist=function(g,m){return T.sqrDist(g.array,m.array)},x.squaredDistance=x.sqrDist,x.sqrLen=function(g){return T.sqrLen(g.array)},x.squaredLength=x.sqrLen,x.sub=function(g,m,L){return T.subtract(g.array,m.array,L.array),g._dirty=!0,g},x.subtract=x.sub,x.transformMat4=function(g,m,L){return T.transformMat4(g.array,m.array,L.array),g._dirty=!0,g},x.transformQuat=function(g,m,L){return T.transformQuat(g.array,m.array,L.array),g._dirty=!0,g},H.a=x},function(q,H,b){"use strict";var z=b(1),P=b.n(z),T=P.a.mat2,x=function(){this.array=T.create(),this._dirty=!0};x.prototype={constructor:x,setArray:function(O){for(var _=0;_<this.array.length;_++)this.array[_]=O[_];return this._dirty=!0,this},clone:function(){return new x().copy(this)},copy:function(O){return T.copy(this.array,O.array),this._dirty=!0,this},adjoint:function(){return T.adjoint(this.array,this.array),this._dirty=!0,this},determinant:function(){return T.determinant(this.array)},identity:function(){return T.identity(this.array),this._dirty=!0,this},invert:function(){return T.invert(this.array,this.array),this._dirty=!0,this},mul:function(O){return T.mul(this.array,this.array,O.array),this._dirty=!0,this},mulLeft:function(O){return T.mul(this.array,O.array,this.array),this._dirty=!0,this},multiply:function(O){return T.multiply(this.array,this.array,O.array),this._dirty=!0,this},multiplyLeft:function(O){return T.multiply(this.array,O.array,this.array),this._dirty=!0,this},rotate:function(O){return T.rotate(this.array,this.array,O),this._dirty=!0,this},scale:function(O){return T.scale(this.array,this.array,O.array),this._dirty=!0,this},transpose:function(){return T.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},x.adjoint=function(O,_){return T.adjoint(O.array,_.array),O._dirty=!0,O},x.copy=function(O,_){return T.copy(O.array,_.array),O._dirty=!0,O},x.determinant=function(O){return T.determinant(O.array)},x.identity=function(O){return T.identity(O.array),O._dirty=!0,O},x.invert=function(O,_){return T.invert(O.array,_.array),O._dirty=!0,O},x.mul=function(O,_,g){return T.mul(O.array,_.array,g.array),O._dirty=!0,O},x.multiply=x.mul,x.rotate=function(O,_,g){return T.rotate(O.array,_.array,g),O._dirty=!0,O},x.scale=function(O,_,g){return T.scale(O.array,_.array,g.array),O._dirty=!0,O},x.transpose=function(O,_){return T.transpose(O.array,_.array),O._dirty=!0,O},H.a=x},function(q,H,b){"use strict";var z=b(1),P=b.n(z),T=P.a.mat2d,x=function(){this.array=T.create(),this._dirty=!0};x.prototype={constructor:x,setArray:function(O){for(var _=0;_<this.array.length;_++)this.array[_]=O[_];return this._dirty=!0,this},clone:function(){return new x().copy(this)},copy:function(O){return T.copy(this.array,O.array),this._dirty=!0,this},determinant:function(){return T.determinant(this.array)},identity:function(){return T.identity(this.array),this._dirty=!0,this},invert:function(){return T.invert(this.array,this.array),this._dirty=!0,this},mul:function(O){return T.mul(this.array,this.array,O.array),this._dirty=!0,this},mulLeft:function(O){return T.mul(this.array,O.array,this.array),this._dirty=!0,this},multiply:function(O){return T.multiply(this.array,this.array,O.array),this._dirty=!0,this},multiplyLeft:function(O){return T.multiply(this.array,O.array,this.array),this._dirty=!0,this},rotate:function(O){return T.rotate(this.array,this.array,O),this._dirty=!0,this},scale:function(O){return T.scale(this.array,this.array,O.array),this._dirty=!0,this},translate:function(O){return T.translate(this.array,this.array,O.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},x.copy=function(O,_){return T.copy(O.array,_.array),O._dirty=!0,O},x.determinant=function(O){return T.determinant(O.array)},x.identity=function(O){return T.identity(O.array),O._dirty=!0,O},x.invert=function(O,_){return T.invert(O.array,_.array),O._dirty=!0,O},x.mul=function(O,_,g){return T.mul(O.array,_.array,g.array),O._dirty=!0,O},x.multiply=x.mul,x.rotate=function(O,_,g){return T.rotate(O.array,_.array,g),O._dirty=!0,O},x.scale=function(O,_,g){return T.scale(O.array,_.array,g.array),O._dirty=!0,O},x.translate=function(O,_,g){return T.translate(O.array,_.array,g.array),O._dirty=!0,O},H.a=x},function(q,H,b){"use strict";var z=b(1),P=b.n(z),T=P.a.mat3,x=function(){this.array=T.create(),this._dirty=!0};x.prototype={constructor:x,setArray:function(O){for(var _=0;_<this.array.length;_++)this.array[_]=O[_];return this._dirty=!0,this},adjoint:function(){return T.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new x().copy(this)},copy:function(O){return T.copy(this.array,O.array),this._dirty=!0,this},determinant:function(){return T.determinant(this.array)},fromMat2d:function(O){return T.fromMat2d(this.array,O.array),this._dirty=!0,this},fromMat4:function(O){return T.fromMat4(this.array,O.array),this._dirty=!0,this},fromQuat:function(O){return T.fromQuat(this.array,O.array),this._dirty=!0,this},identity:function(){return T.identity(this.array),this._dirty=!0,this},invert:function(){return T.invert(this.array,this.array),this._dirty=!0,this},mul:function(O){return T.mul(this.array,this.array,O.array),this._dirty=!0,this},mulLeft:function(O){return T.mul(this.array,O.array,this.array),this._dirty=!0,this},multiply:function(O){return T.multiply(this.array,this.array,O.array),this._dirty=!0,this},multiplyLeft:function(O){return T.multiply(this.array,O.array,this.array),this._dirty=!0,this},rotate:function(O){return T.rotate(this.array,this.array,O),this._dirty=!0,this},scale:function(O){return T.scale(this.array,this.array,O.array),this._dirty=!0,this},translate:function(O){return T.translate(this.array,this.array,O.array),this._dirty=!0,this},normalFromMat4:function(O){return T.normalFromMat4(this.array,O.array),this._dirty=!0,this},transpose:function(){return T.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},x.adjoint=function(O,_){return T.adjoint(O.array,_.array),O._dirty=!0,O},x.copy=function(O,_){return T.copy(O.array,_.array),O._dirty=!0,O},x.determinant=function(O){return T.determinant(O.array)},x.identity=function(O){return T.identity(O.array),O._dirty=!0,O},x.invert=function(O,_){return T.invert(O.array,_.array),O},x.mul=function(O,_,g){return T.mul(O.array,_.array,g.array),O._dirty=!0,O},x.multiply=x.mul,x.fromMat2d=function(O,_){return T.fromMat2d(O.array,_.array),O._dirty=!0,O},x.fromMat4=function(O,_){return T.fromMat4(O.array,_.array),O._dirty=!0,O},x.fromQuat=function(O,_){return T.fromQuat(O.array,_.array),O._dirty=!0,O},x.normalFromMat4=function(O,_){return T.normalFromMat4(O.array,_.array),O._dirty=!0,O},x.rotate=function(O,_,g){return T.rotate(O.array,_.array,g),O._dirty=!0,O},x.scale=function(O,_,g){return T.scale(O.array,_.array,g.array),O._dirty=!0,O},x.transpose=function(O,_){return T.transpose(O.array,_.array),O._dirty=!0,O},x.translate=function(O,_,g){return T.translate(O.array,_.array,g.array),O._dirty=!0,O},H.a=x},function(q,H,b){"use strict";var z=b(122),P=b.n(z),T={_animators:null,getAnimators:function(){return this._animators=this._animators||[],this._animators},animate:function(x,O){this._animators=this._animators||[];var _=this,g;if(x){for(var m=x.split("."),L=_,d=0,v=m.length;d<v;d++)L&&(L=L[m[d]]);L&&(g=L)}else g=_;if(g==null)throw new Error("Target "+x+" not exists");var M=this._animators,w=new P.a(g,O),S=this;return w.during(function(){S.__zr&&S.__zr.refresh()}).done(function(){var A=M.indexOf(w);A>=0&&M.splice(A,1)}),M.push(w),this.__zr&&this.__zr.animation.addAnimator(w),w},stopAnimation:function(x){this._animators=this._animators||[];for(var O=this._animators,_=O.length,g=0;g<_;g++)O[g].stop(x);return O.length=0,this},addAnimatorsToZr:function(x){if(this._animators)for(var O=0;O<this._animators.length;O++)x.animation.addAnimator(this._animators[O])},removeAnimatorsFromZr:function(x){if(this._animators)for(var O=0;O<this._animators.length;O++)x.animation.removeAnimator(this._animators[O])}};H.a=T},function(q,H,b){var z=b(123),P=b(125),T=b(12),x=T.isArrayLike,O=Array.prototype.slice;function _(I,U){return I[U]}function g(I,U,F){I[U]=F}function m(I,U,F){return(U-I)*F+I}function L(I,U,F){return F>.5?U:I}function d(I,U,F,G,Y){var te=I.length;if(Y==1)for(var $=0;$<te;$++)G[$]=m(I[$],U[$],F);else for(var oe=te&&I[0].length,$=0;$<te;$++)for(var ie=0;ie<oe;ie++)G[$][ie]=m(I[$][ie],U[$][ie],F)}function v(I,U,F){var G=I.length,Y=U.length;if(G!==Y){var te=G>Y;if(te)I.length=Y;else for(var $=G;$<Y;$++)I.push(F===1?U[$]:O.call(U[$]))}for(var oe=I[0]&&I[0].length,$=0;$<I.length;$++)if(F===1)isNaN(I[$])&&(I[$]=U[$]);else for(var ie=0;ie<oe;ie++)isNaN(I[$][ie])&&(I[$][ie]=U[$][ie])}function M(I,U,F){if(I===U)return!0;var G=I.length;if(G!==U.length)return!1;if(F===1){for(var Y=0;Y<G;Y++)if(I[Y]!==U[Y])return!1}else for(var te=I[0].length,Y=0;Y<G;Y++)for(var $=0;$<te;$++)if(I[Y][$]!==U[Y][$])return!1;return!0}function w(I,U,F,G,Y,te,$,oe,ie){var ne=I.length;if(ie==1)for(var le=0;le<ne;le++)oe[le]=S(I[le],U[le],F[le],G[le],Y,te,$);else for(var ae=I[0].length,le=0;le<ne;le++)for(var de=0;de<ae;de++)oe[le][de]=S(I[le][de],U[le][de],F[le][de],G[le][de],Y,te,$)}function S(I,U,F,G,Y,te,$){var oe=(F-I)*.5,ie=(G-U)*.5;return(2*(U-F)+oe+ie)*$+(-3*(U-F)-2*oe-ie)*te+oe*Y+U}function A(I){if(x(I)){var U=I.length;if(x(I[0])){for(var F=[],G=0;G<U;G++)F.push(O.call(I[G]));return F}return O.call(I)}return I}function R(I){return I[0]=Math.floor(I[0]),I[1]=Math.floor(I[1]),I[2]=Math.floor(I[2]),"rgba("+I.join(",")+")"}function u(I){var U=I[I.length-1].value;return x(U&&U[0])?2:1}function f(I,U,F,G,Y,te){var $=I._getter,oe=I._setter,ie=U==="spline",ne=G.length;if(ne){var le=G[0].value,ae=x(le),de=!1,se=!1,fe=ae?u(G):0,ye;G.sort(function(Re,Ge){return Re.time-Ge.time}),ye=G[ne-1].time;for(var ge=[],xe=[],Me=G[0].value,Ne=!0,We=0;We<ne;We++){ge.push(G[We].time/ye);var tt=G[We].value;if(ae&&M(tt,Me,fe)||!ae&&tt===Me||(Ne=!1),Me=tt,typeof tt=="string"){var Je=P.parse(tt);Je?(tt=Je,de=!0):se=!0}xe.push(tt)}if(!(!te&&Ne)){for(var st=xe[ne-1],We=0;We<ne-1;We++)ae?v(xe[We],st,fe):isNaN(xe[We])&&!isNaN(st)&&!se&&!de&&(xe[We]=st);ae&&v($(I._target,Y),st,fe);var yt=0,gt=0,Ke,nt,Ze,Ve,Pe,He;if(de)var be=[0,0,0,0];var Ie=function(Re,Ge){var Le;if(Ge<0)Le=0;else if(Ge<gt){for(Ke=Math.min(yt+1,ne-1),Le=Ke;Le>=0&&!(ge[Le]<=Ge);Le--);Le=Math.min(Le,ne-2)}else{for(Le=yt;Le<ne&&!(ge[Le]>Ge);Le++);Le=Math.min(Le-1,ne-2)}yt=Le,gt=Ge;var Ue=ge[Le+1]-ge[Le];if(Ue!==0)if(nt=(Ge-ge[Le])/Ue,ie)if(Ve=xe[Le],Ze=xe[Le===0?Le:Le-1],Pe=xe[Le>ne-2?ne-1:Le+1],He=xe[Le>ne-3?ne-1:Le+2],ae)w(Ze,Ve,Pe,He,nt,nt*nt,nt*nt*nt,$(Re,Y),fe);else{var Qe;if(de)Qe=w(Ze,Ve,Pe,He,nt,nt*nt,nt*nt*nt,be,1),Qe=R(be);else{if(se)return L(Ve,Pe,nt);Qe=S(Ze,Ve,Pe,He,nt,nt*nt,nt*nt*nt)}oe(Re,Y,Qe)}else if(ae)d(xe[Le],xe[Le+1],nt,$(Re,Y),fe);else{var Qe;if(de)d(xe[Le],xe[Le+1],nt,be,1),Qe=R(be);else{if(se)return L(xe[Le],xe[Le+1],nt);Qe=m(xe[Le],xe[Le+1],nt)}oe(Re,Y,Qe)}},Te=new z({target:I._target,life:ye,loop:I._loop,delay:I._delay,onframe:Ie,ondestroy:F});return U&&U!=="spline"&&(Te.easing=U),Te}}}var y=function(I,U,F,G){this._tracks={},this._target=I,this._loop=U||!1,this._getter=F||_,this._setter=G||g,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};y.prototype={when:function(I,U){var F=this._tracks;for(var G in U)if(U.hasOwnProperty(G)){if(!F[G]){F[G]=[];var Y=this._getter(this._target,G);if(Y==null)continue;I!==0&&F[G].push({time:0,value:A(Y)})}F[G].push({time:I,value:U[G]})}return this},during:function(I){return this._onframeList.push(I),this},pause:function(){for(var I=0;I<this._clipList.length;I++)this._clipList[I].pause();this._paused=!0},resume:function(){for(var I=0;I<this._clipList.length;I++)this._clipList[I].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var I=this._doneList,U=I.length,F=0;F<U;F++)I[F].call(this)},start:function(I,U){var F=this,G=0,Y=function(){G--,G||F._doneCallback()},te;for(var $ in this._tracks)if(this._tracks.hasOwnProperty($)){var oe=f(this,I,Y,this._tracks[$],$,U);oe&&(this._clipList.push(oe),G++,this.animation&&this.animation.addClip(oe),te=oe)}if(te){var ie=te.onframe;te.onframe=function(ne,le){ie(ne,le);for(var ae=0;ae<F._onframeList.length;ae++)F._onframeList[ae](ne,le)}}return G||this._doneCallback(),this},stop:function(I){for(var U=this._clipList,F=this.animation,G=0;G<U.length;G++){var Y=U[G];I&&Y.onframe(this._target,1),F&&F.removeClip(Y)}U.length=0},delay:function(I){return this._delay=I,this},done:function(I){return I&&this._doneList.push(I),this},getClips:function(){return this._clipList}};var D=y;q.exports=D},function(q,H,b){var z=b(124);function P(x){this._target=x.target,this._life=x.life||1e3,this._delay=x.delay||0,this._initialized=!1,this.loop=x.loop==null?!1:x.loop,this.gap=x.gap||0,this.easing=x.easing||"Linear",this.onframe=x.onframe,this.ondestroy=x.ondestroy,this.onrestart=x.onrestart,this._pausedTime=0,this._paused=!1}P.prototype={constructor:P,step:function(x,O){if(this._initialized||(this._startTime=x+this._delay,this._initialized=!0),this._paused){this._pausedTime+=O;return}var _=(x-this._startTime-this._pausedTime)/this._life;if(!(_<0)){_=Math.min(_,1);var g=this.easing,m=typeof g=="string"?z[g]:g,L=typeof m=="function"?m(_):_;return this.fire("frame",L),_==1?this.loop?(this.restart(x),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(x){var O=(x-this._startTime-this._pausedTime)%this._life;this._startTime=x-O+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(x,O){x="on"+x,this[x]&&this[x](this._target,O)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var T=P;q.exports=T},function(q,H){var b={linear:function(P){return P},quadraticIn:function(P){return P*P},quadraticOut:function(P){return P*(2-P)},quadraticInOut:function(P){return(P*=2)<1?.5*P*P:-.5*(--P*(P-2)-1)},cubicIn:function(P){return P*P*P},cubicOut:function(P){return--P*P*P+1},cubicInOut:function(P){return(P*=2)<1?.5*P*P*P:.5*((P-=2)*P*P+2)},quarticIn:function(P){return P*P*P*P},quarticOut:function(P){return 1- --P*P*P*P},quarticInOut:function(P){return(P*=2)<1?.5*P*P*P*P:-.5*((P-=2)*P*P*P-2)},quinticIn:function(P){return P*P*P*P*P},quinticOut:function(P){return--P*P*P*P*P+1},quinticInOut:function(P){return(P*=2)<1?.5*P*P*P*P*P:.5*((P-=2)*P*P*P*P+2)},sinusoidalIn:function(P){return 1-Math.cos(P*Math.PI/2)},sinusoidalOut:function(P){return Math.sin(P*Math.PI/2)},sinusoidalInOut:function(P){return .5*(1-Math.cos(Math.PI*P))},exponentialIn:function(P){return P===0?0:Math.pow(1024,P-1)},exponentialOut:function(P){return P===1?1:1-Math.pow(2,-10*P)},exponentialInOut:function(P){return P===0?0:P===1?1:(P*=2)<1?.5*Math.pow(1024,P-1):.5*(-Math.pow(2,-10*(P-1))+2)},circularIn:function(P){return 1-Math.sqrt(1-P*P)},circularOut:function(P){return Math.sqrt(1- --P*P)},circularInOut:function(P){return(P*=2)<1?-.5*(Math.sqrt(1-P*P)-1):.5*(Math.sqrt(1-(P-=2)*P)+1)},elasticIn:function(P){var T,x=.1,O=.4;return P===0?0:P===1?1:(!x||x<1?(x=1,T=O/4):T=O*Math.asin(1/x)/(2*Math.PI),-(x*Math.pow(2,10*(P-=1))*Math.sin((P-T)*(2*Math.PI)/O)))},elasticOut:function(P){var T,x=.1,O=.4;return P===0?0:P===1?1:(!x||x<1?(x=1,T=O/4):T=O*Math.asin(1/x)/(2*Math.PI),x*Math.pow(2,-10*P)*Math.sin((P-T)*(2*Math.PI)/O)+1)},elasticInOut:function(P){var T,x=.1,O=.4;return P===0?0:P===1?1:(!x||x<1?(x=1,T=O/4):T=O*Math.asin(1/x)/(2*Math.PI),(P*=2)<1?-.5*(x*Math.pow(2,10*(P-=1))*Math.sin((P-T)*(2*Math.PI)/O)):x*Math.pow(2,-10*(P-=1))*Math.sin((P-T)*(2*Math.PI)/O)*.5+1)},backIn:function(P){var T=1.70158;return P*P*((T+1)*P-T)},backOut:function(P){var T=1.70158;return--P*P*((T+1)*P+T)+1},backInOut:function(P){var T=2.5949095;return(P*=2)<1?.5*(P*P*((T+1)*P-T)):.5*((P-=2)*P*((T+1)*P+T)+2)},bounceIn:function(P){return 1-b.bounceOut(1-P)},bounceOut:function(P){return P<.36363636363636365?7.5625*P*P:P<.7272727272727273?7.5625*(P-=.5454545454545454)*P+.75:P<.9090909090909091?7.5625*(P-=.8181818181818182)*P+.9375:7.5625*(P-=.9545454545454546)*P+.984375},bounceInOut:function(P){return P<.5?b.bounceIn(P*2)*.5:b.bounceOut(P*2-1)*.5+.5}},z=b;q.exports=z},function(q,H,b){var z=b(53),P={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function T($){return $=Math.round($),$<0?0:$>255?255:$}function x($){return $=Math.round($),$<0?0:$>360?360:$}function O($){return $<0?0:$>1?1:$}function _($){return $.length&&$.charAt($.length-1)==="%"?T(parseFloat($)/100*255):T(parseInt($,10))}function g($){return $.length&&$.charAt($.length-1)==="%"?O(parseFloat($)/100):O(parseFloat($))}function m($,oe,ie){return ie<0?ie+=1:ie>1&&(ie-=1),ie*6<1?$+(oe-$)*ie*6:ie*2<1?oe:ie*3<2?$+(oe-$)*(2/3-ie)*6:$}function L($,oe,ie){return $+(oe-$)*ie}function d($,oe,ie,ne,le){return $[0]=oe,$[1]=ie,$[2]=ne,$[3]=le,$}function v($,oe){return $[0]=oe[0],$[1]=oe[1],$[2]=oe[2],$[3]=oe[3],$}var M=new z(20),w=null;function S($,oe){w&&v(w,oe),w=M.put($,w||oe.slice())}function A($,oe){if($){oe=oe||[];var ie=M.get($);if(ie)return v(oe,ie);$=$+"";var ne=$.replace(/ /g,"").toLowerCase();if(ne in P)return v(oe,P[ne]),S($,oe),oe;if(ne.charAt(0)==="#"){if(ne.length===4){var le=parseInt(ne.substr(1),16);if(!(le>=0&&le<=4095)){d(oe,0,0,0,1);return}return d(oe,(le&3840)>>4|(le&3840)>>8,le&240|(le&240)>>4,le&15|(le&15)<<4,1),S($,oe),oe}else if(ne.length===7){var le=parseInt(ne.substr(1),16);if(!(le>=0&&le<=16777215)){d(oe,0,0,0,1);return}return d(oe,(le&16711680)>>16,(le&65280)>>8,le&255,1),S($,oe),oe}return}var ae=ne.indexOf("("),de=ne.indexOf(")");if(ae!==-1&&de+1===ne.length){var se=ne.substr(0,ae),fe=ne.substr(ae+1,de-(ae+1)).split(","),ye=1;switch(se){case"rgba":if(fe.length!==4){d(oe,0,0,0,1);return}ye=g(fe.pop());case"rgb":if(fe.length!==3){d(oe,0,0,0,1);return}return d(oe,_(fe[0]),_(fe[1]),_(fe[2]),ye),S($,oe),oe;case"hsla":if(fe.length!==4){d(oe,0,0,0,1);return}return fe[3]=g(fe[3]),R(fe,oe),S($,oe),oe;case"hsl":if(fe.length!==3){d(oe,0,0,0,1);return}return R(fe,oe),S($,oe),oe;default:return}}d(oe,0,0,0,1)}}function R($,oe){var ie=(parseFloat($[0])%360+360)%360/360,ne=g($[1]),le=g($[2]),ae=le<=.5?le*(ne+1):le+ne-le*ne,de=le*2-ae;return oe=oe||[],d(oe,T(m(de,ae,ie+1/3)*255),T(m(de,ae,ie)*255),T(m(de,ae,ie-1/3)*255),1),$.length===4&&(oe[3]=$[3]),oe}function u($){if($){var oe=$[0]/255,ie=$[1]/255,ne=$[2]/255,le=Math.min(oe,ie,ne),ae=Math.max(oe,ie,ne),de=ae-le,se=(ae+le)/2,fe,ye;if(de===0)fe=0,ye=0;else{se<.5?ye=de/(ae+le):ye=de/(2-ae-le);var ge=((ae-oe)/6+de/2)/de,xe=((ae-ie)/6+de/2)/de,Me=((ae-ne)/6+de/2)/de;oe===ae?fe=Me-xe:ie===ae?fe=1/3+ge-Me:ne===ae&&(fe=2/3+xe-ge),fe<0&&(fe+=1),fe>1&&(fe-=1)}var Ne=[fe*360,ye,se];return $[3]!=null&&Ne.push($[3]),Ne}}function f($,oe){var ie=A($);if(ie){for(var ne=0;ne<3;ne++)oe<0?ie[ne]=ie[ne]*(1-oe)|0:ie[ne]=(255-ie[ne])*oe+ie[ne]|0;return te(ie,ie.length===4?"rgba":"rgb")}}function y($){var oe=A($);if(oe)return((1<<24)+(oe[0]<<16)+(oe[1]<<8)+ +oe[2]).toString(16).slice(1)}function D($,oe,ie){if(!(!(oe&&oe.length)||!($>=0&&$<=1))){ie=ie||[];var ne=$*(oe.length-1),le=Math.floor(ne),ae=Math.ceil(ne),de=oe[le],se=oe[ae],fe=ne-le;return ie[0]=T(L(de[0],se[0],fe)),ie[1]=T(L(de[1],se[1],fe)),ie[2]=T(L(de[2],se[2],fe)),ie[3]=O(L(de[3],se[3],fe)),ie}}var I=D;function U($,oe,ie){if(!(!(oe&&oe.length)||!($>=0&&$<=1))){var ne=$*(oe.length-1),le=Math.floor(ne),ae=Math.ceil(ne),de=A(oe[le]),se=A(oe[ae]),fe=ne-le,ye=te([T(L(de[0],se[0],fe)),T(L(de[1],se[1],fe)),T(L(de[2],se[2],fe)),O(L(de[3],se[3],fe))],"rgba");return ie?{color:ye,leftIndex:le,rightIndex:ae,value:ne}:ye}}var F=U;function G($,oe,ie,ne){if($=A($),$)return $=u($),oe!=null&&($[0]=x(oe)),ie!=null&&($[1]=g(ie)),ne!=null&&($[2]=g(ne)),te(R($),"rgba")}function Y($,oe){if($=A($),$&&oe!=null)return $[3]=O(oe),te($,"rgba")}function te($,oe){if(!(!$||!$.length)){var ie=$[0]+","+$[1]+","+$[2];return(oe==="rgba"||oe==="hsva"||oe==="hsla")&&(ie+=","+$[3]),oe+"("+ie+")"}}H.parse=A,H.lift=f,H.toHex=y,H.fastLerp=D,H.fastMapToColor=I,H.lerp=U,H.mapToColor=F,H.modifyHSL=G,H.modifyAlpha=Y,H.stringify=te},function(q,H,b){"use strict";H.a=`
@export clay.util.rand
highp float rand(vec2 uv) {
const highp float a = 12.9898, b = 78.233, c = 43758.5453;
highp float dt = dot(uv.xy, vec2(a,b)), sn = mod(dt, 3.141592653589793);
return fract(sin(sn) * c);
}
@end
@export clay.util.calculate_attenuation
uniform float attenuationFactor : 5.0;
float lightAttenuation(float dist, float range)
{
float attenuation = 1.0;
attenuation = dist*dist/(range*range+1.0);
float att_s = attenuationFactor;
attenuation = 1.0/(attenuation*att_s+1.0);
att_s = 1.0/(att_s+1.0);
attenuation = attenuation - att_s;
attenuation /= 1.0 - att_s;
return clamp(attenuation, 0.0, 1.0);
}
@end
@export clay.util.edge_factor
float edgeFactor(float width)
{
vec3 d = fwidth(v_Barycentric);
vec3 a3 = smoothstep(vec3(0.0), d * width, v_Barycentric);
return min(min(a3.x, a3.y), a3.z);
}
@end
@export clay.util.encode_float
vec4 encodeFloat(const in float depth)
{
const vec4 bitShifts = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);
const vec4 bit_mask = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);
vec4 res = fract(depth * bitShifts);
res -= res.xxyz * bit_mask;
return res;
}
@end
@export clay.util.decode_float
float decodeFloat(const in vec4 color)
{
const vec4 bitShifts = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);
return dot(color, bitShifts);
}
@end
@export clay.util.float
@import clay.util.encode_float
@import clay.util.decode_float
@end
@export clay.util.rgbm_decode
vec3 RGBMDecode(vec4 rgbm, float range) {
return range * rgbm.rgb * rgbm.a;
}
@end
@export clay.util.rgbm_encode
vec4 RGBMEncode(vec3 color, float range) {
if (dot(color, color) == 0.0) {
return vec4(0.0);
}
vec4 rgbm;
color /= range;
rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0);
rgbm.a = ceil(rgbm.a * 255.0) / 255.0;
rgbm.rgb = color / rgbm.a;
return rgbm;
}
@end
@export clay.util.rgbm
@import clay.util.rgbm_decode
@import clay.util.rgbm_encode
vec4 decodeHDR(vec4 color)
{
#if defined(RGBM_DECODE) || defined(RGBM)
return vec4(RGBMDecode(color, 51.5), 1.0);
#else
return color;
#endif
}
vec4 encodeHDR(vec4 color)
{
#if defined(RGBM_ENCODE) || defined(RGBM)
return RGBMEncode(color.xyz, 51.5);
#else
return color;
#endif
}
@end
@export clay.util.srgb
vec4 sRGBToLinear(in vec4 value) {
return vec4(mix(pow(value.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), value.rgb * 0.0773993808, vec3(lessThanEqual(value.rgb, vec3(0.04045)))), value.w);
}
vec4 linearTosRGB(in vec4 value) {
return vec4(mix(pow(value.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), value.rgb * 12.92, vec3(lessThanEqual(value.rgb, vec3(0.0031308)))), value.w);
}
@end
@export clay.chunk.skinning_header
#ifdef SKINNING
attribute vec3 weight : WEIGHT;
attribute vec4 joint : JOINT;
uniform mat4 skinMatrix[JOINT_COUNT] : SKIN_MATRIX;
mat4 getSkinMatrix(float idx) {
return skinMatrix[int(idx)];
}
#endif
@end
@export clay.chunk.skin_matrix
mat4 skinMatrixWS = getSkinMatrix(joint.x) * weight.x;
if (weight.y > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.y) * weight.y;
}
if (weight.z > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.z) * weight.z;
}
float weightW = 1.0-weight.x-weight.y-weight.z;
if (weightW > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.w) * weightW;
}
@end
@export clay.util.parallax_correct
vec3 parallaxCorrect(in vec3 dir, in vec3 pos, in vec3 boxMin, in vec3 boxMax) {
vec3 first = (boxMax - pos) / dir;
vec3 second = (boxMin - pos) / dir;
vec3 further = max(first, second);
float dist = min(further.x, min(further.y, further.z));
vec3 fixedPos = pos + dir * dist;
vec3 boxCenter = (boxMax + boxMin) * 0.5;
return normalize(fixedPos - boxCenter);
}
@end
@export clay.util.clamp_sample
vec4 clampSample(const in sampler2D texture, const in vec2 coord)
{
#ifdef STEREO
float eye = step(0.5, coord.x) * 0.5;
vec2 coordClamped = clamp(coord, vec2(eye, 0.0), vec2(0.5 + eye, 1.0));
#else
vec2 coordClamped = clamp(coord, vec2(0.0), vec2(1.0));
#endif
return texture2D(texture, coordClamped);
}
@end
@export clay.util.ACES
vec3 ACESToneMapping(vec3 color)
{
const float A = 2.51;
const float B = 0.03;
const float C = 2.43;
const float D = 0.59;
const float E = 0.14;
return (color * (A * color + B)) / (color * (C * color + D) + E);
}
@end`},function(q,H,b){"use strict";H.a=`
@export ecgl.common.transformUniforms
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE;
uniform mat4 world : WORLD;
@end
@export ecgl.common.attributes
attribute vec3 position : POSITION;
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 normal : NORMAL;
@end
@export ecgl.common.uv.header
uniform vec2 uvRepeat : [1.0, 1.0];
uniform vec2 uvOffset : [0.0, 0.0];
uniform vec2 detailUvRepeat : [1.0, 1.0];
uniform vec2 detailUvOffset : [0.0, 0.0];
varying vec2 v_Texcoord;
varying vec2 v_DetailTexcoord;
@end
@export ecgl.common.uv.main
v_Texcoord = texcoord * uvRepeat + uvOffset;
v_DetailTexcoord = texcoord * detailUvRepeat + detailUvOffset;
@end
@export ecgl.common.uv.fragmentHeader
varying vec2 v_Texcoord;
varying vec2 v_DetailTexcoord;
@end
@export ecgl.common.albedo.main
vec4 albedoTexel = vec4(1.0);
#ifdef DIFFUSEMAP_ENABLED
albedoTexel = texture2D(diffuseMap, v_Texcoord);
#ifdef SRGB_DECODE
albedoTexel = sRGBToLinear(albedoTexel);
#endif
#endif
#ifdef DETAILMAP_ENABLED
vec4 detailTexel = texture2D(detailMap, v_DetailTexcoord);
#ifdef SRGB_DECODE
detailTexel = sRGBToLinear(detailTexel);
#endif
albedoTexel.rgb = mix(albedoTexel.rgb, detailTexel.rgb, detailTexel.a);
albedoTexel.a = detailTexel.a + (1.0 - detailTexel.a) * albedoTexel.a;
#endif
@end
@export ecgl.common.wireframe.vertexHeader
#ifdef WIREFRAME_QUAD
attribute vec4 barycentric;
varying vec4 v_Barycentric;
#elif defined(WIREFRAME_TRIANGLE)
attribute vec3 barycentric;
varying vec3 v_Barycentric;
#endif
@end
@export ecgl.common.wireframe.vertexMain
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
v_Barycentric = barycentric;
#endif
@end
@export ecgl.common.wireframe.fragmentHeader
uniform float wireframeLineWidth : 1;
uniform vec4 wireframeLineColor: [0, 0, 0, 0.5];
#ifdef WIREFRAME_QUAD
varying vec4 v_Barycentric;
float edgeFactor () {
vec4 d = fwidth(v_Barycentric);
vec4 a4 = smoothstep(vec4(0.0), d * wireframeLineWidth, v_Barycentric);
return min(min(min(a4.x, a4.y), a4.z), a4.w);
}
#elif defined(WIREFRAME_TRIANGLE)
varying vec3 v_Barycentric;
float edgeFactor () {
vec3 d = fwidth(v_Barycentric);
vec3 a3 = smoothstep(vec3(0.0), d * wireframeLineWidth, v_Barycentric);
return min(min(a3.x, a3.y), a3.z);
}
#endif
@end
@export ecgl.common.wireframe.fragmentMain
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
if (wireframeLineWidth > 0.) {
vec4 lineColor = wireframeLineColor;
#ifdef SRGB_DECODE
lineColor = sRGBToLinear(lineColor);
#endif
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor()) * lineColor.a);
}
#endif
@end
@export ecgl.common.bumpMap.header
#ifdef BUMPMAP_ENABLED
uniform sampler2D bumpMap;
uniform float bumpScale : 1.0;
vec3 bumpNormal(vec3 surfPos, vec3 surfNormal, vec3 baseNormal)
{
vec2 dSTdx = dFdx(v_Texcoord);
vec2 dSTdy = dFdy(v_Texcoord);
float Hll = bumpScale * texture2D(bumpMap, v_Texcoord).x;
float dHx = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdx).x - Hll;
float dHy = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdy).x - Hll;
vec3 vSigmaX = dFdx(surfPos);
vec3 vSigmaY = dFdy(surfPos);
vec3 vN = surfNormal;
vec3 R1 = cross(vSigmaY, vN);
vec3 R2 = cross(vN, vSigmaX);
float fDet = dot(vSigmaX, R1);
vec3 vGrad = sign(fDet) * (dHx * R1 + dHy * R2);
return normalize(abs(fDet) * baseNormal - vGrad);
}
#endif
@end
@export ecgl.common.normalMap.vertexHeader
#ifdef NORMALMAP_ENABLED
attribute vec4 tangent : TANGENT;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@end
@export ecgl.common.normalMap.vertexMain
#ifdef NORMALMAP_ENABLED
if (dot(tangent, tangent) > 0.0) {
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
}
#endif
@end
@export ecgl.common.normalMap.fragmentHeader
#ifdef NORMALMAP_ENABLED
uniform sampler2D normalMap;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@end
@export ecgl.common.normalMap.fragmentMain
#ifdef NORMALMAP_ENABLED
if (dot(v_Tangent, v_Tangent) > 0.0) {
vec3 normalTexel = texture2D(normalMap, v_DetailTexcoord).xyz;
if (dot(normalTexel, normalTexel) > 0.0) { N = normalTexel * 2.0 - 1.0;
mat3 tbn = mat3(v_Tangent, v_Bitangent, v_Normal);
N = normalize(tbn * N);
}
}
#endif
@end
@export ecgl.common.vertexAnimation.header
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute vec3 prevNormal;
uniform float percent;
#endif
@end
@export ecgl.common.vertexAnimation.main
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
vec3 norm = mix(prevNormal, normal, percent);
#else
vec3 pos = position;
vec3 norm = normal;
#endif
@end
@export ecgl.common.ssaoMap.header
#ifdef SSAOMAP_ENABLED
uniform sampler2D ssaoMap;
uniform vec4 viewport : VIEWPORT;
#endif
@end
@export ecgl.common.ssaoMap.main
float ao = 1.0;
#ifdef SSAOMAP_ENABLED
ao = texture2D(ssaoMap, (gl_FragCoord.xy - viewport.xy) / viewport.zw).r;
#endif
@end
@export ecgl.common.diffuseLayer.header
#if (LAYER_DIFFUSEMAP_COUNT > 0)
uniform float layerDiffuseIntensity[LAYER_DIFFUSEMAP_COUNT];
uniform sampler2D layerDiffuseMap[LAYER_DIFFUSEMAP_COUNT];
#endif
@end
@export ecgl.common.emissiveLayer.header
#if (LAYER_EMISSIVEMAP_COUNT > 0)
uniform float layerEmissionIntensity[LAYER_EMISSIVEMAP_COUNT];
uniform sampler2D layerEmissiveMap[LAYER_EMISSIVEMAP_COUNT];
#endif
@end
@export ecgl.common.layers.header
@import ecgl.common.diffuseLayer.header
@import ecgl.common.emissiveLayer.header
@end
@export ecgl.common.diffuseLayer.main
#if (LAYER_DIFFUSEMAP_COUNT > 0)
for (int _idx_ = 0; _idx_ < LAYER_DIFFUSEMAP_COUNT; _idx_++) {{
float intensity = layerDiffuseIntensity[_idx_];
vec4 texel2 = texture2D(layerDiffuseMap[_idx_], v_Texcoord);
#ifdef SRGB_DECODE
texel2 = sRGBToLinear(texel2);
#endif
albedoTexel.rgb = mix(albedoTexel.rgb, texel2.rgb * intensity, texel2.a);
albedoTexel.a = texel2.a + (1.0 - texel2.a) * albedoTexel.a;
}}
#endif
@end
@export ecgl.common.emissiveLayer.main
#if (LAYER_EMISSIVEMAP_COUNT > 0)
for (int _idx_ = 0; _idx_ < LAYER_EMISSIVEMAP_COUNT; _idx_++)
{{
vec4 texel2 = texture2D(layerEmissiveMap[_idx_], v_Texcoord) * layerEmissionIntensity[_idx_];
#ifdef SRGB_DECODE
texel2 = sRGBToLinear(texel2);
#endif
float intensity = layerEmissionIntensity[_idx_];
gl_FragColor.rgb += texel2.rgb * texel2.a * intensity;
}}
#endif
@end
`},function(q,H,b){"use strict";H.a=`@export ecgl.color.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
@import ecgl.common.uv.header
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 position: POSITION;
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
uniform float percent : 1.0;
#endif
void main()
{
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
gl_Position = worldViewProjection * vec4(pos, 1.0);
@import ecgl.common.uv.main
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.color.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.layers.header
@import ecgl.common.uv.fragmentHeader
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color);
#else
gl_FragColor = color;
#endif
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
gl_FragColor *= albedoTexel;
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(q,H,b){"use strict";H.a=`/**
* http: */
@export ecgl.lambert.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
@import ecgl.common.vertexAnimation.header
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
void main()
{
@import ecgl.common.uv.main
@import ecgl.common.vertexAnimation.main
gl_Position = worldViewProjection * vec4(pos, 1.0);
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.lambert.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
@import ecgl.common.layers.header
uniform float emissionIntensity: 1.0;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color);
#else
gl_FragColor = color;
#endif
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
gl_FragColor *= sRGBToLinear(v_Color);
#else
gl_FragColor *= v_Color;
#endif
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
gl_FragColor *= albedoTexel;
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
{
diffuseColor += ambientLightColor[i] * ambientFactor * ao;
}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
diffuseColor += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
{
vec3 lightDirection = -directionalLightDirection[i];
vec3 lightColor = directionalLightColor[i];
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[i];
}
#endif
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
diffuseColor += lightColor * clamp(ndl, 0.0, 1.0);
}
#endif
gl_FragColor.rgb *= diffuseColor;
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(q,H,b){"use strict";H.a=`@export ecgl.realistic.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
#ifdef NORMALMAP_ENABLED
attribute vec4 tangent : TANGENT;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@import ecgl.common.vertexAnimation.header
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
void main()
{
@import ecgl.common.uv.main
@import ecgl.common.vertexAnimation.main
gl_Position = worldViewProjection * vec4(pos, 1.0);
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
#ifdef NORMALMAP_ENABLED
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.realistic.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
#define PI 3.14159265358979
#define ROUGHNESS_CHANEL 0
#define METALNESS_CHANEL 1
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
uniform sampler2D metalnessMap;
uniform sampler2D roughnessMap;
@import ecgl.common.layers.header
uniform float emissionIntensity: 1.0;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform float metalness : 0.0;
uniform float roughness : 0.5;
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
@import clay.header.ambient_cubemap_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
@import ecgl.common.normalMap.fragmentHeader
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import clay.util.rgbm
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
vec3 F_Schlick(float ndv, vec3 spec) {
return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);
}
float D_Phong(float g, float ndh) {
float a = pow(8192.0, g);
return (a + 2.0) / 8.0 * pow(ndh, a);
}
void main()
{
vec4 albedoColor = color;
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
albedoColor *= sRGBToLinear(v_Color);
#else
albedoColor *= v_Color;
#endif
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
albedoColor *= albedoTexel;
float m = metalness;
#ifdef METALNESSMAP_ENABLED
float m2 = texture2D(metalnessMap, v_DetailTexcoord)[METALNESS_CHANEL];
m = clamp(m2 + (m - 0.5) * 2.0, 0.0, 1.0);
#endif
vec3 baseColor = albedoColor.rgb;
albedoColor.rgb = baseColor * (1.0 - m);
vec3 specFactor = mix(vec3(0.04), baseColor, m);
float g = 1.0 - roughness;
#ifdef ROUGHNESSMAP_ENABLED
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
#endif
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
@import ecgl.common.normalMap.fragmentMain
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
vec3 diffuseTerm = vec3(0.0);
vec3 specularTerm = vec3(0.0);
float ndv = clamp(dot(N, V), 0.0, 1.0);
vec3 fresnelTerm = F_Schlick(ndv, specFactor);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++)
{{
diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao;
}}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++)
{{
vec3 L = -directionalLightDirection[_idx_];
vec3 lc = directionalLightColor[_idx_];
vec3 H = normalize(L + V);
float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0);
float ndh = clamp(dot(N, H), 0.0, 1.0);
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[_idx_];
}
#endif
vec3 li = lc * ndl * shadowContrib;
diffuseTerm += li;
specularTerm += li * fresnelTerm * D_Phong(g, ndh);
}}
#endif
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
vec3 L = reflect(-V, N);
L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]);
float rough2 = clamp(1.0 - g, 0.0, 1.0);
float bias2 = rough2 * 5.0;
vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy;
vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y;
vec3 envTexel2;
for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++)
{{
envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 51.5);
specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao;
}}
#endif
gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm;
gl_FragColor.a = albedoColor.a;
#ifdef SRGB_ENCODE
gl_FragColor = linearTosRGB(gl_FragColor);
#endif
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(q,H,b){"use strict";H.a=`@export ecgl.hatching.vertex
@import ecgl.realistic.vertex
@end
@export ecgl.hatching.fragment
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform vec4 color : [0.0, 0.0, 0.0, 1.0];
uniform vec4 paperColor : [1.0, 1.0, 1.0, 1.0];
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
uniform sampler2D hatch1;
uniform sampler2D hatch2;
uniform sampler2D hatch3;
uniform sampler2D hatch4;
uniform sampler2D hatch5;
uniform sampler2D hatch6;
float shade(in float tone) {
vec4 c = vec4(1. ,1., 1., 1.);
float step = 1. / 6.;
vec2 uv = v_DetailTexcoord;
if (tone <= step / 2.0) {
c = mix(vec4(0.), texture2D(hatch6, uv), 12. * tone);
}
else if (tone <= step) {
c = mix(texture2D(hatch6, uv), texture2D(hatch5, uv), 6. * tone);
}
if(tone > step && tone <= 2. * step){
c = mix(texture2D(hatch5, uv), texture2D(hatch4, uv) , 6. * (tone - step));
}
if(tone > 2. * step && tone <= 3. * step){
c = mix(texture2D(hatch4, uv), texture2D(hatch3, uv), 6. * (tone - 2. * step));
}
if(tone > 3. * step && tone <= 4. * step){
c = mix(texture2D(hatch3, uv), texture2D(hatch2, uv), 6. * (tone - 3. * step));
}
if(tone > 4. * step && tone <= 5. * step){
c = mix(texture2D(hatch2, uv), texture2D(hatch1, uv), 6. * (tone - 4. * step));
}
if(tone > 5. * step){
c = mix(texture2D(hatch1, uv), vec4(1.), 6. * (tone - 5. * step));
}
return c.r;
}
const vec3 w = vec3(0.2125, 0.7154, 0.0721);
void main()
{
#ifdef SRGB_DECODE
vec4 inkColor = sRGBToLinear(color);
#else
vec4 inkColor = color;
#endif
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
inkColor *= sRGBToLinear(v_Color);
#else
inkColor *= v_Color;
#endif
#endif
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float tone = 0.0;
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
{
tone += dot(ambientLightColor[i], w) * ambientFactor * ao;
}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
tone += dot(calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_], w) * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
{
vec3 lightDirection = -directionalLightDirection[i];
float lightTone = dot(directionalLightColor[i], w);
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[i];
}
#endif
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
tone += lightTone * clamp(ndl, 0.0, 1.0);
}
#endif
gl_FragColor = mix(inkColor, paperColor, shade(clamp(tone, 0.0, 1.0)));
}
@end
`},function(q,H,b){"use strict";H.a=`@export ecgl.sm.depth.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
uniform float percent : 1.0;
#endif
varying vec4 v_ViewPosition;
void main(){
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
v_ViewPosition = worldViewProjection * vec4(pos, 1.0);
gl_Position = v_ViewPosition;
}
@end
@export ecgl.sm.depth.fragment
@import clay.sm.depth.fragment
@end`},function(q,H,b){"use strict";var z=b(134),P=b(138),T=b(139),x=b(145),O=b(0),_=b.n(O);_.a.registerAction({type:"grid3DChangeCamera",event:"grid3dcamerachanged",update:"series:updateCamera"},function(g,m){m.eachComponent({mainType:"grid3D",query:g},function(L){L.setView(g)})}),_.a.registerAction({type:"grid3DShowAxisPointer",event:"grid3dshowaxispointer",update:"grid3D:showAxisPointer"},function(g,m){}),_.a.registerAction({type:"grid3DHideAxisPointer",event:"grid3dhideaxispointer",update:"grid3D:hideAxisPointer"},function(g,m){})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(135),x=P.a.extendComponentModel({type:"cartesian3DAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid3D",index:this.option.gridIndex,id:this.option.gridId})[0]}});P.a.helper.mixinAxisModelCommonMethods(x);function O(_,g){return g.type||(g.data?"category":"value")}Object(T.a)("x",x,O,{name:"X"}),Object(T.a)("y",x,O,{name:"Y"}),Object(T.a)("z",x,O,{name:"Z"})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(136),x=b(137),O=b.n(x),_=["value","category","time","log"];H.a=function(g,m,L,d){P.a.util.each(_,function(v){m.extend({type:g+"Axis3D."+v,__ordinalMeta:null,mergeDefaultAndTheme:function(M,w){var S=w.getTheme();P.a.util.merge(M,S.get(v+"Axis3D")),P.a.util.merge(M,this.getDefaultOption()),M.type=L(g,M)},optionUpdated:function(){var M=this.option;M.type==="category"&&(this.__ordinalMeta=O.a.createByAxisModel(this))},getCategories:function(){if(this.option.type==="category")return this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:P.a.util.merge(P.a.util.clone(T.a[v+"Axis3D"]),d||{},!0)})}),m.superClass.registerSubTypeDefaulter(g+"Axis3D",P.a.util.curry(L,g))}},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T={show:!0,grid3DIndex:0,inverse:!1,name:"",nameLocation:"middle",nameTextStyle:{fontSize:16},nameGap:20,axisPointer:{},axisLine:{},axisTick:{},axisLabel:{},splitArea:{}},x=P.a.util.merge({boundaryGap:!0,axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"},axisPointer:{label:{show:!1}}},T),O=P.a.util.merge({boundaryGap:[0,0],splitNumber:5,axisPointer:{label:{}}},T),_=P.a.util.defaults({scale:!0,min:"dataMin",max:"dataMax"},O),g=P.a.util.defaults({logBase:10},O);g.scale=!0,H.a={categoryAxis3D:x,valueAxis3D:O,timeAxis3D:_,logAxis3D:g}},function(q,H,b){var z=b(12),P=z.createHashMap,T=z.isObject,x=z.map;function O(d){this.categories=d.categories||[],this._needCollect=d.needCollect,this._deduplication=d.deduplication,this._map}O.createByAxisModel=function(d){var v=d.option,M=v.data,w=M&&x(M,m);return new O({categories:w,needCollect:!w,deduplication:v.dedplication!==!1})};var _=O.prototype;_.getOrdinal=function(d){return g(this).get(d)},_.parseAndCollect=function(d){var v,M=this._needCollect;if(typeof d!="string"&&!M)return d;if(M&&!this._deduplication)return v=this.categories.length,this.categories[v]=d,v;var w=g(this);return v=w.get(d),v==null&&(M?(v=this.categories.length,this.categories[v]=d,w.set(d,v)):v=NaN),v};function g(d){return d._map||(d._map=P(d.categories))}function m(d){return T(d)&&d.value!=null?d.value:d+""}var L=O;q.exports=L},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(38),x=b(31),O=b(32),_=P.a.extendComponentModel({type:"grid3D",dependencies:["xAxis3D","yAxis3D","zAxis3D"],defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",boxWidth:100,boxHeight:100,boxDepth:100,axisPointer:{show:!0,lineStyle:{color:"rgba(0, 0, 0, 0.8)",width:1},label:{show:!0,formatter:null,margin:8,textStyle:{fontSize:14,color:"#fff",backgroundColor:"rgba(0,0,0,0.5)",padding:3,borderRadius:3}}},axisLine:{show:!0,lineStyle:{color:"#333",width:2,type:"solid"}},axisTick:{show:!0,inside:!1,length:3,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}},light:{main:{alpha:30,beta:40},ambient:{intensity:.4}},viewControl:{alpha:20,beta:40,autoRotate:!1,distance:200,minDistance:40,maxDistance:400}}});P.a.util.merge(_.prototype,T.a),P.a.util.merge(_.prototype,x.a),P.a.util.merge(_.prototype,O.a);var g=_},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(39),O=b(22),_=b(3),g=b(73),m=b(34),L=b(140),d=b(142),v=b(58),M=b(40),w=_.a.firstNotNull;T.a.Shader.import(M.a),["x","y","z"].forEach(function(R){P.a.extendComponentView({type:R+"Axis3D"})});var S={x:0,y:2,z:1},A=P.a.extendComponentView({type:"grid3D",__ecgl__:!0,init:function(R,u){var f=[["y","z","x",-1,"left"],["y","z","x",1,"right"],["x","y","z",-1,"bottom"],["x","y","z",1,"top"],["x","z","y",-1,"far"],["x","z","y",1,"near"]],y=["x","y","z"],D=new T.a.Material({shader:T.a.createShader("ecgl.color"),depthMask:!1,transparent:!0}),I=new T.a.Material({shader:T.a.createShader("ecgl.meshLines3D"),depthMask:!1,transparent:!0});D.define("fragment","DOUBLE_SIDED"),D.define("both","VERTEX_COLOR"),this.groupGL=new T.a.Node,this._control=new x.a({zr:u.getZr()}),this._control.init(),this._faces=f.map(function(F){var G=new L.a(F,I,D);return this.groupGL.add(G.rootNode),G},this),this._axes=y.map(function(F){var G=new d.a(F,I);return this.groupGL.add(G.rootNode),G},this);var U=u.getDevicePixelRatio();this._axisLabelSurface=new g.a({width:256,height:256,devicePixelRatio:U}),this._axisLabelSurface.onupdate=function(){u.getZr().refresh()},this._axisPointerLineMesh=new T.a.Mesh({geometry:new O.a({useNativeLine:!1}),material:I,castShadow:!1,ignorePicking:!0,renderOrder:3}),this.groupGL.add(this._axisPointerLineMesh),this._axisPointerLabelsSurface=new g.a({width:128,height:128,devicePixelRatio:U}),this._axisPointerLabelsMesh=new v.a({ignorePicking:!0,renderOrder:4,castShadow:!1}),this._axisPointerLabelsMesh.material.set("textureAtlas",this._axisPointerLabelsSurface.getTexture()),this.groupGL.add(this._axisPointerLabelsMesh),this._lightRoot=new T.a.Node,this._sceneHelper=new m.a,this._sceneHelper.initLight(this._lightRoot)},render:function(R,u,f){this._model=R,this._api=f;var y=R.coordinateSystem;y.viewGL.add(this._lightRoot),R.get("show")?y.viewGL.add(this.groupGL):y.viewGL.remove(this.groupGL);var D=this._control;D.setViewGL(y.viewGL);var I=R.getModel("viewControl");D.setFromViewControlModel(I,0),this._axisLabelSurface.clear();var U=["x","y","z"].reduce(function(F,G){var Y=y.getAxis(G),te=Y.model;return F[G]=w(te.get("axisLabel.interval"),R.get("axisLabel.interval")),Y.scale.type==="ordinal"&&(F[G]==null||F[G]=="auto")&&(F[G]=Math.floor(Y.scale.getTicks().length/8)),F},{});D.off("update"),R.get("show")&&(this._faces.forEach(function(F){F.update(U,R,u,f)},this),this._axes.forEach(function(F){F.update(R,U,this._axisLabelSurface,f)},this)),D.on("update",this._onCameraChange.bind(this,R,f),this),this._sceneHelper.setScene(y.viewGL.scene),this._sceneHelper.updateLight(R),y.viewGL.setPostEffect(R.getModel("postEffect"),f),y.viewGL.setTemporalSuperSampling(R.getModel("temporalSuperSampling")),this._initMouseHandler(R)},afterRender:function(R,u,f,y){var D=y.renderer;this._sceneHelper.updateAmbientCubemap(D,R,f),this._sceneHelper.updateSkybox(D,R,f)},showAxisPointer:function(R,u,f,y){this._doShowAxisPointer(),this._updateAxisPointer(y.value)},hideAxisPointer:function(R,u,f,y){this._doHideAxisPointer()},_initMouseHandler:function(R){var u=R.coordinateSystem,f=u.viewGL;R.get("show")&&R.get("axisPointer.show")?f.on("mousemove",this._updateAxisPointerOnMousePosition,this):f.off("mousemove",this._updateAxisPointerOnMousePosition)},_updateAxisPointerOnMousePosition:function(R){if(!R.target){for(var u=this._model,f=u.coordinateSystem,y=f.viewGL,D=y.castRay(R.offsetX,R.offsetY,new T.a.Ray),I,U=0;U<this._faces.length;U++){var F=this._faces[U];if(!F.rootNode.invisible){F.plane.normal.dot(y.camera.worldTransform.z)<0&&F.plane.normal.negate();var G=D.intersectPlane(F.plane);if(G){var Y=f.getAxis(F.faceInfo[0]),te=f.getAxis(F.faceInfo[1]),$=S[F.faceInfo[0]],oe=S[F.faceInfo[1]];Y.contain(G.array[$])&&te.contain(G.array[oe])&&(I=G)}}}if(I){var ie=f.pointToData(I.array,[],!0);this._updateAxisPointer(ie),this._doShowAxisPointer()}else this._doHideAxisPointer()}},_onCameraChange:function(R,u){R.get("show")&&(this._updateFaceVisibility(),this._updateAxisLinePosition());var f=this._control;u.dispatchAction({type:"grid3DChangeCamera",alpha:f.getAlpha(),beta:f.getBeta(),distance:f.getDistance(),center:f.getCenter(),from:this.uid,grid3DId:R.id})},_updateFaceVisibility:function(){var R=this._control.getCamera(),u=new T.a.Vector3;R.update();for(var f=0;f<this._faces.length/2;f++){for(var y=[],D=0;D<2;D++){var I=this._faces[f*2+D];I.rootNode.getWorldPosition(u),u.transformMat4(R.viewMatrix),y[D]=u.z}var U=y[0]>y[1]?0:1,F=this._faces[f*2+U],G=this._faces[f*2+1-U];F.rootNode.invisible=!0,G.rootNode.invisible=!1}},_updateAxisLinePosition:function(){var R=this._model.coordinateSystem,u=R.getAxis("x"),f=R.getAxis("y"),y=R.getAxis("z"),D=y.getExtentMax(),I=y.getExtentMin(),U=u.getExtentMin(),F=u.getExtentMax(),G=f.getExtentMax(),Y=f.getExtentMin(),te=this._axes[0].rootNode,$=this._axes[1].rootNode,oe=this._axes[2].rootNode,ie=this._faces,ne=ie[4].rootNode.invisible?Y:G,le=ie[2].rootNode.invisible?D:I,ae=ie[0].rootNode.invisible?U:F,de=ie[2].rootNode.invisible?D:I,se=ie[0].rootNode.invisible?F:U,fe=ie[4].rootNode.invisible?Y:G;te.rotation.identity(),$.rotation.identity(),oe.rotation.identity(),ie[4].rootNode.invisible&&(this._axes[0].flipped=!0,te.rotation.rotateX(Math.PI)),ie[0].rootNode.invisible&&(this._axes[1].flipped=!0,$.rotation.rotateZ(Math.PI)),ie[4].rootNode.invisible&&(this._axes[2].flipped=!0,oe.rotation.rotateY(Math.PI)),te.position.set(0,le,ne),$.position.set(ae,de,0),oe.position.set(se,0,fe),te.update(),$.update(),oe.update(),this._updateAxisLabelAlign()},_updateAxisLabelAlign:function(){var R=this._control.getCamera(),u=[new T.a.Vector4,new T.a.Vector4],f=new T.a.Vector4;this.groupGL.getWorldPosition(f),f.w=1,f.transformMat4(R.viewMatrix).transformMat4(R.projectionMatrix),f.x/=f.w,f.y/=f.w,this._axes.forEach(function(y){for(var D=y.axisLineCoords,I=y.labelsMesh.geometry,U=0;U<u.length;U++)u[U].setArray(D[U]),u[U].w=1,u[U].transformMat4(y.rootNode.worldTransform).transformMat4(R.viewMatrix).transformMat4(R.projectionMatrix),u[U].x/=u[U].w,u[U].y/=u[U].w;var F=u[1].x-u[0].x,G=u[1].y-u[0].y,Y=(u[1].x+u[0].x)/2,te=(u[1].y+u[0].y)/2,$,oe;Math.abs(G/F)<.5?($="center",oe=te>f.y?"bottom":"top"):(oe="middle",$=Y>f.x?"left":"right"),y.setSpriteAlign($,oe,this._api)},this)},_doShowAxisPointer:function(){this._axisPointerLineMesh.invisible&&(this._axisPointerLineMesh.invisible=!1,this._axisPointerLabelsMesh.invisible=!1,this._api.getZr().refresh())},_doHideAxisPointer:function(){this._axisPointerLineMesh.invisible||(this._axisPointerLineMesh.invisible=!0,this._axisPointerLabelsMesh.invisible=!0,this._api.getZr().refresh())},_updateAxisPointer:function(R){var u=this._model.coordinateSystem,f=u.dataToPoint(R),y=this._axisPointerLineMesh,D=y.geometry,I=this._model.getModel("axisPointer"),U=this._api.getDevicePixelRatio();D.convertToDynamicArray(!0);function F(Ne){return _.a.firstNotNull(Ne.model.get("axisPointer.show"),I.get("show"))}function G(Ne){var We=Ne.model.getModel("axisPointer",I),tt=We.getModel("lineStyle"),Je=T.a.parseColor(tt.get("color")),st=w(tt.get("width"),1),yt=w(tt.get("opacity"),1);return Je[3]*=yt,{color:Je,lineWidth:st}}for(var Y=0;Y<this._faces.length;Y++){var te=this._faces[Y];if(!te.rootNode.invisible){for(var $=te.faceInfo,oe=$[3]<0?u.getAxis($[2]).getExtentMin():u.getAxis($[2]).getExtentMax(),ie=S[$[2]],ne=0;ne<2;ne++){var le=$[ne],ae=$[1-ne],de=u.getAxis(le),se=u.getAxis(ae);if(F(de)){var fe=[0,0,0],ye=[0,0,0],ge=S[le],xe=S[ae];fe[ge]=ye[ge]=f[ge],fe[ie]=ye[ie]=oe,fe[xe]=se.getExtentMin(),ye[xe]=se.getExtentMax();var Me=G(de);D.addLine(fe,ye,Me.color,Me.lineWidth*U)}}if(F(u.getAxis($[2]))){var fe=f.slice(),ye=f.slice();ye[ie]=oe;var Me=G(u.getAxis($[2]));D.addLine(fe,ye,Me.color,Me.lineWidth*U)}}}D.convertToTypedArray(),this._updateAxisPointerLabelsMesh(R),this._api.getZr().refresh()},_updateAxisPointerLabelsMesh:function(R){var u=this._model,f=this._axisPointerLabelsMesh,y=this._axisPointerLabelsSurface,D=u.coordinateSystem,I=u.getModel("axisPointer");f.geometry.convertToDynamicArray(!0),y.clear();var U={x:"y",y:"x",z:"y"};this._axes.forEach(function(F,G){var Y=D.getAxis(F.dim),te=Y.model,$=te.getModel("axisPointer",I),oe=$.getModel("label"),ie=$.get("lineStyle.color");if(!(!oe.get("show")||!$.get("show"))){var ne=R[G],le=oe.get("formatter"),ae=Y.scale.getLabel(ne);if(le!=null)ae=le(ae,R);else if(Y.scale.type==="interval"||Y.scale.type==="log"){var de=P.a.number.getPrecisionSafe(Y.scale.getTicks()[0]);ae=ne.toFixed(de+2)}var se=oe.getModel("textStyle"),fe=se.get("color"),ye=new P.a.graphic.Text;P.a.graphic.setTextStyle(ye.style,se,{text:ae,textFill:fe||ie,textAlign:"left",textVerticalAlign:"top"});var ge=y.add(ye),xe=ye.getBoundingRect(),Me=this._api.getDevicePixelRatio(),Ne=F.rootNode.position.toArray(),We=S[U[F.dim]];Ne[We]+=(F.flipped?-1:1)*oe.get("margin"),Ne[S[F.dim]]=Y.dataToCoord(R[G]),f.geometry.addSprite(Ne,[xe.width*Me,xe.height*Me],ge,F.textAlign,F.textVerticalAlign)}},this),y.getZr().refreshImmediately(),f.material.set("uvScale",y.getCoordsScale()),f.geometry.convertToTypedArray()},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(3),O=b(22),_=b(141),g=b(74),m=x.a.firstNotNull,L={x:0,y:2,z:1};function d(M,w,S,A){var R=[0,0,0],u=A<0?S.getExtentMin():S.getExtentMax();R[L[S.dim]]=u,M.position.setArray(R),M.rotation.identity(),w.distance=-Math.abs(u),w.normal.set(0,0,0),S.dim==="x"?(M.rotation.rotateY(A*Math.PI/2),w.normal.x=-A):S.dim==="z"?(M.rotation.rotateX(-A*Math.PI/2),w.normal.y=-A):(A>0&&M.rotation.rotateY(Math.PI),w.normal.z=-A)}function v(M,w,S){this.rootNode=new T.a.Node;var A=new T.a.Mesh({geometry:new O.a({useNativeLine:!1}),material:w,castShadow:!1,ignorePicking:!0,renderOrder:1}),R=new T.a.Mesh({geometry:new _.a,material:S,castShadow:!1,culling:!1,ignorePicking:!0,renderOrder:0});this.rootNode.add(R),this.rootNode.add(A),this.faceInfo=M,this.plane=new T.a.Plane,this.linesMesh=A,this.quadsMesh=R}v.prototype.update=function(M,w,S,A){var R=w.coordinateSystem,u=[R.getAxis(this.faceInfo[0]),R.getAxis(this.faceInfo[1])],f=this.linesMesh.geometry,y=this.quadsMesh.geometry;f.convertToDynamicArray(!0),y.convertToDynamicArray(!0),this._updateSplitLines(f,u,w,M,A),this._udpateSplitAreas(y,u,w,M,A),f.convertToTypedArray(),y.convertToTypedArray();var D=R.getAxis(this.faceInfo[2]);d(this.rootNode,this.plane,D,this.faceInfo[3])},v.prototype._updateSplitLines=function(M,w,S,A,R){var u=R.getDevicePixelRatio();w.forEach(function(f,y){var D=f.model,I=w[1-y].getExtent();if(!f.scale.isBlank()){var U=D.getModel("splitLine",S.getModel("splitLine"));if(U.get("show")){var F=U.getModel("lineStyle"),G=F.get("color"),Y=m(F.get("opacity"),1),te=m(F.get("width"),1),$=U.get("interval");($==null||$==="auto")&&($=A[f.dim]),G=P.a.util.isArray(G)?G:[G];for(var oe=f.getTicksCoords(),ie=0,ne=0;ne<oe.length;ne++)if(!Object(g.a)(f,ne,$)){var le=oe[ne],ae=T.a.parseColor(G[ie%G.length]);ae[3]*=Y;var de=[0,0,0],se=[0,0,0];de[y]=se[y]=le,de[1-y]=I[0],se[1-y]=I[1],M.addLine(de,se,ae,te*u),ie++}}}})},v.prototype._udpateSplitAreas=function(M,w,S,A,R){w.forEach(function(u,f){var y=u.model,D=w[1-f].getExtent();if(!u.scale.isBlank()){var I=y.getModel("splitArea",S.getModel("splitArea"));if(I.get("show")){var U=I.getModel("areaStyle"),F=U.get("color"),G=m(U.get("opacity"),1),Y=I.get("interval");(Y==null||Y==="auto")&&(Y=A[u.dim]),F=P.a.util.isArray(F)?F:[F];for(var te=u.getTicksCoords(),$=0,oe=[0,0,0],ie=[0,0,0],ne=0;ne<te.length;ne++){var le=te[ne],ae=[0,0,0],de=[0,0,0];if(ae[f]=de[f]=le,ae[1-f]=D[0],de[1-f]=D[1],ne===0){oe=ae,ie=de;continue}if(!Object(g.a)(u,ne,Y)){var se=T.a.parseColor(F[$%F.length]);se[3]*=G,M.addQuad([oe,ae,de,ie],se),oe=ae,ie=de,$++}}}}})},H.a=v},function(q,H,b){"use strict";var z=b(13),P=b(0),T=b.n(P),x=b(33),O=b(1),_=b.n(O),g=_.a.vec3,m=z.a.extend(function(){return{segmentScale:1,useNativeLine:!0,attributes:{position:new z.a.Attribute("position","float",3,"POSITION"),normal:new z.a.Attribute("normal","float",3,"NORMAL"),color:new z.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setQuadCount:function(L){var d=this.attributes,v=this.getQuadVertexCount()*L,M=this.getQuadTriangleCount()*L;this.vertexCount!==v&&(d.position.init(v),d.normal.init(v),d.color.init(v)),this.triangleCount!==M&&(this.indices=v>65535?new Uint32Array(M*3):new Uint16Array(M*3))},getQuadVertexCount:function(){return 4},getQuadTriangleCount:function(){return 2},addQuad:function(){var L=g.create(),d=g.create(),v=g.create(),M=[0,3,1,3,2,1];return function(w,S){var A=this.attributes.position,R=this.attributes.normal,u=this.attributes.color;g.sub(L,w[1],w[0]),g.sub(d,w[2],w[1]),g.cross(v,L,d),g.normalize(v,v);for(var f=0;f<4;f++)A.set(this._vertexOffset+f,w[f]),u.set(this._vertexOffset+f,S),R.set(this._vertexOffset+f,v);for(var y=this._faceOffset*3,f=0;f<6;f++)this.indices[y+f]=M[f]+this._vertexOffset;this._vertexOffset+=4,this._faceOffset+=2}}()});T.a.util.defaults(m.prototype,x.a),H.a=m},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(22),O=b(3),_=b(58),g=b(74),m=O.a.firstNotNull,L={x:0,y:2,z:1};function d(M,w){var S=new T.a.Mesh({geometry:new x.a({useNativeLine:!1}),material:w,castShadow:!1,ignorePicking:!0,renderOrder:2}),A=new _.a;A.material.depthMask=!1;var R=new T.a.Node;R.add(S),R.add(A),this.rootNode=R,this.dim=M,this.linesMesh=S,this.labelsMesh=A,this.axisLineCoords=null,this.labelElements=[]}var v={x:"y",y:"x",z:"y"};d.prototype.update=function(M,w,S,A){var R=M.coordinateSystem,u=R.getAxis(this.dim),f=w[this.dim],y=this.linesMesh.geometry,D=this.labelsMesh.geometry;y.convertToDynamicArray(!0),D.convertToDynamicArray(!0);var I=u.model,U=u.getExtent(),tt=A.getDevicePixelRatio(),F=I.getModel("axisLine",M.getModel("axisLine")),G=I.getModel("axisTick",M.getModel("axisTick")),Y=I.getModel("axisLabel",M.getModel("axisLabel")),te=F.get("lineStyle.color");if(F.get("show")){var $=F.getModel("lineStyle"),oe=[0,0,0],ie=[0,0,0],ne=L[u.dim];oe[ne]=U[0],ie[ne]=U[1],this.axisLineCoords=[oe,ie];var le=T.a.parseColor(te),ae=m($.get("width"),1),de=m($.get("opacity"),1);le[3]*=de,y.addLine(oe,ie,le,ae*tt)}if(G.get("show")){var se=G.getModel("lineStyle"),fe=T.a.parseColor(m(se.get("color"),te)),ae=m(se.get("width"),1);fe[3]*=m(se.get("opacity"),1);var ye=u.getTicksCoords(),ge=G.get("interval");(ge==null||ge==="auto")&&(ge=f);for(var xe=G.get("length"),Me=0;Me<ye.length;Me++)if(!Object(g.a)(u,Me,ge)){var Ne=ye[Me],oe=[0,0,0],ie=[0,0,0],ne=L[u.dim],We=L[v[u.dim]];oe[ne]=ie[ne]=Ne,ie[We]=xe,y.addLine(oe,ie,fe,ae*tt)}}this.labelElements=[];var tt=A.getDevicePixelRatio();if(Y.get("show")){for(var Je=u.getLabelsCoords(),st=I.get("data"),ge=f,yt=Y.get("margin"),gt=I.getFormattedLabels(),Ke=u.scale.getTicks(),Me=0;Me<Je.length;Me++)if(!Object(g.a)(u,Me,ge)){var Ne=Je[Me],nt=[0,0,0],ne=L[u.dim],We=L[v[u.dim]];nt[ne]=nt[ne]=Ne,nt[We]=yt;var Ze=Y;st&&st[Ke[Me]]&&st[Ke[Me]].textStyle&&(Ze=new P.a.Model(st[Ke[Me]].textStyle,Y,I.ecModel));var Ve=m(Ze.get("color"),te),Pe=new P.a.graphic.Text;P.a.graphic.setTextStyle(Pe.style,Ze,{text:gt[Me],textFill:typeof Ve=="function"?Ve(u.type==="category"?gt[Me]:u.type==="value"?Ke[Me]+"":Ke[Me],Me):Ve,textVerticalAlign:"top",textAlign:"left"});var He=S.add(Pe),be=Pe.getBoundingRect();D.addSprite(nt,[be.width*tt,be.height*tt],He),this.labelElements.push(Pe)}}if(I.get("name")){var Ie=I.getModel("nameTextStyle"),nt=[0,0,0],ne=L[u.dim],We=L[v[u.dim]],Te=m(Ie.get("color"),te),Re=Ie.get("borderColor"),ae=Ie.get("borderWidth");nt[ne]=nt[ne]=(U[0]+U[1])/2,nt[We]=I.get("nameGap");var Pe=new P.a.graphic.Text;P.a.graphic.setTextStyle(Pe.style,Ie,{text:I.get("name"),textFill:Te,textStroke:Re,lineWidth:ae});var He=S.add(Pe),be=Pe.getBoundingRect();D.addSprite(nt,[be.width*tt,be.height*tt],He),Pe.__idx=this.labelElements.length,this.nameLabelElement=Pe}this.labelsMesh.material.set("textureAtlas",S.getTexture()),this.labelsMesh.material.set("uvScale",S.getCoordsScale()),y.convertToTypedArray(),D.convertToTypedArray()},d.prototype.setSpriteAlign=function(M,w,S){for(var A=S.getDevicePixelRatio(),R=this.labelsMesh.geometry,u=0;u<this.labelElements.length;u++){var f=this.labelElements[u],y=f.getBoundingRect();R.setSpriteAlign(u,[y.width*A,y.height*A],M,w)}var D=this.nameLabelElement;if(D){var y=D.getBoundingRect();R.setSpriteAlign(D.__idx,[y.width*A,y.height*A],M,w),R.dirty()}this.textAlign=M,this.textVerticalAlign=w},H.a=d},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(13),x=b(33),O=[0,1,2,0,2,3],_=T.a.extend(function(){return{attributes:{position:new T.a.Attribute("position","float",3,"POSITION"),texcoord:new T.a.Attribute("texcoord","float",2,"TEXCOORD_0"),offset:new T.a.Attribute("offset","float",2),color:new T.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setSpriteCount:function(g){this._spriteCount=g;var m=g*4,L=g*2;this.vertexCount!==m&&(this.attributes.position.init(m),this.attributes.offset.init(m),this.attributes.color.init(m)),this.triangleCount!==L&&(this.indices=m>65535?new Uint32Array(L*3):new Uint16Array(L*3))},setSpriteAlign:function(g,m,L,d,v){L==null&&(L="left"),d==null&&(d="top");var M,w,S,A;switch(v=v||0,L){case"left":M=v,S=m[0]+v;break;case"center":case"middle":M=-m[0]/2,S=m[0]/2;break;case"right":M=-m[0]-v,S=-v;break}switch(d){case"bottom":w=v,A=m[1]+v;break;case"middle":w=-m[1]/2,A=m[1]/2;break;case"top":w=-m[1]-v,A=-v;break}var R=g*4,u=this.attributes.offset;u.set(R,[M,A]),u.set(R+1,[S,A]),u.set(R+2,[S,w]),u.set(R+3,[M,w])},addSprite:function(g,m,L,d,v,M){var w=this._vertexOffset;this.setSprite(this._vertexOffset/4,g,m,L,d,v,M);for(var S=0;S<O.length;S++)this.indices[this._faceOffset*3+S]=O[S]+w;return this._faceOffset+=2,this._vertexOffset+=4,w/4},setSprite:function(g,m,L,d,v,M,w){for(var S=g*4,A=this.attributes,R=0;R<4;R++)A.position.set(S+R,m);var u=A.texcoord;u.set(S,[d[0][0],d[0][1]]),u.set(S+1,[d[1][0],d[0][1]]),u.set(S+2,[d[1][0],d[1][1]]),u.set(S+3,[d[0][0],d[1][1]]),this.setSpriteAlign(g,L,v,M,w)}});P.a.util.defaults(_.prototype,x.a),H.a=_},function(q,H,b){"use strict";H.a=`@export ecgl.labels.vertex
attribute vec3 position: POSITION;
attribute vec2 texcoord: TEXCOORD_0;
attribute vec2 offset;
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
varying vec2 v_Texcoord;
void main()
{
vec4 proj = worldViewProjection * vec4(position, 1.0);
vec2 screen = (proj.xy / abs(proj.w) + 1.0) * 0.5 * viewport.zw;
screen += offset;
proj.xy = (screen / viewport.zw - 0.5) * 2.0 * abs(proj.w);
gl_Position = proj;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
v_Texcoord = texcoord;
}
@end
@export ecgl.labels.fragment
uniform vec3 color : [1.0, 1.0, 1.0];
uniform float alpha : 1.0;
uniform sampler2D textureAtlas;
uniform vec2 uvScale: [1.0, 1.0];
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
varying float v_Miter;
varying vec2 v_Texcoord;
void main()
{
gl_FragColor = vec4(color, alpha) * texture2D(textureAtlas, v_Texcoord * uvScale);
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
}
@end`},function(q,H,b){"use strict";var z=b(146),P=b(148),T=b(0),x=b.n(T),O=b(41),_=b.n(O),g=b(20),m=b(3);function L(w,S){var A=w.getBoxLayoutParams(),R=_.a.getLayoutRect(A,{width:S.getWidth(),height:S.getHeight()});R.y=S.getHeight()-R.y-R.height,this.viewGL.setViewport(R.x,R.y,R.width,R.height,S.getDevicePixelRatio());var u=w.get("boxWidth"),f=w.get("boxHeight"),y=w.get("boxDepth");["x","y","z"].forEach(function(D){if(!this.getAxis(D))throw new Error("Grid"+w.id+" don't have "+D+"Axis")},this),this.getAxis("x").setExtent(-u/2,u/2),this.getAxis("y").setExtent(y/2,-y/2),this.getAxis("z").setExtent(-f/2,f/2),this.size=[u,f,y]}function d(w,S){var A={};function R(u,f){A[u]=A[u]||[1/0,-1/0],A[u][0]=Math.min(f[0],A[u][0]),A[u][1]=Math.max(f[1],A[u][1])}w.eachSeries(function(u){if(u.coordinateSystem===this){var f=u.getData();["x","y","z"].forEach(function(y){R(y,f.getDataExtent(u.coordDimToDataDim(y)[0],!0))})}},this),["xAxis3D","yAxis3D","zAxis3D"].forEach(function(u){w.eachComponent(u,function(f){var y=u.charAt(0),D=f.getReferringComponents("grid3D")[0],I=D.coordinateSystem;if(I===this){var U=I.getAxis(y);if(U){console.warn("Can't have two %s in one grid3D",u);return}var F=x.a.helper.createScale(A[y]||[1/0,-1/0],f);U=new P.a(y,F),U.type=f.get("type");var G=U.type==="category";U.onBand=G&&f.get("boundaryGap"),U.inverse=f.get("inverse"),f.axis=U,U.model=f,I.addAxis(U)}},this)},this),this.resize(this.model,S)}var v={dimensions:z.a.prototype.dimensions,create:function(w,S){var A=[];w.eachComponent("grid3D",function(f){f.__viewGL=f.__viewGL||new g.a;var y=new z.a;y.model=f,y.viewGL=f.__viewGL,f.coordinateSystem=y,A.push(y),y.resize=L,y.update=d});var R=["xAxis3D","yAxis3D","zAxis3D"];function u(f,y){return R.map(function(D){var I=f.getReferringComponents(D)[0];if(I==null&&(I=y.getComponent(D)),!I)throw new Error(D+' "'+m.a.firstNotNull(f.get(D+"Index"),f.get(D+"Id"),0)+'" not found');return I})}return w.eachSeries(function(f){if(f.get("coordinateSystem")==="cartesian3D"){var y=f.getReferringComponents("grid3D")[0];if(y==null){var D=u(f,w),y=D[0].getCoordSysModel();D.forEach(function(F){var G=F.getCoordSysModel();if(!G)throw new Error('grid3D "'+m.a.firstNotNull(F.get("gridIndex"),F.get("gridId"),0)+'" not found');if(G!==y)throw new Error("xAxis3D, yAxis3D, zAxis3D must use the same grid")})}var I=y.coordinateSystem;f.coordinateSystem=I}}),A}};x.a.registerCoordinateSystem("grid3D",v);var M=v},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(147),x=b.n(T);function O(_){x.a.call(this,_),this.size=[0,0,0]}O.prototype={constructor:O,type:"cartesian3D",dimensions:["x","y","z"],model:null,containPoint:function(_){return this.getAxis("x").contain(_[0])&&this.getAxis("y").contain(_[2])&&this.getAxis("z").contain(_[1])},containData:function(_){return this.getAxis("x").containData(_[0])&&this.getAxis("y").containData(_[1])&&this.getAxis("z").containData(_[2])},dataToPoint:function(_,g,m){return g=g||[],g[0]=this.getAxis("x").dataToCoord(_[0],m),g[2]=this.getAxis("y").dataToCoord(_[1],m),g[1]=this.getAxis("z").dataToCoord(_[2],m),g},pointToData:function(_,g,m){return g=g||[],g[0]=this.getAxis("x").coordToData(_[0],m),g[1]=this.getAxis("y").coordToData(_[2],m),g[2]=this.getAxis("z").coordToData(_[1],m),g}},P.a.util.inherits(O,x.a),H.a=O},function(q,H,b){var z=b(12);function P(O){return this._axes[O]}var T=function(O){this._axes={},this._dimList=[],this.name=O||""};T.prototype={constructor:T,type:"cartesian",getAxis:function(O){return this._axes[O]},getAxes:function(){return z.map(this._dimList,P,this)},getAxesByScale:function(O){return O=O.toLowerCase(),z.filter(this.getAxes(),function(_){return _.scale.type===O})},addAxis:function(O){var _=O.dim;this._axes[_]=O,this._dimList.push(_)},dataToCoord:function(O){return this._dataCoordConvert(O,"dataToCoord")},coordToData:function(O){return this._dataCoordConvert(O,"coordToData")},_dataCoordConvert:function(O,_){for(var g=this._dimList,m=O instanceof Array?[]:{},L=0;L<g.length;L++){var d=g[L],v=this._axes[d];m[d]=v[_](O[d])}return m}};var x=T;q.exports=x},function(q,H,b){"use strict";var z=b(0),P=b.n(z);function T(x,O,_){P.a.Axis.call(this,x,O,_)}T.prototype={constructor:T,getExtentMin:function(){var x=this._extent;return Math.min(x[0],x[1])},getExtentMax:function(){var x=this._extent;return Math.max(x[0],x[1])}},P.a.util.inherits(T,P.a.Axis),H.a=T},function(q,H,b){var z=b(12),P=b(150),T=b(78);function x(f){return isNaN(f)?"-":(f=(f+"").split("."),f[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(f.length>1?"."+f[1]:""))}function O(f,y){return f=(f||"").toLowerCase().replace(/-(.)/g,function(D,I){return I.toUpperCase()}),y&&f&&(f=f.charAt(0).toUpperCase()+f.slice(1)),f}var _=z.normalizeCssArray;function g(f){return String(f).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var m=["a","b","c","d","e","f","g"],L=function(f,y){return"{"+f+(y==null?"":y)+"}"};function d(f,y,D){z.isArray(y)||(y=[y]);var I=y.length;if(!I)return"";for(var U=y[0].$vars||[],F=0;F<U.length;F++){var G=m[F];f=f.replace(L(G),L(G,0))}for(var Y=0;Y<I;Y++)for(var te=0;te<U.length;te++){var $=y[Y][U[te]];f=f.replace(L(m[te],Y),D?g($):$)}return f}function v(f,y,D){return z.each(y,function(I,U){f=f.replace("{"+U+"}",D?g(I):I)}),f}function M(f,U){f=z.isString(f)?{color:f,extraCssText:U}:f||{};var D=f.color,I=f.type,U=f.extraCssText;return D?I==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+g(D)+";"+(U||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+g(D)+";"+(U||"")+'"></span>':""}var w=function(f){return f<10?"0"+f:f};function S(f,y,D){(f==="week"||f==="month"||f==="quarter"||f==="half-year"||f==="year")&&(f=`MM-dd
yyyy`);var I=T.parseDate(y),U=D?"UTC":"",F=I["get"+U+"FullYear"](),G=I["get"+U+"Month"]()+1,Y=I["get"+U+"Date"](),te=I["get"+U+"Hours"](),$=I["get"+U+"Minutes"](),oe=I["get"+U+"Seconds"]();return f=f.replace("MM",w(G)).replace("M",G).replace("yyyy",F).replace("yy",F%100).replace("dd",w(Y)).replace("d",Y).replace("hh",w(te)).replace("h",te).replace("mm",w($)).replace("m",$).replace("ss",w(oe)).replace("s",oe),f}function A(f){return f&&f.charAt(0).toUpperCase()+f.substr(1)}var R=P.truncateText,u=P.getBoundingRect;H.addCommas=x,H.toCamelCase=O,H.normalizeCssArray=_,H.encodeHTML=g,H.formatTpl=d,H.formatTplSimple=v,H.getTooltipMarker=M,H.formatTime=S,H.capitalFirst=A,H.truncateText=R,H.getTextRect=u},function(q,H,b){var z=b(75),P=b(151),T=b(12),x=T.getContext,O=T.extend,_=T.retrieve2,g=T.retrieve3,m={},L=0,d=5e3,v=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,M="12px sans-serif",w={};function S(ae,de){w[ae]=de}function A(ae,de){de=de||M;var se=ae+":"+de;if(m[se])return m[se];for(var fe=(ae+"").split(`
`),ye=0,ge=0,xe=fe.length;ge<xe;ge++)ye=Math.max($(fe[ge],de).width,ye);return L>d&&(L=0,m={}),L++,m[se]=ye,ye}function R(ae,de,se,fe,ye,ge,xe){return ge?f(ae,de,se,fe,ye,ge,xe):u(ae,de,se,fe,ye,xe)}function u(ae,de,se,fe,ye,ge){var xe=oe(ae,de,ye,ge),Me=A(ae,de);ye&&(Me+=ye[1]+ye[3]);var Ne=xe.outerHeight,We=y(0,Me,se),tt=D(0,Ne,fe),Je=new z(We,tt,Me,Ne);return Je.lineHeight=xe.lineHeight,Je}function f(ae,de,se,fe,ye,ge,xe){var Me=ie(ae,{rich:ge,truncate:xe,font:de,textAlign:se,textPadding:ye}),Ne=Me.outerWidth,We=Me.outerHeight,tt=y(0,Ne,se),Je=D(0,We,fe);return new z(tt,Je,Ne,We)}function y(ae,de,se){return se==="right"?ae-=de:se==="center"&&(ae-=de/2),ae}function D(ae,de,se){return se==="middle"?ae-=de/2:se==="bottom"&&(ae-=de),ae}function I(ae,de,se){var fe=de.x,ye=de.y,ge=de.height,xe=de.width,Me=ge/2,Ne="left",We="top";switch(ae){case"left":fe-=se,ye+=Me,Ne="right",We="middle";break;case"right":fe+=se+xe,ye+=Me,We="middle";break;case"top":fe+=xe/2,ye-=se,Ne="center",We="bottom";break;case"bottom":fe+=xe/2,ye+=ge+se,Ne="center";break;case"inside":fe+=xe/2,ye+=Me,Ne="center",We="middle";break;case"insideLeft":fe+=se,ye+=Me,We="middle";break;case"insideRight":fe+=xe-se,ye+=Me,Ne="right",We="middle";break;case"insideTop":fe+=xe/2,ye+=se,Ne="center";break;case"insideBottom":fe+=xe/2,ye+=ge-se,Ne="center",We="bottom";break;case"insideTopLeft":fe+=se,ye+=se;break;case"insideTopRight":fe+=xe-se,ye+=se,Ne="right";break;case"insideBottomLeft":fe+=se,ye+=ge-se,We="bottom";break;case"insideBottomRight":fe+=xe-se,ye+=ge-se,Ne="right",We="bottom";break}return{x:fe,y:ye,textAlign:Ne,textVerticalAlign:We}}function U(ae,de,se,fe,ye){if(!de)return"";var ge=(ae+"").split(`
`);ye=F(de,se,fe,ye);for(var xe=0,Me=ge.length;xe<Me;xe++)ge[xe]=G(ge[xe],ye);return ge.join(`
`)}function F(ae,de,ye,fe){fe=O({},fe),fe.font=de;var ye=_(ye,"...");fe.maxIterations=_(fe.maxIterations,2);var ge=fe.minChar=_(fe.minChar,0);fe.cnCharWidth=A("\u56FD",de);var xe=fe.ascCharWidth=A("a",de);fe.placeholder=_(fe.placeholder,"");for(var Me=ae=Math.max(0,ae-1),Ne=0;Ne<ge&&Me>=xe;Ne++)Me-=xe;var We=A(ye);return We>Me&&(ye="",We=0),Me=ae-We,fe.ellipsis=ye,fe.ellipsisWidth=We,fe.contentWidth=Me,fe.containerWidth=ae,fe}function G(ae,de){var se=de.containerWidth,fe=de.font,ye=de.contentWidth;if(!se)return"";var ge=A(ae,fe);if(ge<=se)return ae;for(var xe=0;;xe++){if(ge<=ye||xe>=de.maxIterations){ae+=de.ellipsis;break}var Me=xe===0?Y(ae,ye,de.ascCharWidth,de.cnCharWidth):ge>0?Math.floor(ae.length*ye/ge):0;ae=ae.substr(0,Me),ge=A(ae,fe)}return ae===""&&(ae=de.placeholder),ae}function Y(ae,de,se,fe){for(var ye=0,ge=0,xe=ae.length;ge<xe&&ye<de;ge++){var Me=ae.charCodeAt(ge);ye+=0<=Me&&Me<=127?se:fe}return ge}function te(ae){return A("\u56FD",ae)}function $(ae,de){return w.measureText(ae,de)}w.measureText=function(ae,de){var se=x();return se.font=de||M,se.measureText(ae)};function oe(ae,de,se,fe){ae!=null&&(ae+="");var ye=te(de),ge=ae?ae.split(`
`):[],xe=ge.length*ye,Me=xe;if(se&&(Me+=se[0]+se[2]),ae&&fe){var Ne=fe.outerHeight,We=fe.outerWidth;if(Ne!=null&&Me>Ne)ae="",ge=[];else if(We!=null)for(var tt=F(We-(se?se[1]+se[3]:0),de,fe.ellipsis,{minChar:fe.minChar,placeholder:fe.placeholder}),Je=0,st=ge.length;Je<st;Je++)ge[Je]=G(ge[Je],tt)}return{lines:ge,height:xe,outerHeight:Me,lineHeight:ye}}function ie(ae,de){var se={lines:[],width:0,height:0};if(ae!=null&&(ae+=""),!ae)return se;for(var fe=v.lastIndex=0,ye;(ye=v.exec(ae))!=null;){var ge=ye.index;ge>fe&&ne(se,ae.substring(fe,ge)),ne(se,ye[2],ye[1]),fe=v.lastIndex}fe<ae.length&&ne(se,ae.substring(fe,ae.length));var xe=se.lines,Me=0,Ne=0,We=[],tt=de.textPadding,Je=de.truncate,st=Je&&Je.outerWidth,yt=Je&&Je.outerHeight;tt&&(st!=null&&(st-=tt[1]+tt[3]),yt!=null&&(yt-=tt[0]+tt[2]));for(var gt=0;gt<xe.length;gt++){for(var Ke=xe[gt],nt=0,Ze=0,Ve=0;Ve<Ke.tokens.length;Ve++){var Pe=Ke.tokens[Ve],He=Pe.styleName&&de.rich[Pe.styleName]||{},be=Pe.textPadding=He.textPadding,Ie=Pe.font=He.font||de.font,Te=Pe.textHeight=_(He.textHeight,te(Ie));if(be&&(Te+=be[0]+be[2]),Pe.height=Te,Pe.lineHeight=g(He.textLineHeight,de.textLineHeight,Te),Pe.textAlign=He&&He.textAlign||de.textAlign,Pe.textVerticalAlign=He&&He.textVerticalAlign||"middle",yt!=null&&Me+Pe.lineHeight>yt)return{lines:[],width:0,height:0};Pe.textWidth=A(Pe.text,Ie);var Re=He.textWidth,Ge=Re==null||Re==="auto";if(typeof Re=="string"&&Re.charAt(Re.length-1)==="%")Pe.percentWidth=Re,We.push(Pe),Re=0;else{if(Ge){Re=Pe.textWidth;var Le=He.textBackgroundColor,Ue=Le&&Le.image;Ue&&(Ue=P.findExistImage(Ue),P.isImageReady(Ue)&&(Re=Math.max(Re,Ue.width*Te/Ue.height)))}var Qe=be?be[1]+be[3]:0;Re+=Qe;var et=st!=null?st-Ze:null;et!=null&&et<Re&&(!Ge||et<Qe?(Pe.text="",Pe.textWidth=Re=0):(Pe.text=U(Pe.text,et-Qe,Ie,Je.ellipsis,{minChar:Je.minChar}),Pe.textWidth=A(Pe.text,Ie),Re=Pe.textWidth+Qe))}Ze+=Pe.width=Re,He&&(nt=Math.max(nt,Pe.lineHeight))}Ke.width=Ze,Ke.lineHeight=nt,Me+=nt,Ne=Math.max(Ne,Ze)}se.outerWidth=se.width=_(de.textWidth,Ne),se.outerHeight=se.height=_(de.textHeight,Me),tt&&(se.outerWidth+=tt[1]+tt[3],se.outerHeight+=tt[0]+tt[2]);for(var gt=0;gt<We.length;gt++){var Pe=We[gt],dt=Pe.percentWidth;Pe.width=parseInt(dt,10)/100*Ne}return se}function ne(ae,de,se){for(var fe=de==="",ye=de.split(`
`),ge=ae.lines,xe=0;xe<ye.length;xe++){var Me=ye[xe],Ne={styleName:se,text:Me,isLineHolder:!Me&&!fe};if(xe)ge.push({tokens:[Ne]});else{var We=(ge[ge.length-1]||(ge[0]={tokens:[]})).tokens,tt=We.length;tt===1&&We[0].isLineHolder?We[0]=Ne:(Me||!tt||fe)&&We.push(Ne)}}}function le(ae){return(ae.fontSize||ae.fontFamily)&&[ae.fontStyle,ae.fontWeight,(ae.fontSize||12)+"px",ae.fontFamily||"sans-serif"].join(" ")||ae.textFont||ae.font}H.DEFAULT_FONT=M,H.$override=S,H.getWidth=A,H.getBoundingRect=R,H.adjustTextX=y,H.adjustTextY=D,H.adjustTextPositionOnRect=I,H.truncateText=U,H.getLineHeight=te,H.measureText=$,H.parsePlainText=oe,H.parseRichText=ie,H.makeFont=le},function(q,H,b){var z=b(53),P=new z(50);function T(g){if(typeof g=="string"){var m=P.get(g);return m&&m.image}else return g}function x(g,m,L,d,v){if(g)if(typeof g=="string"){if(m&&m.__zrImageSrc===g||!L)return m;var M=P.get(g),w={hostEl:L,cb:d,cbPayload:v};return M?(m=M.image,!_(m)&&M.pending.push(w)):(!m&&(m=new Image),m.onload=O,P.put(g,m.__cachedImgObj={image:m,pending:[w]}),m.src=m.__zrImageSrc=g),m}else return g;else return m}function O(){var g=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var m=0;m<g.pending.length;m++){var L=g.pending[m],d=L.cb;d&&d(this,L.cbPayload),L.hostEl.dirty()}g.pending.length=0}function _(g){return g&&g.width&&g.height}H.findExistImage=T,H.createOrUpdateImage=x,H.isImageReady=_},function(q,H,b){"use strict";var z=b(8),P=b(11),T=b(4),x=b(15),O=b(52),_=b(9),g=b(46),m=b(7),L=b(19),d=b(24),v=b(72),M=b(70),w=b(71),S=b(153),A=b(17),R=b(10),u=b(6),f=b(5),y=b(25),D=b(36),I=b(30),U=b(14),F=b(79),G=b(1),Y=b.n(G),te=b(154),$=Y.a.mat4,oe=Y.a.vec3,ie=["px","nx","py","ny","pz","nz"];m.a.import(te.a);var ne=z.a.extend(function(){return{softShadow:ne.PCF,shadowBlur:1,lightFrustumBias:"auto",kernelPCF:new Float32Array([1,0,1,1,-1,1,0,1,-1,0,-1,-1,1,-1,0,-1]),precision:"mediump",_lastRenderNotCastShadow:!1,_frameBuffer:new R.a,_textures:{},_shadowMapNumber:{POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},_depthMaterials:{},_distanceMaterials:{},_opaqueCasters:[],_receivers:[],_lightsCastShadow:[],_lightCameras:{},_lightMaterials:{},_texturePool:new F.a}},function(){this._gaussianPassH=new U.a({fragment:m.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassV=new U.a({fragment:m.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassH.setUniform("blurSize",this.shadowBlur),this._gaussianPassH.setUniform("blurDir",0),this._gaussianPassV.setUniform("blurSize",this.shadowBlur),this._gaussianPassV.setUniform("blurDir",1),this._outputDepthPass=new U.a({fragment:m.a.source("clay.sm.debug_depth")})},{render:function(le,ae,de,se){de||(de=ae.getMainCamera()),this.trigger("beforerender",this,le,ae,de),this._renderShadowPass(le,ae,de,se),this.trigger("afterrender",this,le,ae,de)},renderDebug:function(le,ae){le.saveClear();var de=le.viewport,se=0,fe=0,ye=ae||de.width/4,ge=ye;this.softShadow===ne.VSM?this._outputDepthPass.material.define("fragment","USE_VSM"):this._outputDepthPass.material.undefine("fragment","USE_VSM");for(var xe in this._textures){var Me=this._textures[xe];le.setViewport(se,fe,ye*Me.width/Me.height,ge),this._outputDepthPass.setUniform("depthMap",Me),this._outputDepthPass.render(le),se+=ye*Me.width/Me.height}le.setViewport(de),le.restoreClear()},_updateCasterAndReceiver:function(le,ae){if(ae.castShadow&&this._opaqueCasters.push(ae),ae.receiveShadow?(this._receivers.push(ae),ae.material.set("shadowEnabled",1),ae.material.set("pcfKernel",this.kernelPCF)):ae.material.set("shadowEnabled",0),!ae.material.shader&&ae.material.updateShader&&ae.material.updateShader(le),this.softShadow===ne.VSM)ae.material.define("fragment","USE_VSM"),ae.material.undefine("fragment","PCF_KERNEL_SIZE");else{ae.material.undefine("fragment","USE_VSM");var de=this.kernelPCF;de&&de.length?ae.material.define("fragment","PCF_KERNEL_SIZE",de.length/2):ae.material.undefine("fragment","PCF_KERNEL_SIZE")}},_update:function(le,ae){for(var de=0;de<ae.opaqueList.length;de++)this._updateCasterAndReceiver(le,ae.opaqueList[de]);for(var de=0;de<ae.transparentList.length;de++)this._updateCasterAndReceiver(le,ae.transparentList[de]);for(var de=0;de<ae.lights.length;de++){var se=ae.lights[de];se.castShadow&&this._lightsCastShadow.push(se)}},_renderShadowPass:function(le,ae,de,se){for(var fe in this._shadowMapNumber)this._shadowMapNumber[fe]=0;this._lightsCastShadow.length=0,this._opaqueCasters.length=0,this._receivers.length=0;var ye=le.gl;if(se||ae.update(),de&&de.update(),this._update(le,ae),!this._lightsCastShadow.length&&this._lastRenderNotCastShadow)return;this._lastRenderNotCastShadow=this._lightsCastShadow===0,ye.enable(ye.DEPTH_TEST),ye.depthMask(!0),ye.disable(ye.BLEND),ye.clearColor(1,1,1,1);for(var ge=[],xe=[],Me=[],Ne=[],We=[],tt=[],Je,st=0;st<this._lightsCastShadow.length;st++){var yt=this._lightsCastShadow[st];if(yt instanceof M.a){if(Je){console.warn("Only one direectional light supported with shadow cascade");continue}if(yt.shadowCascade>4){console.warn("Support at most 4 cascade");continue}yt.shadowCascade>1&&(Je=yt.shadowCascade),this.renderDirectionalLightShadow(le,ae,de,yt,this._opaqueCasters,We,Ne,Me)}else yt instanceof v.a?this.renderSpotLightShadow(le,ae,yt,this._opaqueCasters,xe,ge):yt instanceof w.a&&this.renderPointLightShadow(le,ae,yt,this._opaqueCasters,tt);this._shadowMapNumber[yt.type]++}for(var gt in this._shadowMapNumber)for(var Ke=this._shadowMapNumber[gt],nt=gt+"_SHADOWMAP_COUNT",st=0;st<this._receivers.length;st++){var Ze=this._receivers[st],Ve=Ze.material;Ve.fragmentDefines[nt]!==Ke&&(Ke>0?Ve.define("fragment",nt,Ke):Ve.isDefined("fragment",nt)&&Ve.undefine("fragment",nt))}for(var st=0;st<this._receivers.length;st++){var Ze=this._receivers[st],Ve=Ze.material;Je?Ve.define("fragment","SHADOW_CASCADE",Je.shadowCascade):Ve.undefine("fragment","SHADOW_CASCADE")}var Pe=ae.shadowUniforms;function He(Ge){return Ge.height}if(Me.length>0){var be=Me.map(He);if(Pe.directionalLightShadowMaps={value:Me,type:"tv"},Pe.directionalLightMatrices={value:Ne,type:"m4v"},Pe.directionalLightShadowMapSizes={value:be,type:"1fv"},Je){var Ie=We.slice(),Te=We.slice();Ie.pop(),Te.shift(),Ie.reverse(),Te.reverse(),Ne.reverse(),Pe.shadowCascadeClipsNear={value:Ie,type:"1fv"},Pe.shadowCascadeClipsFar={value:Te,type:"1fv"}}}if(ge.length>0){var Re=ge.map(He),Pe=ae.shadowUniforms;Pe.spotLightShadowMaps={value:ge,type:"tv"},Pe.spotLightMatrices={value:xe,type:"m4v"},Pe.spotLightShadowMapSizes={value:Re,type:"1fv"}}tt.length>0&&(Pe.pointLightShadowMaps={value:tt,type:"tv"})},renderDirectionalLightShadow:function(){var le=new O.a,ae=new _.a,de=new x.a,se=new _.a,fe=new _.a,ye=new _.a,ge=new _.a;return function(xe,Me,Ne,We,tt,Je,st,yt){var gt=this._getDepthMaterial(We),Ke={getMaterial:function(Ot){return Ot.shadowDepthMaterial||gt},sortCompare:g.a.opaqueSortCompare};if(!Me.viewBoundingBoxLastFrame.isFinite()){var nt=Me.getBoundingBox();Me.viewBoundingBoxLastFrame.copy(nt).applyTransform(Ne.viewMatrix)}var Ze=Math.min(-Me.viewBoundingBoxLastFrame.min.z,Ne.far),Ve=Math.max(-Me.viewBoundingBoxLastFrame.max.z,Ne.near),Pe=this._getDirectionalLightCamera(We,Me,Ne),He=ye.array;ge.copy(Pe.projectionMatrix),$.invert(fe.array,Pe.worldTransform.array),$.multiply(fe.array,fe.array,Ne.worldTransform.array),$.multiply(He,ge.array,fe.array);for(var be=[],Ie=Ne instanceof D.a,Te=(Ne.near+Ne.far)/(Ne.near-Ne.far),Re=2*Ne.near*Ne.far/(Ne.near-Ne.far),Ge=0;Ge<=We.shadowCascade;Ge++){var Le=Ve*Math.pow(Ze/Ve,Ge/We.shadowCascade),Ue=Ve+(Ze-Ve)*Ge/We.shadowCascade,Qe=Le*We.cascadeSplitLogFactor+Ue*(1-We.cascadeSplitLogFactor);be.push(Qe),Je.push(-(-Qe*Te+Re)/-Qe)}var et=this._getTexture(We,We.shadowCascade);yt.push(et);var dt=xe.viewport,mt=xe.gl;this._frameBuffer.attach(et),this._frameBuffer.bind(xe),mt.clear(mt.COLOR_BUFFER_BIT|mt.DEPTH_BUFFER_BIT);for(var Ge=0;Ge<We.shadowCascade;Ge++){var Tt=be[Ge],At=be[Ge+1];Ie?$.perspective(ae.array,Ne.fov/180*Math.PI,Ne.aspect,Tt,At):$.ortho(ae.array,Ne.left,Ne.right,Ne.bottom,Ne.top,Tt,At),le.setFromProjection(ae),le.getTransformedBoundingBox(de,fe),de.applyProjection(ge);var Ye=de.min.array,ft=de.max.array;Ye[0]=Math.max(Ye[0],-1),Ye[1]=Math.max(Ye[1],-1),ft[0]=Math.min(ft[0],1),ft[1]=Math.min(ft[1],1),se.ortho(Ye[0],ft[0],Ye[1],ft[1],1,-1),Pe.projectionMatrix.multiplyLeft(se);var pt=We.shadowResolution||512;xe.setViewport((We.shadowCascade-Ge-1)*pt,0,pt,pt,1),xe.renderPass(tt,Pe,Ke),this.softShadow===ne.VSM&&this._gaussianFilter(xe,et,et.width);var _t=new _.a;_t.copy(Pe.viewMatrix).multiplyLeft(Pe.projectionMatrix),st.push(_t.array),Pe.projectionMatrix.copy(ge)}this._frameBuffer.unbind(xe),xe.setViewport(dt)}}(),renderSpotLightShadow:function(le,ae,de,se,fe,ye){var ge=this._getTexture(de),xe=this._getSpotLightCamera(de),Me=le.gl;this._frameBuffer.attach(ge),this._frameBuffer.bind(le),Me.clear(Me.COLOR_BUFFER_BIT|Me.DEPTH_BUFFER_BIT);var Ne=this._getDepthMaterial(de),We={getMaterial:function(Je){return Je.shadowDepthMaterial||Ne},sortCompare:g.a.opaqueSortCompare};le.renderPass(le.cullRenderList(se,null,xe),xe,We),this._frameBuffer.unbind(le),this.softShadow===ne.VSM&&this._gaussianFilter(le,ge,ge.width);var tt=new _.a;tt.copy(xe.worldTransform).invert().multiplyLeft(xe.projectionMatrix),ye.push(ge),fe.push(tt.array)},renderPointLightShadow:function(le,ae,de,se,fe){var ye=this._getTexture(de),ge=le.gl;fe.push(ye);for(var xe=this._getDepthMaterial(de),Me={getMaterial:function(Je){return Je.shadowDepthMaterial||xe},sortCompare:g.a.opaqueSortCompare},Ne=0;Ne<6;Ne++){var We=ie[Ne],tt=this._getPointLightCamera(de,We);this._frameBuffer.attach(ye,ge.COLOR_ATTACHMENT0,ge.TEXTURE_CUBE_MAP_POSITIVE_X+Ne),this._frameBuffer.bind(le),ge.clear(ge.COLOR_BUFFER_BIT|ge.DEPTH_BUFFER_BIT),le.renderPass(le.cullRenderList(se,null,tt),tt,Me)}this._frameBuffer.unbind(le)},_getDepthMaterial:function(le){var ae=this._lightMaterials[le.__uid__],de=le instanceof w.a;if(!ae){var se=de?"clay.sm.distance.":"clay.sm.depth.";ae=new A.a({precision:this.precision,shader:new m.a(m.a.source(se+"vertex"),m.a.source(se+"fragment"))}),this._lightMaterials[le.__uid__]=ae}return le.shadowSlopeScale!=null&&ae.setUniform("slopeScale",le.shadowSlopeScale),le.shadowBias!=null&&ae.setUniform("shadowBias",le.shadowBias),this.softShadow===ne.VSM?ae.define("fragment","USE_VSM"):ae.undefine("fragment","USE_VSM"),de&&(ae.set("lightPosition",le.getWorldPosition().array),ae.set("range",le.range)),ae},_gaussianFilter:function(le,ae,de){var se={width:de,height:de,type:u.a.FLOAT},fe=this._texturePool.get(se);this._frameBuffer.attach(fe),this._frameBuffer.bind(le),this._gaussianPassH.setUniform("texture",ae),this._gaussianPassH.setUniform("textureWidth",de),this._gaussianPassH.render(le),this._frameBuffer.attach(ae),this._gaussianPassV.setUniform("texture",fe),this._gaussianPassV.setUniform("textureHeight",de),this._gaussianPassV.render(le),this._frameBuffer.unbind(le),this._texturePool.put(fe)},_getTexture:function(le,ae){var de=le.__uid__,se=this._textures[de],fe=le.shadowResolution||512;return ae=ae||1,se||(le instanceof w.a?se=new y.a:se=new f.a,se.width=fe*ae,se.height=fe,this.softShadow===ne.VSM?(se.type=u.a.FLOAT,se.anisotropic=4):(se.minFilter=P.a.NEAREST,se.magFilter=P.a.NEAREST,se.useMipmap=!1),this._textures[de]=se),se},_getPointLightCamera:function(le,ae){this._lightCameras.point||(this._lightCameras.point={px:new D.a,nx:new D.a,py:new D.a,ny:new D.a,pz:new D.a,nz:new D.a});var de=this._lightCameras.point[ae];switch(de.far=le.range,de.fov=90,de.position.set(0,0,0),ae){case"px":de.lookAt(T.a.POSITIVE_X,T.a.NEGATIVE_Y);break;case"nx":de.lookAt(T.a.NEGATIVE_X,T.a.NEGATIVE_Y);break;case"py":de.lookAt(T.a.POSITIVE_Y,T.a.POSITIVE_Z);break;case"ny":de.lookAt(T.a.NEGATIVE_Y,T.a.NEGATIVE_Z);break;case"pz":de.lookAt(T.a.POSITIVE_Z,T.a.NEGATIVE_Y);break;case"nz":de.lookAt(T.a.NEGATIVE_Z,T.a.NEGATIVE_Y);break}return le.getWorldPosition(de.position),de.update(),de},_getDirectionalLightCamera:function(){var le=new _.a,ae=new x.a,de=new x.a;return function(se,fe,ye){this._lightCameras.directional||(this._lightCameras.directional=new I.a);var ge=this._lightCameras.directional;ae.copy(fe.viewBoundingBoxLastFrame),ae.intersection(ye.frustum.boundingBox),ge.position.copy(ae.min).add(ae.max).scale(.5).transformMat4(ye.worldTransform),ge.rotation.copy(se.rotation),ge.scale.copy(se.scale),ge.updateWorldTransform(),_.a.invert(le,ge.worldTransform),_.a.multiply(le,le,ye.worldTransform),de.copy(ae).applyTransform(le);var xe=de.min.array,Me=de.max.array;return ge.position.set((xe[0]+Me[0])/2,(xe[1]+Me[1])/2,Me[2]).transformMat4(ge.worldTransform),ge.near=0,ge.far=-xe[2]+Me[2],isNaN(this.lightFrustumBias)?ge.far*=4:ge.far+=this.lightFrustumBias,ge.left=xe[0],ge.right=Me[0],ge.top=Me[1],ge.bottom=xe[1],ge.update(!0),ge}}(),_getSpotLightCamera:function(le){this._lightCameras.spot||(this._lightCameras.spot=new D.a);var ae=this._lightCameras.spot;return ae.fov=le.penumbraAngle*2,ae.far=le.range,ae.worldTransform.copy(le.worldTransform),ae.updateProjectionMatrix(),$.invert(ae.viewMatrix.array,ae.worldTransform.array),ae},dispose:function(le){var ae=le.gl||le;this._frameBuffer&&this._frameBuffer.dispose(ae);for(var de in this._textures)this._textures[de].dispose(ae);this._texturePool.clear(le.gl),this._depthMaterials={},this._distanceMaterials={},this._textures={},this._lightCameras={},this._shadowMapNumber={POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},this._meshMaterials={};for(var se=0;se<this._receivers.length;se++){var fe=this._receivers[se];if(fe.material&&fe.material.shader){var ye=fe.material,ge=ye.shader;ge.undefine("fragment","POINT_LIGHT_SHADOW_COUNT"),ge.undefine("fragment","DIRECTIONAL_LIGHT_SHADOW_COUNT"),ge.undefine("fragment","AMBIENT_LIGHT_SHADOW_COUNT"),ye.set("shadowEnabled",0)}}this._opaqueCasters=[],this._receivers=[],this._lightsCastShadow=[]}});ne.VSM=1,ne.PCF=2,H.a=ne},function(q,H,b){"use strict";var z=b(7),P={};function T(){this._pool={}}T.prototype.get=function(g){var m=g;if(this._pool[m])return this._pool[m];var L=P[g];if(!L){console.error('Shader "'+g+'" is not in the library');return}var d=new z.a(L.vertex,L.fragment);return this._pool[m]=d,d},T.prototype.clear=function(){this._pool={}};function x(g,m,L){P[g]={vertex:m,fragment:L}}var O=new T,_={createLibrary:function(){return new T},get:function(){return O.get.apply(O,arguments)},template:x,clear:function(){return O.clear()}}},function(q,H,b){"use strict";H.a=`@export clay.sm.depth.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
#ifdef SHADOW_TRANSPARENT
attribute vec2 texcoord : TEXCOORD_0;
#endif
@import clay.chunk.skinning_header
varying vec4 v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
varying vec2 v_Texcoord;
#endif
void main(){
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
v_ViewPosition = worldViewProjection * vec4(skinnedPosition, 1.0);
gl_Position = v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
v_Texcoord = texcoord;
#endif
}
@end
@export clay.sm.depth.fragment
varying vec4 v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
varying vec2 v_Texcoord;
#endif
uniform float bias : 0.001;
uniform float slopeScale : 1.0;
#ifdef SHADOW_TRANSPARENT
uniform sampler2D transparentMap;
#endif
@import clay.util.encode_float
void main(){
float depth = v_ViewPosition.z / v_ViewPosition.w;
#ifdef USE_VSM
depth = depth * 0.5 + 0.5;
float moment1 = depth;
float moment2 = depth * depth;
float dx = dFdx(depth);
float dy = dFdy(depth);
moment2 += 0.25*(dx*dx+dy*dy);
gl_FragColor = vec4(moment1, moment2, 0.0, 1.0);
#else
float dx = dFdx(depth);
float dy = dFdy(depth);
depth += sqrt(dx*dx + dy*dy) * slopeScale + bias;
#ifdef SHADOW_TRANSPARENT
if (texture2D(transparentMap, v_Texcoord).a <= 0.1) {
gl_FragColor = encodeFloat(0.9999);
return;
}
#endif
gl_FragColor = encodeFloat(depth * 0.5 + 0.5);
#endif
}
@end
@export clay.sm.debug_depth
uniform sampler2D depthMap;
varying vec2 v_Texcoord;
@import clay.util.decode_float
void main() {
vec4 tex = texture2D(depthMap, v_Texcoord);
#ifdef USE_VSM
gl_FragColor = vec4(tex.rgb, 1.0);
#else
float depth = decodeFloat(tex);
gl_FragColor = vec4(depth, depth, depth, 1.0);
#endif
}
@end
@export clay.sm.distance.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform mat4 world : WORLD;
attribute vec3 position : POSITION;
@import clay.chunk.skinning_header
varying vec3 v_WorldPosition;
void main (){
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
gl_Position = worldViewProjection * vec4(skinnedPosition , 1.0);
v_WorldPosition = (world * vec4(skinnedPosition, 1.0)).xyz;
}
@end
@export clay.sm.distance.fragment
uniform vec3 lightPosition;
uniform float range : 100;
varying vec3 v_WorldPosition;
@import clay.util.encode_float
void main(){
float dist = distance(lightPosition, v_WorldPosition);
#ifdef USE_VSM
gl_FragColor = vec4(dist, dist * dist, 0.0, 0.0);
#else
dist = dist / range;
gl_FragColor = encodeFloat(dist);
#endif
}
@end
@export clay.plugin.shadow_map_common
@import clay.util.decode_float
float tapShadowMap(sampler2D map, vec2 uv, float z){
vec4 tex = texture2D(map, uv);
return step(z, decodeFloat(tex) * 2.0 - 1.0);
}
float pcf(sampler2D map, vec2 uv, float z, float textureSize, vec2 scale) {
float shadowContrib = tapShadowMap(map, uv, z);
vec2 offset = vec2(1.0 / textureSize) * scale;
#ifdef PCF_KERNEL_SIZE
for (int _idx_ = 0; _idx_ < PCF_KERNEL_SIZE; _idx_++) {{
shadowContrib += tapShadowMap(map, uv + offset * pcfKernel[_idx_], z);
}}
return shadowContrib / float(PCF_KERNEL_SIZE + 1);
#else
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, 0.0), z);
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(0.0, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, 0.0), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, -offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, -offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(0.0, -offset.y), z);
return shadowContrib / 9.0;
#endif
}
float pcf(sampler2D map, vec2 uv, float z, float textureSize) {
return pcf(map, uv, z, textureSize, vec2(1.0));
}
float chebyshevUpperBound(vec2 moments, float z){
float p = 0.0;
z = z * 0.5 + 0.5;
if (z <= moments.x) {
p = 1.0;
}
float variance = moments.y - moments.x * moments.x;
variance = max(variance, 0.0000001);
float mD = moments.x - z;
float pMax = variance / (variance + mD * mD);
pMax = clamp((pMax-0.4)/(1.0-0.4), 0.0, 1.0);
return max(p, pMax);
}
float computeShadowContrib(
sampler2D map, mat4 lightVPM, vec3 position, float textureSize, vec2 scale, vec2 offset
) {
vec4 posInLightSpace = lightVPM * vec4(position, 1.0);
posInLightSpace.xyz /= posInLightSpace.w;
float z = posInLightSpace.z;
if(all(greaterThan(posInLightSpace.xyz, vec3(-0.99, -0.99, -1.0))) &&
all(lessThan(posInLightSpace.xyz, vec3(0.99, 0.99, 1.0)))){
vec2 uv = (posInLightSpace.xy+1.0) / 2.0;
#ifdef USE_VSM
vec2 moments = texture2D(map, uv * scale + offset).xy;
return chebyshevUpperBound(moments, z);
#else
return pcf(map, uv * scale + offset, z, textureSize, scale);
#endif
}
return 1.0;
}
float computeShadowContrib(sampler2D map, mat4 lightVPM, vec3 position, float textureSize) {
return computeShadowContrib(map, lightVPM, position, textureSize, vec2(1.0), vec2(0.0));
}
float computeShadowContribOmni(samplerCube map, vec3 direction, float range)
{
float dist = length(direction);
vec4 shadowTex = textureCube(map, direction);
#ifdef USE_VSM
vec2 moments = shadowTex.xy;
float variance = moments.y - moments.x * moments.x;
float mD = moments.x - dist;
float p = variance / (variance + mD * mD);
if(moments.x + 0.001 < dist){
return clamp(p, 0.0, 1.0);
}else{
return 1.0;
}
#else
return step(dist, (decodeFloat(shadowTex) + 0.0002) * range);
#endif
}
@end
@export clay.plugin.compute_shadow_map
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT) || defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) || defined(POINT_LIGHT_SHADOWMAP_COUNT)
#ifdef SPOT_LIGHT_SHADOWMAP_COUNT
uniform sampler2D spotLightShadowMaps[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform mat4 spotLightMatrices[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform float spotLightShadowMapSizes[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
#ifdef DIRECTIONAL_LIGHT_SHADOWMAP_COUNT
#if defined(SHADOW_CASCADE)
uniform sampler2D directionalLightShadowMaps[1]:unconfigurable;
uniform mat4 directionalLightMatrices[SHADOW_CASCADE]:unconfigurable;
uniform float directionalLightShadowMapSizes[1]:unconfigurable;
uniform float shadowCascadeClipsNear[SHADOW_CASCADE]:unconfigurable;
uniform float shadowCascadeClipsFar[SHADOW_CASCADE]:unconfigurable;
#else
uniform sampler2D directionalLightShadowMaps[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform mat4 directionalLightMatrices[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform float directionalLightShadowMapSizes[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
#endif
#ifdef POINT_LIGHT_SHADOWMAP_COUNT
uniform samplerCube pointLightShadowMaps[POINT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
uniform bool shadowEnabled : true;
#ifdef PCF_KERNEL_SIZE
uniform vec2 pcfKernel[PCF_KERNEL_SIZE];
#endif
@import clay.plugin.shadow_map_common
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT)
void computeShadowOfSpotLights(vec3 position, inout float shadowContribs[SPOT_LIGHT_COUNT] ) {
float shadowContrib;
for(int _idx_ = 0; _idx_ < SPOT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
shadowContrib = computeShadowContrib(
spotLightShadowMaps[_idx_], spotLightMatrices[_idx_], position,
spotLightShadowMapSizes[_idx_]
);
shadowContribs[_idx_] = shadowContrib;
}}
for(int _idx_ = SPOT_LIGHT_SHADOWMAP_COUNT; _idx_ < SPOT_LIGHT_COUNT; _idx_++){{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
#ifdef SHADOW_CASCADE
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
float depth = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far)
/ (gl_DepthRange.far - gl_DepthRange.near);
float shadowContrib;
shadowContribs[0] = 1.0;
for (int _idx_ = 0; _idx_ < SHADOW_CASCADE; _idx_++) {{
if (
depth >= shadowCascadeClipsNear[_idx_] &&
depth <= shadowCascadeClipsFar[_idx_]
) {
shadowContrib = computeShadowContrib(
directionalLightShadowMaps[0], directionalLightMatrices[_idx_], position,
directionalLightShadowMapSizes[0],
vec2(1.0 / float(SHADOW_CASCADE), 1.0),
vec2(float(_idx_) / float(SHADOW_CASCADE), 0.0)
);
shadowContribs[0] = shadowContrib;
}
}}
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#else
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
float shadowContrib;
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
shadowContrib = computeShadowContrib(
directionalLightShadowMaps[_idx_], directionalLightMatrices[_idx_], position,
directionalLightShadowMapSizes[_idx_]
);
shadowContribs[_idx_] = shadowContrib;
}}
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#endif
#if defined(POINT_LIGHT_SHADOWMAP_COUNT)
void computeShadowOfPointLights(vec3 position, inout float shadowContribs[POINT_LIGHT_COUNT] ){
vec3 lightPosition;
vec3 direction;
for(int _idx_ = 0; _idx_ < POINT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
lightPosition = pointLightPosition[_idx_];
direction = position - lightPosition;
shadowContribs[_idx_] = computeShadowContribOmni(pointLightShadowMaps[_idx_], direction, pointLightRange[_idx_]);
}}
for(int _idx_ = POINT_LIGHT_SHADOWMAP_COUNT; _idx_ < POINT_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#endif
@end`},function(q,H,b){"use strict";var z=b(7),P=b(5),T=b(6),x=b(10),O=b(156),_=b(162),g=b(164),m=b(166),L=b(2),d=b(167),v=b(169),M=b(9),w=b(170),S=b(171),A=b(172),R=b(173),u=b(174),f=b(175),y=b(176),D=b(177),I=b(178),U=b(179),F=b(180),G=b(181);z.a.import(S.a),z.a.import(A.a),z.a.import(R.a),z.a.import(u.a),z.a.import(f.a),z.a.import(y.a),z.a.import(D.a),z.a.import(I.a),z.a.import(U.a),z.a.import(F.a),z.a.import(G.a);var Y={color:{parameters:{width:function(oe){return oe.getWidth()},height:function(oe){return oe.getHeight()}}}},te=["composite","FXAA"];function $(){this._sourceTexture=new P.a({type:T.a.HALF_FLOAT}),this._depthTexture=new P.a({format:T.a.DEPTH_COMPONENT,type:T.a.UNSIGNED_INT}),this._framebuffer=new x.a,this._framebuffer.attach(this._sourceTexture),this._framebuffer.attach(this._depthTexture,x.a.DEPTH_ATTACHMENT),this._normalPass=new d.a,this._compositor=Object(O.a)(w.a);var oe=this._compositor.getNodeByName("source");oe.texture=this._sourceTexture;var ie=this._compositor.getNodeByName("coc");this._sourceNode=oe,this._cocNode=ie,this._compositeNode=this._compositor.getNodeByName("composite"),this._fxaaNode=this._compositor.getNodeByName("FXAA"),this._dofBlurNodes=["dof_far_blur","dof_near_blur","dof_coc_blur"].map(function(le){return this._compositor.getNodeByName(le)},this),this._dofBlurKernel=0,this._dofBlurKernelSize=new Float32Array(0),this._finalNodesChain=te.map(function(le){return this._compositor.getNodeByName(le)},this);var ne={normalTexture:this._normalPass.getNormalTexture(),depthTexture:this._normalPass.getDepthTexture()};this._ssaoPass=new _.a(ne),this._ssrPass=new g.a(ne),this._edgePass=new v.a(ne)}$.prototype.resize=function(le,ae,ne){ne=ne||1;var le=le*ne,ae=ae*ne,de=this._sourceTexture,se=this._depthTexture;de.width=le,de.height=ae,se.width=le,se.height=ae},$.prototype._ifRenderNormalPass=function(){return this._enableSSAO||this._enableEdge||this._enableSSR},$.prototype._getPrevNode=function(oe){for(var ie=te.indexOf(oe.name)-1,ne=this._finalNodesChain[ie];ne&&!this._compositor.getNodeByName(ne.name);)ie-=1,ne=this._finalNodesChain[ie];return ne},$.prototype._getNextNode=function(oe){for(var ie=te.indexOf(oe.name)+1,ne=this._finalNodesChain[ie];ne&&!this._compositor.getNodeByName(ne.name);)ie+=1,ne=this._finalNodesChain[ie];return ne},$.prototype._addChainNode=function(oe){var ie=this._getPrevNode(oe),ne=this._getNextNode(oe);ie&&(ie.outputs=Y,oe.inputs.texture=ie.name,ne?(oe.outputs=Y,ne.inputs.texture=oe.name):oe.outputs=null,this._compositor.addNode(oe))},$.prototype._removeChainNode=function(oe){var ie=this._getPrevNode(oe),ne=this._getNextNode(oe);ie&&(ne?(ie.outputs=Y,ne.inputs.texture=ie.name):ie.outputs=null,this._compositor.removeNode(oe))},$.prototype.updateNormal=function(oe,ie,ne,le){this._ifRenderNormalPass()&&this._normalPass.update(oe,ie,ne)},$.prototype.updateSSAO=function(oe,ie,ne,le){this._ssaoPass.update(oe,ne,le)},$.prototype.enableSSAO=function(){this._enableSSAO=!0},$.prototype.disableSSAO=function(){this._enableSSAO=!1},$.prototype.enableSSR=function(){this._enableSSR=!0},$.prototype.disableSSR=function(){this._enableSSR=!1},$.prototype.getSSAOTexture=function(oe,ie,ne,le){return this._ssaoPass.getTargetTexture()},$.prototype.getSourceFrameBuffer=function(){return this._framebuffer},$.prototype.getSourceTexture=function(){return this._sourceTexture},$.prototype.disableFXAA=function(){this._removeChainNode(this._fxaaNode)},$.prototype.enableFXAA=function(){this._addChainNode(this._fxaaNode)},$.prototype.enableBloom=function(){this._compositeNode.inputs.bloom="bloom_composite",this._compositor.dirty()},$.prototype.disableBloom=function(){this._compositeNode.inputs.bloom=null,this._compositor.dirty()},$.prototype.enableDOF=function(){this._compositeNode.inputs.texture="dof_composite",this._compositor.dirty()},$.prototype.disableDOF=function(){this._compositeNode.inputs.texture="source",this._compositor.dirty()},$.prototype.enableColorCorrection=function(){this._compositeNode.define("COLOR_CORRECTION"),this._enableColorCorrection=!0},$.prototype.disableColorCorrection=function(){this._compositeNode.undefine("COLOR_CORRECTION"),this._enableColorCorrection=!1},$.prototype.enableEdge=function(){this._enableEdge=!0},$.prototype.disableEdge=function(){this._enableEdge=!1},$.prototype.setBloomIntensity=function(oe){this._compositeNode.setParameter("bloomIntensity",oe)},$.prototype.setSSAOParameter=function(oe,ie){switch(oe){case"quality":var ne={low:6,medium:12,high:32,ultra:62}[ie]||12;this._ssaoPass.setParameter("kernelSize",ne);break;case"radius":this._ssaoPass.setParameter(oe,ie),this._ssaoPass.setParameter("bias",ie/200);break;case"intensity":this._ssaoPass.setParameter(oe,ie);break;default:console.warn("Unkown SSAO parameter "+oe)}},$.prototype.setDOFParameter=function(oe,ie){switch(oe){case"focalDistance":case"focalRange":case"fstop":this._cocNode.setParameter(oe,ie);break;case"blurRadius":for(var ne=0;ne<this._dofBlurNodes.length;ne++)this._dofBlurNodes[ne].setParameter("blurRadius",ie);break;case"quality":var le={low:4,medium:8,high:16,ultra:32}[ie]||8;this._dofBlurKernelSize=le;for(var ne=0;ne<this._dofBlurNodes.length;ne++)this._dofBlurNodes[ne].pass.material.define("POISSON_KERNEL_SIZE",le);this._dofBlurKernel=new Float32Array(le*2);break;default:console.warn("Unkown DOF parameter "+oe)}},$.prototype.setSSRParameter=function(oe,ie){switch(oe){case"quality":var ne={low:10,medium:20,high:40,ultra:80}[ie]||20,le={low:32,medium:16,high:8,ultra:4}[ie]||16;this._ssrPass.setParameter("maxIteration",ne),this._ssrPass.setParameter("pixelStride",le);break;case"maxRoughness":this._ssrPass.setParameter("minGlossiness",Math.max(Math.min(1-ie,1),0));break;default:console.warn("Unkown SSR parameter "+oe)}},$.prototype.setEdgeColor=function(oe){var ie=L.a.parseColor(oe);this._edgePass.setParameter("edgeColor",ie)},$.prototype.setExposure=function(oe){this._compositeNode.setParameter("exposure",Math.pow(2,oe))},$.prototype.setColorLookupTexture=function(oe,ie){this._compositeNode.pass.material.setTextureImage("lut",this._enableColorCorrection?oe:"none",ie,{minFilter:L.a.Texture.NEAREST,magFilter:L.a.Texture.NEAREST,flipY:!1})},$.prototype.setColorCorrection=function(oe,ie){this._compositeNode.setParameter(oe,ie)},$.prototype.composite=function(oe,ie,ne,le){var ae=this._sourceTexture,de=ae;this._enableEdge&&(this._edgePass.update(oe,ie,ae,le),ae=de=this._edgePass.getTargetTexture()),this._enableSSR&&(this._ssrPass.update(oe,ie,ae,le),de=this._ssrPass.getTargetTexture(),this._ssrPass.setSSAOTexture(this._enableSSAO?this._ssaoPass.getTargetTexture():null)),this._sourceNode.texture=de,this._cocNode.setParameter("depth",this._depthTexture);for(var se=this._dofBlurKernel,fe=this._dofBlurKernelSize,ye=Math.floor(m.a.length/2/fe),ge=le%ye,xe=0;xe<fe*2;xe++)se[xe]=m.a[xe+ge*fe*2];for(var xe=0;xe<this._dofBlurNodes.length;xe++)this._dofBlurNodes[xe].setParameter("percent",le/30),this._dofBlurNodes[xe].setParameter("poissonKernel",se);this._cocNode.setParameter("zNear",ie.near),this._cocNode.setParameter("zFar",ie.far),this._compositor.render(oe,ne)},$.prototype.dispose=function(oe){this._sourceTexture.dispose(oe),this._depthTexture.dispose(oe),this._framebuffer.dispose(oe),this._compositor.dispose(oe),this._normalPass.dispose(oe),this._ssaoPass.dispose(oe)},H.a=$},function(q,H,b){"use strict";var z=b(21),P=b(157),T=b(159),x=b(160),O=b(161),_=b(7),g=b(6),m=b(5),L=b(25),d=/^#source\((.*?)\)/;function v(f,y){var D=new P.a;y=y||{};var I={textures:{},parameters:{}},U=function(Y,te){for(var $=0;$<f.nodes.length;$++){var oe=f.nodes[$],ie=M(oe,I,y);ie&&D.addNode(ie)}};for(var F in f.parameters){var G=f.parameters[F];I.parameters[F]=w(G)}return S(f,I,y,function(Y){I.textures=Y,U()}),D}function M(f,y,D){var I=f.type||"filter",U,F,G;if(I==="filter"){var Y=f.shader.trim(),te=d.exec(Y);if(te?U=_.a.source(te[1].trim()):Y.charAt(0)==="#"&&(U=y.shaders[Y.substr(1)]),U||(U=Y),!U)return}if(f.inputs){F={};for(var $ in f.inputs)typeof f.inputs[$]=="string"?F[$]=f.inputs[$]:F[$]={node:f.inputs[$].node,pin:f.inputs[$].pin}}if(f.outputs){G={};for(var $ in f.outputs){var oe=f.outputs[$];G[$]={},oe.attachment!=null&&(G[$].attachment=oe.attachment),oe.keepLastFrame!=null&&(G[$].keepLastFrame=oe.keepLastFrame),oe.outputLastFrame!=null&&(G[$].outputLastFrame=oe.outputLastFrame),oe.parameters&&(G[$].parameters=w(oe.parameters))}}var ie;if(I==="scene"?ie=new T.a({name:f.name,scene:D.scene,camera:D.camera,outputs:G}):I==="texture"?ie=new x.a({name:f.name,outputs:G}):ie=new O.a({name:f.name,shader:U,inputs:F,outputs:G}),ie){if(f.parameters)for(var $ in f.parameters){var ne=f.parameters[$];typeof ne=="string"&&(ne=ne.trim(),ne.charAt(0)==="#"?ne=y.textures[ne.substr(1)]:ie.on("beforerender",A($,u(ne)))),ie.setParameter($,ne)}if(f.defines&&ie.pass)for(var $ in f.defines){var ne=f.defines[$];ie.pass.material.define("fragment",$,ne)}}return ie}function w(f){var y={};return f&&(["type","minFilter","magFilter","wrapS","wrapT","flipY","useMipmap"].forEach(function(D){var I=f[D];I!=null&&(typeof I=="string"&&(I=g.a[I]),y[D]=I)}),["width","height"].forEach(function(D){if(f[D]!=null){var I=f[D];typeof I=="string"?(I=I.trim(),y[D]=R(D,u(I))):y[D]=I}}),f.useMipmap!=null&&(y.useMipmap=f.useMipmap)),y}function S(f,y,D,I){if(!f.textures){I({});return}var U={},F=0,G=!1,Y=D.textureRootPath;z.a.each(f.textures,function(te,$){var oe,ie=te.path,ne=w(te.parameters);if(Array.isArray(ie)&&ie.length===6)Y&&(ie=ie.map(function(le){return z.a.relative2absolute(le,Y)})),oe=new L.a(ne);else if(typeof ie=="string")Y&&(ie=z.a.relative2absolute(ie,Y)),oe=new m.a(ne);else return;oe.load(ie),F++,oe.once("success",function(){U[$]=oe,F--,F===0&&(I(U),G=!0)})}),F===0&&!G&&I(U)}function A(f,y){return function(D){var I=D.getDevicePixelRatio(),U=D.getWidth(),F=D.getHeight(),G=y(U,F,I);this.setParameter(f,G)}}function R(f,y){return function(D){var I=D.getDevicePixelRatio(),U=D.getWidth(),F=D.getHeight();return y(U,F,I)}}function u(f){var y=/^expr\((.*)\)$/.exec(f);if(y)try{var D=new Function("width","height","dpr","return "+y[1]);return D(1,1),D}catch(I){throw new Error("Invalid expression.")}}H.a=v},function(q,H,b){"use strict";var z=b(158),P=b(79),T=b(10),x=z.a.extend(function(){return{_outputs:[],_texturePool:new P.a,_frameBuffer:new T.a({depthBuffer:!1})}},{addNode:function(O){z.a.prototype.addNode.call(this,O),O._compositor=this},render:function(O,_){if(this._dirty){this.update(),this._dirty=!1,this._outputs.length=0;for(var g=0;g<this.nodes.length;g++)this.nodes[g].outputs||this._outputs.push(this.nodes[g])}for(var g=0;g<this.nodes.length;g++)this.nodes[g].beforeFrame();for(var g=0;g<this._outputs.length;g++)this._outputs[g].updateReference();for(var g=0;g<this._outputs.length;g++)this._outputs[g].render(O,_);for(var g=0;g<this.nodes.length;g++)this.nodes[g].afterFrame()},allocateTexture:function(O){return this._texturePool.get(O)},releaseTexture:function(O){this._texturePool.put(O)},getFrameBuffer:function(){return this._frameBuffer},dispose:function(O){this._texturePool.clear(O)}});H.a=x},function(q,H,b){"use strict";var z=b(8),P=b(42),T=z.a.extend(function(){return{nodes:[]}},{dirty:function(){this._dirty=!0},addNode:function(x){this.nodes.indexOf(x)>=0||(this.nodes.push(x),this._dirty=!0)},removeNode:function(x){typeof x=="string"&&(x=this.getNodeByName(x));var O=this.nodes.indexOf(x);O>=0&&(this.nodes.splice(O,1),this._dirty=!0)},getNodeByName:function(x){for(var O=0;O<this.nodes.length;O++)if(this.nodes[O].name===x)return this.nodes[O]},update:function(){for(var x=0;x<this.nodes.length;x++)this.nodes[x].clear();for(var x=0;x<this.nodes.length;x++){var O=this.nodes[x];if(O.inputs){for(var _ in O.inputs)if(O.inputs[_]){if(O.pass&&!O.pass.material.isUniformEnabled(_)){console.warn("Pin "+O.name+"."+_+" not used.");continue}var g=O.inputs[_],m=this.findPin(g);m?O.link(_,m.node,m.pin):console.warn(typeof g=="string"?"Node "+g+" not exist":"Pin of "+g.node+"."+g.pin+" not exist")}}}},findPin:function(x){var O;if((typeof x=="string"||x instanceof P.a)&&(x={node:x}),typeof x.node=="string")for(var _=0;_<this.nodes.length;_++){var g=this.nodes[_];g.name===x.node&&(O=g)}else O=x.node;if(O){var m=x.pin;if(m||O.outputs&&(m=Object.keys(O.outputs)[0]),O.outputs[m])return{node:O,pin:m}}}});H.a=T},function(q,H,b){"use strict";var z=b(42),P=b(11),T=b(10),x=z.a.extend({name:"scene",scene:null,camera:null,autoUpdateScene:!0,preZ:!1},function(){this.frameBuffer=new T.a},{render:function(O){this._rendering=!0;var _=O.gl;this.trigger("beforerender");var g;if(!this.outputs)g=O.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ);else{var m=this.frameBuffer;for(var L in this.outputs){var d=this.updateParameter(L,O),v=this.outputs[L],M=this._compositor.allocateTexture(d);this._outputTextures[L]=M;var w=v.attachment||_.COLOR_ATTACHMENT0;typeof w=="string"&&(w=_[w]),m.attach(M,w)}m.bind(O);var S=O.getGLExtension("EXT_draw_buffers");if(S){var A=[];for(var w in this.outputs)w=parseInt(w),w>=_.COLOR_ATTACHMENT0&&w<=_.COLOR_ATTACHMENT0+8&&A.push(w);S.drawBuffersEXT(A)}O.saveClear(),O.clearBit=P.a.DEPTH_BUFFER_BIT|P.a.COLOR_BUFFER_BIT,g=O.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),O.restoreClear(),m.unbind(O)}this.trigger("afterrender",g),this._rendering=!1,this._rendered=!0}});H.a=x},function(q,H,b){"use strict";var z=b(42),P=z.a.extend(function(){return{texture:null,outputs:{color:{}}}},function(){},{getOutput:function(T,x){return this.texture},beforeFrame:function(){},afterFrame:function(){}});H.a=P},function(q,H,b){"use strict";var z=b(14),P=b(42),T=P.a.extend(function(){return{name:"",inputs:{},outputs:null,shader:"",inputLinks:{},outputLinks:{},pass:null,_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},function(){var x=new z.a({fragment:this.shader});this.pass=x},{render:function(x,O){this.trigger("beforerender",x),this._rendering=!0;var _=x.gl;for(var g in this.inputLinks){var m=this.inputLinks[g],L=m.node.getOutput(x,m.pin);this.pass.setUniform(g,L)}if(!this.outputs)this.pass.outputs=null,this._compositor.getFrameBuffer().unbind(x),this.pass.render(x,O);else{this.pass.outputs={};var d={};for(var v in this.outputs){var M=this.updateParameter(v,x);isNaN(M.width)&&this.updateParameter(v,x);var w=this.outputs[v],S=this._compositor.allocateTexture(M);this._outputTextures[v]=S;var A=w.attachment||_.COLOR_ATTACHMENT0;typeof A=="string"&&(A=_[A]),d[A]=S}this._compositor.getFrameBuffer().bind(x);for(var A in d)this._compositor.getFrameBuffer().attach(d[A],A);this.pass.render(x),this._compositor.getFrameBuffer().updateMipmap(x.gl)}for(var g in this.inputLinks){var m=this.inputLinks[g];m.node.removeReference(m.pin)}this._rendering=!1,this._rendered=!0,this.trigger("afterrender",x)},updateParameter:function(x,O){var _=this.outputs[x],g=_.parameters,m=_._parametersCopy;if(m||(m=_._parametersCopy={}),g)for(var L in g)L!=="width"&&L!=="height"&&(m[L]=g[L]);var d,v;return g.width instanceof Function?d=g.width.call(this,O):d=g.width,g.height instanceof Function?v=g.height.call(this,O):v=g.height,(m.width!==d||m.height!==v)&&this._outputTextures[x]&&this._outputTextures[x].dispose(O),m.width=d,m.height=v,m},setParameter:function(x,O){this.pass.setUniform(x,O)},getParameter:function(x){return this.pass.getUniform(x)},setParameters:function(x){for(var O in x)this.setParameter(O,x[O])},define:function(x,O){this.pass.material.define("fragment",x,O)},undefine:function(x){this.pass.material.undefine("fragment",x)},removeReference:function(x){if(this._outputReferences[x]--,this._outputReferences[x]===0){var O=this.outputs[x];O.keepLastFrame?(this._prevOutputTextures[x]&&this._compositor.releaseTexture(this._prevOutputTextures[x]),this._prevOutputTextures[x]=this._outputTextures[x]):this._compositor.releaseTexture(this._outputTextures[x])}},clear:function(){P.a.prototype.clear.call(this),this.pass.material.disableTexturesAll()}});H.a=T},function(q,H,b){"use strict";var z=b(9),P=b(4),T=b(5),x=b(6),O=b(14),_=b(7),g=b(10),m=b(43),L=b(163);_.a.import(L.a);function d(S){for(var A=new Uint8Array(S*S*4),R=0,u=new P.a,f=0;f<S;f++)for(var y=0;y<S;y++)u.set(Math.random()*2-1,Math.random()*2-1,0).normalize(),A[R++]=(u.x*.5+.5)*255,A[R++]=(u.y*.5+.5)*255,A[R++]=0,A[R++]=255;return A}function v(S){return new T.a({pixels:d(S),wrapS:x.a.REPEAT,wrapT:x.a.REPEAT,width:S,height:S})}function M(S,A,R){var u=new Float32Array(S*3);A=A||0;for(var f=0;f<S;f++){var y=Object(m.a)(f+A,2)*(R?1:2)*Math.PI,D=Object(m.a)(f+A,3)*Math.PI,I=Math.random(),U=Math.cos(y)*Math.sin(D)*I,F=Math.cos(D)*I,G=Math.sin(y)*Math.sin(D)*I;u[f*3]=U,u[f*3+1]=F,u[f*3+2]=G}return u}function w(S){S=S||{},this._ssaoPass=new O.a({fragment:_.a.source("ecgl.ssao.estimate")}),this._blurPass=new O.a({fragment:_.a.source("ecgl.ssao.blur")}),this._framebuffer=new g.a({depthBuffer:!1}),this._ssaoTexture=new T.a,this._blurTexture=new T.a,this._blurTexture2=new T.a,this._depthTex=S.depthTexture,this._normalTex=S.normalTexture,this.setNoiseSize(4),this.setKernelSize(S.kernelSize||12),S.radius!=null&&this.setParameter("radius",S.radius),S.power!=null&&this.setParameter("power",S.power),this._normalTex||(this._ssaoPass.material.disableTexture("normalTex"),this._blurPass.material.disableTexture("normalTex")),this._depthTex||this._blurPass.material.disableTexture("depthTex"),this._blurPass.material.setUniform("normalTex",this._normalTex),this._blurPass.material.setUniform("depthTex",this._depthTex)}w.prototype.setDepthTexture=function(S){this._depthTex=S},w.prototype.setNormalTexture=function(S){this._normalTex=S,this._ssaoPass.material[S?"enableTexture":"disableTexture"]("normalTex"),this.setKernelSize(this._kernelSize)},w.prototype.update=function(S,A,R){var u=S.getWidth(),f=S.getHeight(),y=this._ssaoPass,D=this._blurPass;y.setUniform("kernel",this._kernels[R%this._kernels.length]),y.setUniform("depthTex",this._depthTex),this._normalTex!=null&&y.setUniform("normalTex",this._normalTex),y.setUniform("depthTexSize",[this._depthTex.width,this._depthTex.height]);var I=new z.a;z.a.transpose(I,A.worldTransform),y.setUniform("projection",A.projectionMatrix.array),y.setUniform("projectionInv",A.invProjectionMatrix.array),y.setUniform("viewInverseTranspose",I.array);var U=this._ssaoTexture,F=this._blurTexture,G=this._blurTexture2;U.width=u/2,U.height=f/2,F.width=u,F.height=f,G.width=u,G.height=f,this._framebuffer.attach(U),this._framebuffer.bind(S),S.gl.clearColor(1,1,1,1),S.gl.clear(S.gl.COLOR_BUFFER_BIT),y.render(S),D.setUniform("textureSize",[u/2,f/2]),D.setUniform("projection",A.projectionMatrix.array),this._framebuffer.attach(F),D.setUniform("direction",0),D.setUniform("ssaoTexture",U),D.render(S),this._framebuffer.attach(G),D.setUniform("textureSize",[u,f]),D.setUniform("direction",1),D.setUniform("ssaoTexture",F),D.render(S),this._framebuffer.unbind(S);var Y=S.clearColor;S.gl.clearColor(Y[0],Y[1],Y[2],Y[3])},w.prototype.getTargetTexture=function(){return this._blurTexture2},w.prototype.setParameter=function(S,A){S==="noiseTexSize"?this.setNoiseSize(A):S==="kernelSize"?this.setKernelSize(A):S==="intensity"?this._ssaoPass.material.set("intensity",A):this._ssaoPass.setUniform(S,A)},w.prototype.setKernelSize=function(S){this._kernelSize=S,this._ssaoPass.material.define("fragment","KERNEL_SIZE",S),this._kernels=this._kernels||[];for(var A=0;A<30;A++)this._kernels[A]=M(S,A*S,!!this._normalTex)},w.prototype.setNoiseSize=function(S){var A=this._ssaoPass.getUniform("noiseTex");A?(A.data=d(S),A.width=A.height=S,A.dirty()):(A=v(S),this._ssaoPass.setUniform("noiseTex",v(S))),this._ssaoPass.setUniform("noiseTexSize",[S,S])},w.prototype.dispose=function(S){this._blurTexture.dispose(S),this._ssaoTexture.dispose(S),this._blurTexture2.dispose(S)},H.a=w},function(q,H,b){"use strict";H.a=`@export ecgl.ssao.estimate
uniform sampler2D depthTex;
uniform sampler2D normalTex;
uniform sampler2D noiseTex;
uniform vec2 depthTexSize;
uniform vec2 noiseTexSize;
uniform mat4 projection;
uniform mat4 projectionInv;
uniform mat4 viewInverseTranspose;
uniform vec3 kernel[KERNEL_SIZE];
uniform float radius : 1;
uniform float power : 1;
uniform float bias: 1e-2;
uniform float intensity: 1.0;
varying vec2 v_Texcoord;
float ssaoEstimator(in vec3 originPos, in mat3 kernelBasis) {
float occlusion = 0.0;
for (int i = 0; i < KERNEL_SIZE; i++) {
vec3 samplePos = kernel[i];
#ifdef NORMALTEX_ENABLED
samplePos = kernelBasis * samplePos;
#endif
samplePos = samplePos * radius + originPos;
vec4 texCoord = projection * vec4(samplePos, 1.0);
texCoord.xy /= texCoord.w;
vec4 depthTexel = texture2D(depthTex, texCoord.xy * 0.5 + 0.5);
float sampleDepth = depthTexel.r * 2.0 - 1.0;
if (projection[3][3] == 0.0) {
sampleDepth = projection[3][2] / (sampleDepth * projection[2][3] - projection[2][2]);
}
else {
sampleDepth = (sampleDepth - projection[3][2]) / projection[2][2];
}
float rangeCheck = smoothstep(0.0, 1.0, radius / abs(originPos.z - sampleDepth));
occlusion += rangeCheck * step(samplePos.z, sampleDepth - bias);
}
#ifdef NORMALTEX_ENABLED
occlusion = 1.0 - occlusion / float(KERNEL_SIZE);
#else
occlusion = 1.0 - clamp((occlusion / float(KERNEL_SIZE) - 0.6) * 2.5, 0.0, 1.0);
#endif
return pow(occlusion, power);
}
void main()
{
vec4 depthTexel = texture2D(depthTex, v_Texcoord);
#ifdef NORMALTEX_ENABLED
vec4 tex = texture2D(normalTex, v_Texcoord);
if (dot(tex.rgb, tex.rgb) == 0.0) {
gl_FragColor = vec4(1.0);
return;
}
vec3 N = tex.rgb * 2.0 - 1.0;
N = (viewInverseTranspose * vec4(N, 0.0)).xyz;
vec2 noiseTexCoord = depthTexSize / vec2(noiseTexSize) * v_Texcoord;
vec3 rvec = texture2D(noiseTex, noiseTexCoord).rgb * 2.0 - 1.0;
vec3 T = normalize(rvec - N * dot(rvec, N));
vec3 BT = normalize(cross(N, T));
mat3 kernelBasis = mat3(T, BT, N);
#else
if (depthTexel.r > 0.99999) {
gl_FragColor = vec4(1.0);
return;
}
mat3 kernelBasis;
#endif
float z = depthTexel.r * 2.0 - 1.0;
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
vec4 p4 = projectionInv * projectedPos;
vec3 position = p4.xyz / p4.w;
float ao = ssaoEstimator(position, kernelBasis);
ao = clamp(1.0 - (1.0 - ao) * intensity, 0.0, 1.0);
gl_FragColor = vec4(vec3(ao), 1.0);
}
@end
@export ecgl.ssao.blur
#define SHADER_NAME SSAO_BLUR
uniform sampler2D ssaoTexture;
#ifdef NORMALTEX_ENABLED
uniform sampler2D normalTex;
#endif
varying vec2 v_Texcoord;
uniform vec2 textureSize;
uniform float blurSize : 1.0;
uniform int direction: 0.0;
#ifdef DEPTHTEX_ENABLED
uniform sampler2D depthTex;
uniform mat4 projection;
uniform float depthRange : 0.5;
float getLinearDepth(vec2 coord)
{
float depth = texture2D(depthTex, coord).r * 2.0 - 1.0;
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
#endif
void main()
{
float kernel[5];
kernel[0] = 0.122581;
kernel[1] = 0.233062;
kernel[2] = 0.288713;
kernel[3] = 0.233062;
kernel[4] = 0.122581;
vec2 off = vec2(0.0);
if (direction == 0) {
off[0] = blurSize / textureSize.x;
}
else {
off[1] = blurSize / textureSize.y;
}
vec2 coord = v_Texcoord;
float sum = 0.0;
float weightAll = 0.0;
#ifdef NORMALTEX_ENABLED
vec3 centerNormal = texture2D(normalTex, v_Texcoord).rgb * 2.0 - 1.0;
#endif
#if defined(DEPTHTEX_ENABLED)
float centerDepth = getLinearDepth(v_Texcoord);
#endif
for (int i = 0; i < 5; i++) {
vec2 coord = clamp(v_Texcoord + vec2(float(i) - 2.0) * off, vec2(0.0), vec2(1.0));
float w = kernel[i];
#ifdef NORMALTEX_ENABLED
vec3 normal = texture2D(normalTex, coord).rgb * 2.0 - 1.0;
w *= clamp(dot(normal, centerNormal), 0.0, 1.0);
#endif
#ifdef DEPTHTEX_ENABLED
float d = getLinearDepth(coord);
w *= (1.0 - smoothstep(abs(centerDepth - d) / depthRange, 0.0, 1.0));
#endif
weightAll += w;
sum += texture2D(ssaoTexture, coord).r * w;
}
gl_FragColor = vec4(vec3(sum / weightAll), 1.0);
}
@end
`},function(q,H,b){"use strict";var z=b(9),P=b(4),T=b(5),x=b(6),O=b(14),_=b(7),g=b(10),m=b(43),L=b(165);_.a.import(L.a);function d(v){v=v||{},this._ssrPass=new O.a({fragment:_.a.source("ecgl.ssr.main"),clearColor:[0,0,0,0]}),this._blurPass1=new O.a({fragment:_.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._blurPass2=new O.a({fragment:_.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._ssrPass.setUniform("gBufferTexture1",v.normalTexture),this._ssrPass.setUniform("gBufferTexture2",v.depthTexture),this._blurPass1.setUniform("gBufferTexture1",v.normalTexture),this._blurPass1.setUniform("gBufferTexture2",v.depthTexture),this._blurPass2.setUniform("gBufferTexture1",v.normalTexture),this._blurPass2.setUniform("gBufferTexture2",v.depthTexture),this._blurPass2.material.define("fragment","VERTICAL"),this._blurPass2.material.define("fragment","BLEND"),this._texture1=new T.a({type:x.a.HALF_FLOAT}),this._texture2=new T.a({type:x.a.HALF_FLOAT}),this._texture3=new T.a({type:x.a.HALF_FLOAT}),this._frameBuffer=new g.a({depthBuffer:!1})}d.prototype.update=function(v,M,w,S){var A=v.getWidth(),R=v.getHeight(),u=v.getDevicePixelRatio(),f=this._texture1,y=this._texture2,D=this._texture3;y.width=A/2,y.height=R/2,f.width=A,f.height=R,D.width=A*u,D.height=R*u;var I=this._frameBuffer,U=this._ssrPass,F=this._blurPass1,G=this._blurPass2,Y=new z.a;z.a.transpose(Y,M.worldTransform),U.setUniform("sourceTexture",w),U.setUniform("projection",M.projectionMatrix.array),U.setUniform("projectionInv",M.invProjectionMatrix.array),U.setUniform("viewInverseTranspose",Y.array),U.setUniform("nearZ",M.near),U.setUniform("jitterOffset",S/30),F.setUniform("textureSize",[A/2,R/2]),G.setUniform("textureSize",[A,R]),G.setUniform("sourceTexture",w),F.setUniform("projection",M.projectionMatrix.array),G.setUniform("projection",M.projectionMatrix.array),I.attach(f),I.bind(v),U.render(v),I.attach(y),F.setUniform("texture",f),F.render(v),I.attach(D),G.setUniform("texture",y),G.render(v),I.unbind(v)},d.prototype.getTargetTexture=function(){return this._texture3},d.prototype.setParameter=function(v,M){v==="maxIteration"?this._ssrPass.material.define("fragment","MAX_ITERATION",M):this._ssrPass.setUniform(v,M)},d.prototype.setSSAOTexture=function(v){var M=this._blurPass2;v?(M.material.enableTexture("ssaoTex"),M.material.set("ssaoTex",v)):M.material.disableTexture("ssaoTex")},d.prototype.dispose=function(v){this._texture1.dispose(v),this._texture2.dispose(v),this._texture3.dispose(v),this._frameBuffer.dispose(v)},H.a=d},function(q,H,b){"use strict";H.a=`@export ecgl.ssr.main
#define MAX_ITERATION 20;
uniform sampler2D sourceTexture;
uniform sampler2D gBufferTexture1;
uniform sampler2D gBufferTexture2;
uniform mat4 projection;
uniform mat4 projectionInv;
uniform mat4 viewInverseTranspose;
uniform float maxRayDistance: 50;
uniform float pixelStride: 16;
uniform float pixelStrideZCutoff: 50;
uniform float screenEdgeFadeStart: 0.9;
uniform float eyeFadeStart : 0.2; uniform float eyeFadeEnd: 0.8;
uniform float minGlossiness: 0.2; uniform float zThicknessThreshold: 10;
uniform float nearZ;
uniform vec2 viewportSize : VIEWPORT_SIZE;
uniform float jitterOffset: 0;
varying vec2 v_Texcoord;
#ifdef DEPTH_DECODE
@import clay.util.decode_float
#endif
float fetchDepth(sampler2D depthTexture, vec2 uv)
{
vec4 depthTexel = texture2D(depthTexture, uv);
return depthTexel.r * 2.0 - 1.0;
}
float linearDepth(float depth)
{
if (projection[3][3] == 0.0) {
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
else {
return (depth - projection[3][2]) / projection[2][2];
}
}
bool rayIntersectDepth(float rayZNear, float rayZFar, vec2 hitPixel)
{
if (rayZFar > rayZNear)
{
float t = rayZFar; rayZFar = rayZNear; rayZNear = t;
}
float cameraZ = linearDepth(fetchDepth(gBufferTexture2, hitPixel));
return rayZFar <= cameraZ && rayZNear >= cameraZ - zThicknessThreshold;
}
bool traceScreenSpaceRay(
vec3 rayOrigin, vec3 rayDir, float jitter,
out vec2 hitPixel, out vec3 hitPoint, out float iterationCount
)
{
float rayLength = ((rayOrigin.z + rayDir.z * maxRayDistance) > -nearZ)
? (-nearZ - rayOrigin.z) / rayDir.z : maxRayDistance;
vec3 rayEnd = rayOrigin + rayDir * rayLength;
vec4 H0 = projection * vec4(rayOrigin, 1.0);
vec4 H1 = projection * vec4(rayEnd, 1.0);
float k0 = 1.0 / H0.w, k1 = 1.0 / H1.w;
vec3 Q0 = rayOrigin * k0, Q1 = rayEnd * k1;
vec2 P0 = (H0.xy * k0 * 0.5 + 0.5) * viewportSize;
vec2 P1 = (H1.xy * k1 * 0.5 + 0.5) * viewportSize;
P1 += dot(P1 - P0, P1 - P0) < 0.0001 ? 0.01 : 0.0;
vec2 delta = P1 - P0;
bool permute = false;
if (abs(delta.x) < abs(delta.y)) {
permute = true;
delta = delta.yx;
P0 = P0.yx;
P1 = P1.yx;
}
float stepDir = sign(delta.x);
float invdx = stepDir / delta.x;
vec3 dQ = (Q1 - Q0) * invdx;
float dk = (k1 - k0) * invdx;
vec2 dP = vec2(stepDir, delta.y * invdx);
float strideScaler = 1.0 - min(1.0, -rayOrigin.z / pixelStrideZCutoff);
float pixStride = 1.0 + strideScaler * pixelStride;
dP *= pixStride; dQ *= pixStride; dk *= pixStride;
vec4 pqk = vec4(P0, Q0.z, k0);
vec4 dPQK = vec4(dP, dQ.z, dk);
pqk += dPQK * jitter;
float rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
float rayZNear;
bool intersect = false;
vec2 texelSize = 1.0 / viewportSize;
iterationCount = 0.0;
for (int i = 0; i < MAX_ITERATION; i++)
{
pqk += dPQK;
rayZNear = rayZFar;
rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
hitPixel = permute ? pqk.yx : pqk.xy;
hitPixel *= texelSize;
intersect = rayIntersectDepth(rayZNear, rayZFar, hitPixel);
iterationCount += 1.0;
if (intersect) {
break;
}
}
Q0.xy += dQ.xy * iterationCount;
Q0.z = pqk.z;
hitPoint = Q0 / pqk.w;
return intersect;
}
float calculateAlpha(
float iterationCount, float reflectivity,
vec2 hitPixel, vec3 hitPoint, float dist, vec3 rayDir
)
{
float alpha = clamp(reflectivity, 0.0, 1.0);
alpha *= 1.0 - (iterationCount / float(MAX_ITERATION));
vec2 hitPixelNDC = hitPixel * 2.0 - 1.0;
float maxDimension = min(1.0, max(abs(hitPixelNDC.x), abs(hitPixelNDC.y)));
alpha *= 1.0 - max(0.0, maxDimension - screenEdgeFadeStart) / (1.0 - screenEdgeFadeStart);
float _eyeFadeStart = eyeFadeStart;
float _eyeFadeEnd = eyeFadeEnd;
if (_eyeFadeStart > _eyeFadeEnd) {
float tmp = _eyeFadeEnd;
_eyeFadeEnd = _eyeFadeStart;
_eyeFadeStart = tmp;
}
float eyeDir = clamp(rayDir.z, _eyeFadeStart, _eyeFadeEnd);
alpha *= 1.0 - (eyeDir - _eyeFadeStart) / (_eyeFadeEnd - _eyeFadeStart);
alpha *= 1.0 - clamp(dist / maxRayDistance, 0.0, 1.0);
return alpha;
}
@import clay.util.rand
@import clay.util.rgbm
void main()
{
vec4 normalAndGloss = texture2D(gBufferTexture1, v_Texcoord);
if (dot(normalAndGloss.rgb, vec3(1.0)) == 0.0) {
discard;
}
float g = normalAndGloss.a;
if (g <= minGlossiness) {
discard;
}
float reflectivity = (g - minGlossiness) / (1.0 - minGlossiness);
vec3 N = normalAndGloss.rgb * 2.0 - 1.0;
N = normalize((viewInverseTranspose * vec4(N, 0.0)).xyz);
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, fetchDepth(gBufferTexture2, v_Texcoord), 1.0);
vec4 pos = projectionInv * projectedPos;
vec3 rayOrigin = pos.xyz / pos.w;
vec3 rayDir = normalize(reflect(normalize(rayOrigin), N));
vec2 hitPixel;
vec3 hitPoint;
float iterationCount;
vec2 uv2 = v_Texcoord * viewportSize;
float jitter = rand(fract(v_Texcoord + jitterOffset));
bool intersect = traceScreenSpaceRay(rayOrigin, rayDir, jitter, hitPixel, hitPoint, iterationCount);
float dist = distance(rayOrigin, hitPoint);
float alpha = calculateAlpha(iterationCount, reflectivity, hitPixel, hitPoint, dist, rayDir) * float(intersect);
vec3 hitNormal = texture2D(gBufferTexture1, hitPixel).rgb * 2.0 - 1.0;
hitNormal = normalize((viewInverseTranspose * vec4(hitNormal, 0.0)).xyz);
if (dot(hitNormal, rayDir) >= 0.0) {
discard;
}
if (!intersect) {
discard;
}
vec4 color = decodeHDR(texture2D(sourceTexture, hitPixel));
gl_FragColor = encodeHDR(vec4(color.rgb * alpha, color.a));
}
@end
@export ecgl.ssr.blur
uniform sampler2D texture;
uniform sampler2D gBufferTexture1;
uniform sampler2D gBufferTexture2;
uniform mat4 projection;
uniform float depthRange : 0.05;
varying vec2 v_Texcoord;
uniform vec2 textureSize;
uniform float blurSize : 4.0;
#ifdef BLEND
#ifdef SSAOTEX_ENABLED
uniform sampler2D ssaoTex;
#endif
uniform sampler2D sourceTexture;
#endif
float getLinearDepth(vec2 coord)
{
float depth = texture2D(gBufferTexture2, coord).r * 2.0 - 1.0;
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
@import clay.util.rgbm
void main()
{
@import clay.compositor.kernel.gaussian_9
vec4 centerNTexel = texture2D(gBufferTexture1, v_Texcoord);
float g = centerNTexel.a;
float maxBlurSize = clamp(1.0 - g + 0.1, 0.0, 1.0) * blurSize;
#ifdef VERTICAL
vec2 off = vec2(0.0, maxBlurSize / textureSize.y);
#else
vec2 off = vec2(maxBlurSize / textureSize.x, 0.0);
#endif
vec2 coord = v_Texcoord;
vec4 sum = vec4(0.0);
float weightAll = 0.0;
vec3 cN = centerNTexel.rgb * 2.0 - 1.0;
float cD = getLinearDepth(v_Texcoord);
for (int i = 0; i < 9; i++) {
vec2 coord = clamp((float(i) - 4.0) * off + v_Texcoord, vec2(0.0), vec2(1.0));
float w = gaussianKernel[i]
* clamp(dot(cN, texture2D(gBufferTexture1, coord).rgb * 2.0 - 1.0), 0.0, 1.0);
float d = getLinearDepth(coord);
w *= (1.0 - smoothstep(abs(cD - d) / depthRange, 0.0, 1.0));
weightAll += w;
sum += decodeHDR(texture2D(texture, coord)) * w;
}
#ifdef BLEND
float aoFactor = 1.0;
#ifdef SSAOTEX_ENABLED
aoFactor = texture2D(ssaoTex, v_Texcoord).r;
#endif
gl_FragColor = encodeHDR(
sum / weightAll * aoFactor + decodeHDR(texture2D(sourceTexture, v_Texcoord))
);
#else
gl_FragColor = encodeHDR(sum / weightAll);
#endif
}
@end`},function(q,H,b){"use strict";H.a=[0,0,-.321585265978,-.154972575841,.458126042375,.188473391593,.842080129861,.527766490688,.147304551086,-.659453822776,-.331943915203,-.940619700594,.0479226680259,.54812163202,.701581552186,-.709825561388,-.295436780218,.940589268233,-.901489676764,.237713156085,.973570876096,-.109899459384,-.866792314779,-.451805525005,.330975007087,.800048655954,-.344275183665,.381779221166,-.386139432542,-.437418421534,-.576478634965,-.0148463392551,.385798197415,-.262426961053,-.666302061145,.682427250835,-.628010632582,-.732836215494,.10163141741,-.987658134403,.711995289051,-.320024291314,.0296005138058,.950296523438,.0130612307608,-.351024443122,-.879596633704,-.10478487883,.435712737232,.504254490347,.779203817497,.206477676721,.388264289969,-.896736162545,-.153106280781,-.629203242522,-.245517550697,.657969239148,.126830499058,.26862328493,-.634888119007,-.302301223431,.617074219636,.779817204925]},function(q,H,b){"use strict";var z=b(5),P=b(6),T=b(7),x=b(10),O=b(17),_=b(14),g=b(54),m=b(168);T.a.import(m.a);function L(M,w,S,A,R){var u=M.gl;w.setUniform(u,"1i",S,R),u.activeTexture(u.TEXTURE0+R),A.isRenderable()?A.bind(M):A.unbind(M)}function d(M,w,S,A,R){var u,f,y,D,I=M.gl;return function(U,F,G){if(!(D&&D.material===U.material)){var Y=U.material,te=U.__program,$=Y.get("roughness");$==null&&($=1);var oe=Y.get("normalMap")||w,ie=Y.get("roughnessMap"),ne=Y.get("bumpMap"),le=Y.get("uvRepeat"),ae=Y.get("uvOffset"),de=Y.get("detailUvRepeat"),se=Y.get("detailUvOffset"),fe=!!ne&&Y.isTextureEnabled("bumpMap"),ye=!!ie&&Y.isTextureEnabled("roughnessMap"),ge=Y.isDefined("fragment","DOUBLE_SIDED");ne=ne||S,ie=ie||A,G!==F?(F.set("normalMap",oe),F.set("bumpMap",ne),F.set("roughnessMap",ie),F.set("useBumpMap",fe),F.set("useRoughnessMap",ye),F.set("doubleSide",ge),le!=null&&F.set("uvRepeat",le),ae!=null&&F.set("uvOffset",ae),de!=null&&F.set("detailUvRepeat",de),se!=null&&F.set("detailUvOffset",se),F.set("roughness",$)):(te.setUniform(I,"1f","roughness",$),u!==oe&&L(M,te,"normalMap",oe,0),f!==ne&&ne&&L(M,te,"bumpMap",ne,1),y!==ie&&ie&&L(M,te,"roughnessMap",ie,2),le!=null&&te.setUniform(I,"2f","uvRepeat",le),ae!=null&&te.setUniform(I,"2f","uvOffset",ae),de!=null&&te.setUniform(I,"2f","detailUvRepeat",de),se!=null&&te.setUniform(I,"2f","detailUvOffset",se),te.setUniform(I,"1i","useBumpMap",+fe),te.setUniform(I,"1i","useRoughnessMap",+ye),te.setUniform(I,"1i","doubleSide",+ge)),u=oe,f=ne,y=ie,D=U}}}function v(M){M=M||{},this._depthTex=new z.a({format:P.a.DEPTH_COMPONENT,type:P.a.UNSIGNED_INT}),this._normalTex=new z.a({type:P.a.HALF_FLOAT}),this._framebuffer=new x.a,this._framebuffer.attach(this._normalTex),this._framebuffer.attach(this._depthTex,x.a.DEPTH_ATTACHMENT),this._normalMaterial=new O.a({shader:new T.a(T.a.source("ecgl.normal.vertex"),T.a.source("ecgl.normal.fragment"))}),this._normalMaterial.enableTexture(["normalMap","bumpMap","roughnessMap"]),this._defaultNormalMap=g.a.createBlank("#000"),this._defaultBumpMap=g.a.createBlank("#000"),this._defaultRoughessMap=g.a.createBlank("#000"),this._debugPass=new _.a({fragment:T.a.source("clay.compositor.output")}),this._debugPass.setUniform("texture",this._normalTex),this._debugPass.material.undefine("fragment","OUTPUT_ALPHA")}v.prototype.getDepthTexture=function(){return this._depthTex},v.prototype.getNormalTexture=function(){return this._normalTex},v.prototype.update=function(M,w,S){var A=M.getWidth(),R=M.getHeight(),u=this._depthTex,f=this._normalTex,y=this._normalMaterial;u.width=A,u.height=R,f.width=A,f.height=R;var D=w.opaqueList;this._framebuffer.bind(M),M.gl.clearColor(0,0,0,0),M.gl.clear(M.gl.COLOR_BUFFER_BIT|M.gl.DEPTH_BUFFER_BIT),M.gl.disable(M.gl.BLEND),M.renderPass(D,S,{getMaterial:function(){return y},ifRender:function(I){return I.renderNormal},beforeRender:d(M,this._defaultNormalMap,this._defaultBumpMap,this._defaultRoughessMap,this._normalMaterial),sort:M.opaqueSortCompare}),this._framebuffer.unbind(M)},v.prototype.renderDebug=function(M){this._debugPass.render(M)},v.prototype.dispose=function(M){this._depthTex.dispose(M),this._normalTex.dispose(M)},H.a=v},function(q,H,b){"use strict";H.a=`@export ecgl.normal.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
@import ecgl.common.normalMap.vertexHeader
@import ecgl.common.vertexAnimation.header
void main()
{
@import ecgl.common.vertexAnimation.main
@import ecgl.common.uv.main
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
@import ecgl.common.normalMap.vertexMain
gl_Position = worldViewProjection * vec4(pos, 1.0);
}
@end
@export ecgl.normal.fragment
#define ROUGHNESS_CHANEL 0
uniform bool useBumpMap;
uniform bool useRoughnessMap;
uniform bool doubleSide;
uniform float roughness;
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform mat4 viewInverse : VIEWINVERSE;
@import ecgl.common.normalMap.fragmentHeader
@import ecgl.common.bumpMap.header
uniform sampler2D roughnessMap;
void main()
{
vec3 N = v_Normal;
bool flipNormal = false;
if (doubleSide) {
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
flipNormal = true;
}
}
@import ecgl.common.normalMap.fragmentMain
if (useBumpMap) {
N = bumpNormal(v_WorldPosition, v_Normal, N);
}
float g = 1.0 - roughness;
if (useRoughnessMap) {
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
}
if (flipNormal) {
N = -N;
}
gl_FragColor.rgb = (N.xyz + 1.0) * 0.5;
gl_FragColor.a = g;
}
@end`},function(q,H,b){"use strict";var z=b(9),P=b(4),T=b(5),x=b(6),O=b(14),_=b(7),g=b(10);function m(L){L=L||{},this._edgePass=new O.a({fragment:_.a.source("ecgl.edge")}),this._edgePass.setUniform("normalTexture",L.normalTexture),this._edgePass.setUniform("depthTexture",L.depthTexture),this._targetTexture=new T.a({type:x.a.HALF_FLOAT}),this._frameBuffer=new g.a,this._frameBuffer.attach(this._targetTexture)}m.prototype.update=function(L,d,v,M){var w=L.getWidth(),S=L.getHeight(),A=this._targetTexture;A.width=w,A.height=S;var R=this._frameBuffer;R.bind(L),this._edgePass.setUniform("projectionInv",d.invProjectionMatrix.array),this._edgePass.setUniform("textureSize",[w,S]),this._edgePass.setUniform("texture",v),this._edgePass.render(L),R.unbind(L)},m.prototype.getTargetTexture=function(){return this._targetTexture},m.prototype.setParameter=function(L,d){this._edgePass.setUniform(L,d)},m.prototype.dispose=function(L){this._targetTexture.dispose(L),this._frameBuffer.dispose(L)},H.a=m},function(q,H,b){"use strict";H.a={type:"compositor",nodes:[{name:"source",type:"texture",outputs:{color:{}}},{name:"source_half",shader:"#source(clay.compositor.downsample)",inputs:{texture:"source"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bright",shader:"#source(clay.compositor.bright)",inputs:{texture:"source_half"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{threshold:2,scale:4,textureSize:"expr([width * 1.0 / 2, height / 2])"}},{name:"bright_downsample_4",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 2, height / 2] )"}},{name:"bright_downsample_8",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 4, height / 4] )"}},{name:"bright_downsample_16",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 8, height / 8] )"}},{name:"bright_downsample_32",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 32)",height:"expr(height * 1.0 / 32)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 16, height / 16] )"}},{name:"bright_upsample_16_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_32"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 32, height / 32] )"}},{name:"bright_upsample_16_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_16_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_8_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_8_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_8_blur_v",texture2:"bright_upsample_16_blur_v"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_4_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_4_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_4_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_4_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_4_blur_v",texture2:"bright_upsample_8_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_2_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_2_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_2_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_2_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_2_blur_v",texture2:"bright_upsample_4_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_full_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_full_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_full_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bloom_composite",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_full_blur_v",texture2:"bright_upsample_2_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"coc",shader:"#source(ecgl.dof.coc)",outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{focalDist:50,focalRange:30}},{name:"dof_far_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"dof_near_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_NEARFIELD:null}},{name:"dof_coc_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"coc"},outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_COC:null}},{name:"dof_composite",shader:"#source(ecgl.dof.composite)",inputs:{original:"source",blurred:"dof_far_blur",nearfield:"dof_near_blur",coc:"coc",nearcoc:"dof_coc_blur"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}}},{name:"composite",shader:"#source(clay.compositor.hdr.composite)",inputs:{texture:"source",bloom:"bloom_composite"},defines:{}},{name:"FXAA",shader:"#source(clay.compositor.fxaa)",inputs:{texture:"composite"}}]}},function(q,H,b){"use strict";H.a=`@export clay.compositor.kernel.gaussian_9
float gaussianKernel[9];
gaussianKernel[0] = 0.07;
gaussianKernel[1] = 0.09;
gaussianKernel[2] = 0.12;
gaussianKernel[3] = 0.14;
gaussianKernel[4] = 0.16;
gaussianKernel[5] = 0.14;
gaussianKernel[6] = 0.12;
gaussianKernel[7] = 0.09;
gaussianKernel[8] = 0.07;
@end
@export clay.compositor.kernel.gaussian_13
float gaussianKernel[13];
gaussianKernel[0] = 0.02;
gaussianKernel[1] = 0.03;
gaussianKernel[2] = 0.06;
gaussianKernel[3] = 0.08;
gaussianKernel[4] = 0.11;
gaussianKernel[5] = 0.13;
gaussianKernel[6] = 0.14;
gaussianKernel[7] = 0.13;
gaussianKernel[8] = 0.11;
gaussianKernel[9] = 0.08;
gaussianKernel[10] = 0.06;
gaussianKernel[11] = 0.03;
gaussianKernel[12] = 0.02;
@end
@export clay.compositor.gaussian_blur
#define SHADER_NAME gaussian_blur
uniform sampler2D texture;varying vec2 v_Texcoord;
uniform float blurSize : 2.0;
uniform vec2 textureSize : [512.0, 512.0];
uniform float blurDir : 0.0;
@import clay.util.rgbm
@import clay.util.clamp_sample
void main (void)
{
@import clay.compositor.kernel.gaussian_9
vec2 off = blurSize / textureSize;
off *= vec2(1.0 - blurDir, blurDir);
vec4 sum = vec4(0.0);
float weightAll = 0.0;
for (int i = 0; i < 9; i++) {
float w = gaussianKernel[i];
vec4 texel = decodeHDR(clampSample(texture, v_Texcoord + float(i - 4) * off));
sum += texel * w;
weightAll += w;
}
gl_FragColor = encodeHDR(sum / max(weightAll, 0.01));
}
@end
`},function(q,H,b){"use strict";H.a=`
@export clay.compositor.lut
varying vec2 v_Texcoord;
uniform sampler2D texture;
uniform sampler2D lookup;
void main()
{
vec4 tex = texture2D(texture, v_Texcoord);
float blueColor = tex.b * 63.0;
vec2 quad1;
quad1.y = floor(floor(blueColor) / 8.0);
quad1.x = floor(blueColor) - (quad1.y * 8.0);
vec2 quad2;
quad2.y = floor(ceil(blueColor) / 8.0);
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
vec2 texPos1;
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
vec2 texPos2;
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
vec4 newColor1 = texture2D(lookup, texPos1);
vec4 newColor2 = texture2D(lookup, texPos2);
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
gl_FragColor = vec4(newColor.rgb, tex.w);
}
@end`},function(q,H,b){"use strict";H.a=`@export clay.compositor.output
#define OUTPUT_ALPHA
varying vec2 v_Texcoord;
uniform sampler2D texture;
@import clay.util.rgbm
void main()
{
vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));
gl_FragColor.rgb = tex.rgb;
#ifdef OUTPUT_ALPHA
gl_FragColor.a = tex.a;
#else
gl_FragColor.a = 1.0;
#endif
gl_FragColor = encodeHDR(gl_FragColor);
#ifdef PREMULTIPLY_ALPHA
gl_FragColor.rgb *= gl_FragColor.a;
#endif
}
@end`},function(q,H,b){"use strict";H.a=`@export clay.compositor.bright
uniform sampler2D texture;
uniform float threshold : 1;
uniform float scale : 1.0;
uniform vec2 textureSize: [512, 512];
varying vec2 v_Texcoord;
const vec3 lumWeight = vec3(0.2125, 0.7154, 0.0721);
@import clay.util.rgbm
vec4 median(vec4 a, vec4 b, vec4 c)
{
return a + b + c - min(min(a, b), c) - max(max(a, b), c);
}
void main()
{
vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));
#ifdef ANTI_FLICKER
vec3 d = 1.0 / textureSize.xyx * vec3(1.0, 1.0, 0.0);
vec4 s1 = decodeHDR(texture2D(texture, v_Texcoord - d.xz));
vec4 s2 = decodeHDR(texture2D(texture, v_Texcoord + d.xz));
vec4 s3 = decodeHDR(texture2D(texture, v_Texcoord - d.zy));
vec4 s4 = decodeHDR(texture2D(texture, v_Texcoord + d.zy));
texel = median(median(texel, s1, s2), s3, s4);
#endif
float lum = dot(texel.rgb , lumWeight);
vec4 color;
if (lum > threshold && texel.a > 0.0)
{
color = vec4(texel.rgb * scale, texel.a * scale);
}
else
{
color = vec4(0.0);
}
gl_FragColor = encodeHDR(color);
}
@end
`},function(q,H,b){"use strict";H.a=`@export clay.compositor.downsample
uniform sampler2D texture;
uniform vec2 textureSize : [512, 512];
varying vec2 v_Texcoord;
@import clay.util.rgbm
float brightness(vec3 c)
{
return max(max(c.r, c.g), c.b);
}
@import clay.util.clamp_sample
void main()
{
vec4 d = vec4(-1.0, -1.0, 1.0, 1.0) / textureSize.xyxy;
#ifdef ANTI_FLICKER
vec3 s1 = decodeHDR(clampSample(texture, v_Texcoord + d.xy)).rgb;
vec3 s2 = decodeHDR(clampSample(texture, v_Texcoord + d.zy)).rgb;
vec3 s3 = decodeHDR(clampSample(texture, v_Texcoord + d.xw)).rgb;
vec3 s4 = decodeHDR(clampSample(texture, v_Texcoord + d.zw)).rgb;
float s1w = 1.0 / (brightness(s1) + 1.0);
float s2w = 1.0 / (brightness(s2) + 1.0);
float s3w = 1.0 / (brightness(s3) + 1.0);
float s4w = 1.0 / (brightness(s4) + 1.0);
float oneDivideSum = 1.0 / (s1w + s2w + s3w + s4w);
vec4 color = vec4(
(s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * oneDivideSum,
1.0
);
#else
vec4 color = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
color += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
color += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
color += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
color *= 0.25;
#endif
gl_FragColor = encodeHDR(color);
}
@end`},function(q,H,b){"use strict";H.a=`
@export clay.compositor.upsample
#define HIGH_QUALITY
uniform sampler2D texture;
uniform vec2 textureSize : [512, 512];
uniform float sampleScale: 0.5;
varying vec2 v_Texcoord;
@import clay.util.rgbm
@import clay.util.clamp_sample
void main()
{
#ifdef HIGH_QUALITY
vec4 d = vec4(1.0, 1.0, -1.0, 0.0) / textureSize.xyxy * sampleScale;
vec4 s;
s = decodeHDR(clampSample(texture, v_Texcoord - d.xy));
s += decodeHDR(clampSample(texture, v_Texcoord - d.wy)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord - d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord )) * 4.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.wy)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.xy));
gl_FragColor = encodeHDR(s / 16.0);
#else
vec4 d = vec4(-1.0, -1.0, +1.0, +1.0) / textureSize.xyxy;
vec4 s;
s = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
gl_FragColor = encodeHDR(s / 4.0);
#endif
}
@end`},function(q,H,b){"use strict";H.a=`@export clay.compositor.hdr.composite
uniform sampler2D texture;
#ifdef BLOOM_ENABLED
uniform sampler2D bloom;
#endif
#ifdef LENSFLARE_ENABLED
uniform sampler2D lensflare;
uniform sampler2D lensdirt;
#endif
#ifdef LUM_ENABLED
uniform sampler2D lum;
#endif
#ifdef LUT_ENABLED
uniform sampler2D lut;
#endif
#ifdef COLOR_CORRECTION
uniform float brightness : 0.0;
uniform float contrast : 1.0;
uniform float saturation : 1.0;
#endif
#ifdef VIGNETTE
uniform float vignetteDarkness: 1.0;
uniform float vignetteOffset: 1.0;
#endif
uniform float exposure : 1.0;
uniform float bloomIntensity : 0.25;
uniform float lensflareIntensity : 1;
varying vec2 v_Texcoord;
@import clay.util.srgb
vec3 ACESToneMapping(vec3 color)
{
const float A = 2.51;
const float B = 0.03;
const float C = 2.43;
const float D = 0.59;
const float E = 0.14;
return (color * (A * color + B)) / (color * (C * color + D) + E);
}
float eyeAdaption(float fLum)
{
return mix(0.2, fLum, 0.5);
}
#ifdef LUT_ENABLED
vec3 lutTransform(vec3 color) {
float blueColor = color.b * 63.0;
vec2 quad1;
quad1.y = floor(floor(blueColor) / 8.0);
quad1.x = floor(blueColor) - (quad1.y * 8.0);
vec2 quad2;
quad2.y = floor(ceil(blueColor) / 8.0);
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
vec2 texPos1;
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
vec2 texPos2;
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
vec4 newColor1 = texture2D(lut, texPos1);
vec4 newColor2 = texture2D(lut, texPos2);
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
return newColor.rgb;
}
#endif
@import clay.util.rgbm
void main()
{
vec4 texel = vec4(0.0);
vec4 originalTexel = vec4(0.0);
#ifdef TEXTURE_ENABLED
texel = decodeHDR(texture2D(texture, v_Texcoord));
originalTexel = texel;
#endif
#ifdef BLOOM_ENABLED
vec4 bloomTexel = decodeHDR(texture2D(bloom, v_Texcoord));
texel.rgb += bloomTexel.rgb * bloomIntensity;
texel.a += bloomTexel.a * bloomIntensity;
#endif
#ifdef LENSFLARE_ENABLED
texel += decodeHDR(texture2D(lensflare, v_Texcoord)) * texture2D(lensdirt, v_Texcoord) * lensflareIntensity;
#endif
texel.a = min(texel.a, 1.0);
#ifdef LUM_ENABLED
float fLum = texture2D(lum, vec2(0.5, 0.5)).r;
float adaptedLumDest = 3.0 / (max(0.1, 1.0 + 10.0*eyeAdaption(fLum)));
float exposureBias = adaptedLumDest * exposure;
#else
float exposureBias = exposure;
#endif
texel.rgb *= exposureBias;
texel.rgb = ACESToneMapping(texel.rgb);
texel = linearTosRGB(texel);
#ifdef LUT_ENABLED
texel.rgb = lutTransform(clamp(texel.rgb,vec3(0.0),vec3(1.0)));
#endif
#ifdef COLOR_CORRECTION
texel.rgb = clamp(texel.rgb + vec3(brightness), 0.0, 1.0);
texel.rgb = clamp((texel.rgb - vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);
float lum = dot(texel.rgb, vec3(0.2125, 0.7154, 0.0721));
texel.rgb = mix(vec3(lum), texel.rgb, saturation);
#endif
#ifdef VIGNETTE
vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(vignetteOffset);
texel.rgb = mix(texel.rgb, vec3(1.0 - vignetteDarkness), dot(uv, uv));
#endif
gl_FragColor = encodeHDR(texel);
#ifdef DEBUG
#if DEBUG == 1
gl_FragColor = encodeHDR(decodeHDR(texture2D(texture, v_Texcoord)));
#elif DEBUG == 2
gl_FragColor = encodeHDR(decodeHDR(texture2D(bloom, v_Texcoord)) * bloomIntensity);
#elif DEBUG == 3
gl_FragColor = encodeHDR(decodeHDR(texture2D(lensflare, v_Texcoord) * lensflareIntensity));
#endif
#endif
if (originalTexel.a <= 0.01 && gl_FragColor.a > 1e-5) {
gl_FragColor.a = dot(gl_FragColor.rgb, vec3(0.2125, 0.7154, 0.0721));
}
#ifdef PREMULTIPLY_ALPHA
gl_FragColor.rgb *= gl_FragColor.a;
#endif
}
@end`},function(q,H,b){"use strict";H.a=`@export clay.compositor.blend
#define SHADER_NAME blend
#ifdef TEXTURE1_ENABLED
uniform sampler2D texture1;
uniform float weight1 : 1.0;
#endif
#ifdef TEXTURE2_ENABLED
uniform sampler2D texture2;
uniform float weight2 : 1.0;
#endif
#ifdef TEXTURE3_ENABLED
uniform sampler2D texture3;
uniform float weight3 : 1.0;
#endif
#ifdef TEXTURE4_ENABLED
uniform sampler2D texture4;
uniform float weight4 : 1.0;
#endif
#ifdef TEXTURE5_ENABLED
uniform sampler2D texture5;
uniform float weight5 : 1.0;
#endif
#ifdef TEXTURE6_ENABLED
uniform sampler2D texture6;
uniform float weight6 : 1.0;
#endif
varying vec2 v_Texcoord;
@import clay.util.rgbm
void main()
{
vec4 tex = vec4(0.0);
#ifdef TEXTURE1_ENABLED
tex += decodeHDR(texture2D(texture1, v_Texcoord)) * weight1;
#endif
#ifdef TEXTURE2_ENABLED
tex += decodeHDR(texture2D(texture2, v_Texcoord)) * weight2;
#endif
#ifdef TEXTURE3_ENABLED
tex += decodeHDR(texture2D(texture3, v_Texcoord)) * weight3;
#endif
#ifdef TEXTURE4_ENABLED
tex += decodeHDR(texture2D(texture4, v_Texcoord)) * weight4;
#endif
#ifdef TEXTURE5_ENABLED
tex += decodeHDR(texture2D(texture5, v_Texcoord)) * weight5;
#endif
#ifdef TEXTURE6_ENABLED
tex += decodeHDR(texture2D(texture6, v_Texcoord)) * weight6;
#endif
gl_FragColor = encodeHDR(tex);
}
@end`},function(q,H,b){"use strict";H.a=`@export clay.compositor.fxaa
uniform sampler2D texture;
uniform vec4 viewport : VIEWPORT;
varying vec2 v_Texcoord;
#define FXAA_REDUCE_MIN (1.0/128.0)
#define FXAA_REDUCE_MUL (1.0/8.0)
#define FXAA_SPAN_MAX 8.0
@import clay.util.rgbm
void main()
{
vec2 resolution = 1.0 / viewport.zw;
vec3 rgbNW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ) ).xyz;
vec3 rgbNE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ) ).xyz;
vec3 rgbSW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ) ).xyz;
vec3 rgbSE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ) ).xyz;
vec4 rgbaM = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution ) );
vec3 rgbM = rgbaM.xyz;
float opacity = rgbaM.w;
vec3 luma = vec3( 0.299, 0.587, 0.114 );
float lumaNW = dot( rgbNW, luma );
float lumaNE = dot( rgbNE, luma );
float lumaSW = dot( rgbSW, luma );
float lumaSE = dot( rgbSE, luma );
float lumaM = dot( rgbM, luma );
float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );
float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );
vec2 dir;
dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );
float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );
dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),
max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),
dir * rcpDirMin)) * resolution;
vec3 rgbA = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 1.0 / 3.0 - 0.5 ) ) ).xyz;
rgbA += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 2.0 / 3.0 - 0.5 ) ) ).xyz;
rgbA *= 0.5;
vec3 rgbB = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * -0.5 ) ).xyz;
rgbB += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * 0.5 ) ).xyz;
rgbB *= 0.25;
rgbB += rgbA * 0.5;
float lumaB = dot( rgbB, luma );
if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) )
{
gl_FragColor = vec4( rgbA, opacity );
}
else {
gl_FragColor = vec4( rgbB, opacity );
}
}
@end`},function(q,H,b){"use strict";H.a=`@export ecgl.dof.coc
uniform sampler2D depth;
uniform float zNear: 0.1;
uniform float zFar: 2000;
uniform float focalDistance: 3;
uniform float focalRange: 1;
uniform float focalLength: 30;
uniform float fstop: 2.8;
varying vec2 v_Texcoord;
@import clay.util.encode_float
void main()
{
float z = texture2D(depth, v_Texcoord).r * 2.0 - 1.0;
float dist = 2.0 * zNear * zFar / (zFar + zNear - z * (zFar - zNear));
float aperture = focalLength / fstop;
float coc;
float uppper = focalDistance + focalRange;
float lower = focalDistance - focalRange;
if (dist <= uppper && dist >= lower) {
coc = 0.5;
}
else {
float focalAdjusted = dist > uppper ? uppper : lower;
coc = abs(aperture * (focalLength * (dist - focalAdjusted)) / (dist * (focalAdjusted - focalLength)));
coc = clamp(coc, 0.0, 2.0) / 2.00001;
if (dist < lower) {
coc = -coc;
}
coc = coc * 0.5 + 0.5;
}
gl_FragColor = encodeFloat(coc);
}
@end
@export ecgl.dof.composite
#define DEBUG 0
uniform sampler2D original;
uniform sampler2D blurred;
uniform sampler2D nearfield;
uniform sampler2D coc;
uniform sampler2D nearcoc;
varying vec2 v_Texcoord;
@import clay.util.rgbm
@import clay.util.float
void main()
{
vec4 blurredColor = decodeHDR(texture2D(blurred, v_Texcoord));
vec4 originalColor = decodeHDR(texture2D(original, v_Texcoord));
float fCoc = decodeFloat(texture2D(coc, v_Texcoord));
fCoc = abs(fCoc * 2.0 - 1.0);
float weight = smoothstep(0.0, 1.0, fCoc);
#ifdef NEARFIELD_ENABLED
vec4 nearfieldColor = decodeHDR(texture2D(nearfield, v_Texcoord));
float fNearCoc = decodeFloat(texture2D(nearcoc, v_Texcoord));
fNearCoc = abs(fNearCoc * 2.0 - 1.0);
gl_FragColor = encodeHDR(
mix(
nearfieldColor, mix(originalColor, blurredColor, weight),
pow(1.0 - fNearCoc, 4.0)
)
);
#else
gl_FragColor = encodeHDR(mix(originalColor, blurredColor, weight));
#endif
}
@end
@export ecgl.dof.diskBlur
#define POISSON_KERNEL_SIZE 16;
uniform sampler2D texture;
uniform sampler2D coc;
varying vec2 v_Texcoord;
uniform float blurRadius : 10.0;
uniform vec2 textureSize : [512.0, 512.0];
uniform vec2 poissonKernel[POISSON_KERNEL_SIZE];
uniform float percent;
float nrand(const in vec2 n) {
return fract(sin(dot(n.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
@import clay.util.rgbm
@import clay.util.float
void main()
{
vec2 offset = blurRadius / textureSize;
float rnd = 6.28318 * nrand(v_Texcoord + 0.07 * percent );
float cosa = cos(rnd);
float sina = sin(rnd);
vec4 basis = vec4(cosa, -sina, sina, cosa);
#if !defined(BLUR_NEARFIELD) && !defined(BLUR_COC)
offset *= abs(decodeFloat(texture2D(coc, v_Texcoord)) * 2.0 - 1.0);
#endif
#ifdef BLUR_COC
float cocSum = 0.0;
#else
vec4 color = vec4(0.0);
#endif
float weightSum = 0.0;
for (int i = 0; i < POISSON_KERNEL_SIZE; i++) {
vec2 ofs = poissonKernel[i];
ofs = vec2(dot(ofs, basis.xy), dot(ofs, basis.zw));
vec2 uv = v_Texcoord + ofs * offset;
vec4 texel = texture2D(texture, uv);
float w = 1.0;
#ifdef BLUR_COC
float fCoc = decodeFloat(texel) * 2.0 - 1.0;
cocSum += clamp(fCoc, -1.0, 0.0) * w;
#else
texel = decodeHDR(texel);
#if !defined(BLUR_NEARFIELD)
float fCoc = decodeFloat(texture2D(coc, uv)) * 2.0 - 1.0;
w *= abs(fCoc);
#endif
color += texel * w;
#endif
weightSum += w;
}
#ifdef BLUR_COC
gl_FragColor = encodeFloat(clamp(cocSum / weightSum, -1.0, 0.0) * 0.5 + 0.5);
#else
color /= weightSum;
gl_FragColor = encodeHDR(color);
#endif
}
@end`},function(q,H,b){"use strict";H.a=`@export ecgl.edge
uniform sampler2D texture;
uniform sampler2D normalTexture;
uniform sampler2D depthTexture;
uniform mat4 projectionInv;
uniform vec2 textureSize;
uniform vec4 edgeColor: [0,0,0,0.8];
varying vec2 v_Texcoord;
vec3 packColor(vec2 coord) {
float z = texture2D(depthTexture, coord).r * 2.0 - 1.0;
vec4 p = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
vec4 p4 = projectionInv * p;
return vec3(
texture2D(normalTexture, coord).rg,
-p4.z / p4.w / 5.0
);
}
void main() {
vec2 cc = v_Texcoord;
vec3 center = packColor(cc);
float size = clamp(1.0 - (center.z - 10.0) / 100.0, 0.0, 1.0) * 0.5;
float dx = size / textureSize.x;
float dy = size / textureSize.y;
vec2 coord;
vec3 topLeft = packColor(cc+vec2(-dx, -dy));
vec3 top = packColor(cc+vec2(0.0, -dy));
vec3 topRight = packColor(cc+vec2(dx, -dy));
vec3 left = packColor(cc+vec2(-dx, 0.0));
vec3 right = packColor(cc+vec2(dx, 0.0));
vec3 bottomLeft = packColor(cc+vec2(-dx, dy));
vec3 bottom = packColor(cc+vec2(0.0, dy));
vec3 bottomRight = packColor(cc+vec2(dx, dy));
vec3 v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight;
vec3 h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight;
float edge = sqrt(dot(h, h) + dot(v, v));
edge = smoothstep(0.8, 1.0, edge);
gl_FragColor = mix(texture2D(texture, v_Texcoord), vec4(edgeColor.rgb, 1.0), edgeColor.a * edge);
}
@end`},function(q,H,b){"use strict";var z=b(43),P=b(14),T=b(10),x=b(5),O=b(7),_=b(9);function g(m){for(var L=[],d=0;d<30;d++)L.push([Object(z.a)(d,2),Object(z.a)(d,3)]);this._haltonSequence=L,this._frame=0,this._sourceTex=new x.a,this._sourceFb=new T.a,this._sourceFb.attach(this._sourceTex),this._prevFrameTex=new x.a,this._outputTex=new x.a;var v=this._blendPass=new P.a({fragment:O.a.source("clay.compositor.blend")});v.material.disableTexturesAll(),v.material.enableTexture(["texture1","texture2"]),this._blendFb=new T.a({depthBuffer:!1}),this._outputPass=new P.a({fragment:O.a.source("clay.compositor.output"),blendWithPrevious:!0}),this._outputPass.material.define("fragment","OUTPUT_ALPHA"),this._outputPass.material.blend=function(M){M.blendEquationSeparate(M.FUNC_ADD,M.FUNC_ADD),M.blendFuncSeparate(M.ONE,M.ONE_MINUS_SRC_ALPHA,M.ONE,M.ONE_MINUS_SRC_ALPHA)}}g.prototype={constructor:g,jitterProjection:function(m,L){var d=m.viewport,v=d.devicePixelRatio||m.getDevicePixelRatio(),M=d.width*v,w=d.height*v,S=this._haltonSequence[this._frame%this._haltonSequence.length],A=new _.a;A.array[12]=(S[0]*2-1)/M,A.array[13]=(S[1]*2-1)/w,_.a.mul(L.projectionMatrix,A,L.projectionMatrix),_.a.invert(L.invProjectionMatrix,L.projectionMatrix)},resetFrame:function(){this._frame=0},getFrame:function(){return this._frame},getSourceFrameBuffer:function(){return this._sourceFb},getOutputTexture:function(){return this._outputTex},resize:function(m,L){this._prevFrameTex.width=m,this._prevFrameTex.height=L,this._outputTex.width=m,this._outputTex.height=L,this._sourceTex.width=m,this._sourceTex.height=L,this._prevFrameTex.dirty(),this._outputTex.dirty(),this._sourceTex.dirty()},isFinished:function(){return this._frame>=this._haltonSequence.length},render:function(m,L,d){var v=this._blendPass;this._frame===0?(v.setUniform("weight1",0),v.setUniform("weight2",1)):(v.setUniform("weight1",.9),v.setUniform("weight2",.1)),v.setUniform("texture1",this._prevFrameTex),v.setUniform("texture2",L||this._sourceTex),this._blendFb.attach(this._outputTex),this._blendFb.bind(m),v.render(m),this._blendFb.unbind(m),d||(this._outputPass.setUniform("texture",this._outputTex),this._outputPass.render(m));var M=this._prevFrameTex;this._prevFrameTex=this._outputTex,this._outputTex=M,this._frame++},dispose:function(m){this._sourceFb.dispose(m),this._blendFb.dispose(m),this._prevFrameTex.dispose(m),this._outputTex.dispose(m),this._sourceTex.dispose(m),this._outputPass.dispose(m),this._blendPass.dispose(m)}},H.a=g},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(184),x=b(185),O=b(82);P.a.registerAction({type:"geo3DChangeCamera",event:"geo3dcamerachanged",update:"series:updateCamera"},function(_,g){g.eachComponent({mainType:"geo3D",query:_},function(m){m.setView(_)})})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(38),x=b(31),O=b(32),_=b(26),g=b(80),m=P.a.extendComponentModel({type:"geo3D",layoutMode:"box",coordinateSystem:null,optionUpdated:function(){var d=this.option;d.regions=this.getFilledRegions(d.regions,d.map);var v=P.a.helper.completeDimensions(["value"],d.data,{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),M=new P.a.List(v,this);M.initData(d.regions);var w={};M.each(function(S){var A=M.getName(S),R=M.getItemModel(S);w[A]=R}),this._regionModelMap=w,this._data=M},getData:function(){return this._data},getRegionModel:function(d){var v=this.getData().getName(d);return this._regionModelMap[v]||new P.a.Model(null,this)},getRegionPolygonCoords:function(d){var v=this.getData().getName(d),M=this.coordinateSystem.getRegion(v);return M?M.geometries:[]},getFormattedLabel:function(d,v){var M=this._data.getName(d),w=this.getRegionModel(M),S=w.get(v==="normal"?["label","formatter"]:["emphasis","label","formatter"]);S==null&&(S=w.get(["label","formatter"]));var A={name:M};if(typeof S=="function")return A.status=v,S(A);if(typeof S=="string"){var R=A.seriesName;return S.replace("{a}",R!=null?R:"")}else return M},defaultOption:{regions:[]}});P.a.util.merge(m.prototype,g.a),P.a.util.merge(m.prototype,T.a),P.a.util.merge(m.prototype,x.a),P.a.util.merge(m.prototype,O.a),P.a.util.merge(m.prototype,_.a);var L=m},function(q,H,b){"use strict";var z=b(59),P=b(0),T=b.n(P),x=b(2),O=b(39),_=b(34),g=T.a.extendComponentView({type:"geo3D",__ecgl__:!0,init:function(m,L){this._geo3DBuilder=new z.a(L),this.groupGL=new x.a.Node,this._lightRoot=new x.a.Node,this._sceneHelper=new _.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot),this._control=new O.a({zr:L.getZr()}),this._control.init()},render:function(m,L,d){this.groupGL.add(this._geo3DBuilder.rootNode);var v=m.coordinateSystem;if(!(!v||!v.viewGL)){v.viewGL.add(this._lightRoot),m.get("show")?v.viewGL.add(this.groupGL):v.viewGL.remove(this.groupGL);var M=this._control;M.setViewGL(v.viewGL);var w=m.getModel("viewControl");M.setFromViewControlModel(w,0),this._sceneHelper.setScene(v.viewGL.scene),this._sceneHelper.updateLight(m),v.viewGL.setPostEffect(m.getModel("postEffect"),d),v.viewGL.setTemporalSuperSampling(m.getModel("temporalSuperSampling")),this._geo3DBuilder.update(m,L,d,0,m.getData().count());var S=v.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(A){A.material&&A.material[S]("fragment","SRGB_DECODE")}),M.off("update"),M.on("update",function(){d.dispatchAction({type:"geo3DChangeCamera",alpha:M.getAlpha(),beta:M.getBeta(),distance:M.getDistance(),center:M.getCenter(),from:this.uid,geo3DId:m.id})})}},afterRender:function(m,L,d,v){var M=v.renderer;this._sceneHelper.updateAmbientCubemap(M,m,d),this._sceneHelper.updateSkybox(M,m,d)},dispose:function(){this._control.dispose()}})},function(q,H,b){"use strict";H.a=z;function z(ne,le,ae){ae=ae||2;var de=le&&le.length,se=de?le[0]*ae:ne.length,fe=P(ne,0,se,ae,!0),ye=[];if(!fe)return ye;var ge,xe,Me,Ne,We,tt,Je;if(de&&(fe=L(ne,le,fe,ae)),ne.length>80*ae){ge=Me=ne[0],xe=Ne=ne[1];for(var st=ae;st<se;st+=ae)We=ne[st],tt=ne[st+1],We<ge&&(ge=We),tt<xe&&(xe=tt),We>Me&&(Me=We),tt>Ne&&(Ne=tt);Je=Math.max(Me-ge,Ne-xe)}return x(fe,ye,ae,ge,xe,Je),ye}function P(ne,le,ae,de,se){var fe,ye;if(se===ie(ne,le,ae,de)>0)for(fe=le;fe<ae;fe+=de)ye=te(fe,ne[fe],ne[fe+1],ye);else for(fe=ae-de;fe>=le;fe-=de)ye=te(fe,ne[fe],ne[fe+1],ye);return ye&&D(ye,ye.next)&&($(ye),ye=ye.next),ye}function T(ne,le){if(!ne)return ne;le||(le=ne);var ae=ne,de;do if(de=!1,!ae.steiner&&(D(ae,ae.next)||y(ae.prev,ae,ae.next)===0)){if($(ae),ae=le=ae.prev,ae===ae.next)return null;de=!0}else ae=ae.next;while(de||ae!==le);return le}function x(ne,le,ae,de,se,fe,ye){if(ne){!ye&&fe&&w(ne,de,se,fe);for(var ge=ne,xe,Me;ne.prev!==ne.next;){if(xe=ne.prev,Me=ne.next,fe?_(ne,de,se,fe):O(ne)){le.push(xe.i/ae),le.push(ne.i/ae),le.push(Me.i/ae),$(ne),ne=Me.next,ge=Me.next;continue}if(ne=Me,ne===ge){ye?ye===1?(ne=g(ne,le,ae),x(ne,le,ae,de,se,fe,2)):ye===2&&m(ne,le,ae,de,se,fe):x(T(ne),le,ae,de,se,fe,1);break}}}}function O(ne){var le=ne.prev,ae=ne,de=ne.next;if(y(le,ae,de)>=0)return!1;for(var se=ne.next.next;se!==ne.prev;){if(u(le.x,le.y,ae.x,ae.y,de.x,de.y,se.x,se.y)&&y(se.prev,se,se.next)>=0)return!1;se=se.next}return!0}function _(ne,le,ae,de){var se=ne.prev,fe=ne,ye=ne.next;if(y(se,fe,ye)>=0)return!1;for(var ge=se.x<fe.x?se.x<ye.x?se.x:ye.x:fe.x<ye.x?fe.x:ye.x,xe=se.y<fe.y?se.y<ye.y?se.y:ye.y:fe.y<ye.y?fe.y:ye.y,Me=se.x>fe.x?se.x>ye.x?se.x:ye.x:fe.x>ye.x?fe.x:ye.x,Ne=se.y>fe.y?se.y>ye.y?se.y:ye.y:fe.y>ye.y?fe.y:ye.y,We=A(ge,xe,le,ae,de),tt=A(Me,Ne,le,ae,de),Je=ne.nextZ;Je&&Je.z<=tt;){if(Je!==ne.prev&&Je!==ne.next&&u(se.x,se.y,fe.x,fe.y,ye.x,ye.y,Je.x,Je.y)&&y(Je.prev,Je,Je.next)>=0)return!1;Je=Je.nextZ}for(Je=ne.prevZ;Je&&Je.z>=We;){if(Je!==ne.prev&&Je!==ne.next&&u(se.x,se.y,fe.x,fe.y,ye.x,ye.y,Je.x,Je.y)&&y(Je.prev,Je,Je.next)>=0)return!1;Je=Je.prevZ}return!0}function g(ne,le,ae){var de=ne;do{var se=de.prev,fe=de.next.next;!D(se,fe)&&I(se,de,de.next,fe)&&F(se,fe)&&F(fe,se)&&(le.push(se.i/ae),le.push(de.i/ae),le.push(fe.i/ae),$(de),$(de.next),de=ne=fe),de=de.next}while(de!==ne);return de}function m(ne,le,ae,de,se,fe){var ye=ne;do{for(var ge=ye.next.next;ge!==ye.prev;){if(ye.i!==ge.i&&f(ye,ge)){var xe=Y(ye,ge);ye=T(ye,ye.next),xe=T(xe,xe.next),x(ye,le,ae,de,se,fe),x(xe,le,ae,de,se,fe);return}ge=ge.next}ye=ye.next}while(ye!==ne)}function L(ne,le,ae,de){var se=[],fe,ye,ge,xe,Me;for(fe=0,ye=le.length;fe<ye;fe++)ge=le[fe]*de,xe=fe<ye-1?le[fe+1]*de:ne.length,Me=P(ne,ge,xe,de,!1),Me===Me.next&&(Me.steiner=!0),se.push(R(Me));for(se.sort(d),fe=0;fe<se.length;fe++)v(se[fe],ae),ae=T(ae,ae.next);return ae}function d(ne,le){return ne.x-le.x}function v(ne,le){if(le=M(ne,le),le){var ae=Y(le,ne);T(ae,ae.next)}}function M(ne,le){var ae=le,de=ne.x,se=ne.y,fe=-1/0,ye;do{if(se<=ae.y&&se>=ae.next.y&&ae.next.y!==ae.y){var ge=ae.x+(se-ae.y)*(ae.next.x-ae.x)/(ae.next.y-ae.y);if(ge<=de&&ge>fe){if(fe=ge,ge===de){if(se===ae.y)return ae;if(se===ae.next.y)return ae.next}ye=ae.x<ae.next.x?ae:ae.next}}ae=ae.next}while(ae!==le);if(!ye)return null;if(de===fe)return ye.prev;var xe=ye,Me=ye.x,Ne=ye.y,We=1/0,tt;for(ae=ye.next;ae!==xe;)de>=ae.x&&ae.x>=Me&&de!==ae.x&&u(se<Ne?de:fe,se,Me,Ne,se<Ne?fe:de,se,ae.x,ae.y)&&(tt=Math.abs(se-ae.y)/(de-ae.x),(tt<We||tt===We&&ae.x>ye.x)&&F(ae,ne)&&(ye=ae,We=tt)),ae=ae.next;return ye}function w(ne,le,ae,de){var se=ne;do se.z===null&&(se.z=A(se.x,se.y,le,ae,de)),se.prevZ=se.prev,se.nextZ=se.next,se=se.next;while(se!==ne);se.prevZ.nextZ=null,se.prevZ=null,S(se)}function S(ne){var le,ae,de,se,fe,ye,ge,xe,Me=1;do{for(ae=ne,ne=null,fe=null,ye=0;ae;){for(ye++,de=ae,ge=0,le=0;le<Me&&(ge++,de=de.nextZ,!!de);le++);for(xe=Me;ge>0||xe>0&&de;)ge!==0&&(xe===0||!de||ae.z<=de.z)?(se=ae,ae=ae.nextZ,ge--):(se=de,de=de.nextZ,xe--),fe?fe.nextZ=se:ne=se,se.prevZ=fe,fe=se;ae=de}fe.nextZ=null,Me*=2}while(ye>1);return ne}function A(ne,le,ae,de,se){return ne=32767*(ne-ae)/se,le=32767*(le-de)/se,ne=(ne|ne<<8)&16711935,ne=(ne|ne<<4)&252645135,ne=(ne|ne<<2)&858993459,ne=(ne|ne<<1)&1431655765,le=(le|le<<8)&16711935,le=(le|le<<4)&252645135,le=(le|le<<2)&858993459,le=(le|le<<1)&1431655765,ne|le<<1}function R(ne){var le=ne,ae=ne;do le.x<ae.x&&(ae=le),le=le.next;while(le!==ne);return ae}function u(ne,le,ae,de,se,fe,ye,ge){return(se-ye)*(le-ge)-(ne-ye)*(fe-ge)>=0&&(ne-ye)*(de-ge)-(ae-ye)*(le-ge)>=0&&(ae-ye)*(fe-ge)-(se-ye)*(de-ge)>=0}function f(ne,le){return ne.next.i!==le.i&&ne.prev.i!==le.i&&!U(ne,le)&&F(ne,le)&&F(le,ne)&&G(ne,le)}function y(ne,le,ae){return(le.y-ne.y)*(ae.x-le.x)-(le.x-ne.x)*(ae.y-le.y)}function D(ne,le){return ne.x===le.x&&ne.y===le.y}function I(ne,le,ae,de){return D(ne,le)&&D(ae,de)||D(ne,de)&&D(ae,le)?!0:y(ne,le,ae)>0!=y(ne,le,de)>0&&y(ae,de,ne)>0!=y(ae,de,le)>0}function U(ne,le){var ae=ne;do{if(ae.i!==ne.i&&ae.next.i!==ne.i&&ae.i!==le.i&&ae.next.i!==le.i&&I(ae,ae.next,ne,le))return!0;ae=ae.next}while(ae!==ne);return!1}function F(ne,le){return y(ne.prev,ne,ne.next)<0?y(ne,le,ne.next)>=0&&y(ne,ne.prev,le)>=0:y(ne,le,ne.prev)<0||y(ne,ne.next,le)<0}function G(ne,le){var ae=ne,de=!1,se=(ne.x+le.x)/2,fe=(ne.y+le.y)/2;do ae.y>fe!=ae.next.y>fe&&ae.next.y!==ae.y&&se<(ae.next.x-ae.x)*(fe-ae.y)/(ae.next.y-ae.y)+ae.x&&(de=!de),ae=ae.next;while(ae!==ne);return de}function Y(ne,le){var ae=new oe(ne.i,ne.x,ne.y),de=new oe(le.i,le.x,le.y),se=ne.next,fe=le.prev;return ne.next=le,le.prev=ne,ae.next=se,se.prev=ae,de.next=ae,ae.prev=de,fe.next=de,de.prev=fe,de}function te(ne,le,ae,de){var se=new oe(ne,le,ae);return de?(se.next=de.next,se.prev=de,de.next.prev=se,de.next=se):(se.prev=se,se.next=se),se}function $(ne){ne.next.prev=ne.prev,ne.prev.next=ne.next,ne.prevZ&&(ne.prevZ.nextZ=ne.nextZ),ne.nextZ&&(ne.nextZ.prevZ=ne.prevZ)}function oe(ne,le,ae){this.i=ne,this.x=le,this.y=ae,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}z.deviation=function(ne,le,ae,de){var se=le&&le.length,fe=se?le[0]*ae:ne.length,ye=Math.abs(ie(ne,0,fe,ae));if(se)for(var ge=0,xe=le.length;ge<xe;ge++){var Me=le[ge]*ae,Ne=ge<xe-1?le[ge+1]*ae:ne.length;ye-=Math.abs(ie(ne,Me,Ne,ae))}var We=0;for(ge=0;ge<de.length;ge+=3){var tt=de[ge]*ae,Je=de[ge+1]*ae,st=de[ge+2]*ae;We+=Math.abs((ne[tt]-ne[st])*(ne[Je+1]-ne[tt+1])-(ne[tt]-ne[Je])*(ne[st+1]-ne[tt+1]))}return ye===0&&We===0?0:Math.abs((We-ye)/ye)};function ie(ne,le,ae,de){for(var se=0,fe=le,ye=ae-de;fe<ae;fe+=de)se+=(ne[ye]-ne[fe])*(ne[fe+1]+ne[ye+1]),ye=fe;return se}},function(q,H,b){var z=b(12),P={\u5357\u6D77\u8BF8\u5C9B:[32,80],\u5E7F\u4E1C:[0,-10],\u9999\u6E2F:[10,5],\u6FB3\u95E8:[-10,10],\u5929\u6D25:[5,5]};function T(x){z.each(x.regions,function(O){var _=P[O.name];if(_){var g=O.center;g[0]+=_[0]/10.5,g[1]+=-_[1]/(10.5/.75)}})}q.exports=T},function(q,H,b){var z=b(12),P={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};function T(x){z.each(x.regions,function(O){var _=P[O.name];if(_){var g=O.center;g[0]=_[0],g[1]=_[1]}})}q.exports=T},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(190),x=b(191),O=b(193);P.a.registerAction({type:"globeChangeCamera",event:"globecamerachanged",update:"series:updateCamera"},function(_,g){g.eachComponent({mainType:"globe",query:_},function(m){m.setView(_)})}),P.a.registerAction({type:"globeUpdateDisplacment",event:"globedisplacementupdated",update:"update"},function(_,g){})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(38),x=b(31),O=b(32),_=b(26);function g(d,v){d.id=d.id||d.name||v+""}var m=P.a.extendComponentModel({type:"globe",layoutMode:"box",coordinateSystem:null,init:function(){m.superApply(this,"init",arguments),P.a.util.each(this.option.layers,function(d,v){P.a.util.merge(d,this.defaultLayerOption),g(d,v)},this)},mergeOption:function(d){var v=this.option.layers;this.option.layers=null,m.superApply(this,"mergeOption",arguments);function M(R){return P.a.util.reduce(R,function(u,f,y){return g(f,y),u[f.id]=f,u},{})}if(v&&v.length){var w=M(d.layers),S=M(v);for(var A in w)S[A]?P.a.util.merge(S[A],w[A],!0):v.push(d.layers[A]);this.option.layers=v}P.a.util.each(this.option.layers,function(R){P.a.util.merge(R,this.defaultLayerOption)},this)},optionUpdated:function(){this.updateDisplacementHash()},defaultLayerOption:{show:!0,type:"overlay"},defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",baseColor:"#fff",baseTexture:"",heightTexture:"",displacementTexture:"",displacementScale:0,displacementQuality:"medium",globeRadius:100,globeOuterRadius:150,shading:"lambert",light:{main:{time:""}},viewControl:{autoRotate:!0,panSensitivity:0,targetCoord:null},layers:[]},setDisplacementData:function(d,v,M){this.displacementData=d,this.displacementWidth=v,this.displacementHeight=M},getDisplacementTexture:function(){return this.get("displacementTexture")||this.get("heightTexture")},getDisplacemenScale:function(){var d=this.getDisplacementTexture(),v=this.get("displacementScale");return(!d||d==="none")&&(v=0),v},hasDisplacement:function(){return this.getDisplacemenScale()>0},_displacementChanged:!0,_displacementScale:0,updateDisplacementHash:function(){var d=this.getDisplacementTexture(),v=this.getDisplacemenScale();this._displacementChanged=this._displacementTexture!==d||this._displacementScale!==v,this._displacementTexture=d,this._displacementScale=v},isDisplacementChanged:function(){return this._displacementChanged}});P.a.util.merge(m.prototype,T.a),P.a.util.merge(m.prototype,x.a),P.a.util.merge(m.prototype,O.a),P.a.util.merge(m.prototype,_.a);var L=m},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(39),O=b(34),_=b(192),g=b(3),m=P.a.extendComponentView({type:"globe",__ecgl__:!0,_displacementScale:0,init:function(L,d){this.groupGL=new T.a.Node,this._sphereGeometry=new T.a.SphereGeometry({widthSegments:200,heightSegments:100,dynamic:!0}),this._overlayGeometry=new T.a.SphereGeometry({widthSegments:80,heightSegments:40}),this._planeGeometry=new T.a.PlaneGeometry,this._earthMesh=new T.a.Mesh({renderNormal:!0}),this._lightRoot=new T.a.Node,this._sceneHelper=new O.a,this._sceneHelper.initLight(this._lightRoot),this.groupGL.add(this._earthMesh),this._control=new x.a({zr:d.getZr()}),this._control.init(),this._layerMeshes={}},render:function(L,d,v){var M=L.coordinateSystem,w=L.get("shading");M.viewGL.add(this._lightRoot),L.get("show")?M.viewGL.add(this.groupGL):M.viewGL.remove(this.groupGL),this._sceneHelper.setScene(M.viewGL.scene),M.viewGL.setPostEffect(L.getModel("postEffect"),v),M.viewGL.setTemporalSuperSampling(L.getModel("temporalSuperSampling"));var S=this._earthMesh;S.geometry=this._sphereGeometry;var A="ecgl."+w;(!S.material||S.material.shader.name!==A)&&(S.material=T.a.createMaterial(A)),T.a.setMaterialFromModel(w,S.material,L,v),["roughnessMap","metalnessMap","detailMap","normalMap"].forEach(function(y){var D=S.material.get(y);D&&(D.flipY=!1)}),S.material.set("color",T.a.parseColor(L.get("baseColor")));var R=M.radius*.99;S.scale.set(R,R,R);var u=S.material.setTextureImage("diffuseMap",L.get("baseTexture"),v,{flipY:!1,anisotropic:8});u&&u.surface&&u.surface.attachToMesh(S);var f=S.material.setTextureImage("bumpMap",L.get("heightTexture"),v,{flipY:!1,anisotropic:8});f&&f.surface&&f.surface.attachToMesh(S),S.material[L.get("postEffect.enable")?"define":"undefine"]("fragment","SRGB_DECODE"),this._updateLight(L,v),this._displaceVertices(L,v),this._updateViewControl(L,v),this._updateLayers(L,v)},afterRender:function(L,d,v,M){var w=M.renderer;this._sceneHelper.updateAmbientCubemap(w,L,v),this._sceneHelper.updateSkybox(w,L,v)},_updateLayers:function(L,d){var v=L.coordinateSystem,M=L.get("layers"),w=v.radius,S=[],A=[],R=[],u=[];P.a.util.each(M,function(U){var F=new P.a.Model(U),G=F.get("type"),Y=T.a.loadTexture(F.get("texture"),d,{flipY:!1,anisotropic:8});if(Y.surface&&Y.surface.attachToMesh(this._earthMesh),G==="blend"){var te=F.get("blendTo"),$=g.a.firstNotNull(F.get("intensity"),1);te==="emission"?(R.push(Y),u.push($)):(S.push(Y),A.push($))}else{var oe=F.get("id"),ie=this._layerMeshes[oe];ie||(ie=this._layerMeshes[oe]=new T.a.Mesh({geometry:this._overlayGeometry,castShadow:!1,ignorePicking:!0}));var ne=F.get("shading");ne==="lambert"?(ie.material=ie.__lambertMaterial||new T.a.Material({autoUpdateTextureStatus:!1,shader:T.a.createShader("ecgl.lambert"),transparent:!0,depthMask:!1}),ie.__lambertMaterial=ie.material):(ie.material=ie.__colorMaterial||new T.a.Material({autoUpdateTextureStatus:!1,shader:T.a.createShader("ecgl.color"),transparent:!0,depthMask:!1}),ie.__colorMaterial=ie.material),ie.material.enableTexture("diffuseMap");var le=F.get("distance"),ae=w+(le==null?v.radius/100:le);ie.scale.set(ae,ae,ae),w=ae;var de=this._blankTexture||(this._blankTexture=T.a.createBlankTexture("rgba(255, 255, 255, 0)"));ie.material.set("diffuseMap",de),T.a.loadTexture(F.get("texture"),d,{flipY:!1,anisotropic:8},function(se){se.surface&&se.surface.attachToMesh(ie),ie.material.set("diffuseMap",se),d.getZr().refresh()}),F.get("show")?this.groupGL.add(ie):this.groupGL.remove(ie)}},this);var f=this._earthMesh.material;f.define("fragment","LAYER_DIFFUSEMAP_COUNT",S.length),f.define("fragment","LAYER_EMISSIVEMAP_COUNT",R.length),f.set("layerDiffuseMap",S),f.set("layerDiffuseIntensity",A),f.set("layerEmissiveMap",R),f.set("layerEmissionIntensity",u);var y=L.getModel("debug.wireframe");if(y.get("show")){f.define("both","WIREFRAME_TRIANGLE");var D=T.a.parseColor(y.get("lineStyle.color")||"rgba(0,0,0,0.5)"),I=g.a.firstNotNull(y.get("lineStyle.width"),1);f.set("wireframeLineWidth",I),f.set("wireframeLineColor",D)}else f.undefine("both","WIREFRAME_TRIANGLE")},_updateViewControl:function(L,d){var v=L.coordinateSystem,M=L.getModel("viewControl"),w=v.viewGL.camera,S=this;function A(){return{type:"globeChangeCamera",alpha:R.getAlpha(),beta:R.getBeta(),distance:R.getDistance()-v.radius,center:R.getCenter(),from:S.uid,globeId:L.id}}var R=this._control;R.setViewGL(v.viewGL);var u=M.get("targetCoord"),f,y;u!=null&&(y=u[0]+90,f=u[1]),R.setFromViewControlModel(M,{baseDistance:v.radius,alpha:f,beta:y}),R.off("update"),R.on("update",function(){d.dispatchAction(A())})},_displaceVertices:function(L,d){var v=L.get("displacementQuality"),M=L.get("debug.wireframe.show"),w=L.coordinateSystem;if(!(!L.isDisplacementChanged()&&v===this._displacementQuality&&M===this._showDebugWireframe)){this._displacementQuality=v,this._showDebugWireframe=M;var S=this._sphereGeometry,A={low:100,medium:200,high:400,ultra:800}[v]||200,R=A/2;(S.widthSegments!==A||M)&&(S.widthSegments=A,S.heightSegments=R,S.build()),this._doDisplaceVertices(S,w),M&&S.generateBarycentric()}},_doDisplaceVertices:function(L,d){var v=L.attributes.position.value,M=L.attributes.texcoord0.value,w=L.__originalPosition;(!w||w.length!==v.length)&&(w=new Float32Array(v.length),w.set(v),L.__originalPosition=w);for(var S=d.displacementWidth,A=d.displacementHeight,R=d.displacementData,u=0;u<L.vertexCount;u++){var f=u*3,y=u*2,D=w[f+1],I=w[f+2],U=w[f+3],F=M[y++],G=M[y++],Y=Math.round(F*(S-1)),te=Math.round(G*(A-1)),$=te*S+Y,oe=R?R[$]:0;v[f+1]=D+D*oe,v[f+2]=I+I*oe,v[f+3]=U+U*oe}L.generateVertexNormals(),L.dirty(),L.updateBoundingBox()},_updateLight:function(L,d){var v=this._earthMesh;this._sceneHelper.updateLight(L);var M=this._sceneHelper.mainLight,w=L.get("light.main.time")||new Date,S=_.a.getPosition(P.a.number.parseDate(w),0,0),A=Math.cos(S.altitude);M.position.y=-A*Math.cos(S.azimuth),M.position.x=Math.sin(S.altitude),M.position.z=A*Math.sin(S.azimuth),M.lookAt(v.getWorldPosition())},dispose:function(L,d){this.groupGL.removeAll(),this._control.dispose()}})},function(q,H,b){"use strict";var z=Math.PI,P=Math.sin,T=Math.cos,x=Math.tan,O=Math.asin,_=Math.atan2,g=z/180,m=1e3*60*60*24,L=2440588,d=2451545;function v(F){return F.valueOf()/m-.5+L}function M(F){return v(F)-d}var w=g*23.4397;function S(F,G){return _(P(F)*T(w)-x(G)*P(w),T(F))}function A(F,G){return O(P(G)*T(w)+T(G)*P(w)*P(F))}function R(F,G,Y){return _(P(F),T(F)*P(G)-x(Y)*T(G))}function u(F,G,Y){return O(P(G)*P(Y)+T(G)*T(Y)*T(F))}function f(F,G){return g*(280.16+360.9856235*F)-G}function y(F){return g*(357.5291+.98560028*F)}function D(F){var G=g*(1.9148*P(F)+.02*P(2*F)+3e-4*P(3*F)),Y=g*102.9372;return F+G+Y+z}function I(F){var G=y(F),Y=D(G);return{dec:A(Y,0),ra:S(Y,0)}}var U={};U.getPosition=function(F,G,Y){var te=g*-Y,$=g*G,oe=M(F),ie=I(oe),ne=f(oe,te)-ie.ra;return{azimuth:R(ne,$,ie.dec),altitude:u(ne,$,ie.dec)}},H.a=U},function(q,H,b){"use strict";var z=b(194),P=b(0),T=b.n(P),x=b(41),O=b.n(x),_=b(20),g=b(3),m=b(2);function L(S,A){var R=document.createElement("canvas"),u=R.getContext("2d"),f=S.width,y=S.height;R.width=f,R.height=y,u.drawImage(S,0,0,f,y);for(var D=u.getImageData(0,0,f,y).data,I=new Float32Array(D.length/4),U=0;U<D.length/4;U++){var F=D[U*4];I[U]=F/255*A}return{data:I,width:f,height:y}}function d(S,A){var R=S.getBoxLayoutParams(),u=O.a.getLayoutRect(R,{width:A.getWidth(),height:A.getHeight()});u.y=A.getHeight()-u.y-u.height,this.viewGL.setViewport(u.x,u.y,u.width,u.height,A.getDevicePixelRatio()),this.radius=S.get("globeRadius");var f=S.get("globeOuterRadius");this.altitudeAxis&&this.altitudeAxis.setExtent(0,f-this.radius)}function v(S,A){var R=[1/0,-1/0];if(S.eachSeries(function(f){if(f.coordinateSystem===this){var y=f.getData(),D=f.coordDimToDataDim("alt")[0];if(D){var I=y.getDataExtent(D,!0);R[0]=Math.min(R[0],I[0]),R[1]=Math.max(R[1],I[1])}}},this),R&&isFinite(R[1]-R[0])){var u=T.a.helper.createScale(R,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new T.a.Axis("altitude",u),this.resize(this.model,A)}}var M={dimensions:z.a.prototype.dimensions,create:function(S,A){var R=[];return S.eachComponent("globe",function(u){u.__viewGL=u.__viewGL||new _.a;var f=new z.a;f.viewGL=u.__viewGL,u.coordinateSystem=f,f.model=u,R.push(f),f.resize=d,f.resize(u,A),f.update=v}),S.eachSeries(function(u){if(u.get("coordinateSystem")==="globe"){var f=u.getReferringComponents("globe")[0];if(f||(f=S.getComponent("globe")),!f)throw new Error('globe "'+g.a.firstNotNull(u.get("globe3DIndex"),u.get("globe3DId"),0)+'" not found');var y=f.coordinateSystem;u.coordinateSystem=y}}),S.eachComponent("globe",function(u,f){var y=u.coordinateSystem,D=u.getDisplacementTexture(),I=u.getDisplacemenScale();if(u.isDisplacementChanged()){if(u.hasDisplacement()){var U=!0;m.a.loadTexture(D,A,function(F){var G=F.image,Y=L(G,I);u.setDisplacementData(Y.data,Y.width,Y.height),U||A.dispatchAction({type:"globeUpdateDisplacment"})}),U=!1}else y.setDisplacementData(null,0,0);y.setDisplacementData(u.displacementData,u.displacementWidth,u.displacementHeight)}}),R}};T.a.registerCoordinateSystem("globe",M);var w=M},function(q,H,b){"use strict";var z=b(1),P=b.n(z),T=P.a.vec3;function x(O){this.radius=O,this.viewGL=null,this.altitudeAxis,this.displacementData=null,this.displacementWidth,this.displacementHeight}x.prototype={constructor:x,dimensions:["lng","lat","alt"],type:"globe",containPoint:function(){},setDisplacementData:function(O,_,g){this.displacementData=O,this.displacementWidth=_,this.displacementHeight=g},_getDisplacementScale:function(O,_){var g=(O+180)/360*(this.displacementWidth-1),m=(90-_)/180*(this.displacementHeight-1),L=Math.round(g)+Math.round(m)*this.displacementWidth;return this.displacementData[L]},dataToPoint:function(O,_){var g=O[0],m=O[1],L=O[2]||0,d=this.radius;this.displacementData&&(d*=1+this._getDisplacementScale(g,m)),this.altitudeAxis&&(d+=this.altitudeAxis.dataToCoord(L)),g=g*Math.PI/180,m=m*Math.PI/180;var v=Math.cos(m)*d;return _=_||[],_[0]=-v*Math.cos(g+Math.PI),_[1]=Math.sin(m)*d,_[2]=v*Math.sin(g+Math.PI),_},pointToData:function(O,_){var g=O[0],m=O[1],L=O[2],d=T.len(O);g/=d,m/=d,L/=d;var v=Math.asin(m),M=Math.atan2(L,-g);M<0&&(M=Math.PI*2+M);var w=v*180/Math.PI,S=M*180/Math.PI-180;return _=_||[],_[0]=S,_[1]=w,_[2]=d-this.radius,this.altitudeAxis&&(_[2]=this.altitudeAxis.coordToData(_[2])),_}},H.a=x},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(196),x=b(198),O=b(199);P.a.registerAction({type:"mapbox3DChangeCamera",event:"mapbox3dcamerachanged",update:"mapbox3D:updateCamera"},function(_,g){g.eachComponent({mainType:"mapbox3D",query:_},function(m){m.setMapboxCameraOption(_)})})},function(q,H,b){"use strict";var z=b(197),P=b(0),T=b.n(P),x=b(3),O=b(2),_=b(20);function g(v,M){var w=M.getWidth(),S=M.getHeight(),A=M.getDevicePixelRatio();this.viewGL.setViewport(0,0,w,S,A),this.width=w,this.height=S,this.altitudeScale=v.get("altitudeScale"),this.boxHeight=v.get("boxHeight")}function m(v,M){if(this.model.get("boxHeight")!=="auto"){var w=[1/0,-1/0];v.eachSeries(function(S){if(S.coordinateSystem===this){var A=S.getData(),R=S.coordDimToDataDim("alt")[0];if(R){var u=A.getDataExtent(R,!0);w[0]=Math.min(w[0],u[0]),w[1]=Math.max(w[1],u[1])}}},this),w&&isFinite(w[1]-w[0])&&(this.altitudeExtent=w)}}var L={dimensions:z.a.prototype.dimensions,create:function(v,M){var w=[];return v.eachComponent("mapbox3D",function(S){var A=S.__viewGL;A||(A=S.__viewGL=new _.a,A.setRootNode(new O.a.Node));var R=new z.a;R.viewGL=S.__viewGL,R.resize=g,R.resize(S,M),w.push(R),S.coordinateSystem=R,R.model=S,R.setCameraOption(S.getMapboxCameraOption()),R.update=m}),v.eachSeries(function(S){if(S.get("coordinateSystem")==="mapbox3D"){var A=S.getReferringComponents("mapbox3D")[0];if(A||(A=v.getComponent("mapbox3D")),!A)throw new Error('mapbox3D "'+x.a.firstNotNull(S.get("mapbox3DIndex"),S.get("mapbox3DId"),0)+'" not found');S.coordinateSystem=A.coordinateSystem}}),w}};T.a.registerCoordinateSystem("mapbox3D",L);var d=L},function(q,H,b){"use strict";var z=b(1),P=b.n(z),T=P.a.mat4,x=512,O=.6435011087932844,_=Math.PI,g=1/10;function m(){this.width=0,this.height=0,this.altitudeScale=1,this.boxHeight="auto",this.altitudeExtent,this.bearing=0,this.pitch=0,this.center=[0,0],this._origin,this.zoom=0,this._initialZoom}m.prototype={constructor:m,type:"mapbox3D",dimensions:["lng","lat","alt"],containPoint:function(){},setCameraOption:function(L){this.bearing=L.bearing,this.pitch=L.pitch,this.center=L.center,this.zoom=L.zoom,this._origin||(this._origin=this.projectOnTileWithScale(this.center,x)),this._initialZoom==null&&(this._initialZoom=this.zoom),this.updateTransform()},updateTransform:function(){if(this.height){var L=.5/Math.tan(O/2)*this.height*g,d=Math.max(Math.min(this.pitch,60),0)/180*Math.PI,v=O/2,M=Math.PI/2+d,w=Math.sin(v)*L/Math.sin(Math.PI-M-v),S=Math.cos(Math.PI/2-d)*w+L,A=S*1.1,R=new Float64Array(16);T.perspective(R,O,this.width/this.height,1,A),this.viewGL.camera.projectionMatrix.setArray(R),this.viewGL.camera.decomposeProjectionMatrix();var R=T.identity(new Float64Array(16)),u=this.dataToPoint(this.center);T.scale(R,R,[1,-1,1]),T.translate(R,R,[0,0,-L]),T.rotateX(R,R,d),T.rotateZ(R,R,-this.bearing/180*Math.PI),T.translate(R,R,[-u[0]*this.getScale()*g,-u[1]*this.getScale()*g,0]),this.viewGL.camera.viewMatrix.array=R;var f=new Float64Array(16);T.invert(f,R),this.viewGL.camera.worldTransform.array=f,this.viewGL.camera.decomposeWorldTransform();var y=x*this.getScale(),D;if(this.altitudeExtent&&!isNaN(this.boxHeight)){var I=this.altitudeExtent[1]-this.altitudeExtent[0];D=this.boxHeight/I*this.getScale()/Math.pow(2,this._initialZoom)}else D=y/(2*Math.PI*6378e3*Math.abs(Math.cos(this.center[1]*(Math.PI/180))))*this.altitudeScale*g;this.viewGL.rootNode.scale.set(this.getScale()*g,this.getScale()*g,D)}},getScale:function(){return Math.pow(2,this.zoom)},projectOnTile:function(L,d){return this.projectOnTileWithScale(L,this.getScale()*x,d)},projectOnTileWithScale:function(L,d,v){var M=L[0],w=L[1],S=M*_/180,A=w*_/180,R=d*(S+_)/(2*_),u=d*(_-Math.log(Math.tan(_/4+A*.5)))/(2*_);return v=v||[],v[0]=R,v[1]=u,v},unprojectFromTile:function(L,d){return this.unprojectOnTileWithScale(L,this.getScale()*x,d)},unprojectOnTileWithScale:function(L,d,v){var M=L[0],w=L[1],S=M/d*(2*_)-_,A=2*(Math.atan(Math.exp(_-w/d*(2*_)))-_/4);return v=v||[],v[0]=S*180/_,v[1]=A*180/_,v},dataToPoint:function(L,d){return d=this.projectOnTileWithScale(L,x,d),d[0]-=this._origin[0],d[1]-=this._origin[1],d[2]=isNaN(L[2])?0:L[2],isNaN(L[2])||(d[2]=L[2],this.altitudeExtent&&(d[2]-=this.altitudeExtent[0])),d}},H.a=m},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(31),x=b(32),O=["zoom","center","pitch","bearing"],_=P.a.extendComponentModel({type:"mapbox3D",layoutMode:"box",coordinateSystem:null,defaultOption:{zlevel:-10,style:"mapbox://styles/mapbox/light-v9",center:[0,0],zoom:0,pitch:0,bearing:0,light:{main:{alpha:20,beta:30}},altitudeScale:1,boxHeight:"auto"},getMapboxCameraOption:function(){var m=this;return O.reduce(function(L,d){return L[d]=m.get(d),L},{})},setMapboxCameraOption:function(m){m!=null&&O.forEach(function(L){m[L]!=null&&(this.option[L]=m[L])},this)},getMapbox:function(){return this._mapbox},setMapbox:function(m){this._mapbox=m}});P.a.util.merge(_.prototype,T.a),P.a.util.merge(_.prototype,x.a);var g=_},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(200),x=b(34),O=b(2),_=b(201);O.a.Shader.import(_.a);var g=512,m=P.a.extendComponentView({type:"mapbox3D",__ecgl__:!0,init:function(L,d){var v=d.getZr();this._zrLayer=new T.a("mapbox3D",v),v.painter.insertLayer(-1e3,this._zrLayer),this._lightRoot=new O.a.Node,this._sceneHelper=new x.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot);var M=this._zrLayer.getMapbox(),w=this._dispatchInteractAction.bind(this,d,M);["zoom","rotate","drag","pitch","rotate","move"].forEach(function(S){M.on(S,w)}),this._groundMesh=new O.a.Mesh({geometry:new O.a.PlaneGeometry,material:new O.a.Material({shader:new O.a.Shader({vertex:O.a.Shader.source("ecgl.displayShadow.vertex"),fragment:O.a.Shader.source("ecgl.displayShadow.fragment")}),depthMask:!1}),renderOrder:-100,culling:!1,castShadow:!1,$ignorePicking:!0,renderNormal:!0})},render:function(L,d,v){var M=this._zrLayer.getMapbox(),w=L.get("style"),S=JSON.stringify(w);S!==this._oldStyleStr&&w&&M.setStyle(w),this._oldStyleStr=S,M.setCenter(L.get("center")),M.setZoom(L.get("zoom")),M.setPitch(L.get("pitch")),M.setBearing(L.get("bearing")),L.setMapbox(M);var A=L.coordinateSystem;A.viewGL.scene.add(this._lightRoot),A.viewGL.add(this._groundMesh),this._updateGroundMesh(),this._sceneHelper.setScene(A.viewGL.scene),this._sceneHelper.updateLight(L),A.viewGL.setPostEffect(L.getModel("postEffect"),v),A.viewGL.setTemporalSuperSampling(L.getModel("temporalSuperSampling")),this._mapbox3DModel=L},afterRender:function(L,d,v,M){var w=M.renderer;this._sceneHelper.updateAmbientCubemap(w,L,v),this._sceneHelper.updateSkybox(w,L,v),L.coordinateSystem.viewGL.scene.traverse(function(S){S.material&&(S.material.define("fragment","NORMAL_UP_AXIS",2),S.material.define("fragment","NORMAL_FRONT_AXIS",1))})},updateCamera:function(L,d,v,M){L.coordinateSystem.setCameraOption(M),this._updateGroundMesh(),v.getZr().refresh()},_dispatchInteractAction:function(L,d,v){L.dispatchAction({type:"mapbox3DChangeCamera",pitch:d.getPitch(),zoom:d.getZoom(),center:d.getCenter().toArray(),bearing:d.getBearing(),mapbox3DId:this._mapbox3DModel&&this._mapbox3DModel.id})},_updateGroundMesh:function(){if(this._mapbox3DModel){var L=this._mapbox3DModel.coordinateSystem,d=L.dataToPoint(L.center);this._groundMesh.position.set(d[0],d[1],-.001);var v=new O.a.Plane(new O.a.Vector3(0,0,1),0),M=L.viewGL.camera.castRay(new O.a.Vector2(-1,-1)),w=L.viewGL.camera.castRay(new O.a.Vector2(1,1)),S=M.intersectPlane(v),A=w.intersectPlane(v),R=S.dist(A)/L.viewGL.rootNode.scale.x;this._groundMesh.scale.set(R,R,1)}},dispose:function(L,d){d.getZr().delLayer(-1e3)}})},function(q,H,b){"use strict";function z(T,x){if(this.id=T,this.zr=x,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute;left:0;right:0;top:0;bottom:0;",!mapboxgl)throw new Error("Mapbox GL library must be included. See https://www.mapbox.com/mapbox-gl-js/api/");this._mapbox=new mapboxgl.Map({container:this.dom}),this._initEvents()}z.prototype.resize=function(){this._mapbox.resize()},z.prototype.getMapbox=function(){return this._mapbox},z.prototype.clear=function(){},z.prototype.refresh=function(){this._mapbox.resize()};var P=["mousedown","mouseup","click","dblclick","mousemove","mousewheel","wheel","touchstart","touchend","touchmove","touchcancel"];z.prototype._initEvents=function(){var T=this._mapbox.getCanvasContainer();this._handlers=this._handlers||{contextmenu:function(x){return x.preventDefault(),!1}},P.forEach(function(x){this._handlers[x]=function(O){var _={};for(var g in O)_[g]=O[g];_.bubbles=!1;var m=new O.constructor(O.type,_);T.dispatchEvent(m)},this.zr.dom.addEventListener(x,this._handlers[x])},this),this.zr.dom.addEventListener("contextmenu",this._handlers.contextmenu)},z.prototype.dispose=function(){P.forEach(function(T){this.zr.dom.removeEventListener(T,this._handlers[T])},this)},H.a=z},function(q,H,b){"use strict";H.a=`
@export ecgl.displayShadow.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
varying vec3 v_WorldPosition;
varying vec3 v_Normal;
void main()
{
@import ecgl.common.uv.main
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end
@export ecgl.displayShadow.fragment
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform float roughness: 0.2;
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
@import ecgl.common.ssaoMap.header
@import clay.plugin.compute_shadow_map
void main()
{
float shadow = 1.0;
@import ecgl.common.ssaoMap.main
#if defined(DIRECTIONAL_LIGHT_COUNT) && defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
for (int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) {
shadow = min(shadow, shadowContribsDir[i] * 0.5 + 0.5);
}
#endif
shadow *= 0.5 + ao * 0.5;
shadow = clamp(shadow, 0.0, 1.0);
gl_FragColor = vec4(vec3(0.0), 1.0 - shadow);
}
@end`},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(203),x=b(206),O=b(208),_=b(16);P.a.registerVisual(Object(_.a)("bar3D")),P.a.registerProcessor(function(g,m){g.eachSeriesByType("bar3d",function(L){var d=L.getData();d.filterSelf(function(v){return d.hasValue(v)})})})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(4),x=b(1),O=b.n(x),_=b(204),g=b(205),m=O.a.vec3;function L(M,w){var S=M.getData(),A=M.get("minHeight")||0,R=M.get("barSize"),u=["lng","lat","alt"].map(function(D){return M.coordDimToDataDim(D)[0]});if(R==null){var f=w.radius*Math.PI,y=Object(g.a)(S,u[0],u[1]);R=[f/Math.sqrt(S.count()/y),f/Math.sqrt(S.count()/y)]}else P.a.util.isArray(R)||(R=[R,R]);S.each(u,function(D,I,U,F){var G=S.get(u[2],F,!0),Y=S.stackedOn?G-U:w.altitudeAxis.scale.getExtent()[0],te=Math.max(w.altitudeAxis.dataToCoord(U),A),$=w.dataToPoint([D,I,Y]),oe=w.dataToPoint([D,I,G]),ie=m.sub([],oe,$);m.normalize(ie,ie);var ne=[R[0],te,R[1]];S.setItemLayout(F,[$,ie,ne])}),S.setLayout("orient",T.a.UP.array)}function d(M,w){var S=M.getData(),A=M.get("barSize"),R=M.get("minHeight")||0,u=["lng","lat","alt"].map(function(I){return M.coordDimToDataDim(I)[0]});if(A==null){var f=Math.min(w.size[0],w.size[2]),y=Object(g.a)(S,u[0],u[1]);A=[f/Math.sqrt(S.count()/y),f/Math.sqrt(S.count()/y)]}else P.a.util.isArray(A)||(A=[A,A]);var D=[0,1,0];S.each(u,function(I,U,F,G){var Y=S.get(u[2],G,!0),te=S.stackedOn?Y-F:w.altitudeAxis.scale.getExtent()[0],$=Math.max(w.altitudeAxis.dataToCoord(F),R),oe=w.dataToPoint([I,U,te]),ie=[A[0],$,A[1]];S.setItemLayout(G,[oe,D,ie])}),S.setLayout("orient",[1,0,0])}function v(M,w){var S=M.getData(),A=M.coordDimToDataDim("lng")[0],R=M.coordDimToDataDim("lat")[0],u=M.coordDimToDataDim("alt")[0],f=M.get("barSize"),y=M.get("minHeight")||0;if(f==null){var D=S.getDataExtent(A),I=S.getDataExtent(R),U=w.dataToPoint([D[0],I[0]]),F=w.dataToPoint([D[1],I[1]]),G=Math.min(Math.abs(U[0]-F[0]),Math.abs(U[1]-F[1]))||1,Y=Object(g.a)(S,A,R);f=[G/Math.sqrt(S.count()/Y),G/Math.sqrt(S.count()/Y)]}else P.a.util.isArray(f)||(f=[f,f]),f[0]/=w.getScale()/16,f[1]/=w.getScale()/16;var te=[0,0,1];S.each([A,R,u],function($,oe,ie,ne){var le=S.get(u,ne,!0),ae=S.stackedOn?le-ie:0,de=w.dataToPoint([$,oe,ae]),se=w.dataToPoint([$,oe,le]),fe=Math.max(se[2]-de[2],y),ye=[f[0],fe,f[1]];S.setItemLayout(ne,[de,te,ye])}),S.setLayout("orient",[1,0,0])}P.a.registerLayout(function(M,w){M.eachSeriesByType("bar3D",function(S){var A=S.coordinateSystem,R=A&&A.type;if(R==="globe")L(S,A);else if(R==="cartesian3D")Object(_.a)(S,A);else if(R==="geo3D")d(S,A);else if(R==="mapbox3D")v(S,A);else throw A?new Error("bar3D doesn't support coordinate system "+A.type):new Error("bar3D doesn't have coordinate system.")})})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(1),x=b.n(T),O=x.a.vec3;function _(m){var L=m[0],d=m[1];return!(L>0&&d>0||L<0&&d<0)}function g(m,L){var d=m.getData(),v=m.get("barSize");if(v==null){var M=L.size,w,S,A=L.getAxis("x"),R=L.getAxis("y");A.type==="category"?w=A.getBandWidth()*.7:w=Math.round(M[0]/Math.sqrt(d.count()))*.6,R.type==="category"?S=R.getBandWidth()*.7:S=Math.round(M[1]/Math.sqrt(d.count()))*.6,v=[w,S]}else P.a.util.isArray(v)||(v=[v,v]);var u=L.getAxis("z").scale.getExtent(),f=_(u),y=["x","y","z"].map(function(D){return m.coordDimToDataDim(D)[0]});d.each(y,function(D,I,U,F){var G=d.get(y[2],F,!0),Y=d.stackedOn?G-U:f?0:u[0],te=L.dataToPoint([D,I,Y]),$=L.dataToPoint([D,I,G]),oe=O.dist(te,$),ie=[0,$[1]<te[1]?-1:1,0];Math.abs(oe)===0&&(oe=.1);var ne=[v[0],oe,v[1]];d.setItemLayout(F,[te,ie,ne])}),d.setLayout("orient",[1,0,0])}H.a=g},function(q,H,b){"use strict";H.a=function(z,P,T){for(var x=z.getDataExtent(P),O=z.getDataExtent(T),_=x[1]-x[0]||x[0],g=O[1]-O[0]||O[0],m=50,L=new Uint8Array(m*m),d=0;d<z.count();d++){var v=z.get(P,d),M=z.get(T,d),w=Math.floor((v-x[0])/_*(m-1)),S=Math.floor((M-O[0])/g*(m-1)),A=S*m+w;L[A]=L[A]||1}for(var R=0,d=0;d<L.length;d++)L[d]&&R++;return R/L.length}},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(3),O=b(27),_=b(207),g=b(61),m=b(1),L=b.n(m),d=L.a.vec3,v=P.a.extendChartView({type:"bar3D",__ecgl__:!0,init:function(M,w){this.groupGL=new T.a.Node,this._api=w,this._labelsBuilder=new g.a(256,256,w);var S=this;this._labelsBuilder.getLabelPosition=function(A,R,u){if(S._data){var f=S._data.getItemLayout(A),y=f[0],D=f[1],I=f[2][1];return d.scaleAndAdd([],y,D,u+I)}else return[0,0]},this._labelsBuilder.getMesh().renderOrder=100},render:function(M,w,S){var A=this._prevBarMesh;this._prevBarMesh=this._barMesh,this._barMesh=A,this._barMesh||(this._barMesh=new T.a.Mesh({geometry:new _.a,shadowDepthMaterial:new T.a.Material({shader:new T.a.Shader(T.a.Shader.source("ecgl.sm.depth.vertex"),T.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:M.coordinateSystem.type==="cartesian3D",renderOrder:10,renderNormal:!0})),this.groupGL.remove(this._prevBarMesh),this.groupGL.add(this._barMesh),this.groupGL.add(this._labelsBuilder.getMesh());var R=M.coordinateSystem;if(this._doRender(M,S),R&&R.viewGL){R.viewGL.add(this.groupGL);var u=R.viewGL.isLinearSpace()?"define":"undefine";this._barMesh.material[u]("fragment","SRGB_DECODE")}this._data=M.getData(),this._labelsBuilder.updateData(this._data),this._labelsBuilder.updateLabels(),this._updateAnimation(M)},_updateAnimation:function(M){T.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevBarMesh,this._barMesh,M)},_doRender:function(M,w){var S=M.getData(),A=M.get("shading"),R=A!=="color",u=this,f=this._barMesh,y="ecgl."+A;(!f.material||f.material.shader.name!==y)&&(f.material=T.a.createMaterial(y,["VERTEX_COLOR"])),T.a.setMaterialFromModel(A,f.material,M,w),f.geometry.enableNormal=R,f.geometry.resetOffset();var D=M.get("bevelSize"),I=M.get("bevelSmoothness");f.geometry.bevelSegments=I,f.geometry.bevelSize=D;var U=[],F=new Float32Array(S.count()*4),G=0,oe=0,Y=!1;S.each(function(ne){if(S.hasValue(ne)){var le=S.getItemVisual(ne,"color"),ae=S.getItemVisual(ne,"opacity");ae==null&&(ae=1),T.a.parseColor(le,U),U[3]*=ae,F[G++]=U[0],F[G++]=U[1],F[G++]=U[2],F[G++]=U[3],U[3]>0&&(oe++,U[3]<.99&&(Y=!0))}}),f.geometry.setBarCount(oe);var te=S.getLayout("orient"),$=this._barIndexOfData=new Int32Array(S.count()),oe=0;S.each(function(ne){if(!S.hasValue(ne)){$[ne]=-1;return}var le=S.getItemLayout(ne),ae=le[0],de=le[1],se=le[2],fe=ne*4;U[0]=F[fe++],U[1]=F[fe++],U[2]=F[fe++],U[3]=F[fe++],U[3]>0&&(u._barMesh.geometry.addBar(ae,de,te,se,U,ne),$[ne]=oe++)}),f.geometry.dirty(),f.geometry.updateBoundingBox();var ie=f.material;ie.transparent=Y,ie.depthMask=!Y,f.geometry.sortTriangles=Y,this._initHandler(M,w)},_initHandler:function(M,w){var S=M.getData(),A=this._barMesh,R=M.coordinateSystem.type==="cartesian3D";A.seriesIndex=M.seriesIndex;var u=-1;A.off("mousemove"),A.off("mouseout"),A.on("mousemove",function(f){var y=A.geometry.getDataIndexOfVertex(f.triangle[0]);y!==u&&(this._downplay(u),this._highlight(y),this._labelsBuilder.updateLabels([y]),R&&w.dispatchAction({type:"grid3DShowAxisPointer",value:[S.get("x",y),S.get("y",y),S.get("z",y,!0)]})),u=y,A.dataIndex=y},this),A.on("mouseout",function(f){this._downplay(u),this._labelsBuilder.updateLabels(),u=-1,A.dataIndex=-1,R&&w.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_highlight:function(M){var w=this._data;if(w){var S=this._barIndexOfData[M];if(!(S<0)){var A=w.getItemModel(M),R=A.getModel("emphasis.itemStyle"),u=R.get("color"),f=R.get("opacity");if(u==null){var y=w.getItemVisual(M,"color");u=P.a.color.lift(y,-.4)}f==null&&(f=w.getItemVisual(M,"opacity"));var D=T.a.parseColor(u);D[3]*=f,this._barMesh.geometry.setColor(S,D),this._api.getZr().refresh()}}},_downplay:function(M){var w=this._data;if(w){var S=this._barIndexOfData[M];if(!(S<0)){var A=w.getItemVisual(M,"color"),R=w.getItemVisual(M,"opacity"),u=T.a.parseColor(A);u[3]*=R,this._barMesh.geometry.setColor(S,u),this._api.getZr().refresh()}}},highlight:function(M,w,S,A){this._toggleStatus("highlight",M,w,S,A)},downplay:function(M,w,S,A){this._toggleStatus("downplay",M,w,S,A)},_toggleStatus:function(M,w,S,A,R){var u=w.getData(),f=x.a.queryDataIndex(u,R),y=this;f!=null?P.a.util.each(O.a.normalizeToArray(f),function(D){M==="highlight"?this._highlight(D):this._downplay(D)},this):u.each(function(D){M==="highlight"?y._highlight(D):y._downplay(D)})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(33),x=b(60),O=b(13),_=b(1),g=b.n(_),m=g.a.vec3,L=g.a.mat3,d=O.a.extend(function(){return{attributes:{position:new O.a.Attribute("position","float",3,"POSITION"),normal:new O.a.Attribute("normal","float",3,"NORMAL"),color:new O.a.Attribute("color","float",4,"COLOR"),prevPosition:new O.a.Attribute("prevPosition","float",3),prevNormal:new O.a.Attribute("prevNormal","float",3)},dynamic:!0,enableNormal:!1,bevelSize:1,bevelSegments:0,_dataIndices:null,_vertexOffset:0,_triangleOffset:0}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0},setBarCount:function(v){var M=this.enableNormal,w=this.getBarVertexCount()*v,S=this.getBarTriangleCount()*v;this.vertexCount!==w&&(this.attributes.position.init(w),M?this.attributes.normal.init(w):this.attributes.normal.value=null,this.attributes.color.init(w)),this.triangleCount!==S&&(this.indices=w>65535?new Uint32Array(S*3):new Uint16Array(S*3),this._dataIndices=new Uint32Array(w))},getBarVertexCount:function(){var v=this.bevelSize>0?this.bevelSegments:0;return v>0?this._getBevelBarVertexCount(v):this.enableNormal?24:8},getBarTriangleCount:function(){var v=this.bevelSize>0?this.bevelSegments:0;return v>0?this._getBevelBarTriangleCount(v):12},_getBevelBarVertexCount:function(v){return(v+1)*4*(v+1)*2},_getBevelBarTriangleCount:function(v){var M=v*4+3,w=v*2+1;return(M+1)*w*2+4},setColor:function(v,M){for(var w=this.getBarVertexCount(),S=w*v,A=w*(v+1),R=S;R<A;R++)this.attributes.color.set(R,M);this.dirtyAttribute("color")},getDataIndexOfVertex:function(v){return this._dataIndices?this._dataIndices[v]:null},addBar:function(){for(var v=m.create,M=m.scaleAndAdd,w=v(),S=v(),A=v(),R=v(),u=v(),f=v(),y=v(),D=[],I=[],U=0;U<8;U++)D[U]=v();for(var F=[[0,1,5,4],[2,3,7,6],[4,5,6,7],[3,2,1,0],[0,4,7,3],[1,2,6,5]],G=[0,1,2,0,2,3],Y=[],U=0;U<F.length;U++)for(var te=F[U],$=0;$<2;$++){for(var oe=[],ie=0;ie<3;ie++)oe.push(te[G[$*3+ie]]);Y.push(oe)}return function(ne,le,ae,de,se,fe){var ye=this._vertexOffset;if(this.bevelSize>0&&this.bevelSegments>0)this._addBevelBar(ne,le,ae,de,this.bevelSize,this.bevelSegments,se);else{m.copy(A,le),m.normalize(A,A),m.cross(R,ae,A),m.normalize(R,R),m.cross(S,A,R),m.normalize(R,R),m.negate(u,S),m.negate(f,A),m.negate(y,R),M(D[0],ne,S,de[0]/2),M(D[0],D[0],R,de[2]/2),M(D[1],ne,S,de[0]/2),M(D[1],D[1],y,de[2]/2),M(D[2],ne,u,de[0]/2),M(D[2],D[2],y,de[2]/2),M(D[3],ne,u,de[0]/2),M(D[3],D[3],R,de[2]/2),M(w,ne,A,de[1]),M(D[4],w,S,de[0]/2),M(D[4],D[4],R,de[2]/2),M(D[5],w,S,de[0]/2),M(D[5],D[5],y,de[2]/2),M(D[6],w,u,de[0]/2),M(D[6],D[6],y,de[2]/2),M(D[7],w,u,de[0]/2),M(D[7],D[7],R,de[2]/2);var ge=this.attributes;if(this.enableNormal){I[0]=S,I[1]=u,I[2]=A,I[3]=f,I[4]=R,I[5]=y;for(var xe=this._vertexOffset,Me=0;Me<F.length;Me++){for(var Ne=this._triangleOffset*3,We=0;We<6;We++)this.indices[Ne++]=xe+G[We];xe+=4,this._triangleOffset+=2}for(var Me=0;Me<F.length;Me++)for(var tt=I[Me],We=0;We<4;We++){var Je=F[Me][We];ge.position.set(this._vertexOffset,D[Je]),ge.normal.set(this._vertexOffset,tt),ge.color.set(this._vertexOffset++,se)}}else{for(var Me=0;Me<Y.length;Me++){for(var Ne=this._triangleOffset*3,We=0;We<3;We++)this.indices[Ne+We]=Y[Me][We]+this._vertexOffset;this._triangleOffset++}for(var Me=0;Me<D.length;Me++)ge.position.set(this._vertexOffset,D[Me]),ge.color.set(this._vertexOffset++,se)}}for(var st=this._vertexOffset,Me=ye;Me<st;Me++)this._dataIndices[Me]=fe}}(),_addBevelBar:function(){var v=m.create(),M=m.create(),w=m.create(),S=L.create(),A=[],R=[1,-1,-1,1],u=[1,1,-1,-1],f=[2,0];return function(y,D,I,U,F,G,Y){m.copy(M,D),m.normalize(M,M),m.cross(w,I,M),m.normalize(w,w),m.cross(v,M,w),m.normalize(w,w),S[0]=v[0],S[1]=v[1],S[2]=v[2],S[3]=M[0],S[4]=M[1],S[5]=M[2],S[6]=w[0],S[7]=w[1],S[8]=w[2],F=Math.min(U[0],U[2])/2*F;for(var te=0;te<3;te++)A[te]=Math.max(U[te]-F*2,0);for(var $=(U[0]-A[0])/2,oe=(U[1]-A[1])/2,ie=(U[2]-A[2])/2,ne=[],le=[],ae=this._vertexOffset,de=[],te=0;te<2;te++){de[te]=de[te]=[];for(var se=0;se<=G;se++)for(var fe=0;fe<4;fe++){(se===0&&te===0||te===1&&se===G)&&de[te].push(ae);for(var ye=0;ye<=G;ye++){var ge=ye/G*Math.PI/2+Math.PI/2*fe,xe=se/G*Math.PI/2+Math.PI/2*te;le[0]=$*Math.cos(ge)*Math.sin(xe),le[1]=oe*Math.cos(xe),le[2]=ie*Math.sin(ge)*Math.sin(xe),ne[0]=le[0]+R[fe]*A[0]/2,ne[1]=le[1]+oe+f[te]*A[1]/2,ne[2]=le[2]+u[fe]*A[2]/2,Math.abs($-oe)<1e-6&&Math.abs(oe-ie)<1e-6||(le[0]/=$*$,le[1]/=oe*oe,le[2]/=ie*ie),m.normalize(le,le),m.transformMat3(ne,ne,S),m.transformMat3(le,le,S),m.add(ne,ne,y),this.attributes.position.set(ae,ne),this.enableNormal&&this.attributes.normal.set(ae,le),this.attributes.color.set(ae,Y),ae++}}}for(var Me=G*4+3,Ne=G*2+1,We=Me+1,fe=0;fe<Ne;fe++)for(var te=0;te<=Me;te++){var tt=fe*We+te+this._vertexOffset,Je=fe*We+(te+1)%We+this._vertexOffset,st=(fe+1)*We+(te+1)%We+this._vertexOffset,yt=(fe+1)*We+te+this._vertexOffset;this.setTriangleIndices(this._triangleOffset++,[st,tt,Je]),this.setTriangleIndices(this._triangleOffset++,[st,yt,tt])}this.setTriangleIndices(this._triangleOffset++,[de[0][0],de[0][2],de[0][1]]),this.setTriangleIndices(this._triangleOffset++,[de[0][0],de[0][3],de[0][2]]),this.setTriangleIndices(this._triangleOffset++,[de[1][0],de[1][1],de[1][2]]),this.setTriangleIndices(this._triangleOffset++,[de[1][0],de[1][2],de[1][3]]),this._vertexOffset=ae}}()});P.a.util.defaults(d.prototype,T.a),P.a.util.defaults(d.prototype,x.a),H.a=d},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(26),x=b(27),O=b(35),_=b(44),g=P.a.extendSeriesModel({type:"series.bar3D",dependencies:["globe"],visualColorAccessPath:"itemStyle.color",getInitialData:function(L,d){return Object(_.a)(this)},getFormattedLabel:function(L,d,v,M){var w=x.a.getFormattedLabel(this,L,d,v,M);return w==null&&(w=this.getData().get("z",L)),w},formatTooltip:function(L){return Object(O.a)(this,L)},defaultOption:{coordinateSystem:"cartesian3D",globeIndex:0,grid3DIndex:0,zlevel:-10,bevelSize:0,bevelSmoothness:2,onGridPlane:"xy",shading:"color",minHeight:0,itemStyle:{opacity:1},label:{show:!1,distance:2,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},emphasis:{label:{show:!0}},animationDurationUpdate:500}});P.a.util.merge(g.prototype,T.a);var m=g},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(210),x=b(211),O=b(45),_=b.n(O),g=b(16);P.a.registerVisual(_()("line3D","circle",null)),P.a.registerVisual(Object(g.a)("line3D")),P.a.registerLayout(function(m,L){m.eachSeriesByType("line3D",function(d){var v=d.getData(),M=d.coordinateSystem;if(M){if(M.type!=="cartesian3D"){console.error("line3D needs cartesian3D coordinateSystem");return}var w=new Float32Array(v.count()*3),S=[],A=[],R=M.dimensions,u=R.map(function(f){return d.coordDimToDataDim(f)[0]});M&&v.each(u,function(f,y,D,I){S[0]=f,S[1]=y,S[2]=D,M.dataToPoint(S,A),w[I*3]=A[0],w[I*3+1]=A[1],w[I*3+2]=A[2]}),v.setLayout("points",w)}})})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(35),x=b(44),O=P.a.extendSeriesModel({type:"series.line3D",dependencies:["grid3D"],visualColorAccessPath:"lineStyle.color",getInitialData:function(g,m){return Object(x.a)(this)},formatTooltip:function(g){return Object(T.a)(this,g)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,lineStyle:{width:2},animationDurationUpdate:500}}),_=O},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(3),O=b(22),_=b(9),g=b(4),m=b(212),L=b.n(m),d=b(1),v=b.n(d),M=b(40),w=v.a.vec3;T.a.Shader.import(M.a);var S=P.a.extendChartView({type:"line3D",__ecgl__:!0,init:function(A,R){this.groupGL=new T.a.Node,this._api=R},render:function(A,R,u){var f=this._prevLine3DMesh;this._prevLine3DMesh=this._line3DMesh,this._line3DMesh=f,this._line3DMesh||(this._line3DMesh=new T.a.Mesh({geometry:new O.a({useNativeLine:!1,sortTriangles:!0}),material:new T.a.Material({shader:T.a.createShader("ecgl.meshLines3D")}),renderOrder:10}),this._line3DMesh.geometry.pick=this._pick.bind(this)),this.groupGL.remove(this._prevLine3DMesh),this.groupGL.add(this._line3DMesh);var y=A.coordinateSystem;if(y&&y.viewGL){y.viewGL.add(this.groupGL);var D=y.viewGL.isLinearSpace()?"define":"undefine";this._line3DMesh.material[D]("fragment","SRGB_DECODE")}this._doRender(A,u),this._data=A.getData(),this._camera=y.viewGL.camera,this.updateCamera(),this._updateAnimation(A)},updateCamera:function(){this._updateNDCPosition()},_doRender:function(A,R){var u=A.getData(),f=this._line3DMesh;f.geometry.resetOffset();var y=u.getLayout("points"),D=[],I=new Float32Array(y.length/3*4),U=0,F=!1;u.each(function(te){var $=u.getItemVisual(te,"color"),oe=u.getItemVisual(te,"opacity");oe==null&&(oe=1),T.a.parseColor($,D),D[3]*=oe,I[U++]=D[0],I[U++]=D[1],I[U++]=D[2],I[U++]=D[3],D[3]<.99&&(F=!0)}),f.geometry.setVertexCount(f.geometry.getPolylineVertexCount(y)),f.geometry.setTriangleCount(f.geometry.getPolylineTriangleCount(y)),f.geometry.addPolyline(y,I,x.a.firstNotNull(A.get("lineStyle.width"),1)),f.geometry.dirty(),f.geometry.updateBoundingBox();var G=f.material;G.transparent=F,G.depthMask=!F;var Y=A.getModel("debug.wireframe");Y.get("show")?(f.geometry.createAttribute("barycentric","float",3),f.geometry.generateBarycentric(),f.material.set("both","WIREFRAME_TRIANGLE"),f.material.set("wireframeLineColor",T.a.parseColor(Y.get("lineStyle.color")||"rgba(0,0,0,0.5)")),f.material.set("wireframeLineWidth",x.a.firstNotNull(Y.get("lineStyle.width"),1))):f.material.set("both","WIREFRAME_TRIANGLE"),this._points=y,this._initHandler(A,R)},_updateAnimation:function(A){T.a.updateVertexAnimation([["prevPosition","position"],["prevPositionPrev","positionPrev"],["prevPositionNext","positionNext"]],this._prevLine3DMesh,this._line3DMesh,A)},_initHandler:function(A,R){var u=A.getData(),f=A.coordinateSystem,y=this._line3DMesh,D=-1;y.seriesIndex=A.seriesIndex,y.off("mousemove"),y.off("mouseout"),y.on("mousemove",function(I){var U=f.pointToData(I.point.array),F=u.indicesOfNearest("x",U[0])[0];F!==D&&(R.dispatchAction({type:"grid3DShowAxisPointer",value:[u.get("x",F),u.get("y",F),u.get("z",F)]}),y.dataIndex=F),D=F},this),y.on("mouseout",function(I){D=-1,y.dataIndex=-1,R.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateNDCPosition:function(){var A=new _.a,R=this._camera;_.a.multiply(A,R.projectionMatrix,R.viewMatrix);var u=this._positionNDC,f=this._points,y=f.length/3;(!u||u.length/2!==y)&&(u=this._positionNDC=new Float32Array(y*2));for(var D=[],I=0;I<y;I++){var U=I*3,F=I*2;D[0]=f[U],D[1]=f[U+1],D[2]=f[U+2],D[3]=1,w.transformMat4(D,D,A.array),u[F]=D[0]/D[3],u[F+1]=D[1]/D[3]}},_pick:function(A,R,u,f,y,D){var I=this._positionNDC,U=this._data.hostModel,F=U.get("lineStyle.width"),G=-1,Y=u.viewport.width,te=u.viewport.height,$=Y*.5,oe=te*.5;A=(A+1)*$,R=(R+1)*oe;for(var ie=1;ie<I.length/2;ie++){var ne=(I[(ie-1)*2]+1)*$,le=(I[(ie-1)*2+1]+1)*oe,ae=(I[ie*2]+1)*$,de=(I[ie*2+1]+1)*oe;if(L.a.containStroke(ne,le,ae,de,F,A,R)){var se=(ne-A)*(ne-A)+(le-R)*(le-R),fe=(ae-A)*(ae-A)+(de-R)*(de-R);G=se<fe?ie-1:ie}}if(G>=0){var ye=G*3,ge=new g.a(this._points[ye],this._points[ye+1],this._points[ye+2]);D.push({dataIndex:G,point:ge,pointWorld:ge.clone(),target:this._line3DMesh,distance:this._camera.getWorldPosition().dist(ge)})}},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(q,H){function b(z,P,T,x,O,_,g){if(O===0)return!1;var m=O,L=0,d=z;if(g>P+m&&g>x+m||g<P-m&&g<x-m||_>z+m&&_>T+m||_<z-m&&_<T-m)return!1;if(z!==T)L=(P-x)/(z-T),d=(z*x-T*P)/(z-T);else return Math.abs(_-z)<=m/2;var v=L*_-g+d,M=v*v/(L*L+1);return M<=m/2*m/2}H.containStroke=b},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(214),x=b(215),O=b(45),_=b.n(O),g=b(16);P.a.registerVisual(_()("scatter3D","circle",null)),P.a.registerVisual(Object(g.a)("scatter3D")),P.a.registerLayout({seriesType:"scatter3D",reset:function(m){var L=m.coordinateSystem;if(L){var d=L.dimensions;if(d.length<3){console.error("scatter3D needs 3D coordinateSystem");return}var v=d.map(function(S){return m.coordDimToDataDim(S)[0]}),M=[],w=[];return{progress:function(S,A){for(var R=new Float32Array((S.end-S.start)*3),u=S.start;u<S.end;u++){var f=(u-S.start)*3;M[0]=A.get(v[0],u),M[1]=A.get(v[1],u),M[2]=A.get(v[2],u),L.dataToPoint(M,w),R[f]=w[0],R[f+1]=w[1],R[f+2]=w[2]}A.setLayout("points",R)}}}}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(27),x=b(35),O=b(44);P.a.extendSeriesModel({type:"series.scatter3D",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",getInitialData:function(_,g){return Object(O.a)(this)},getFormattedLabel:function(_,g,m,L){var d=T.a.getFormattedLabel(this,_,g,m,L);if(d==null){var v=this.getData(),M=v.dimensions[v.dimensions.length-1];d=v.get(M,_)}return d},formatTooltip:function(_){return Object(x.a)(this,_)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,progressive:1e5,progressiveThreshold:1e5,grid3DIndex:0,globeIndex:0,symbol:"circle",symbolSize:10,blendMode:"source-over",label:{show:!1,position:"right",distance:5,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},itemStyle:{opacity:.8},emphasis:{label:{show:!0}},animationDurationUpdate:500}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(3),O=b(27),_=b(62);P.a.extendChartView({type:"scatter3D",__ecgl__:!0,init:function(g,m){this.groupGL=new T.a.Node,this._pointsBuilderList=[],this._currentStep=0},render:function(g,m,L){if(this.groupGL.removeAll(),!!g.getData().count()){var d=g.coordinateSystem;if(d&&d.viewGL){d.viewGL.add(this.groupGL),this._camera=d.viewGL.camera;var v=this._pointsBuilderList[0];v||(v=this._pointsBuilderList[0]=new _.a(!1,L)),this._pointsBuilderList.length=1,this.groupGL.add(v.rootNode),v.update(g,m,L),v.updateView(d.viewGL.camera)}else throw new Error("Invalid coordinate system")}},incrementalPrepareRender:function(g,m,L){var d=g.coordinateSystem;if(d&&d.viewGL)d.viewGL.add(this.groupGL),this._camera=d.viewGL.camera;else throw new Error("Invalid coordinate system");this.groupGL.removeAll(),this._currentStep=0},incrementalRender:function(g,m,L,d){if(!(g.end<=g.start)){var v=this._pointsBuilderList[this._currentStep];v||(v=new _.a(!1,d),this._pointsBuilderList[this._currentStep]=v),this.groupGL.add(v.rootNode),v.update(m,L,d,g.start,g.end),v.updateView(m.coordinateSystem.viewGL.camera),this._currentStep++}},updateCamera:function(){this._pointsBuilderList.forEach(function(g){g.updateView(this._camera)},this)},highlight:function(g,m,L,d){this._toggleStatus("highlight",g,m,L,d)},downplay:function(g,m,L,d){this._toggleStatus("downplay",g,m,L,d)},_toggleStatus:function(g,m,L,d,v){var M=m.getData(),w=x.a.queryDataIndex(M,v),S=g==="highlight";w!=null?P.a.util.each(O.a.normalizeToArray(w),function(A){for(var R=0;R<this._pointsBuilderList.length;R++){var u=this._pointsBuilderList[R];S?u.highlight(M,A):u.downplay(M,A)}},this):M.each(function(A){for(var R=0;R<this._pointsBuilderList.length;R++){var u=this._pointsBuilderList[R];S?u.highlight(M,A):u.downplay(M,A)}})},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z);function T(g,d,L){var d=d||document.createElement("canvas");d.width=g,d.height=g;var v=d.getContext("2d");return L&&L(v),d}function x(g,m,L,d){P.a.util.isArray(m)||(m=[m,m]);var v=_.getMarginByStyle(L,d),M=m[0]+v.left+v.right,w=m[1]+v.top+v.bottom,S=P.a.helper.createSymbol(g,0,0,m[0],m[1]),A=Math.max(M,w);S.position=[v.left,v.top],M>w?S.position[1]+=(A-w)/2:S.position[0]+=(A-M)/2;var R=S.getBoundingRect();return S.position[0]-=R.x,S.position[1]-=R.y,S.setStyle(L),S.update(),S.__size=A,S}function O(g,m,L){var d=m.width,v=m.height,M=g.canvas.width,w=g.canvas.height,S=d/M,A=v/w;function R(G){return G<128?1:-1}function u(G,Y){var te=1/0;G=Math.floor(G*S),Y=Math.floor(Y*A);for(var $=Y*d+G,oe=m.data[$*4],ie=R(oe),ne=Math.max(Y-L,0);ne<Math.min(Y+L,v);ne++)for(var le=Math.max(G-L,0);le<Math.min(G+L,d);le++){var $=ne*d+le,ae=m.data[$*4],de=R(ae),se=le-G,fe=ne-Y;if(ie!==de){var ye=se*se+fe*fe;ye<te&&(te=ye)}}return ie*Math.sqrt(te)}for(var f=g.createImageData(M,w),y=0;y<w;y++)for(var D=0;D<M;D++){var I=u(D,y),U=I/L*.5+.5,F=(y*M+D)*4;f.data[F++]=(1-U)*255,f.data[F++]=(1-U)*255,f.data[F++]=(1-U)*255,f.data[F++]=255}return f}var _={getMarginByStyle:function(g){var m=g.minMargin||0,L=0;g.stroke&&g.stroke!=="none"&&(L=g.lineWidth==null?1:g.lineWidth);var d=g.shadowBlur||0,v=g.shadowOffsetX||0,M=g.shadowOffsetY||0,w={};return w.left=Math.max(L/2,-v+d,m),w.right=Math.max(L/2,v+d,m),w.top=Math.max(L/2,-M+d,m),w.bottom=Math.max(L/2,M+d,m),w},createSymbolSprite:function(g,m,L,d){var v=x(g,m,L),M=_.getMarginByStyle(L);return{image:T(v.__size,d,function(w){v.brush(w)}),margin:M}},createSDFFromCanvas:function(g,m,L,d){return T(m,d,function(v){var M=g.getContext("2d"),w=M.getImageData(0,0,g.width,g.height);v.putImageData(O(v,w,L),0,0)})},createSimpleSprite:function(g,m){return T(g,m,function(L){var d=g/2;L.beginPath(),L.arc(d,d,60,0,Math.PI*2,!1),L.closePath();var v=L.createRadialGradient(d,d,0,d,d,d);v.addColorStop(0,"rgba(255, 255, 255, 1)"),v.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),v.addColorStop(1,"rgba(255, 255, 255, 0)"),L.fillStyle=v,L.fill()})}};H.a=_},function(q,H,b){"use strict";var z=b(2),P=b(218),T=b(0),x=b.n(T),O=b(1),_=b.n(O),g=b(219),m=_.a.vec4;z.a.Shader.import(g.a);var L=z.a.Mesh.extend(function(){var d=new z.a.Geometry({dynamic:!0,attributes:{color:new z.a.Geometry.Attribute("color","float",4,"COLOR"),position:new z.a.Geometry.Attribute("position","float",3,"POSITION"),size:new z.a.Geometry.Attribute("size","float",1),prevPosition:new z.a.Geometry.Attribute("prevPosition","float",3),prevSize:new z.a.Geometry.Attribute("prevSize","float",1)}});x.a.util.extend(d,P.a);var v=new z.a.Material({shader:z.a.createShader("ecgl.sdfSprite"),transparent:!0,depthMask:!1});v.enableTexture("sprite"),v.define("both","VERTEX_COLOR"),v.define("both","VERTEX_SIZE");var M=new z.a.Texture2D({image:document.createElement("canvas"),flipY:!1});return v.set("sprite",M),d.pick=this._pick.bind(this),{geometry:d,material:v,mode:z.a.Mesh.POINTS,sizeScale:1}},{_pick:function(d,v,M,w,S,A){var R=this._positionNDC;if(R)for(var u=M.viewport,f=2/u.width,y=2/u.height,D=this.geometry.vertexCount-1;D>=0;D--){var I;this.geometry.indices?I=this.geometry.indices[D]:I=D;var U=R[I*2],F=R[I*2+1],G=this.geometry.attributes.size.get(I)/this.sizeScale,Y=G/2;if(d>U-Y*f&&d<U+Y*f&&v>F-Y*y&&v<F+Y*y){var te=new z.a.Vector3,$=new z.a.Vector3;this.geometry.attributes.position.get(I,te.array),z.a.Vector3.transformMat4($,te,this.worldTransform),A.push({vertexIndex:I,point:te,pointWorld:$,target:this,distance:$.distance(w.getWorldPosition())})}}},updateNDCPosition:function(d,v,M){var w=this._positionNDC,S=this.geometry;(!w||w.length/2!==S.vertexCount)&&(w=this._positionNDC=new Float32Array(S.vertexCount*2));for(var A=m.create(),R=0;R<S.vertexCount;R++)S.attributes.position.get(R,A),A[3]=1,m.transformMat4(A,A,d.array),m.scale(A,A,1/A[3]),w[R*2]=A[0],w[R*2+1]=A[1]}});H.a=L},function(q,H,b){"use strict";var z=b(81),P=b(1),T=b.n(P),x=T.a.vec3;H.a={needsSortVertices:function(){return this.sortVertices},needsSortVerticesProgressively:function(){return this.needsSortVertices()&&this.vertexCount>=2e4},doSortVertices:function(O,_){var g=this.indices,m=x.create();if(!g){g=this.indices=this.vertexCount>65535?new Uint32Array(this.vertexCount):new Uint16Array(this.vertexCount);for(var L=0;L<g.length;L++)g[L]=L}if(_===0){var d=this.attributes.position,O=O.array,v=0;(!this._zList||this._zList.length!==this.vertexCount)&&(this._zList=new Float32Array(this.vertexCount));for(var M,L=0;L<this.vertexCount;L++){d.get(L,m);var w=x.sqrDist(m,O);isNaN(w)&&(w=1e7,v++),L===0?(M=w,w=0):w=w-M,this._zList[L]=w}this._noneCount=v}if(this.vertexCount<2e4)_===0&&this._simpleSort(this._noneCount/this.vertexCount>.05);else for(var L=0;L<3;L++)this._progressiveQuickSort(_*3+L);this.dirtyIndices()},_simpleSort:function(O){var _=this._zList,g=this.indices;function m(L,d){return _[d]-_[L]}O?Array.prototype.sort.call(g,m):z.a.sort(g,m,0,g.length-1)},_progressiveQuickSort:function(O){var _=this._zList,g=this.indices;this._quickSort=this._quickSort||new z.a,this._quickSort.step(g,function(m,L){return _[L]-_[m]},O)}}},function(q,H,b){"use strict";H.a=`@export ecgl.sdfSprite.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform float elapsedTime : 0;
attribute vec3 position : POSITION;
#ifdef VERTEX_SIZE
attribute float size;
#else
uniform float u_Size;
#endif
#ifdef VERTEX_COLOR
attribute vec4 a_FillColor: COLOR;
varying vec4 v_Color;
#endif
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute float prevSize;
uniform float percent : 1.0;
#endif
#ifdef POSITIONTEXTURE_ENABLED
uniform sampler2D positionTexture;
#endif
varying float v_Size;
void main()
{
#ifdef POSITIONTEXTURE_ENABLED
gl_Position = worldViewProjection * vec4(texture2D(positionTexture, position.xy).xy, -10.0, 1.0);
#else
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
gl_Position = worldViewProjection * vec4(pos, 1.0);
#endif
#ifdef VERTEX_SIZE
#ifdef VERTEX_ANIMATION
v_Size = mix(prevSize, size, percent);
#else
v_Size = size;
#endif
#else
v_Size = u_Size;
#endif
#ifdef VERTEX_COLOR
v_Color = a_FillColor;
#endif
gl_PointSize = v_Size;
}
@end
@export ecgl.sdfSprite.fragment
uniform vec4 color: [1, 1, 1, 1];
uniform vec4 strokeColor: [1, 1, 1, 1];
uniform float smoothing: 0.07;
uniform float lineWidth: 0.0;
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
varying float v_Size;
uniform sampler2D sprite;
@import clay.util.srgb
void main()
{
gl_FragColor = color;
vec4 _strokeColor = strokeColor;
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
#ifdef SPRITE_ENABLED
float d = texture2D(sprite, gl_PointCoord).r;
gl_FragColor.a *= smoothstep(0.5 - smoothing, 0.5 + smoothing, d);
if (lineWidth > 0.0) {
float sLineWidth = lineWidth / 2.0;
float outlineMaxValue0 = 0.5 + sLineWidth;
float outlineMaxValue1 = 0.5 + sLineWidth + smoothing;
float outlineMinValue0 = 0.5 - sLineWidth - smoothing;
float outlineMinValue1 = 0.5 - sLineWidth;
if (d <= outlineMaxValue1 && d >= outlineMinValue0) {
float a = _strokeColor.a;
if (d <= outlineMinValue1) {
a = a * smoothstep(outlineMinValue0, outlineMinValue1, d);
}
else {
a = a * smoothstep(outlineMaxValue1, outlineMaxValue0, d);
}
gl_FragColor.rgb = mix(gl_FragColor.rgb * gl_FragColor.a, _strokeColor.rgb, a);
gl_FragColor.a = gl_FragColor.a * (1.0 - a) + a;
}
}
#endif
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(gl_FragColor);
#endif
}
@end`},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(221),x=b(222),O=b(225),_=b(16);P.a.registerVisual(Object(_.a)("lines3D")),P.a.registerAction({type:"lines3DPauseEffect",event:"lines3deffectpaused",update:"series.lines3D:pauseEffect"},function(){}),P.a.registerAction({type:"lines3DResumeEffect",event:"lines3deffectresumed",update:"series.lines3D:resumeEffect"},function(){}),P.a.registerAction({type:"lines3DToggleEffect",event:"lines3deffectchanged",update:"series.lines3D:toggleEffect"},function(){})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(1),x=b.n(T),O=x.a.vec3,_=x.a.vec2,g=O.normalize,m=O.cross,L=O.sub,d=O.add,v=O.create,M=v(),w=v(),S=v(),A=v(),R=[],u=[];function f(G,Y){_.copy(R,G[0]),_.copy(u,G[1]);var te=[],$=te[0]=v(),oe=te[1]=v(),ie=te[2]=v(),ne=te[3]=v();Y.dataToPoint(R,$),Y.dataToPoint(u,ne),g(M,$),L(w,ne,$),g(w,w),m(S,w,M),g(S,S),m(w,M,S),d(oe,M,w),g(oe,oe),g(M,ne),L(w,$,ne),g(w,w),m(S,w,M),g(S,S),m(w,M,S),d(ie,M,w),g(ie,ie),d(A,$,ne),g(A,A);var le=O.dot($,A),ae=O.dot(A,oe),de=(Math.max(O.len($),O.len(ne))-le)/ae*2;return O.scaleAndAdd(oe,$,oe,de),O.scaleAndAdd(ie,ne,ie,de),te}function y(G,Y,te){var $=[],oe=$[0]=O.create(),ie=$[1]=O.create(),ne=$[2]=O.create(),le=$[3]=O.create();Y.dataToPoint(G[0],oe),Y.dataToPoint(G[1],le);var ae=O.dist(oe,le);return O.lerp(ie,oe,le,.3),O.lerp(ne,oe,le,.3),O.scaleAndAdd(ie,ie,te,Math.min(ae*.1,10)),O.scaleAndAdd(ne,ne,te,Math.min(ae*.1,10)),$}function D(G,Y){for(var te=new Float32Array(G.length*3),$=0,oe=[],ie=0;ie<G.length;ie++)Y.dataToPoint(G[ie],oe),te[$++]=oe[0],te[$++]=oe[1],te[$++]=oe[2];return te}function I(G){var Y=[];return G.each(function(te){var $=G.getItemModel(te),oe=$.option instanceof Array?$.option:$.getShallow("coords",!0);if(!(oe instanceof Array&&oe.length>0&&oe[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(oe)+". Lines must have 2d coords array in data item.");Y.push(oe)}),{coordsList:Y}}function U(G,Y){var te=G.getData(),$=G.get("polyline");te.setLayout("lineType",$?"polyline":"cubicBezier");var oe=I(te);te.each(function(ie){var ne=oe.coordsList[ie],le=$?D:f;te.setItemLayout(ie,le(ne,Y))})}function F(G,Y,te){var $=G.getData(),oe=G.get("polyline"),ie=I($);$.setLayout("lineType",oe?"polyline":"cubicBezier"),$.each(function(ne){var le=ie.coordsList[ne],ae=oe?D(le,Y):y(le,Y,te);$.setItemLayout(ne,ae)})}P.a.registerLayout(function(G,Y){G.eachSeriesByType("lines3D",function(te){var $=te.coordinateSystem;$.type==="globe"?U(te,$):$.type==="geo3D"?F(te,$,[0,1,0]):$.type==="mapbox3D"&&F(te,$,[0,0,1])})})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(22),O=b(223),_=b(40);T.a.Shader.import(_.a);function g(L){return L.radius!=null?L.radius:L.size!=null?Math.max(L.size[0],L.size[1],L.size[2]):100}var m=P.a.extendChartView({type:"lines3D",__ecgl__:!0,init:function(L,d){this.groupGL=new T.a.Node,this._meshLinesMaterial=new T.a.Material({shader:T.a.createShader("ecgl.meshLines3D"),transparent:!0,depthMask:!1}),this._linesMesh=new T.a.Mesh({geometry:new x.a,material:this._meshLinesMaterial,$ignorePicking:!0}),this._trailMesh=new O.a},render:function(L,d,v){this.groupGL.add(this._linesMesh);var M=L.coordinateSystem,w=L.getData();if(M&&M.viewGL){var S=M.viewGL;S.add(this.groupGL),this._updateLines(L,d,v);var A=M.viewGL.isLinearSpace()?"define":"undefine";this._linesMesh.material[A]("fragment","SRGB_DECODE"),this._trailMesh.material[A]("fragment","SRGB_DECODE")}var R=this._trailMesh;if(R.stopAnimation(),L.get("effect.show")){this.groupGL.add(R),R.updateData(w,v,this._linesMesh.geometry),R.__time=R.__time||0;var u=3600*1e3;this._curveEffectsAnimator=R.animate("",{loop:!0}).when(u,{__time:u}).during(function(){R.setAnimationTime(R.__time)}).start()}else this.groupGL.remove(R),this._curveEffectsAnimator=null;this._linesMesh.material.blend=this._trailMesh.material.blend=L.get("blendMode")==="lighter"?T.a.additiveBlend:null},pauseEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.pause()},resumeEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.resume()},toggleEffect:function(){var L=this._curveEffectsAnimator;L&&(L.isPaused()?L.resume():L.pause())},_updateLines:function(L,d,v){var M=L.getData(),w=L.coordinateSystem,S=this._linesMesh.geometry,A=L.get("polyline");S.expandLine=!0;var R=g(w);S.segmentScale=R/20;var u="lineStyle.width".split("."),f=v.getDevicePixelRatio(),y=0;M.each(function(F){var G=M.getItemModel(F),Y=G.get(u);Y==null&&(Y=1),M.setItemVisual(F,"lineWidth",Y),y=Math.max(Y,y)}),S.useNativeLine=!1;var D=0,I=0;M.each(function(F){var G=M.getItemLayout(F);A?(D+=S.getPolylineVertexCount(G),I+=S.getPolylineTriangleCount(G)):(D+=S.getCubicCurveVertexCount(G[0],G[1],G[2],G[3]),I+=S.getCubicCurveTriangleCount(G[0],G[1],G[2],G[3]))}),S.setVertexCount(D),S.setTriangleCount(I),S.resetOffset();var U=[];M.each(function(F){var G=M.getItemLayout(F),Y=M.getItemVisual(F,"color"),te=M.getItemVisual(F,"opacity"),$=M.getItemVisual(F,"lineWidth")*f;te==null&&(te=1),U=T.a.parseColor(Y,U),U[3]*=te,A?S.addPolyline(G,U,$):S.addCubicCurve(G[0],G[1],G[2],G[3],U,$)}),S.dirty()},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(1),O=b.n(x),_=b(22),g=b(224),m=O.a.vec3;function L(d){return d>0?1:-1}T.a.Shader.import(g.a),H.a=T.a.Mesh.extend(function(){var d=new T.a.Material({shader:new T.a.Shader(T.a.Shader.source("ecgl.trail2.vertex"),T.a.Shader.source("ecgl.trail2.fragment")),transparent:!0,depthMask:!1}),v=new _.a({dynamic:!0});return v.createAttribute("dist","float",1),v.createAttribute("distAll","float",1),v.createAttribute("start","float",1),{geometry:v,material:d,culling:!1,$ignorePicking:!0}},{updateData:function(d,v,M){var w=d.hostModel,S=this.geometry,A=w.getModel("effect"),R=A.get("trailWidth")*v.getDevicePixelRatio(),u=A.get("trailLength"),f=w.get("effect.constantSpeed"),y=w.get("effect.period")*1e3,D=f!=null;this.getScene()||console.error("TrailMesh must been add to scene before updateData"),D?this.material.set("speed",f/1e3):this.material.set("period",y),this.material[D?"define":"undefine"]("vertex","CONSTANT_SPEED");var I=w.get("polyline");S.trailLength=u,this.material.set("trailLength",u),S.resetOffset(),["position","positionPrev","positionNext"].forEach(function(de){S.attributes[de].value=M.attributes[de].value});var U=["dist","distAll","start","offset","color"];U.forEach(function(de){S.attributes[de].init(S.vertexCount)}),S.indices=M.indices;var F=[],G=A.get("trailColor"),Y=A.get("trailOpacity"),te=G!=null,$=Y!=null;this.updateWorldTransform();var oe=this.worldTransform.x.len(),ie=this.worldTransform.y.len(),ne=this.worldTransform.z.len(),le=0,ae=0;d.each(function(de){var se=d.getItemLayout(de),fe=$?Y:d.getItemVisual(de,"opacity"),ye=d.getItemVisual(de,"color");fe==null&&(fe=1),F=T.a.parseColor(te?G:ye,F),F[3]*=fe;for(var ge=I?M.getPolylineVertexCount(se):M.getCubicCurveVertexCount(se[0],se[1],se[2],se[3]),xe=0,Me=[],Ne=[],We=le;We<le+ge;We++)S.attributes.position.get(We,Me),Me[0]*=oe,Me[1]*=ie,Me[2]*=ne,We>le&&(xe+=m.dist(Me,Ne)),S.attributes.dist.set(We,xe),m.copy(Ne,Me);ae=Math.max(ae,xe);for(var tt=Math.random()*(D?xe:y),We=le;We<le+ge;We++)S.attributes.distAll.set(We,xe),S.attributes.start.set(We,tt),S.attributes.offset.set(We,L(M.attributes.offset.get(We))*R/2),S.attributes.color.set(We,F);le+=ge}),this.material.set("spotSize",ae*.1*u),this.material.set("spotIntensity",A.get("spotIntensity")),S.dirty()},setAnimationTime:function(d){this.material.set("time",d)}})},function(q,H,b){"use strict";H.a=`@export ecgl.trail2.vertex
attribute vec3 position: POSITION;
attribute vec3 positionPrev;
attribute vec3 positionNext;
attribute float offset;
attribute float dist;
attribute float distAll;
attribute float start;
attribute vec4 a_Color : COLOR;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
uniform float near : NEAR;
uniform float speed : 0;
uniform float trailLength: 0.3;
uniform float time;
uniform float period: 1000;
uniform float spotSize: 1;
varying vec4 v_Color;
varying float v_Percent;
varying float v_SpotPercent;
@import ecgl.common.wireframe.vertexHeader
@import ecgl.lines3D.clipNear
void main()
{
@import ecgl.lines3D.expandLine
gl_Position = currProj;
v_Color = a_Color;
@import ecgl.common.wireframe.vertexMain
#ifdef CONSTANT_SPEED
float t = mod((speed * time + start) / distAll, 1. + trailLength) - trailLength;
#else
float t = mod((time + start) / period, 1. + trailLength) - trailLength;
#endif
float trailLen = distAll * trailLength;
v_Percent = (dist - t * distAll) / trailLen;
v_SpotPercent = spotSize / distAll;
}
@end
@export ecgl.trail2.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform float spotIntensity: 5;
varying vec4 v_Color;
varying float v_Percent;
varying float v_SpotPercent;
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
if (v_Percent > 1.0 || v_Percent < 0.0) {
discard;
}
float fade = v_Percent;
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
@import ecgl.common.wireframe.fragmentMain
if (v_Percent > (1.0 - v_SpotPercent)) {
gl_FragColor.rgb *= spotIntensity;
}
gl_FragColor.a *= fade;
}
@end`},function(q,H,b){"use strict";var z=b(0),P=b.n(z);P.a.extendSeriesModel({type:"series.lines3D",dependencies:["globe"],visualColorAccessPath:"lineStyle.color",getInitialData:function(T,x){var O=new P.a.List(["value"],this);return O.hasItemOption=!1,O.initData(T.data,[],function(_,g,m,L){if(_ instanceof Array)return NaN;O.hasItemOption=!0;var d=_.value;if(d!=null)return d instanceof Array?d[L]:d}),O},defaultOption:{coordinateSystem:"globe",globeIndex:0,geo3DIndex:0,zlevel:-10,polyline:!1,effect:{show:!1,period:4,trailWidth:4,trailLength:.2,spotIntensity:6},silent:!0,blendMode:"source-over",lineStyle:{width:1,opacity:.5}}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(227),x=b(228),O=b(16);P.a.registerVisual(Object(O.a)("polygons3D"))},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(26);function x(g,m){for(var L=[],d=0;d<m.length;d++)L.push(g.dataToPoint(m[d]));return L}var O=P.a.extendSeriesModel({type:"series.polygons3D",getRegionModel:function(g){return this.getData().getItemModel(g)},getRegionPolygonCoords:function(g){var m=this.coordinateSystem,L=this.getData().getItemModel(g),d=L.option instanceof Array?L.option:L.getShallow("coords");L.get("multiPolygon")||(d=[d]);for(var v=[],M=0;M<d.length;M++){for(var w=[],S=1;S<d[M].length;S++)w.push(x(m,d[M][S]));v.push({exterior:x(m,d[M][0]),interiors:w})}return v},getInitialData:function(g){var m=new P.a.List(["value"],this);return m.hasItemOption=!1,m.initData(g.data,[],function(L,d,v,M){if(L instanceof Array)return NaN;m.hasItemOption=!0;var w=L.value;if(w!=null)return w instanceof Array?w[M]:w}),m},defaultOption:{show:!0,data:null,multiPolygon:!1,progressiveThreshold:1e3,progressive:1e3,zlevel:-10,label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}});P.a.util.merge(O.prototype,T.a);var _=O},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(59),x=b(2);P.a.extendChartView({type:"polygons3D",__ecgl__:!0,init:function(O,_){this.groupGL=new x.a.Node,this._geo3DBuilderList=[],this._currentStep=0},render:function(O,_,g){this.groupGL.removeAll();var m=O.coordinateSystem;m&&m.viewGL&&m.viewGL.add(this.groupGL);var L=this._geo3DBuilderList[0];L||(L=new T.a(g),L.extrudeY=m.type!=="mapbox3D",this._geo3DBuilderList[0]=L),this._updateShaderDefines(m,L),L.update(O,_,g),this._geo3DBuilderList.length=1,this.groupGL.add(L.rootNode)},incrementalPrepareRender:function(O,_,g){this.groupGL.removeAll();var m=O.coordinateSystem;m&&m.viewGL&&m.viewGL.add(this.groupGL),this._currentStep=0},incrementalRender:function(O,_,g,m){var L=this._geo3DBuilderList[this._currentStep],d=_.coordinateSystem;L||(L=new T.a(m),L.extrudeY=d.type!=="mapbox3D",this._geo3DBuilderList[this._currentStep]=L),L.update(_,g,m,O.start,O.end),this.groupGL.add(L.rootNode),this._updateShaderDefines(d,L),this._currentStep++},_updateShaderDefines:function(O,_){var g=O.viewGL.isLinearSpace()?"define":"undefine";_.rootNode.traverse(function(m){m.material&&(m.material[g]("fragment","SRGB_DECODE"),O.type==="mapbox3D"&&(m.material.define("fragment","NORMAL_UP_AXIS",2),m.material.define("fragment","NORMAL_FRONT_AXIS",1)))})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(230),x=b(231),O=b(232),_=b(16);P.a.registerVisual(Object(_.a)("surface"))},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(26),x=b(35),O=b(44),_=P.a.extendSeriesModel({type:"series.surface",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",formatTooltip:function(m){return Object(x.a)(this,m)},getInitialData:function(m,L){var d=m.data;function v(se){return!(isNaN(se.min)||isNaN(se.max)||isNaN(se.step))}function M(se){var fe=P.a.number.getPrecisionSafe;return Math.max(fe(se.min),fe(se.max),fe(se.step))+1}if(!d)if(d=[],m.parametric){var F=m.parametricEquation||{},G=F.u||{},Y=F.v||{};["u","v"].forEach(function(se){if(!v(F[se])){console.error("Invalid parametricEquation.%s",se);return}}),["x","y","z"].forEach(function(se){if(typeof F[se]!="function"){console.error("parametricEquation.%s needs to be function",se);return}});for(var te=M(G),$=M(Y),oe=Y.min;oe<Y.max+Y.step*.999;oe+=Y.step)for(var ie=G.min;ie<G.max+G.step*.999;ie+=G.step){var ne=P.a.number.round(Math.min(ie,G.max),te),le=P.a.number.round(Math.min(oe,Y.max),$),y=F.x(ne,le),f=F.y(ne,le),U=F.z(ne,le);d.push([y,f,U,ne,le])}}else{var w=m.equation||{},S=w.x||{},A=w.y||{};if(["x","y"].forEach(function(se){if(!v(w[se])){console.error("Invalid equation.%s",se);return}}),typeof w.z!="function"){console.error("equation.z needs to be function");return}for(var R=M(S),u=M(A),f=A.min;f<A.max+A.step*.999;f+=A.step)for(var y=S.min;y<S.max+S.step*.999;y+=S.step){var D=P.a.number.round(Math.min(y,S.max),R),I=P.a.number.round(Math.min(f,A.max),u),U=w.z(D,I);d.push([D,I,U])}}var ae=["x","y","z"];m.parametric&&ae.push("u","v");var de=Object(O.a)(this,ae,m.data||d);return de},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,shading:"lambert",parametric:!1,wireframe:{show:!0,lineStyle:{color:"rgba(0,0,0,0.5)",width:1}},equation:{x:{min:-1,max:1,step:.1},y:{min:-1,max:1,step:.1},z:null},parametricEquation:{u:{min:-1,max:1,step:.1},v:{min:-1,max:1,step:.1},x:null,y:null,z:null},itemStyle:{},animationDurationUpdate:500}});P.a.util.merge(_.prototype,T.a);var g=_},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(3),O=b(1),_=b.n(O),g=b(60),m=_.a.vec3;function L(d){return isNaN(d[0])||isNaN(d[1])||isNaN(d[2])}P.a.extendChartView({type:"surface",__ecgl__:!0,init:function(d,v){this.groupGL=new T.a.Node},render:function(d,v,M){var w=this._prevSurfaceMesh;this._prevSurfaceMesh=this._surfaceMesh,this._surfaceMesh=w,this._surfaceMesh||(this._surfaceMesh=this._createSurfaceMesh()),this.groupGL.remove(this._prevSurfaceMesh),this.groupGL.add(this._surfaceMesh);var S=d.coordinateSystem,A=d.get("shading"),R=d.getData(),u="ecgl."+A;if((!this._surfaceMesh.material||this._surfaceMesh.material.shader.name!==u)&&(this._surfaceMesh.material=T.a.createMaterial(u,["VERTEX_COLOR","DOUBLE_SIDED"])),T.a.setMaterialFromModel(A,this._surfaceMesh.material,d,M),S&&S.viewGL){S.viewGL.add(this.groupGL);var f=S.viewGL.isLinearSpace()?"define":"undefine";this._surfaceMesh.material[f]("fragment","SRGB_DECODE")}var y=d.get("parametric"),D=this._getDataShape(R,y),I=d.getModel("wireframe"),U=I.get("lineStyle.width"),F=I.get("show")&&U>0;this._updateSurfaceMesh(this._surfaceMesh,d,D,F);var G=this._surfaceMesh.material;F?(G.define("WIREFRAME_QUAD"),G.set("wireframeLineWidth",U),G.set("wireframeLineColor",T.a.parseColor(I.get("lineStyle.color")))):G.undefine("WIREFRAME_QUAD"),this._initHandler(d,M),this._updateAnimation(d)},_updateAnimation:function(d){T.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevSurfaceMesh,this._surfaceMesh,d)},_createSurfaceMesh:function(){var d=new T.a.Mesh({geometry:new T.a.Geometry({dynamic:!0,sortTriangles:!0}),shadowDepthMaterial:new T.a.Material({shader:new T.a.Shader(T.a.Shader.source("ecgl.sm.depth.vertex"),T.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:!1,renderOrder:10,renderNormal:!0});return d.geometry.createAttribute("barycentric","float",4),d.geometry.createAttribute("prevPosition","float",3),d.geometry.createAttribute("prevNormal","float",3),P.a.util.extend(d.geometry,g.a),d},_initHandler:function(d,v){var M=d.getData(),w=this._surfaceMesh,S=d.coordinateSystem;function A(u,f){for(var y=1/0,D=-1,I=[],U=0;U<u.length;U++){w.geometry.attributes.position.get(u[U],I);var F=m.dist(f.array,I);F<y&&(y=F,D=u[U])}return D}w.seriesIndex=d.seriesIndex;var R=-1;w.off("mousemove"),w.off("mouseout"),w.on("mousemove",function(u){var f=A(u.triangle,u.point);if(f>=0){var y=[];w.geometry.attributes.position.get(f,y);for(var D=S.pointToData(y),I=1/0,U=-1,F=[],G=0;G<M.count();G++){F[0]=M.get("x",G),F[1]=M.get("y",G),F[2]=M.get("z",G);var Y=m.squaredDistance(F,D);Y<I&&(U=G,I=Y)}U!==R&&v.dispatchAction({type:"grid3DShowAxisPointer",value:D}),R=U,w.dataIndex=U}else w.dataIndex=-1},this),w.on("mouseout",function(u){R=-1,w.dataIndex=-1,v.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateSurfaceMesh:function(d,v,M,w){var S=d.geometry,A=v.getData(),R=A.getLayout("points"),u=0;A.each(function(Ue){A.hasValue(Ue)||u++});var f=u||w,y=S.attributes.position,D=S.attributes.normal,I=S.attributes.texcoord0,U=S.attributes.barycentric,F=S.attributes.color,G=M.row,Y=M.column,te=v.get("shading"),$=te!=="color";if(f){var oe=(G-1)*(Y-1)*4;y.init(oe),w&&U.init(oe)}else y.value=new Float32Array(R);F.init(S.vertexCount),I.init(S.vertexCount);var ie=[0,3,1,1,3,2],ne=[[1,1,0,0],[0,1,0,1],[1,0,0,1],[1,0,1,0]],le=S.indices=new(S.vertexCount>65535?Uint32Array:Uint16Array)((G-1)*(Y-1)*6),ae=function(Ue,Qe,et){et[1]=Ue*Y+Qe,et[0]=Ue*Y+Qe+1,et[3]=(Ue+1)*Y+Qe+1,et[2]=(Ue+1)*Y+Qe},de=!1;if(f){var se=[],fe=[],ye=0;$?D.init(S.vertexCount):D.value=null;for(var ge=[[],[],[]],xe=[],Me=[],Ne=m.create(),We=function(Ue,Qe,et){var dt=Qe*3;return et[0]=Ue[dt],et[1]=Ue[dt+1],et[2]=Ue[dt+2],et},tt=new Float32Array(R.length),Je=new Float32Array(R.length/3*4),st=0;st<A.count();st++)if(A.hasValue(st)){var Re=T.a.parseColor(A.getItemVisual(st,"color")),yt=A.getItemVisual(st,"opacity");Re[3]*=yt,Re[3]<.99&&(de=!0);for(var gt=0;gt<4;gt++)Je[st*4+gt]=Re[gt]}for(var Ke=[1e7,1e7,1e7],st=0;st<G-1;st++)for(var nt=0;nt<Y-1;nt++){var Ze=st*(Y-1)+nt,Ve=Ze*4;ae(st,nt,se);for(var Pe=!1,gt=0;gt<4;gt++)We(R,se[gt],fe),L(fe)&&(Pe=!0);for(var gt=0;gt<4;gt++)Pe?y.set(Ve+gt,Ke):(We(R,se[gt],fe),y.set(Ve+gt,fe)),w&&U.set(Ve+gt,ne[gt]);for(var gt=0;gt<6;gt++)le[ye++]=ie[gt]+Ve;if($&&!Pe)for(var gt=0;gt<2;gt++){for(var He=gt*3,be=0;be<3;be++){var Ie=se[ie[He]+be];We(R,Ie,ge[be])}m.sub(xe,ge[0],ge[1]),m.sub(Me,ge[1],ge[2]),m.cross(Ne,xe,Me);for(var be=0;be<3;be++){var Te=se[ie[He]+be]*3;tt[Te]=tt[Te]+Ne[0],tt[Te+1]=tt[Te+1]+Ne[1],tt[Te+2]=tt[Te+2]+Ne[2]}}}if($)for(var st=0;st<tt.length/3;st++)We(tt,st,Ne),m.normalize(Ne,Ne),tt[st*3]=Ne[0],tt[st*3+1]=Ne[1],tt[st*3+2]=Ne[2];for(var Re=[],Ge=[],st=0;st<G-1;st++)for(var nt=0;nt<Y-1;nt++){var Ze=st*(Y-1)+nt,Ve=Ze*4;ae(st,nt,se);for(var gt=0;gt<4;gt++){for(var be=0;be<4;be++)Re[be]=Je[se[gt]*4+be];F.set(Ve+gt,Re),$&&(We(tt,se[gt],Ne),D.set(Ve+gt,Ne));var Ie=se[gt];Ge[0]=Ie%Y/(Y-1),Ge[1]=Math.floor(Ie/Y)/(G-1),I.set(Ve+gt,Ge)}Ze++}}else{for(var Ge=[],st=0;st<A.count();st++){Ge[0]=st%Y/(Y-1),Ge[1]=Math.floor(st/Y)/(G-1);var Re=T.a.parseColor(A.getItemVisual(st,"color")),yt=A.getItemVisual(st,"opacity");Re[3]*=yt,Re[3]<.99&&(de=!0),F.set(st,Re),I.set(st,Ge)}for(var se=[],Le=0,st=0;st<G-1;st++)for(var nt=0;nt<Y-1;nt++){ae(st,nt,se);for(var gt=0;gt<6;gt++)le[Le++]=se[ie[gt]]}$?S.generateVertexNormals():D.value=null}d.material.get("normalMap")&&S.generateTangents(),S.updateBoundingBox(),S.dirty(),d.material.transparent=de,d.material.depthMask=!de},_getDataShape:function(d,v){for(var M=-1/0,w=0,S=0,A=0,R=v?"u":"x",u=0;u<d.count();u++){var f=d.get(R,u);if(f<M){if(A&&A!==S)throw new Error("Invalid data. data should be a row major 2d array.");A=S,S=0,w++}M=f,S++}return{row:w+1,column:S}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z);P.a.registerLayout(function(T,x){T.eachSeriesByType("surface",function(O){var _=O.coordinateSystem;(!_||_.type!=="cartesian3D")&&console.error("Surface chart only support cartesian3D coordinateSystem");var g=O.getData(),m=new Float32Array(3*g.count()),L=[NaN,NaN,NaN];if(_&&_.type==="cartesian3D"){var d=_.dimensions,v=d.map(function(M){return O.coordDimToDataDim(M)[0]});g.each(v,function(M,w,S,A){var R;g.hasValue(A)?R=_.dataToPoint([M,w,S]):R=L,m[A*3]=R[0],m[A*3+1]=R[1],m[A*3+2]=R[2]})}g.setLayout("points",m)})})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(83),x=b(234),O=b(235),_=b(16);P.a.registerVisual(Object(_.a)("map3D")),P.a.registerAction({type:"map3DChangeCamera",event:"map3dcamerachanged",update:"series:updateCamera"},function(g,m){m.eachComponent({mainType:"series",subType:"map3D",query:g},function(L){L.setView(g)})})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(38),x=b(31),O=b(32),_=b(26),g=b(80),m=b(27),L=b(35),d=b(82);function v(S,A){for(var R=[],u=0;u<A.length;u++)R.push(S.dataToPoint(A[u]));return R}var M=P.a.extendSeriesModel({type:"series.map3D",layoutMode:"box",coordinateSystem:null,visualColorAccessPath:"itemStyle.color",optionUpdated:function(S){S=S||{};var A=this.get("coordinateSystem");if(!(A==null||A==="geo3D")){var R=["left","top","width","height","boxWidth","boxDepth","boxHeight","light","viewControl","postEffect","temporalSuperSampling","environment","groundPlane"],u=[];R.forEach(function(f){S[f]!=null&&u.push(f)}),u.length&&console.warn("Property %s in map3D series will be ignored if coordinate system is %s",u.join(", "),A),this.get("groundPlane.show")&&(this.option.groundPlane.show=!1),this._geo=null}},getInitialData:function(S){S.data=this.getFilledRegions(S.data,S.map);var A=P.a.helper.completeDimensions(["value"],S.data),R=new P.a.List(A,this);R.initData(S.data);var u={};return R.each(function(f){var y=R.getName(f),D=R.getItemModel(f);u[y]=D}),this._regionModelMap=u,R},formatTooltip:function(S){return Object(L.a)(this,S)},getRegionModel:function(S){var A=this.getData().getName(S);return this._regionModelMap[A]||new P.a.Model(null,this)},getRegionPolygonCoords:function(S){var A=this.coordinateSystem,R=this.getData().getName(S);if(A.transform){var u=A.getRegion(R);return u?u.geometries:[]}else{this._geo||(this._geo=d.a.createGeo3D(this));for(var u=this._geo.getRegion(R),f=[],y=0;y<u.geometries.length;y++){var D=u.geometries[y],I=[],U=v(A,D.exterior);if(I&&I.length)for(var F=0;F<D.interiors.length;F++)I.push(v(A,I[F]));f.push({interiors:I,exterior:U})}return f}},getFormattedLabel:function(S,A){var R=m.a.getFormattedLabel(this,S,A);return R==null&&(R=this.getData().getName(S)),R},defaultOption:{coordinateSystem:"geo3D",data:null}});P.a.util.merge(M.prototype,g.a),P.a.util.merge(M.prototype,T.a),P.a.util.merge(M.prototype,x.a),P.a.util.merge(M.prototype,O.a),P.a.util.merge(M.prototype,_.a);var w=M},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(39),O=b(34),_=b(59),g=P.a.extendChartView({type:"map3D",__ecgl__:!0,init:function(m,L){this._geo3DBuilder=new _.a(L),this.groupGL=new T.a.Node},render:function(m,L,d){var v=m.coordinateSystem;if(!(!v||!v.viewGL)){this.groupGL.add(this._geo3DBuilder.rootNode),v.viewGL.add(this.groupGL);var M;if(v.type==="geo3D"){M=v,this._sceneHelper||(this._sceneHelper=new O.a,this._sceneHelper.initLight(this.groupGL)),this._sceneHelper.setScene(v.viewGL.scene),this._sceneHelper.updateLight(m),v.viewGL.setPostEffect(m.getModel("postEffect"),d),v.viewGL.setTemporalSuperSampling(m.getModel("temporalSuperSampling"));var w=this._control;w||(w=this._control=new x.a({zr:d.getZr()}),this._control.init());var S=m.getModel("viewControl");w.setViewGL(v.viewGL),w.setFromViewControlModel(S,0),w.off("update"),w.on("update",function(){d.dispatchAction({type:"map3DChangeCamera",alpha:w.getAlpha(),beta:w.getBeta(),distance:w.getDistance(),from:this.uid,map3DId:m.id})}),this._geo3DBuilder.extrudeY=!0}else this._control&&(this._control.dispose(),this._control=null),this._sceneHelper&&(this._sceneHelper.dispose(),this._sceneHelper=null),M=m.getData().getLayout("geo3D"),this._geo3DBuilder.extrudeY=!1;this._geo3DBuilder.update(m,L,d,0,m.getData().count());var A=v.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(R){R.material&&R.material[A]("fragment","SRGB_DECODE")})}},afterRender:function(m,L,d,v){var M=v.renderer,w=m.coordinateSystem;w&&w.type==="geo3D"&&(this._sceneHelper.updateAmbientCubemap(M,m,d),this._sceneHelper.updateSkybox(M,m,d))},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(237),x=b(238),O=b(45),_=b.n(O),g=b(16);P.a.registerVisual(_()("scatterGL","circle",null)),P.a.registerVisual(Object(g.a)("scatterGL")),P.a.registerLayout({seriesType:"scatterGL",reset:function(m){var L=m.coordinateSystem,d;if(L){var v=L.dimensions,M=[];v.length===1?d=function(w,S){for(var A=new Float32Array((w.end-w.start)*2),R=w.start;R<w.end;R++){var u=(R-w.start)*2,f=S.get(v[0],R),y=L.dataToPoint(f);A[u]=y[0],A[u+1]=y[1]}S.setLayout("points",A)}:v.length===2&&(d=function(w,S){for(var A=new Float32Array((w.end-w.start)*2),R=w.start;R<w.end;R++){var u=(R-w.start)*2,f=S.get(v[0],R),y=S.get(v[1],R);M[0]=f,M[1]=y,M=L.dataToPoint(M),A[u]=M[0],A[u+1]=M[1]}S.setLayout("points",A)})}return{progress:d}}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z);P.a.extendSeriesModel({type:"series.scatterGL",dependencies:["grid","polar","geo","singleAxis"],visualColorAccessPath:"itemStyle.color",getInitialData:function(){return P.a.helper.createList(this)},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,progressive:1e5,progressiveThreshold:1e5,large:!1,symbol:"circle",symbolSize:10,zoomScale:0,blendMode:"source-over",itemStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(20),O=b(62),_=b(84),g=b(3);P.a.extendChartView({type:"scatterGL",__ecgl__:!0,init:function(m,L){this.groupGL=new T.a.Node,this.viewGL=new x.a("orthographic"),this.viewGL.add(this.groupGL),this._pointsBuilderList=[],this._currentStep=0,this._sizeScale=1,this._glViewHelper=new _.a(this.viewGL)},render:function(m,L,d){if(this.groupGL.removeAll(),this._glViewHelper.reset(m,d),!!m.getData().count()){var v=this._pointsBuilderList[0];v||(v=this._pointsBuilderList[0]=new O.a(!0,d)),this._pointsBuilderList.length=1,this.groupGL.add(v.rootNode),this._removeTransformInPoints(m.getData().getLayout("points")),v.update(m,L,d),this.viewGL.setPostEffect(m.getModel("postEffect"),d)}},incrementalPrepareRender:function(m,L,d){this.groupGL.removeAll(),this._glViewHelper.reset(m,d),this._currentStep=0,this.viewGL.setPostEffect(m.getModel("postEffect"),d)},incrementalRender:function(m,L,d,v){if(!(m.end<=m.start)){var M=this._pointsBuilderList[this._currentStep];M||(M=new O.a(!0,v),this._pointsBuilderList[this._currentStep]=M),this.groupGL.add(M.rootNode),this._removeTransformInPoints(L.getData().getLayout("points")),M.setSizeScale(this._sizeScale),M.update(L,d,v,m.start,m.end),v.getZr().refresh(),this._currentStep++}},updateTransform:function(m,L,d){if(m.coordinateSystem.getRoamTransform){this._glViewHelper.updateTransform(m,d);var v=this._glViewHelper.getZoom(),M=Math.max((m.get("zoomScale")||0)*(v-1)+1,0);this._sizeScale=M,this._pointsBuilderList.forEach(function(w){w.setSizeScale(M)})}},_removeTransformInPoints:function(m){if(m)for(var L=[],d=0;d<m.length;d+=2)L[0]=m[d],L[1]=m[d+1],this._glViewHelper.removeTransformInPoint(L),m[d]=L[0],m[d+1]=L[1]},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(240),x=b(246),O=b(45),_=b.n(O),g=b(16);P.a.registerVisual(_()("graphGL","circle",null)),P.a.registerVisual(Object(g.a)("graphGL")),P.a.registerVisual(function(L){var d={};L.eachSeriesByType("graphGL",function(v){var M=v.getCategoriesData(),w=v.getData(),S={};M.each(function(A){var R=M.getName(A);S[R]=A;var u=M.getItemModel(A),f=u.get("itemStyle.color")||v.getColorFromPalette(R,d);M.setItemVisual(A,"color",f)}),M.count()&&w.each(function(A){var R=w.getItemModel(A),u=R.getShallow("category");u!=null&&(typeof u=="string"&&(u=S[u]),w.getItemVisual(A,"color",!0)||w.setItemVisual(A,"color",M.getItemVisual(u,"color")))})})}),P.a.registerVisual(function(L){L.eachSeriesByType("graphGL",function(d){var v=d.getGraph(),M=d.getEdgeData(),w="lineStyle.color".split("."),S="lineStyle.opacity".split(".");M.setVisual("color",d.get(w)),M.setVisual("opacity",d.get(S)),M.each(function(A){var R=M.getItemModel(A),u=v.getEdgeByIndex(A),f=R.get(w),y=R.get(S);switch(f){case"source":f=u.node1.getVisual("color");break;case"target":f=u.node2.getVisual("color");break}u.setVisual("color",f),u.setVisual("opacity",y)})})}),P.a.registerAction({type:"graphGLRoam",event:"graphglroam",update:"series.graphGL:roam"},function(L,d){d.eachComponent({mainType:"series",query:L},function(v){v.setView(L)})});function m(){}P.a.registerAction({type:"graphGLStartLayout",event:"graphgllayoutstarted",update:"series.graphGL:startLayout"},m),P.a.registerAction({type:"graphGLStopLayout",event:"graphgllayoutstopped",update:"series.graphGL:stopLayout"},m),P.a.registerAction({type:"graphGLFocusNodeAdjacency",event:"graphGLFocusNodeAdjacency",update:"series.graphGL:focusNodeAdjacency"},m),P.a.registerAction({type:"graphGLUnfocusNodeAdjacency",event:"graphGLUnfocusNodeAdjacency",update:"series.graphGL:unfocusNodeAdjacency"},m)},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(241),x=b(27),O=P.a.extendSeriesModel({type:"series.graphGL",visualColorAccessPath:"itemStyle.color",init:function(g){O.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this._updateCategoriesData()},mergeOption:function(g){O.superApply(this,"mergeOption",arguments),this._updateCategoriesData()},getFormattedLabel:function(g,m,L,d){var v=x.a.getFormattedLabel(this,g,m,L,d);if(v==null){var M=this.getData(),w=M.dimensions[M.dimensions.length-1];v=M.get(w,g)}return v},getInitialData:function(g,m){var L=g.edges||g.links||[],d=g.data||g.nodes||[],v=this;if(d&&L)return Object(T.a)(d,L,this,!0,M).data;function M(w,S){w.wrapMethod("getItemModel",function(f){var y=v._categoriesModels,D=f.getShallow("category"),I=y[D];return I&&(I.parentModel=f.parentModel,f.parentModel=I),f});var A=v.getModel("edgeLabel"),R=new P.a.Model({label:A.option},A.parentModel,m);S.wrapMethod("getItemModel",function(f){return f.customizeGetParent(u),f});function u(f){return f=this.parsePath(f),f&&f[0]==="label"?R:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(g,m,L){if(L==="edge"){var d=this.getData(),v=this.getDataParams(g,L),M=d.graph.getEdgeByIndex(g),w=d.getName(M.node1.dataIndex),S=d.getName(M.node2.dataIndex),A=[];return w!=null&&A.push(w),S!=null&&A.push(S),A=P.a.format.encodeHTML(A.join(" > ")),v.value&&(A+=" : "+P.a.format.encodeHTML(v.value)),A}else return O.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var g=(this.option.categories||[]).map(function(L){return L.value!=null?L:P.a.util.extend({value:0},L)}),m=new P.a.List(["value"],this);m.initData(g),this._categoriesData=m,this._categoriesModels=m.mapArray(function(L){return m.getItemModel(L,!0)})},setView:function(g){g.zoom!=null&&(this.option.zoom=g.zoom),g.offset!=null&&(this.option.offset=g.offset)},setNodePosition:function(g){for(var m=0;m<g.length/2;m++){var L=g[m*2],d=g[m*2+1],v=this.getData().getRawDataItem(m);v.x=L,v.y=d}},isAnimationEnabled:function(){return O.superCall(this,"isAnimationEnabled")&&!(this.get("layout")==="force"&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:10,z:2,legendHoverLink:!0,layout:"forceAtlas2",forceAtlas2:{initLayout:null,GPU:!0,steps:1,maxSteps:1e3,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,edgeWeightInfluence:1,edgeWeight:[1,4],nodeWeight:[1,4],preventOverlap:!1,gravityCenter:null},focusNodeAdjacency:!0,focusNodeAdjacencyOn:"mouseover",left:"center",top:"center",symbol:"circle",symbolSize:5,roam:!1,center:null,zoom:1,label:{show:!1,formatter:"{b}",position:"right",distance:5,textStyle:{fontSize:14}},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}},animation:!1}}),_=O},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(242),x=b.n(T),O=b(245),_=b.n(O),g=b(3);H.a=function(m,L,d,v,M){for(var w=new x.a(v),S=0;S<m.length;S++)w.addNode(g.a.firstNotNull(m[S].id,m[S].name,S),S);for(var A=[],R=[],u=0,S=0;S<L.length;S++){var f=L[S],y=f.source,D=f.target;w.addEdge(y,D,u)&&(R.push(f),A.push(g.a.firstNotNull(f.id,y+" > "+D)),u++)}var I,U=P.a.helper.completeDimensions(["value"],m);I=new P.a.List(U,d),I.initData(m);var F=new P.a.List(["value"],d);return F.initData(R,A),M&&M(I,F),_()({mainData:I,struct:w,structAttr:"graph",datas:{node:I,edge:F},datasAttr:{node:"data",edge:"edgeData"}}),w.update(),w}},function(q,H,b){var z=b(85),P=z.__DEV__,T=b(12),x=b(244),O=x.enableClassCheck;function _(w){return"_EC_"+w}var g=function(w){this._directed=w||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},m=g.prototype;m.type="graph",m.isDirected=function(){return this._directed},m.addNode=function(w,S){w=w||""+S;var A=this._nodesMap;if(!A[_(w)]){var R=new L(w,S);return R.hostGraph=this,this.nodes.push(R),A[_(w)]=R,R}},m.getNodeByIndex=function(w){var S=this.data.getRawIndex(w);return this.nodes[S]},m.getNodeById=function(w){return this._nodesMap[_(w)]},m.addEdge=function(w,S,A){var R=this._nodesMap,u=this._edgesMap;if(typeof w=="number"&&(w=this.nodes[w]),typeof S=="number"&&(S=this.nodes[S]),L.isInstance(w)||(w=R[_(w)]),L.isInstance(S)||(S=R[_(S)]),!(!w||!S)){var f=w.id+"-"+S.id;if(!u[f]){var y=new d(w,S,A);return y.hostGraph=this,this._directed&&(w.outEdges.push(y),S.inEdges.push(y)),w.edges.push(y),w!==S&&S.edges.push(y),this.edges.push(y),u[f]=y,y}}},m.getEdgeByIndex=function(w){var S=this.edgeData.getRawIndex(w);return this.edges[S]},m.getEdge=function(w,S){L.isInstance(w)&&(w=w.id),L.isInstance(S)&&(S=S.id);var A=this._edgesMap;return this._directed?A[w+"-"+S]:A[w+"-"+S]||A[S+"-"+w]},m.eachNode=function(w,S){for(var A=this.nodes,R=A.length,u=0;u<R;u++)A[u].dataIndex>=0&&w.call(S,A[u],u)},m.eachEdge=function(w,S){for(var A=this.edges,R=A.length,u=0;u<R;u++)A[u].dataIndex>=0&&A[u].node1.dataIndex>=0&&A[u].node2.dataIndex>=0&&w.call(S,A[u],u)},m.breadthFirstTraverse=function(w,S,A,R){if(L.isInstance(S)||(S=this._nodesMap[_(S)]),!!S){for(var u=A==="out"?"outEdges":A==="in"?"inEdges":"edges",f=0;f<this.nodes.length;f++)this.nodes[f].__visited=!1;if(!w.call(R,S,null))for(var y=[S];y.length;)for(var D=y.shift(),I=D[u],f=0;f<I.length;f++){var U=I[f],F=U.node1===D?U.node2:U.node1;if(!F.__visited){if(w.call(R,F,D))return;y.push(F),F.__visited=!0}}}},m.update=function(){for(var w=this.data,S=this.edgeData,A=this.nodes,R=this.edges,u=0,f=A.length;u<f;u++)A[u].dataIndex=-1;for(var u=0,f=w.count();u<f;u++)A[w.getRawIndex(u)].dataIndex=u;S.filterSelf(function(y){var D=R[S.getRawIndex(y)];return D.node1.dataIndex>=0&&D.node2.dataIndex>=0});for(var u=0,f=R.length;u<f;u++)R[u].dataIndex=-1;for(var u=0,f=S.count();u<f;u++)R[S.getRawIndex(u)].dataIndex=u},m.clone=function(){for(var w=new g(this._directed),S=this.nodes,A=this.edges,R=0;R<S.length;R++)w.addNode(S[R].id,S[R].dataIndex);for(var R=0;R<A.length;R++){var u=A[R];w.addEdge(u.node1.id,u.node2.id,u.dataIndex)}return w};function L(w,S){this.id=w==null?"":w,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=S==null?-1:S}L.prototype={constructor:L,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(w){if(!(this.dataIndex<0)){var S=this.hostGraph,A=S.data.getItemModel(this.dataIndex);return A.getModel(w)}}};function d(w,S,A){this.node1=w,this.node2=S,this.dataIndex=A==null?-1:A}d.prototype.getModel=function(w){if(!(this.dataIndex<0)){var S=this.hostGraph,A=S.edgeData.getItemModel(this.dataIndex);return A.getModel(w)}};var v=function(w,S){return{getValue:function(A){var R=this[w][S];return R.get(R.getDimension(A||"value"),this.dataIndex)},setVisual:function(A,R){this.dataIndex>=0&&this[w][S].setItemVisual(this.dataIndex,A,R)},getVisual:function(A,R){return this[w][S].getItemVisual(this.dataIndex,A,R)},setLayout:function(A,R){this.dataIndex>=0&&this[w][S].setItemLayout(this.dataIndex,A,R)},getLayout:function(){return this[w][S].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[w][S].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[w][S].getRawIndex(this.dataIndex)}}};T.mixin(L,v("hostGraph","data")),T.mixin(d,v("hostGraph","edgeData")),g.Node=L,g.Edge=d,O(L),O(d);var M=g;q.exports=M},function(q,H){var b;b=function(){return this}();try{b=b||Function("return this")()||(0,eval)("this")}catch(z){typeof window=="object"&&(b=window)}q.exports=b},function(q,H,b){var z=b(85),P=z.__DEV__,T=b(12),x=".",O="___EC__COMPONENT__CONTAINER___";function _(A){var R={main:"",sub:""};return A&&(A=A.split(x),R.main=A[0]||"",R.sub=A[1]||""),R}function g(A){T.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(A),'componentType "'+A+'" illegal')}function m(A,R){A.$constructor=A,A.extend=function(u){var f=this,y=function(){u.$constructor?u.$constructor.apply(this,arguments):f.apply(this,arguments)};return T.extend(y.prototype,u),y.extend=this.extend,y.superCall=v,y.superApply=M,T.inherits(y,this),y.superClass=f,y}}var L=0;function d(A){var R=["__\0is_clz",L++,Math.random().toFixed(3)].join("_");A.prototype[R]=!0,A.isInstance=function(u){return!!(u&&u[R])}}function v(A,R){var u=T.slice(arguments,2);return this.superClass.prototype[R].apply(A,u)}function M(A,R,u){return this.superClass.prototype[R].apply(A,u)}function w(A,R){R=R||{};var u={};A.registerClass=function(D,I){if(I){if(g(I),I=_(I),!I.sub)u[I.main]=D;else if(I.sub!==O){var U=f(I);U[I.sub]=D}}return D},A.getClass=function(D,I,U){var F=u[D];if(F&&F[O]&&(F=I?F[I]:null),U&&!F)throw new Error(I?"Component "+D+"."+(I||"")+" not exists. Load it first.":D+".type should be specified.");return F},A.getClassesByMainType=function(D){D=_(D);var I=[],U=u[D.main];return U&&U[O]?T.each(U,function(F,G){G!==O&&I.push(F)}):I.push(U),I},A.hasClass=function(D){return D=_(D),!!u[D.main]},A.getAllClassMainTypes=function(){var D=[];return T.each(u,function(I,U){D.push(U)}),D},A.hasSubTypes=function(D){D=_(D);var I=u[D.main];return I&&I[O]},A.parseClassType=_;function f(D){var I=u[D.main];return(!I||!I[O])&&(I=u[D.main]={},I[O]=!0),I}if(R.registerWhenExtend){var y=A.extend;y&&(A.extend=function(D){var I=y.call(this,D);return A.registerClass(I,D.type)})}return A}function S(A,R){}H.parseClassType=_,H.enableClassExtend=m,H.enableClassCheck=d,H.enableClassManagement=w,H.setReadOnly=S},function(q,H,b){var z=b(12),P=z.each,T="\0__link_datas",x="\0__link_mainData";function O(S){var A=S.mainData,R=S.datas;R||(R={main:A},S.datasAttr={main:"data"}),S.datas=S.mainData=null,v(A,R,S),P(R,function(u){P(A.TRANSFERABLE_METHODS,function(f){u.wrapMethod(f,z.curry(_,S))})}),A.wrapMethod("cloneShallow",z.curry(m,S)),P(A.CHANGABLE_METHODS,function(u){A.wrapMethod(u,z.curry(g,S))}),z.assert(R[A.dataType]===A)}function _(S,A){if(d(this)){var R=z.extend({},this[T]);R[this.dataType]=A,v(A,R,S)}else M(A,this.dataType,this[x],S);return A}function g(S,A){return S.struct&&S.struct.update(this),A}function m(S,A){return P(A[T],function(R,u){R!==A&&M(R.cloneShallow(),u,A,S)}),A}function L(S){var A=this[x];return S==null||A==null?A:A[T][S]}function d(S){return S[x]===S}function v(S,A,R){S[T]={},P(A,function(u,f){M(u,f,S,R)})}function M(S,A,R,u){R[T][A]=S,S[x]=R,S.dataType=A,u.struct&&(S[u.structAttr]=u.struct,u.struct[u.datasAttr[A]]=S),S.getLinkedData=L}var w=O;q.exports=w},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(41),x=b.n(T),O=b(2),_=b(20),g=b(86),m=b(3),L=b(247),d=b(249),v=b(65),M=b.n(v),w=b(1),S=b.n(w),A=b(251),R=b(62),u=b(252),f=S.a.vec2;O.a.Shader.import(u.a);var y=1;P.a.extendChartView({type:"graphGL",__ecgl__:!0,init:function(D,I){this.groupGL=new O.a.Node,this.viewGL=new _.a("orthographic"),this.viewGL.camera.left=this.viewGL.camera.right=0,this.viewGL.add(this.groupGL),this._pointsBuilder=new R.a(!0,I),this._forceEdgesMesh=new O.a.Mesh({material:new O.a.Material({shader:O.a.createShader("ecgl.forceAtlas2.edges"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new O.a.Geometry({attributes:{node:new O.a.Geometry.Attribute("node","float",2),color:new O.a.Geometry.Attribute("color","float",4,"COLOR")},dynamic:!0,mainAttribute:"node"}),renderOrder:-1,mode:O.a.Mesh.LINES}),this._edgesMesh=new O.a.Mesh({material:new O.a.Material({shader:O.a.createShader("ecgl.meshLines2D"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new g.a({useNativeLine:!1,dynamic:!0}),renderOrder:-1,culling:!1}),this._layoutId=0,this._control=new A.a({zr:I.getZr(),viewGL:this.viewGL}),this._control.setTarget(this.groupGL),this._control.init(),this._clickHandler=this._clickHandler.bind(this)},render:function(D,I,U){this.groupGL.add(this._pointsBuilder.rootNode),this._model=D,this._api=U,this._initLayout(D,I,U),this._pointsBuilder.update(D,I,U),this._forceLayoutInstance instanceof L.a||this.groupGL.remove(this._forceEdgesMesh),this._updateCamera(D,U),this._control.off("update"),this._control.on("update",function(){U.dispatchAction({type:"graphGLRoam",seriesId:D.id,zoom:this._control.getZoom(),offset:this._control.getOffset()}),this._pointsBuilder.updateView(this.viewGL.camera)},this),this._control.setZoom(m.a.firstNotNull(D.get("zoom"),1)),this._control.setOffset(D.get("offset")||[0,0]);var F=this._pointsBuilder.getPointsMesh();if(F.off("mousemove",this._mousemoveHandler),F.off("mouseout",this._mouseOutHandler,this),U.getZr().off("click",this._clickHandler),this._pointsBuilder.highlightOnMouseover=!0,D.get("focusNodeAdjacency")){var G=D.get("focusNodeAdjacencyOn");G==="click"?U.getZr().on("click",this._clickHandler):G==="mouseover"?(F.on("mousemove",this._mousemoveHandler,this),F.on("mouseout",this._mouseOutHandler,this),this._pointsBuilder.highlightOnMouseover=!1):console.warn("Unkown focusNodeAdjacencyOn value s"+G)}this._lastMouseOverDataIndex=-1},_clickHandler:function(D){if(!this._layouting){var I=this._pointsBuilder.getPointsMesh().dataIndex;I>=0?this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:I}):this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id})}},_mousemoveHandler:function(D){if(!this._layouting){var I=this._pointsBuilder.getPointsMesh().dataIndex;I>=0?I!==this._lastMouseOverDataIndex&&this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:I}):this._mouseOutHandler(D),this._lastMouseOverDataIndex=I}},_mouseOutHandler:function(D){this._layouting||(this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id}),this._lastMouseOverDataIndex=-1)},_updateForceEdgesGeometry:function(D,I){var U=this._forceEdgesMesh.geometry,F=I.getEdgeData(),G=0,Y=this._forceLayoutInstance,te=F.count()*2;U.attributes.node.init(te),U.attributes.color.init(te),F.each(function($){var oe=D[$];U.attributes.node.set(G,Y.getNodeUV(oe.node1)),U.attributes.node.set(G+1,Y.getNodeUV(oe.node2));var ie=F.getItemVisual(oe.dataIndex,"color"),ne=O.a.parseColor(ie);ne[3]*=m.a.firstNotNull(F.getItemVisual(oe.dataIndex,"opacity"),1),U.attributes.color.set(G,ne),U.attributes.color.set(G+1,ne),G+=2}),U.dirty()},_updateMeshLinesGeometry:function(){var I=this._model.getEdgeData(),D=this._edgesMesh.geometry,I=this._model.getEdgeData(),U=this._model.getData().getLayout("points");D.resetOffset(),D.setVertexCount(I.count()*D.getLineVertexCount()),D.setTriangleCount(I.count()*D.getLineTriangleCount());var F=[],G=[],Y=["lineStyle","width"];this._originalEdgeColors=new Float32Array(I.count()*4),this._edgeIndicesMap=new Float32Array(I.count()),I.each(function(te){var $=I.graph.getEdgeByIndex(te),oe=$.node1.dataIndex*2,ie=$.node2.dataIndex*2;F[0]=U[oe],F[1]=U[oe+1],G[0]=U[ie],G[1]=U[ie+1];var ne=I.getItemVisual($.dataIndex,"color"),le=O.a.parseColor(ne);le[3]*=m.a.firstNotNull(I.getItemVisual($.dataIndex,"opacity"),1);var ae=I.getItemModel($.dataIndex),de=m.a.firstNotNull(ae.get(Y),1)*this._api.getDevicePixelRatio();D.addLine(F,G,le,de);for(var se=0;se<4;se++)this._originalEdgeColors[$.dataIndex*4+se]=le[se];this._edgeIndicesMap[$.dataIndex]=te},!1,this),D.dirty()},_updateForceNodesGeometry:function(D){for(var I=this._pointsBuilder.getPointsMesh(),U=[],F=0;F<D.count();F++)this._forceLayoutInstance.getNodeUV(F,U),I.geometry.attributes.position.set(F,U);I.geometry.dirty("position")},_initLayout:function(D,I,U){var F=D.get("layout"),G=D.getGraph(),Y=D.getBoxLayoutParams(),te=x.a.getLayoutRect(Y,{width:U.getWidth(),height:U.getHeight()});F==="force"&&(console.warn("Currently only forceAtlas2 layout supported."),F="forceAtlas2"),this.stopLayout(D,I,U,{beforeLayout:!0});var $=D.getData(),oe=D.getData();if(F==="forceAtlas2"){var ie=D.getModel("forceAtlas2"),ne=this._forceLayoutInstance,le=[],ae=[],de=$.getDataExtent("value"),se=oe.getDataExtent("value"),fe=m.a.firstNotNull(ie.get("edgeWeight"),1),ye=m.a.firstNotNull(ie.get("nodeWeight"),1);typeof fe=="number"&&(fe=[fe,fe]),typeof ye=="number"&&(ye=[ye,ye]);var ge=0,xe={},Me=new Float32Array($.count()*2);if(G.eachNode(function(We){var tt=We.dataIndex,Je=$.get("value",tt),st,yt;if($.hasItemOption){var gt=$.getItemModel(tt);st=gt.get("x"),yt=gt.get("y")}st==null&&(st=te.x+Math.random()*te.width,yt=te.y+Math.random()*te.height),Me[ge*2]=st,Me[ge*2+1]=yt,xe[We.id]=ge++;var Ke=P.a.number.linearMap(Je,de,ye);isNaN(Ke)&&(isNaN(ye[0])?Ke=1:Ke=ye[0]),le.push({x:st,y:yt,mass:Ke,size:$.getItemVisual(tt,"symbolSize")})}),$.setLayout("points",Me),G.eachEdge(function(We){var tt=We.dataIndex,Je=$.get("value",tt),st=P.a.number.linearMap(Je,se,fe);isNaN(st)&&(isNaN(fe[0])?st=1:st=fe[0]),ae.push({node1:xe[We.node1.id],node2:xe[We.node2.id],weight:st,dataIndex:tt})}),!ne){var Ne=ie.get("GPU");this._forceLayoutInstance&&(Ne&&!(this._forceLayoutInstance instanceof L.a)||!Ne&&!(this._forceLayoutInstance instanceof d.a))&&(this._forceLayoutInstanceToDispose=this._forceLayoutInstance),ne=this._forceLayoutInstance=Ne?new L.a:new d.a}ne.initData(le,ae),ne.updateOption(ie.option),this._updateForceEdgesGeometry(ne.getEdges(),D),this._updatePositionTexture(),U.dispatchAction({type:"graphGLStartLayout",from:this.uid})}else{var Me=new Float32Array($.count()*2),ge=0;G.eachNode(function(Je){var st=Je.dataIndex,yt,gt;if($.hasItemOption){var Ke=$.getItemModel(st);yt=Ke.get("x"),gt=Ke.get("y")}Me[ge++]=yt,Me[ge++]=gt}),$.setLayout("points",Me),this._updateAfterLayout(D,I,U)}},_updatePositionTexture:function(){var D=this._forceLayoutInstance.getNodePositionTexture();this._pointsBuilder.setPositionTexture(D),this._forceEdgesMesh.material.set("positionTex",D)},startLayout:function(D,I,Y,F){if(!(F&&F.from!=null&&F.from!==this.uid)){var G=this.viewGL,Y=this._api,te=this._forceLayoutInstance,$=this._model.getData(),oe=this._model.getModel("forceAtlas2");if(!te){console.error("None layout don't have startLayout action");return}if(this.groupGL.remove(this._edgesMesh),this.groupGL.add(this._forceEdgesMesh),!!this._forceLayoutInstance){this._updateForceNodesGeometry(D.getData()),this._pointsBuilder.hideLabels();var ie=this,ne=this._layoutId=y++,le=oe.getShallow("maxSteps"),ae=oe.getShallow("steps"),de=0,se=Math.max(ae*2,20),fe=function(ye){if(ye===ie._layoutId){if(te.isFinished(le)){Y.dispatchAction({type:"graphGLStopLayout",from:ie.uid}),Y.dispatchAction({type:"graphGLFinishLayout",points:$.getLayout("points"),from:ie.uid});return}te.update(G.layer.renderer,ae,function(){ie._updatePositionTexture(),de+=ae,de>=se&&(ie._syncNodePosition(D),de=0),Y.getZr().refresh(),M()(function(){fe(ye)})})}};M()(function(){ie._forceLayoutInstanceToDispose&&(ie._forceLayoutInstanceToDispose.dispose(G.layer.renderer),ie._forceLayoutInstanceToDispose=null),fe(ne)}),this._layouting=!0}}},stopLayout:function(D,I,U,F){F&&F.from!=null&&F.from!==this.uid||(this._layoutId=0,this.groupGL.remove(this._forceEdgesMesh),this.groupGL.add(this._edgesMesh),this._forceLayoutInstance&&this.viewGL.layer&&(F&&F.beforeLayout||(this._syncNodePosition(D),this._updateAfterLayout(D,I,U)),this._api.getZr().refresh(),this._layouting=!1))},_syncNodePosition:function(D){var I=this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);D.getData().setLayout("points",I),D.setNodePosition(I)},_updateAfterLayout:function(D,I,U){this._updateMeshLinesGeometry(),this._pointsBuilder.removePositionTexture(),this._pointsBuilder.updateLayout(D,I,U),this._pointsBuilder.updateView(this.viewGL.camera),this._pointsBuilder.updateLabels(),this._pointsBuilder.showLabels()},focusNodeAdjacency:function(D,I,U,F){var G=this._model.getData();this._downplayAll();var Y=F.dataIndex,te=G.graph,$=[],oe=te.getNodeByIndex(Y);$.push(oe),oe.edges.forEach(function(ne){ne.dataIndex<0||(ne.node1!==oe&&$.push(ne.node1),ne.node2!==oe&&$.push(ne.node2))},this),this._pointsBuilder.fadeOutAll(.05),this._fadeOutEdgesAll(.05),$.forEach(function(ne){this._pointsBuilder.highlight(G,ne.dataIndex)},this),this._pointsBuilder.updateLabels($.map(function(ne){return ne.dataIndex}));var ie=[];oe.edges.forEach(function(ne){ne.dataIndex>=0&&(this._highlightEdge(ne.dataIndex),ie.push(ne))},this),this._focusNodes=$,this._focusEdges=ie},unfocusNodeAdjacency:function(D,I,U,F){this._downplayAll(),this._pointsBuilder.fadeInAll(),this._fadeInEdgesAll(),this._pointsBuilder.updateLabels()},_highlightEdge:function(D){var I=this._model.getEdgeData().getItemModel(D),U=O.a.parseColor(I.get("emphasis.lineStyle.color")||I.get("lineStyle.color")),F=m.a.firstNotNull(I.get("emphasis.lineStyle.opacity"),I.get("lineStyle.opacity"),1);U[3]*=F,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[D],U)},_downplayAll:function(){this._focusNodes&&this._focusNodes.forEach(function(D){this._pointsBuilder.downplay(this._model.getData(),D.dataIndex)},this),this._focusEdges&&this._focusEdges.forEach(function(D){this._downplayEdge(D.dataIndex)},this)},_downplayEdge:function(D){var I=this._getColor(D,[]);this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[D],I)},_setEdgeFade:function(){var D=[];return function(I,U){this._getColor(I,D),D[3]*=U,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[I],D)}}(),_getColor:function(D,I){for(var U=0;U<4;U++)I[U]=this._originalEdgeColors[D*4+U];return I},_fadeOutEdgesAll:function(D){var I=this._model.getData().graph;I.eachEdge(function(U){this._setEdgeFade(U.dataIndex,D)},this)},_fadeInEdgesAll:function(){this._fadeOutEdgesAll(1)},_updateCamera:function(D,I){this.viewGL.setViewport(0,0,I.getWidth(),I.getHeight(),I.getDevicePixelRatio());for(var U=this.viewGL.camera,F=D.getData(),G=F.getLayout("points"),Y=f.create(1/0,1/0),te=f.create(-1/0,-1/0),$=[],oe=0;oe<G.length;)$[0]=G[oe++],$[1]=G[oe++],f.min(Y,Y,$),f.max(te,te,$);var ie=(te[1]+Y[1])/2,ne=(te[0]+Y[0])/2;if(!(ne>U.left&&ne<U.right&&ie<U.bottom&&ie>U.top)){var le=Math.max(te[0]-Y[0],10),ae=le/I.getWidth()*I.getHeight();le*=1.4,ae*=1.4,Y[0]-=le*.2,U.left=Y[0],U.top=ie-ae/2,U.bottom=ie+ae/2,U.right=le+Y[0],U.near=0,U.far=100}},dispose:function(){var D=this.viewGL.layer.renderer;this._forceLayoutInstance&&this._forceLayoutInstance.dispose(D),this.groupGL.removeAll(),this._layoutId=-1},remove:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(14),O=b(10),_=b(248);T.a.Shader.import(_.a);var g={repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null};function m(L){var d={type:T.a.Texture.FLOAT,minFilter:T.a.Texture.NEAREST,magFilter:T.a.Texture.NEAREST};this._positionSourceTex=new T.a.Texture2D(d),this._positionSourceTex.flipY=!1,this._positionTex=new T.a.Texture2D(d),this._positionPrevTex=new T.a.Texture2D(d),this._forceTex=new T.a.Texture2D(d),this._forcePrevTex=new T.a.Texture2D(d),this._weightedSumTex=new T.a.Texture2D(d),this._weightedSumTex.width=this._weightedSumTex.height=1,this._globalSpeedTex=new T.a.Texture2D(d),this._globalSpeedPrevTex=new T.a.Texture2D(d),this._globalSpeedTex.width=this._globalSpeedTex.height=1,this._globalSpeedPrevTex.width=this._globalSpeedPrevTex.height=1,this._nodeRepulsionPass=new x.a({fragment:T.a.Shader.source("ecgl.forceAtlas2.updateNodeRepulsion")}),this._positionPass=new x.a({fragment:T.a.Shader.source("ecgl.forceAtlas2.updatePosition")}),this._globalSpeedPass=new x.a({fragment:T.a.Shader.source("ecgl.forceAtlas2.calcGlobalSpeed")}),this._copyPass=new x.a({fragment:T.a.Shader.source("clay.compositor.output")});var v=function(M){M.blendEquation(M.FUNC_ADD),M.blendFunc(M.ONE,M.ONE)};this._edgeForceMesh=new T.a.Mesh({geometry:new T.a.Geometry({attributes:{node1:new T.a.Geometry.Attribute("node1","float",2),node2:new T.a.Geometry.Attribute("node2","float",2),weight:new T.a.Geometry.Attribute("weight","float",1)},dynamic:!0,mainAttribute:"node1"}),material:new T.a.Material({transparent:!0,shader:T.a.createShader("ecgl.forceAtlas2.updateEdgeAttraction"),blend:v,depthMask:!1,depthText:!1}),mode:T.a.Mesh.POINTS}),this._weightedSumMesh=new T.a.Mesh({geometry:new T.a.Geometry({attributes:{node:new T.a.Geometry.Attribute("node","float",2)},dynamic:!0,mainAttribute:"node"}),material:new T.a.Material({transparent:!0,shader:T.a.createShader("ecgl.forceAtlas2.calcWeightedSum"),blend:v,depthMask:!1,depthText:!1}),mode:T.a.Mesh.POINTS}),this._framebuffer=new O.a({depthBuffer:!1}),this._dummyCamera=new T.a.OrthographicCamera({left:-1,right:1,top:1,bottom:-1,near:0,far:100}),this._globalSpeed=0}m.prototype.updateOption=function(L){for(var d in g)this[d]=g[d];var v=this._nodes.length;if(v>5e4?this.jitterTolerence=10:v>5e3?this.jitterTolerence=1:this.jitterTolerence=.1,v>100?this.scaling=2:this.scaling=10,L)for(var d in g)L[d]!=null&&(this[d]=L[d]);if(this.repulsionByDegree)for(var M=this._positionSourceTex.pixels,w=0;w<this._nodes.length;w++)M[w*4+2]=(this._nodes[w].degree||0)+1},m.prototype._updateGravityCenter=function(L){var d=this._nodes,v=this._edges;if(this.gravityCenter)this._gravityCenter=this.gravityCenter;else{for(var M=[1/0,1/0],w=[-1/0,-1/0],S=0;S<d.length;S++)M[0]=Math.min(d[S].x,M[0]),M[1]=Math.min(d[S].y,M[1]),w[0]=Math.max(d[S].x,w[0]),w[1]=Math.max(d[S].y,w[1]);this._gravityCenter=[(M[0]+w[0])*.5,(M[1]+w[1])*.5]}for(var S=0;S<v.length;S++){var A=v[S].node1,R=v[S].node2;d[A].degree=(d[A].degree||0)+1,d[R].degree=(d[R].degree||0)+1}},m.prototype.initData=function(L,d){this._nodes=L,this._edges=d,this._updateGravityCenter();var v=Math.ceil(Math.sqrt(L.length)),M=v,w=new Float32Array(v*M*4);this._resize(v,M);for(var S=0,A=0;A<L.length;A++){var R=L[A];w[S++]=R.x||0,w[S++]=R.y||0,w[S++]=R.mass||1,w[S++]=R.size||1}this._positionSourceTex.pixels=w;var u=this._edgeForceMesh.geometry,f=d.length;u.attributes.node1.init(f*2),u.attributes.node2.init(f*2),u.attributes.weight.init(f*2);for(var y=[],A=0;A<d.length;A++){var D=u.attributes,I=d[A].weight;I==null&&(I=1),D.node1.set(A,this.getNodeUV(d[A].node1,y)),D.node2.set(A,this.getNodeUV(d[A].node2,y)),D.weight.set(A,I),D.node1.set(A+f,this.getNodeUV(d[A].node2,y)),D.node2.set(A+f,this.getNodeUV(d[A].node1,y)),D.weight.set(A+f,I)}var U=this._weightedSumMesh.geometry;U.attributes.node.init(L.length);for(var A=0;A<L.length;A++)U.attributes.node.set(A,this.getNodeUV(A,y));u.dirty(),U.dirty(),this._nodeRepulsionPass.material.define("fragment","NODE_COUNT",L.length),this._nodeRepulsionPass.material.setUniform("textureSize",[v,M]),this._inited=!1,this._frame=0},m.prototype.getNodes=function(){return this._nodes},m.prototype.getEdges=function(){return this._edges},m.prototype.step=function(L){this._inited||(this._initFromSource(L),this._inited=!0),this._frame++,this._framebuffer.attach(this._forceTex),this._framebuffer.bind(L);var d=this._nodeRepulsionPass;d.setUniform("strongGravityMode",this.strongGravityMode),d.setUniform("gravity",this.gravity),d.setUniform("gravityCenter",this._gravityCenter),d.setUniform("scaling",this.scaling),d.setUniform("preventOverlap",this.preventOverlap),d.setUniform("positionTex",this._positionPrevTex),d.render(L);var v=this._edgeForceMesh;v.material.set("linLogMode",this.linLogMode),v.material.set("edgeWeightInfluence",this.edgeWeightInfluence),v.material.set("preventOverlap",this.preventOverlap),v.material.set("positionTex",this._positionPrevTex),L.gl.enable(L.gl.BLEND),L.renderPass([v],this._dummyCamera),this._framebuffer.attach(this._weightedSumTex),L.gl.clearColor(0,0,0,0),L.gl.clear(L.gl.COLOR_BUFFER_BIT),L.gl.enable(L.gl.BLEND);var M=this._weightedSumMesh;M.material.set("positionTex",this._positionPrevTex),M.material.set("forceTex",this._forceTex),M.material.set("forcePrevTex",this._forcePrevTex),L.renderPass([M],this._dummyCamera),this._framebuffer.attach(this._globalSpeedTex);var w=this._globalSpeedPass;w.setUniform("globalSpeedPrevTex",this._globalSpeedPrevTex),w.setUniform("weightedSumTex",this._weightedSumTex),w.setUniform("jitterTolerence",this.jitterTolerence),L.gl.disable(L.gl.BLEND),w.render(L);var S=this._positionPass;this._framebuffer.attach(this._positionTex),S.setUniform("globalSpeedTex",this._globalSpeedTex),S.setUniform("positionTex",this._positionPrevTex),S.setUniform("forceTex",this._forceTex),S.setUniform("forcePrevTex",this._forcePrevTex),S.render(L),this._framebuffer.unbind(L),this._swapTexture()},m.prototype.update=function(L,d,v){d==null&&(d=1),d=Math.max(d,1);for(var M=0;M<d;M++)this.step(L);v&&v()},m.prototype.getNodePositionTexture=function(){return this._inited?this._positionPrevTex:this._positionSourceTex},m.prototype.getNodeUV=function(L,d){d=d||[];var v=this._positionTex.width,M=this._positionTex.height;return d[0]=L%v/(v-1),d[1]=Math.floor(L/v)/(M-1)||0,d},m.prototype.getNodePosition=function(L,d){var v=this._positionArr,M=this._positionTex.width,w=this._positionTex.height,S=M*w;(!v||v.length!==S*4)&&(v=this._positionArr=new Float32Array(S*4)),this._framebuffer.bind(L),this._framebuffer.attach(this._positionPrevTex),L.gl.readPixels(0,0,M,w,L.gl.RGBA,L.gl.FLOAT,v),this._framebuffer.unbind(L),d||(d=new Float32Array(this._nodes.length*2));for(var A=0;A<this._nodes.length;A++)d[A*2]=v[A*4],d[A*2+1]=v[A*4+1];return d},m.prototype.getTextureData=function(L,d){var v=this["_"+d+"Tex"],M=v.width,w=v.height;this._framebuffer.bind(L),this._framebuffer.attach(v);var S=new Float32Array(M*w*4);return L.gl.readPixels(0,0,M,w,L.gl.RGBA,L.gl.FLOAT,S),this._framebuffer.unbind(L),S},m.prototype.getTextureSize=function(){return{width:this._positionTex.width,height:this._positionTex.height}},m.prototype.isFinished=function(L){return this._frame>L},m.prototype._swapTexture=function(){var L=this._positionPrevTex;this._positionPrevTex=this._positionTex,this._positionTex=L;var L=this._forcePrevTex;this._forcePrevTex=this._forceTex,this._forceTex=L;var L=this._globalSpeedPrevTex;this._globalSpeedPrevTex=this._globalSpeedTex,this._globalSpeedTex=L},m.prototype._initFromSource=function(L){this._framebuffer.attach(this._positionPrevTex),this._framebuffer.bind(L),this._copyPass.setUniform("texture",this._positionSourceTex),this._copyPass.render(L),L.gl.clearColor(0,0,0,0),this._framebuffer.attach(this._forcePrevTex),L.gl.clear(L.gl.COLOR_BUFFER_BIT),this._framebuffer.attach(this._globalSpeedPrevTex),L.gl.clear(L.gl.COLOR_BUFFER_BIT),this._framebuffer.unbind(L)},m.prototype._resize=function(L,d){["_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex"].forEach(function(v){this[v].width=L,this[v].height=d,this[v].dirty()},this)},m.prototype.dispose=function(L){this._framebuffer.dispose(L),this._copyPass.dispose(L),this._nodeRepulsionPass.dispose(L),this._positionPass.dispose(L),this._globalSpeedPass.dispose(L),this._edgeForceMesh.geometry.dispose(L),this._weightedSumMesh.geometry.dispose(L),this._positionSourceTex.dispose(L),this._positionTex.dispose(L),this._positionPrevTex.dispose(L),this._forceTex.dispose(L),this._forcePrevTex.dispose(L),this._weightedSumTex.dispose(L),this._globalSpeedTex.dispose(L),this._globalSpeedPrevTex.dispose(L)},P.a.ForceAtlas2GPU=m,H.a=m},function(q,H,b){"use strict";H.a=`@export ecgl.forceAtlas2.updateNodeRepulsion
#define NODE_COUNT 0
uniform sampler2D positionTex;
uniform vec2 textureSize;
uniform float gravity;
uniform float scaling;
uniform vec2 gravityCenter;
uniform bool strongGravityMode;
uniform bool preventOverlap;
varying vec2 v_Texcoord;
void main() {
vec4 n0 = texture2D(positionTex, v_Texcoord);
vec2 force = vec2(0.0);
for (int i = 0; i < NODE_COUNT; i++) {
vec2 uv = vec2(
mod(float(i), textureSize.x) / (textureSize.x - 1.0),
floor(float(i) / textureSize.x) / (textureSize.y - 1.0)
);
vec4 n1 = texture2D(positionTex, uv);
vec2 dir = n0.xy - n1.xy;
float d2 = dot(dir, dir);
if (d2 > 0.0) {
float factor = 0.0;
if (preventOverlap) {
float d = sqrt(d2);
d = d - n0.w - n1.w;
if (d > 0.0) {
factor = scaling * n0.z * n1.z / (d * d);
}
else if (d < 0.0) {
factor = scaling * 100.0 * n0.z * n1.z;
}
}
else {
factor = scaling * n0.z * n1.z / d2;
}
force += dir * factor;
}
}
vec2 dir = gravityCenter - n0.xy;
float d = 1.0;
if (!strongGravityMode) {
d = length(dir);
}
force += dir * n0.z * gravity / (d + 1.0);
gl_FragColor = vec4(force, 0.0, 1.0);
}
@end
@export ecgl.forceAtlas2.updateEdgeAttraction.vertex
attribute vec2 node1;
attribute vec2 node2;
attribute float weight;
uniform sampler2D positionTex;
uniform float edgeWeightInfluence;
uniform bool preventOverlap;
uniform bool linLogMode;
uniform vec2 windowSize: WINDOW_SIZE;
varying vec2 v_Force;
void main() {
vec4 n0 = texture2D(positionTex, node1);
vec4 n1 = texture2D(positionTex, node2);
vec2 dir = n1.xy - n0.xy;
float d = length(dir);
float w;
if (edgeWeightInfluence == 0.0) {
w = 1.0;
}
else if (edgeWeightInfluence == 1.0) {
w = weight;
}
else {
w = pow(weight, edgeWeightInfluence);
}
vec2 offset = vec2(1.0 / windowSize.x, 1.0 / windowSize.y);
vec2 scale = vec2((windowSize.x - 1.0) / windowSize.x, (windowSize.y - 1.0) / windowSize.y);
vec2 pos = node1 * scale * 2.0 - 1.0;
gl_Position = vec4(pos + offset, 0.0, 1.0);
gl_PointSize = 1.0;
float factor;
if (preventOverlap) {
d = d - n1.w - n0.w;
}
if (d <= 0.0) {
v_Force = vec2(0.0);
return;
}
if (linLogMode) {
factor = w * log(d) / d;
}
else {
factor = w;
}
v_Force = dir * factor;
}
@end
@export ecgl.forceAtlas2.updateEdgeAttraction.fragment
varying vec2 v_Force;
void main() {
gl_FragColor = vec4(v_Force, 0.0, 0.0);
}
@end
@export ecgl.forceAtlas2.calcWeightedSum.vertex
attribute vec2 node;
varying vec2 v_NodeUv;
void main() {
v_NodeUv = node;
gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
gl_PointSize = 1.0;
}
@end
@export ecgl.forceAtlas2.calcWeightedSum.fragment
varying vec2 v_NodeUv;
uniform sampler2D positionTex;
uniform sampler2D forceTex;
uniform sampler2D forcePrevTex;
void main() {
vec2 force = texture2D(forceTex, v_NodeUv).rg;
vec2 forcePrev = texture2D(forcePrevTex, v_NodeUv).rg;
float mass = texture2D(positionTex, v_NodeUv).z;
float swing = length(force - forcePrev) * mass;
float traction = length(force + forcePrev) * 0.5 * mass;
gl_FragColor = vec4(swing, traction, 0.0, 0.0);
}
@end
@export ecgl.forceAtlas2.calcGlobalSpeed
uniform sampler2D globalSpeedPrevTex;
uniform sampler2D weightedSumTex;
uniform float jitterTolerence;
void main() {
vec2 weightedSum = texture2D(weightedSumTex, vec2(0.5)).xy;
float prevGlobalSpeed = texture2D(globalSpeedPrevTex, vec2(0.5)).x;
float globalSpeed = jitterTolerence * jitterTolerence
* weightedSum.y / weightedSum.x;
if (prevGlobalSpeed > 0.0) {
globalSpeed = min(globalSpeed / prevGlobalSpeed, 1.5) * prevGlobalSpeed;
}
gl_FragColor = vec4(globalSpeed, 0.0, 0.0, 1.0);
}
@end
@export ecgl.forceAtlas2.updatePosition
uniform sampler2D forceTex;
uniform sampler2D forcePrevTex;
uniform sampler2D positionTex;
uniform sampler2D globalSpeedTex;
varying vec2 v_Texcoord;
void main() {
vec2 force = texture2D(forceTex, v_Texcoord).xy;
vec2 forcePrev = texture2D(forcePrevTex, v_Texcoord).xy;
vec4 node = texture2D(positionTex, v_Texcoord);
float globalSpeed = texture2D(globalSpeedTex, vec2(0.5)).r;
float swing = length(force - forcePrev);
float speed = 0.1 * globalSpeed / (0.1 + globalSpeed * sqrt(swing));
float df = length(force);
if (df > 0.0) {
speed = min(df * speed, 10.0) / df;
gl_FragColor = vec4(node.xy + speed * force, node.zw);
}
else {
gl_FragColor = node;
}
}
@end
@export ecgl.forceAtlas2.edges.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec2 node;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
uniform sampler2D positionTex;
void main()
{
gl_Position = worldViewProjection * vec4(
texture2D(positionTex, node).xy, -10.0, 1.0
);
v_Color = a_Color;
}
@end
@export ecgl.forceAtlas2.edges.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
void main() {
gl_FragColor = color * v_Color;
}
@end`},function(q,H,b){"use strict";var z=b(5),P=b(6),T=b(250),x=T.a.toString();x=x.slice(x.indexOf("{")+1,x.lastIndexOf("}"));var O={barnesHutOptimize:!0,barnesHutTheta:1.5,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null},_=function(g){for(var m in O)this[m]=O[m];if(g)for(var m in g)this[m]=g[m];this._nodes=[],this._edges=[],this._disposed=!1,this._positionTex=new z.a({type:P.a.FLOAT,flipY:!1,minFilter:P.a.NEAREST,magFilter:P.a.NEAREST})};_.prototype.initData=function(g,m){var L=new Blob([x]),d=window.URL.createObjectURL(L);this._worker=new Worker(d),this._worker.onmessage=this._$onupdate.bind(this),this._nodes=g,this._edges=m,this._frame=0;for(var v=g.length,M=m.length,w=new Float32Array(v*2),S=new Float32Array(v),A=new Float32Array(v),R=new Float32Array(M*2),u=new Float32Array(M),f=0;f<g.length;f++){var y=g[f];w[f*2]=y.x,w[f*2+1]=y.y,S[f]=y.mass==null?1:y.mass,A[f]=y.size==null?1:y.size}for(var f=0;f<m.length;f++){var D=m[f],I=D.node1,U=D.node2;R[f*2]=I,R[f*2+1]=U,u[f]=D.weight==null?1:D.weight}var F=Math.ceil(Math.sqrt(g.length)),G=F,Y=new Float32Array(F*G*4),te=this._positionTex;te.width=F,te.height=G,te.pixels=Y,this._worker.postMessage({cmd:"init",nodesPosition:w,nodesMass:S,nodesSize:A,edges:R,edgesWeight:u}),this._globalSpeed=1/0},_.prototype.updateOption=function(g){var m={};for(var L in O)m[L]=O[L];var d=this._nodes,v=this._edges,M=d.length;if(M>5e4?m.jitterTolerence=10:M>5e3?m.jitterTolerence=1:m.jitterTolerence=.1,M>100?m.scaling=2:m.scaling=10,M>1e3?m.barnesHutOptimize=!0:m.barnesHutOptimize=!1,g)for(var L in O)g[L]!=null&&(m[L]=g[L]);if(!m.gravityCenter){for(var w=[1/0,1/0],S=[-1/0,-1/0],A=0;A<d.length;A++)w[0]=Math.min(d[A].x,w[0]),w[1]=Math.min(d[A].y,w[1]),S[0]=Math.max(d[A].x,S[0]),S[1]=Math.max(d[A].y,S[1]);m.gravityCenter=[(w[0]+S[0])*.5,(w[1]+S[1])*.5]}for(var A=0;A<v.length;A++){var R=v[A].node1,u=v[A].node2;d[R].degree=(d[R].degree||0)+1,d[u].degree=(d[u].degree||0)+1}this._worker&&this._worker.postMessage({cmd:"updateConfig",config:m})},_.prototype.update=function(g,m,L){m==null&&(m=1),m=Math.max(m,1),this._frame+=m,this._onupdate=L,this._worker&&this._worker.postMessage({cmd:"update",steps:Math.round(m)})},_.prototype._$onupdate=function(g){if(!this._disposed){var m=new Float32Array(g.data.buffer);this._globalSpeed=g.data.globalSpeed,this._positionArr=m,this._updateTexture(m),this._onupdate&&this._onupdate()}},_.prototype.getNodePositionTexture=function(){return this._positionTex},_.prototype.getNodeUV=function(g,m){m=m||[];var L=this._positionTex.width,d=this._positionTex.height;return m[0]=g%L/(L-1),m[1]=Math.floor(g/L)/(d-1),m},_.prototype.getNodes=function(){return this._nodes},_.prototype.getEdges=function(){return this._edges},_.prototype.isFinished=function(g){return this._frame>g},_.prototype.getNodePosition=function(g,m){if(m||(m=new Float32Array(this._nodes.length*2)),this._positionArr)for(var L=0;L<this._positionArr.length;L++)m[L]=this._positionArr[L];return m},_.prototype._updateTexture=function(g){for(var m=this._positionTex.pixels,L=0,d=0;d<g.length;)m[L++]=g[d++],m[L++]=g[d++],m[L++]=1,m[L++]=1;this._positionTex.dirty()},_.prototype.dispose=function(g){this._disposed=!0,this._worker=null},H.a=_},function(q,H,b){"use strict";function z(){var P={create:function(){return new Float32Array(2)},dist:function(d,v){var M=v[0]-d[0],w=v[1]-d[1];return Math.sqrt(M*M+w*w)},len:function(d){var v=d[0],M=d[1];return Math.sqrt(v*v+M*M)},scaleAndAdd:function(d,v,M,w){return d[0]=v[0]+M[0]*w,d[1]=v[1]+M[1]*w,d},scale:function(d,v,M){return d[0]=v[0]*M,d[1]=v[1]*M,d},add:function(d,v,M){return d[0]=v[0]+M[0],d[1]=v[1]+M[1],d},sub:function(d,v,M){return d[0]=v[0]-M[0],d[1]=v[1]-M[1],d},normalize:function(d,v){var M=v[0],w=v[1],S=M*M+w*w;return S>0&&(S=1/Math.sqrt(S),d[0]=v[0]*S,d[1]=v[1]*S),d},negate:function(d,v){return d[0]=-v[0],d[1]=-v[1],d},copy:function(d,v){return d[0]=v[0],d[1]=v[1],d},set:function(d,v,M){return d[0]=v,d[1]=M,d}};function T(){this.subRegions=[],this.nSubRegions=0,this.node=null,this.mass=0,this.centerOfMass=null,this.bbox=new Float32Array(4),this.size=0}var x=T.prototype;x.beforeUpdate=function(){for(var d=0;d<this.nSubRegions;d++)this.subRegions[d].beforeUpdate();this.mass=0,this.centerOfMass&&(this.centerOfMass[0]=0,this.centerOfMass[1]=0),this.nSubRegions=0,this.node=null},x.afterUpdate=function(){this.subRegions.length=this.nSubRegions;for(var d=0;d<this.nSubRegions;d++)this.subRegions[d].afterUpdate()},x.addNode=function(d){if(this.nSubRegions===0)if(this.node==null){this.node=d;return}else this._addNodeToSubRegion(this.node),this.node=null;this._addNodeToSubRegion(d),this._updateCenterOfMass(d)},x.findSubRegion=function(d,v){for(var M=0;M<this.nSubRegions;M++){var w=this.subRegions[M];if(w.contain(d,v))return w}},x.contain=function(d,v){return this.bbox[0]<=d&&this.bbox[2]>=d&&this.bbox[1]<=v&&this.bbox[3]>=v},x.setBBox=function(d,v,M,w){this.bbox[0]=d,this.bbox[1]=v,this.bbox[2]=M,this.bbox[3]=w,this.size=(M-d+w-v)/2},x._newSubRegion=function(){var d=this.subRegions[this.nSubRegions];return d||(d=new T,this.subRegions[this.nSubRegions]=d),this.nSubRegions++,d},x._addNodeToSubRegion=function(d){var v=this.findSubRegion(d.position[0],d.position[1]),M=this.bbox;if(!v){var w=(M[0]+M[2])/2,S=(M[1]+M[3])/2,A=(M[2]-M[0])/2,R=(M[3]-M[1])/2,u=d.position[0]>=w?1:0,f=d.position[1]>=S?1:0,v=this._newSubRegion();v.setBBox(u*A+M[0],f*R+M[1],(u+1)*A+M[0],(f+1)*R+M[1])}v.addNode(d)},x._updateCenterOfMass=function(d){this.centerOfMass==null&&(this.centerOfMass=new Float32Array(2));var v=this.centerOfMass[0]*this.mass,M=this.centerOfMass[1]*this.mass;v+=d.position[0]*d.mass,M+=d.position[1]*d.mass,this.mass+=d.mass,this.centerOfMass[0]=v/this.mass,this.centerOfMass[1]=M/this.mass};function O(){this.position=new Float32Array(2),this.force=P.create(),this.forcePrev=P.create(),this.mass=1,this.inDegree=0,this.outDegree=0}function _(d,v){this.source=d,this.target=v,this.weight=1}function g(){this.autoSettings=!0,this.barnesHutOptimize=!0,this.barnesHutTheta=1.5,this.repulsionByDegree=!0,this.linLogMode=!1,this.strongGravityMode=!1,this.gravity=1,this.scaling=1,this.edgeWeightInfluence=1,this.jitterTolerence=.1,this.preventOverlap=!1,this.dissuadeHubs=!1,this.rootRegion=new T,this.rootRegion.centerOfMass=P.create(),this.nodes=[],this.edges=[],this.bbox=new Float32Array(4),this.gravityCenter=null,this._massArr=null,this._swingingArr=null,this._sizeArr=null,this._globalSpeed=0}var m=g.prototype;m.initNodes=function(d,v,M){var w=v.length;this.nodes.length=0;for(var S=typeof M!="undefined",A=0;A<w;A++){var R=new O;R.position[0]=d[A*2],R.position[1]=d[A*2+1],R.mass=v[A],S&&(R.size=M[A]),this.nodes.push(R)}this._massArr=v,this._swingingArr=new Float32Array(w),S&&(this._sizeArr=M)},m.initEdges=function(d,v){var M=d.length/2;this.edges.length=0;for(var w=0;w<M;w++){var S=d[w*2],A=d[w*2+1],R=this.nodes[S],u=this.nodes[A];if(!R||!u){console.error("Node not exists, try initNodes before initEdges");return}R.outDegree++,u.inDegree++;var f=new _(R,u);v&&(f.weight=v[w]),this.edges.push(f)}},m.updateSettings=function(){if(this.repulsionByDegree)for(var d=0;d<this.nodes.length;d++){var v=this.nodes[d];v.mass=v.inDegree+v.outDegree+1}else for(var d=0;d<this.nodes.length;d++){var v=this.nodes[d];v.mass=this._massArr[d]}},m.update=function(){var d=this.nodes.length;if(this.updateSettings(),this.updateBBox(),this.barnesHutOptimize){this.rootRegion.setBBox(this.bbox[0],this.bbox[1],this.bbox[2],this.bbox[3]),this.rootRegion.beforeUpdate();for(var v=0;v<d;v++)this.rootRegion.addNode(this.nodes[v]);this.rootRegion.afterUpdate()}for(var v=0;v<d;v++){var M=this.nodes[v];P.copy(M.forcePrev,M.force),P.set(M.force,0,0)}for(var v=0;v<d;v++){var w=this.nodes[v];if(this.barnesHutOptimize)this.applyRegionToNodeRepulsion(this.rootRegion,w);else for(var S=v+1;S<d;S++){var A=this.nodes[S];this.applyNodeToNodeRepulsion(w,A,!1)}this.gravity>0&&(this.strongGravityMode?this.applyNodeStrongGravity(w):this.applyNodeGravity(w))}for(var v=0;v<this.edges.length;v++)this.applyEdgeAttraction(this.edges[v]);for(var R=0,u=0,f=P.create(),v=0;v<d;v++){var M=this.nodes[v],y=P.dist(M.force,M.forcePrev);R+=y*M.mass,P.add(f,M.force,M.forcePrev);var D=P.len(f)*.5;u+=D*M.mass,this._swingingArr[v]=y}var I=this.jitterTolerence*this.jitterTolerence*u/R;this._globalSpeed>0&&(I=Math.min(I/this._globalSpeed,1.5)*this._globalSpeed),this._globalSpeed=I;for(var v=0;v<d;v++){var M=this.nodes[v],y=this._swingingArr[v],U=.1*I/(1+I*Math.sqrt(y)),F=P.len(M.force);F>0&&(U=Math.min(F*U,10)/F,P.scaleAndAdd(M.position,M.position,M.force,U))}},m.applyRegionToNodeRepulsion=function(){var d=P.create();return function(M,w){if(M.node)this.applyNodeToNodeRepulsion(M.node,w,!0);else{P.sub(d,w.position,M.centerOfMass);var S=d[0]*d[0]+d[1]*d[1];if(S>this.barnesHutTheta*M.size*M.size){var A=this.scaling*w.mass*M.mass/S;P.scaleAndAdd(w.force,w.force,d,A)}else for(var R=0;R<M.nSubRegions;R++)this.applyRegionToNodeRepulsion(M.subRegions[R],w)}}}(),m.applyNodeToNodeRepulsion=function(){var d=P.create();return function(M,w,S){if(M!=w){P.sub(d,M.position,w.position);var A=d[0]*d[0]+d[1]*d[1];if(A!==0){var R;if(this.preventOverlap){var u=Math.sqrt(A);if(u=u-M.size-w.size,u>0)R=this.scaling*M.mass*w.mass/(u*u);else if(u<0)R=this.scaling*100*M.mass*w.mass;else return}else R=this.scaling*M.mass*w.mass/A;P.scaleAndAdd(M.force,M.force,d,R),P.scaleAndAdd(w.force,w.force,d,-R)}}}}(),m.applyEdgeAttraction=function(){var d=P.create();return function(M){var w=M.source,S=M.target;P.sub(d,w.position,S.position);var A=P.len(d),R;this.edgeWeightInfluence===0?R=1:this.edgeWeightInfluence===1?R=M.weight:R=Math.pow(M.weight,this.edgeWeightInfluence);var u;this.preventOverlap&&(A=A-w.size-S.size,A<=0)||(this.linLogMode?u=-R*Math.log(A+1)/(A+1):u=-R,P.scaleAndAdd(w.force,w.force,d,u),P.scaleAndAdd(S.force,S.force,d,-u))}}(),m.applyNodeGravity=function(){var d=P.create();return function(v){P.sub(d,this.gravityCenter,v.position);var M=P.len(d);P.scaleAndAdd(v.force,v.force,d,this.gravity*v.mass/(M+1))}}(),m.applyNodeStrongGravity=function(){var d=P.create();return function(v){P.sub(d,this.gravityCenter,v.position),P.scaleAndAdd(v.force,v.force,d,this.gravity*v.mass)}}(),m.updateBBox=function(){for(var d=1/0,v=1/0,M=-1/0,w=-1/0,S=0;S<this.nodes.length;S++){var A=this.nodes[S].position;d=Math.min(d,A[0]),v=Math.min(v,A[1]),M=Math.max(M,A[0]),w=Math.max(w,A[1])}this.bbox[0]=d,this.bbox[1]=v,this.bbox[2]=M,this.bbox[3]=w},m.getGlobalSpeed=function(){return this._globalSpeed};var L=null;self.onmessage=function(d){switch(d.data.cmd){case"init":L=new g,L.initNodes(d.data.nodesPosition,d.data.nodesMass,d.data.nodesSize),L.initEdges(d.data.edges,d.data.edgesWeight);break;case"updateConfig":if(L)for(var v in d.data.config)L[v]=d.data.config[v];break;case"update":var M=d.data.steps;if(L){for(var w=0;w<M;w++)L.update();for(var S=L.nodes.length,A=new Float32Array(S*2),w=0;w<S;w++){var R=L.nodes[w];A[w*2]=R.position[0],A[w*2+1]=R.position[1]}self.postMessage({buffer:A.buffer,globalSpeed:L.getGlobalSpeed()},[A.buffer])}else{var u=new Float32Array;self.postMessage({buffer:u.buffer,globalSpeed:L.getGlobalSpeed()},[u.buffer])}break}}}H.a=z},function(q,H,b){"use strict";var z=b(8),P=b(3),T=z.a.extend(function(){return{zr:null,viewGL:null,minZoom:.2,maxZoom:5,_needsUpdate:!1,_dx:0,_dy:0,_zoom:1}},function(){this._mouseDownHandler=this._mouseDownHandler.bind(this),this._mouseWheelHandler=this._mouseWheelHandler.bind(this),this._mouseMoveHandler=this._mouseMoveHandler.bind(this),this._mouseUpHandler=this._mouseUpHandler.bind(this),this._update=this._update.bind(this)},{init:function(){var x=this.zr;x.on("mousedown",this._mouseDownHandler),x.on("mousewheel",this._mouseWheelHandler),x.on("globalout",this._mouseUpHandler),x.animation.on("frame",this._update)},setTarget:function(x){this._target=x},setZoom:function(x){this._zoom=Math.max(Math.min(x,this.maxZoom),this.minZoom),this._needsUpdate=!0},setOffset:function(x){this._dx=x[0],this._dy=x[1],this._needsUpdate=!0},getZoom:function(){return this._zoom},getOffset:function(){return[this._dx,this._dy]},_update:function(){if(this._target&&this._needsUpdate){var x=this._target,O=this._zoom;x.position.x=this._dx,x.position.y=this._dy,x.scale.set(O,O,O),this.zr.refresh(),this._needsUpdate=!1,this.trigger("update")}},_mouseDownHandler:function(x){if(!x.target){var O=x.offsetX,_=x.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(O,_))){this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler);var g=this._convertPos(O,_);this._x=g.x,this._y=g.y}}},_convertPos:function(x,O){var _=this.viewGL.camera,g=this.viewGL.viewport;return{x:(x-g.x)/g.width*(_.right-_.left)+_.left,y:(O-g.y)/g.height*(_.bottom-_.top)+_.top}},_mouseMoveHandler:function(x){var O=this._convertPos(x.offsetX,x.offsetY);this._dx+=O.x-this._x,this._dy+=O.y-this._y,this._x=O.x,this._y=O.y,this._needsUpdate=!0},_mouseUpHandler:function(x){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_mouseWheelHandler:function(x){x=x.event;var O=x.wheelDelta||-x.detail;if(O!==0){var _=x.offsetX,g=x.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(_,g))){var m=O>0?1.1:.9,L=Math.max(Math.min(this._zoom*m,this.maxZoom),this.minZoom);m=L/this._zoom;var d=this._convertPos(_,g),v=(d.x-this._dx)*(m-1),M=(d.y-this._dy)*(m-1);this._dx-=v,this._dy-=M,this._zoom=L,this._needsUpdate=!0}}},dispose:function(){var x=this.zr;x.off("mousedown",this._mouseDownHandler),x.off("mousemove",this._mouseMoveHandler),x.off("mouseup",this._mouseUpHandler),x.off("mousewheel",this._mouseWheelHandler),x.off("globalout",this._mouseUpHandler),x.animation.off("frame",this._update)}});H.a=T},function(q,H,b){"use strict";H.a=`@export ecgl.lines2D.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec2 position: POSITION;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#ifdef POSITIONTEXTURE_ENABLED
uniform sampler2D positionTexture;
#endif
void main()
{
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
v_Color = a_Color;
}
@end
@export ecgl.lines2D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
void main()
{
gl_FragColor = color * v_Color;
}
@end
@export ecgl.meshLines2D.vertex
attribute vec2 position: POSITION;
attribute vec2 normal;
attribute float offset;
attribute vec4 a_Color : COLOR;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
varying vec4 v_Color;
varying float v_Miter;
void main()
{
vec4 p2 = worldViewProjection * vec4(position + normal, -10.0, 1.0);
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
p2.xy /= p2.w;
gl_Position.xy /= gl_Position.w;
vec2 N = normalize(p2.xy - gl_Position.xy);
gl_Position.xy += N * offset / viewport.zw * 2.0;
gl_Position.xy *= gl_Position.w;
v_Color = a_Color;
}
@end
@export ecgl.meshLines2D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
varying float v_Miter;
void main()
{
gl_FragColor = color * v_Color;
}
@end`},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(254),x=b(258)},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(3),O=b(20),_=b(255);P.a.extendChartView({type:"flowGL",__ecgl__:!0,init:function(g,m){this.viewGL=new O.a("orthographic"),this.groupGL=new T.a.Node,this.viewGL.add(this.groupGL),this._particleSurface=new _.a;var L=new T.a.Mesh({geometry:new T.a.PlaneGeometry,material:new T.a.Material({shader:new T.a.Shader({vertex:T.a.Shader.source("ecgl.color.vertex"),fragment:T.a.Shader.source("ecgl.color.fragment")}),transparent:!0})});L.material.enableTexture("diffuseMap"),this.groupGL.add(L),this._planeMesh=L},render:function(g,m,L){var d=this._particleSurface;d.setParticleType(g.get("particleType")),d.setSupersampling(g.get("supersampling")),this._updateData(g,L),this._updateCamera(L.getWidth(),L.getHeight(),L.getDevicePixelRatio());var v=x.a.firstNotNull(g.get("particleDensity"),128);d.setParticleDensity(v,v);var M=this._planeMesh,w=+new Date,S=this,A=!0;M.__percent=0,M.stopAnimation(),M.animate("",{loop:!0}).when(1e5,{__percent:1}).during(function(){var f=+new Date,y=Math.min(f-w,20);w=w+y,S._renderer&&(d.update(S._renderer,L,y/1e3,A),M.material.set("diffuseMap",d.getSurfaceTexture())),A=!1}).start();var R=g.getModel("itemStyle"),u=T.a.parseColor(R.get("color"));u[3]*=x.a.firstNotNull(R.get("opacity"),1),M.material.set("color",u),d.setColorTextureImage(g.get("colorTexture"),L),d.setParticleSize(g.get("particleSize")),d.particleSpeedScaling=g.get("particleSpeed"),d.motionBlurFactor=1-Math.pow(.1,g.get("particleTrail"))},updateTransform:function(g,m,L){this._updateData(g,L)},afterRender:function(g,m,L,d){var v=d.renderer;this._renderer=v},_updateData:function(g,m){var L=g.coordinateSystem,d=L.dimensions.map(function(Y){return g.coordDimToDataDim(Y)[0]}),v=g.getData(),M=v.getDataExtent(d[0]),w=v.getDataExtent(d[1]),S=g.get("gridWidth"),A=g.get("gridHeight");if(S==null||S==="auto"){var R=(M[1]-M[0])/(w[1]-w[0]);S=Math.round(Math.sqrt(R*v.count()))}(A==null||A==="auto")&&(A=Math.ceil(v.count()/S));var u=this._particleSurface.vectorFieldTexture,f=u.pixels;if(!f||f.length!==A*S*4)f=u.pixels=new Float32Array(S*A*4);else for(var y=0;y<f.length;y++)f[y]=0;var D=0,I=1/0,U=new Float32Array(v.count()*2),F=0,G=[[1/0,1/0],[-1/0,-1/0]];v.each([d[0],d[1],"vx","vy"],function(Y,te,$,oe){var ie=L.dataToPoint([Y,te]);U[F++]=ie[0],U[F++]=ie[1],G[0][0]=Math.min(ie[0],G[0][0]),G[0][1]=Math.min(ie[1],G[0][1]),G[1][0]=Math.max(ie[0],G[1][0]),G[1][1]=Math.max(ie[1],G[1][1]);var ne=Math.sqrt($*$+oe*oe);D=Math.max(D,ne),I=Math.min(I,ne)}),v.each(["vx","vy"],function(Y,te,$){var oe=Math.round((U[$*2]-G[0][0])/(G[1][0]-G[0][0])*(S-1)),ie=A-1-Math.round((U[$*2+1]-G[0][1])/(G[1][1]-G[0][1])*(A-1)),ne=(ie*S+oe)*4;f[ne]=Y/D*.5+.5,f[ne+1]=te/D*.5+.5,f[ne+3]=1}),u.width=S,u.height=A,g.get("coordinateSystem")==="bmap"&&this._fillEmptyPixels(u),u.dirty(),this._updatePlanePosition(G[0],G[1],g,m),this._updateGradientTexture(v.getVisual("visualMeta"),[I,D])},_fillEmptyPixels:function(g){var m=g.pixels,L=g.width,d=g.height;function v(U,F,G){U=Math.max(Math.min(U,L-1),0),F=Math.max(Math.min(F,d-1),0);var Y=(F*(L-1)+U)*4;return m[Y+3]===0?!1:(G[0]=m[Y],G[1]=m[Y+1],!0)}function M(U,F,G){G[0]=U[0]+F[0],G[1]=U[1]+F[1]}for(var w=[],S=[],A=[],R=[],u=[],f=0,y=0;y<d;y++)for(var D=0;D<L;D++){var I=(y*(L-1)+D)*4;m[I+3]===0&&(f=w[0]=w[1]=0,v(D-1,y,S)&&(f++,M(S,w,w)),v(D+1,y,A)&&(f++,M(A,w,w)),v(D,y-1,R)&&(f++,M(R,w,w)),v(D,y+1,u)&&(f++,M(u,w,w)),w[0]/=f,w[1]/=f,m[I]=w[0],m[I+1]=w[1]),m[I+3]=1}},_updateGradientTexture:function(g,m){if(!g||!g.length){this._particleSurface.setGradientTexture(null);return}this._gradientTexture=this._gradientTexture||new T.a.Texture2D({image:document.createElement("canvas")});var L=this._gradientTexture,d=L.image;d.width=200,d.height=1;var v=d.getContext("2d"),M=v.createLinearGradient(0,.5,d.width,.5);g[0].stops.forEach(function(w){var S;m[1]===m[0]?S=0:(S=w.value/m[1],S=Math.min(Math.max(S,0),1)),M.addColorStop(S,w.color)}),v.fillStyle=M,v.fillRect(0,0,d.width,d.height),L.dirty(),this._particleSurface.setGradientTexture(this._gradientTexture)},_updatePlanePosition:function(g,m,L,d){var v=this._limitInViewportAndFullFill(g,m,L,d);g=v.leftTop,m=v.rightBottom,this._particleSurface.setRegion(v.region),this._planeMesh.position.set((g[0]+m[0])/2,d.getHeight()-(g[1]+m[1])/2,0);var M=m[0]-g[0],w=m[1]-g[1];this._planeMesh.scale.set(M/2,w/2,1),this._particleSurface.resize(Math.max(Math.min(M,2048),1),Math.max(Math.min(w,2048),1)),this._renderer&&this._particleSurface.clearFrame(this._renderer)},_limitInViewportAndFullFill:function(g,m,L,d){var v=[Math.max(g[0],0),Math.max(g[1],0)],M=[Math.min(m[0],d.getWidth()),Math.min(m[1],d.getHeight())];if(L.get("coordinateSystem")==="bmap"){var w=L.getData().getDataExtent(L.coordDimToDataDim("lng")[0]),S=Math.floor(w[1]-w[0])>=359;S&&(v[0]>0&&(v[0]=0),M[0]<d.getWidth()&&(M[0]=d.getWidth()))}var A=m[0]-g[0],R=m[1]-g[1],u=M[0]-v[0],f=M[1]-v[1],y=[(v[0]-g[0])/A,1-f/R-(v[1]-g[1])/R,u/A,f/R];return{leftTop:v,rightBottom:M,region:y}},_updateCamera:function(g,m,L){this.viewGL.setViewport(0,0,g,m,L);var d=this.viewGL.camera;d.left=d.bottom=0,d.top=m,d.right=g,d.near=0,d.far=100,d.position.z=10},remove:function(){this._planeMesh.stopAnimation(),this.groupGL.removeAll()},dispose:function(){this._renderer&&this._particleSurface.dispose(this._renderer),this.groupGL.removeAll()}})},function(q,H,b){"use strict";var z=b(14),P=b(13),T=b(24),x=b(17),O=b(7),_=b(5),g=b(6),m=b(30),L=b(37),d=b(10),v=b(256),M=b(257);O.a.import(M.a);function w(A){var R=document.createElement("canvas");R.width=R.height=A;var u=R.getContext("2d");return u.fillStyle="#fff",u.arc(A/2,A/2,A/2,0,Math.PI*2),u.fill(),R}var S=function(){this.motionBlurFactor=.99,this.vectorFieldTexture=new _.a({type:g.a.FLOAT,flipY:!1}),this.particleLife=[5,20],this._particleType="point",this._particleSize=1,this.particleColor=[1,1,1,1],this.particleSpeedScaling=1,this._thisFrameTexture=null,this._particlePass=null,this._spawnTexture=null,this._particleTexture0=null,this._particleTexture1=null,this._particlePointsMesh=null,this._surfaceFrameBuffer=null,this._elapsedTime=0,this._scene=null,this._camera=null,this._lastFrameTexture=null,this._supersampling=1,this._downsampleTextures=[],this._width=512,this._height=512,this.init()};S.prototype={constructor:S,init:function(){var A={type:g.a.FLOAT,minFilter:g.a.NEAREST,magFilter:g.a.NEAREST,useMipmap:!1};this._spawnTexture=new _.a(A),this._particleTexture0=new _.a(A),this._particleTexture1=new _.a(A),this._frameBuffer=new d.a({depthBuffer:!1}),this._particlePass=new z.a({fragment:O.a.source("ecgl.vfParticle.particle.fragment")}),this._particlePass.setUniform("velocityTexture",this.vectorFieldTexture),this._particlePass.setUniform("spawnTexture",this._spawnTexture),this._downsamplePass=new z.a({fragment:O.a.source("clay.compositor.downsample")});var R=new T.a({renderOrder:10,material:new x.a({shader:new O.a(O.a.source("ecgl.vfParticle.renderPoints.vertex"),O.a.source("ecgl.vfParticle.renderPoints.fragment"))}),mode:T.a.POINTS,geometry:new P.a({dynamic:!0,mainAttribute:"texcoord0"})}),u=new T.a({renderOrder:10,material:new x.a({shader:new O.a(O.a.source("ecgl.vfParticle.renderLines.vertex"),O.a.source("ecgl.vfParticle.renderLines.fragment"))}),geometry:new v.a,culling:!1}),f=new T.a({material:new x.a({shader:new O.a(O.a.source("ecgl.color.vertex"),O.a.source("ecgl.color.fragment"))}),geometry:new L.a});f.material.enableTexture("diffuseMap"),this._particlePointsMesh=R,this._particleLinesMesh=u,this._lastFrameFullQuadMesh=f,this._camera=new m.a,this._thisFrameTexture=new _.a,this._lastFrameTexture=new _.a},setParticleDensity:function(A,R){for(var u=A*R,f=new Float32Array(u*4),y=0,D=this.particleLife,I=0;I<A;I++)for(var U=0;U<R;U++,y++){f[y*4]=Math.random(),f[y*4+1]=Math.random(),f[y*4+2]=Math.random();var F=(D[1]-D[0])*Math.random()+D[0];f[y*4+3]=F}this._particleType==="line"?this._setLineGeometry(A,R):this._setPointsGeometry(A,R),this._spawnTexture.width=A,this._spawnTexture.height=R,this._spawnTexture.pixels=f,this._particleTexture0.width=this._particleTexture1.width=A,this._particleTexture0.height=this._particleTexture1.height=R,this._particlePass.setUniform("textureSize",[A,R])},_setPointsGeometry:function(A,R){var u=A*R,f=this._particlePointsMesh.geometry,y=f.attributes;y.texcoord0.init(u);for(var D=0,I=0;I<A;I++)for(var U=0;U<R;U++,D++)y.texcoord0.value[D*2]=I/A,y.texcoord0.value[D*2+1]=U/R;f.dirty()},_setLineGeometry:function(A,R){var u=A*R,f=this._getParticleMesh().geometry;f.setLineCount(u),f.resetOffset();for(var y=0;y<A;y++)for(var D=0;D<R;D++)f.addLine([y/A,D/R]);f.dirty()},_getParticleMesh:function(){return this._particleType==="line"?this._particleLinesMesh:this._particlePointsMesh},update:function(A,R,u,f){var y=this._getParticleMesh(),D=this._frameBuffer,I=this._particlePass;f&&this._updateDownsampleTextures(A,R),y.material.set("size",this._particleSize*this._supersampling),y.material.set("color",this.particleColor),I.setUniform("speedScaling",this.particleSpeedScaling),D.attach(this._particleTexture1),I.setUniform("firstFrameTime",f?(this.particleLife[1]+this.particleLife[0])/2:0),I.setUniform("particleTexture",this._particleTexture0),I.setUniform("deltaTime",u),I.setUniform("elapsedTime",this._elapsedTime),I.render(A,D),y.material.set("particleTexture",this._particleTexture1),y.material.set("prevParticleTexture",this._particleTexture0),D.attach(this._thisFrameTexture),D.bind(A),A.gl.clear(A.gl.DEPTH_BUFFER_BIT|A.gl.COLOR_BUFFER_BIT);var U=this._lastFrameFullQuadMesh;U.material.set("diffuseMap",this._lastFrameTexture),U.material.set("color",[1,1,1,this.motionBlurFactor]),this._camera.update(!0),A.renderPass([U,y],this._camera),D.unbind(A),this._downsample(A),this._swapTexture(),this._elapsedTime+=u},_downsample:function(A){var R=this._downsampleTextures;if(R.length!==0)for(var u=0,f=this._thisFrameTexture,y=R[u];y;)this._frameBuffer.attach(y),this._downsamplePass.setUniform("texture",f),this._downsamplePass.setUniform("textureSize",[f.width,f.height]),this._downsamplePass.render(A,this._frameBuffer),f=y,y=R[++u]},getSurfaceTexture:function(){var A=this._downsampleTextures;return A.length>0?A[A.length-1]:this._lastFrameTexture},setRegion:function(A){this._particlePass.setUniform("region",A)},resize:function(A,R){this._lastFrameTexture.width=A*this._supersampling,this._lastFrameTexture.height=R*this._supersampling,this._thisFrameTexture.width=A*this._supersampling,this._thisFrameTexture.height=R*this._supersampling,this._width=A,this._height=R},setParticleSize:function(A){var R=this._getParticleMesh();if(A<=2){R.material.disableTexture("spriteTexture"),R.material.transparent=!1;return}this._spriteTexture||(this._spriteTexture=new _.a),(!this._spriteTexture.image||this._spriteTexture.image.width!==A)&&(this._spriteTexture.image=w(A),this._spriteTexture.dirty()),R.material.transparent=!0,R.material.enableTexture("spriteTexture"),R.material.set("spriteTexture",this._spriteTexture),this._particleSize=A},setGradientTexture:function(A){var R=this._getParticleMesh().material;R[A?"enableTexture":"disableTexture"]("gradientTexture"),R.setUniform("gradientTexture",A)},setColorTextureImage:function(A,R){var u=this._getParticleMesh().material;u.setTextureImage("colorTexture",A,R,{flipY:!0})},setParticleType:function(A){this._particleType=A},clearFrame:function(A){var R=this._frameBuffer;R.attach(this._lastFrameTexture),R.bind(A),A.gl.clear(A.gl.DEPTH_BUFFER_BIT|A.gl.COLOR_BUFFER_BIT),R.unbind(A)},setSupersampling:function(A){this._supersampling=A,this.resize(this._width,this._height)},_updateDownsampleTextures:function(A,R){for(var u=this._downsampleTextures,f=Math.max(Math.floor(Math.log(this._supersampling/R.getDevicePixelRatio())/Math.log(2)),0),y=2,D=this._width*this._supersampling,I=this._height*this._supersampling,U=0;U<f;U++)u[U]=u[U]||new _.a,u[U].width=D/y,u[U].height=I/y,y*=2;for(;U<u.length;U++)u[U].dispose(A);u.length=f},_swapTexture:function(){var A=this._particleTexture0;this._particleTexture0=this._particleTexture1,this._particleTexture1=A;var A=this._thisFrameTexture;this._thisFrameTexture=this._lastFrameTexture,this._lastFrameTexture=A},dispose:function(A){A.disposeFrameBuffer(this._frameBuffer),A.disposeTexture(this.vectorFieldTexture),A.disposeTexture(this._spawnTexture),A.disposeTexture(this._particleTexture0),A.disposeTexture(this._particleTexture1),A.disposeTexture(this._thisFrameTexture),A.disposeTexture(this._lastFrameTexture),A.disposeGeometry(this._particleLinesMesh.geometry),A.disposeGeometry(this._particlePointsMesh.geometry),A.disposeGeometry(this._lastFrameFullQuadMesh.geometry),this._spriteTexture&&A.disposeTexture(this._spriteTexture),this._particlePass.dispose(A),this._downsamplePass.dispose(A),this._downsampleTextures.forEach(function(R){R.dispose(A)})}},H.a=S},function(q,H,b){"use strict";var z=b(13),P=b(0),T=b.n(P),x=z.a.extend(function(){return{dynamic:!0,attributes:{position:new z.a.Attribute("position","float",3,"POSITION")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setLineCount:function(O){var _=this.attributes,g=4*O,m=2*O;this.vertexCount!==g&&_.position.init(g),this.triangleCount!==m&&(m===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(m*3):new Uint16Array(m*3))},addLine:function(O){var _=this._vertexOffset;this.attributes.position.set(_,[O[0],O[1],1]),this.attributes.position.set(_+1,[O[0],O[1],-1]),this.attributes.position.set(_+2,[O[0],O[1],2]),this.attributes.position.set(_+3,[O[0],O[1],-2]),this.setTriangleIndices(this._faceOffset++,[_,_+1,_+2]),this.setTriangleIndices(this._faceOffset++,[_+1,_+2,_+3]),this._vertexOffset+=4}});H.a=x},function(q,H,b){"use strict";H.a=`@export ecgl.vfParticle.particle.fragment
uniform sampler2D particleTexture;
uniform sampler2D spawnTexture;
uniform sampler2D velocityTexture;
uniform float deltaTime;
uniform float elapsedTime;
uniform float speedScaling : 1.0;
uniform vec2 textureSize;
uniform vec4 region : [0, 0, 1, 1];
uniform float firstFrameTime;
varying vec2 v_Texcoord;
void main()
{
vec4 p = texture2D(particleTexture, v_Texcoord);
bool spawn = false;
if (p.w <= 0.0) {
p = texture2D(spawnTexture, fract(v_Texcoord + elapsedTime / 10.0));
p.w -= firstFrameTime;
spawn = true;
}
vec2 v = texture2D(velocityTexture, fract(p.xy * region.zw + region.xy)).xy;
v = (v - 0.5) * 2.0;
p.z = length(v);
p.xy += v * deltaTime / 10.0 * speedScaling;
p.w -= deltaTime;
if (spawn || p.xy != fract(p.xy)) {
p.z = 0.0;
}
p.xy = fract(p.xy);
gl_FragColor = p;
}
@end
@export ecgl.vfParticle.renderPoints.vertex
#define PI 3.1415926
attribute vec2 texcoord : TEXCOORD_0;
uniform sampler2D particleTexture;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform float size : 1.0;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
vec4 p = texture2D(particleTexture, texcoord);
if (p.w > 0.0 && p.z > 1e-5) {
gl_Position = worldViewProjection * vec4(p.xy * 2.0 - 1.0, 0.0, 1.0);
}
else {
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
}
v_Mag = p.z;
v_Uv = p.xy;
gl_PointSize = size;
}
@end
@export ecgl.vfParticle.renderPoints.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform sampler2D gradientTexture;
uniform sampler2D colorTexture;
uniform sampler2D spriteTexture;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
gl_FragColor = color;
#ifdef SPRITETEXTURE_ENABLED
gl_FragColor *= texture2D(spriteTexture, gl_PointCoord);
if (color.a == 0.0) {
discard;
}
#endif
#ifdef GRADIENTTEXTURE_ENABLED
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
#endif
#ifdef COLORTEXTURE_ENABLED
gl_FragColor *= texture2D(colorTexture, v_Uv);
#endif
}
@end
@export ecgl.vfParticle.renderLines.vertex
#define PI 3.1415926
attribute vec3 position : POSITION;
uniform sampler2D particleTexture;
uniform sampler2D prevParticleTexture;
uniform float size : 1.0;
uniform vec4 vp: VIEWPORT;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
varying float v_Mag;
varying vec2 v_Uv;
@import clay.util.rand
void main()
{
vec4 p = texture2D(particleTexture, position.xy);
vec4 p2 = texture2D(prevParticleTexture, position.xy);
p.xy = p.xy * 2.0 - 1.0;
p2.xy = p2.xy * 2.0 - 1.0;
if (p.w > 0.0 && p.z > 1e-5) {
vec2 dir = normalize(p.xy - p2.xy);
vec2 norm = vec2(dir.y / vp.z, -dir.x / vp.w) * sign(position.z) * size;
if (abs(position.z) == 2.0) {
gl_Position = vec4(p.xy + norm, 0.0, 1.0);
v_Uv = p.xy;
v_Mag = p.z;
}
else {
gl_Position = vec4(p2.xy + norm, 0.0, 1.0);
v_Mag = p2.z;
v_Uv = p2.xy;
}
gl_Position = worldViewProjection * gl_Position;
}
else {
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
}
}
@end
@export ecgl.vfParticle.renderLines.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform sampler2D gradientTexture;
uniform sampler2D colorTexture;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
gl_FragColor = color;
#ifdef GRADIENTTEXTURE_ENABLED
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
#endif
#ifdef COLORTEXTURE_ENABLED
gl_FragColor *= texture2D(colorTexture, v_Uv);
#endif
}
@end
`},function(q,H,b){"use strict";var z=b(0),P=b.n(z);P.a.extendSeriesModel({type:"series.flowGL",dependencies:["geo","grid","bmap"],visualColorAccessPath:"itemStyle.color",getInitialData:function(T,x){var O=P.a.getCoordinateSystemDimensions(this.get("coordinateSystem"))||["x","y"];if(O.length>2)throw new Error("flowGL can only be used on 2d coordinate systems.");O.push("vx","vy");var _=P.a.helper.completeDimensions(O,this.getSource(),{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),g=new P.a.List(_,this);return g.initData(this.getSource()),g},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,supersampling:1,particleType:"point",particleDensity:128,particleSize:1,particleSpeed:1,particleTrail:2,colorTexture:null,gridWidth:"auto",gridHeight:"auto",itemStyle:{color:"#fff",opacity:.8}}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(260),x=b(261),O=b(16);P.a.registerVisual(Object(O.a)("linesGL"))},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(12),x=b.n(T),O=P.a.extendSeriesModel({type:"series.linesGL",dependencies:["grid","geo"],visualColorAccessPath:"lineStyle.color",streamEnabled:!0,init:function(_){var g=this._processFlatCoordsArray(_.data);this._flatCoords=g.flatCoords,this._flatCoordsOffset=g.flatCoordsOffset,g.flatCoords&&(_.data=new Float32Array(g.count)),O.superApply(this,"init",arguments)},mergeOption:function(_){var g=this._processFlatCoordsArray(_.data);this._flatCoords=g.flatCoords,this._flatCoordsOffset=g.flatCoordsOffset,g.flatCoords&&(_.data=new Float32Array(g.count)),O.superApply(this,"mergeOption",arguments)},appendData:function(_){var g=this._processFlatCoordsArray(_.data);g.flatCoords&&(this._flatCoords?(this._flatCoords=Object(T.concatArray)(this._flatCoords,g.flatCoords),this._flatCoordsOffset=Object(T.concatArray)(this._flatCoordsOffset,g.flatCoordsOffset)):(this._flatCoords=g.flatCoords,this._flatCoordsOffset=g.flatCoordsOffset),_.data=new Float32Array(g.count)),this.getRawData().appendData(_.data)},_getCoordsFromItemModel:function(_){var g=this.getData().getItemModel(_),m=g.option instanceof Array?g.option:g.getShallow("coords");if(!(m instanceof Array&&m.length>0&&m[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(m)+". Lines must have 2d coords array in data item.");return m},getLineCoordsCount:function(_){return this._flatCoordsOffset?this._flatCoordsOffset[_*2+1]:this._getCoordsFromItemModel(_).length},getLineCoords:function(_,g){if(this._flatCoordsOffset){for(var m=this._flatCoordsOffset[_*2],L=this._flatCoordsOffset[_*2+1],d=0;d<L;d++)g[d]=g[d]||[],g[d][0]=this._flatCoords[m+d*2],g[d][1]=this._flatCoords[m+d*2+1];return L}else{for(var v=this._getCoordsFromItemModel(_),d=0;d<v.length;d++)g[d]=g[d]||[],g[d][0]=v[d][0],g[d][1]=v[d][1];return v.length}},_processFlatCoordsArray:function(_){var g=0;if(this._flatCoords&&(g=this._flatCoords.length),typeof _[0]=="number"){for(var m=_.length,L=new Uint32Array(m),d=new Float64Array(m),v=0,M=0,w=0,S=0;S<m;){w++;var A=_[S++];L[M++]=v+g,L[M++]=A;for(var R=0;R<A;R++){var u=_[S++],f=_[S++];if(d[v++]=u,d[v++]=f,S>m)throw new Error("Invalid data format.")}}return{flatCoordsOffset:new Uint32Array(L.buffer,0,M),flatCoords:d,count:w}}return{flatCoordsOffset:null,flatCoords:null,count:_.length}},getInitialData:function(_,g){var m=new P.a.List(["value"],this);return m.hasItemOption=!1,m.initData(_.data,[],function(L,d,v,M){if(L instanceof Array)return NaN;m.hasItemOption=!0;var w=L.value;if(w!=null)return w instanceof Array?w[M]:w}),m},defaultOption:{coordinateSystem:"geo",zlevel:10,progressive:1e4,progressiveThreshold:5e4,blendMode:"source-over",lineStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(q,H,b){"use strict";var z=b(0),P=b.n(z),T=b(2),x=b(20),O=b(86),_=b(84),g=b(3);P.a.extendChartView({type:"linesGL",__ecgl__:!0,init:function(m,L){this.groupGL=new T.a.Node,this.viewGL=new x.a("orthographic"),this.viewGL.add(this.groupGL),this._glViewHelper=new _.a(this.viewGL),this._nativeLinesShader=T.a.createShader("ecgl.lines3D"),this._meshLinesShader=T.a.createShader("ecgl.meshLines3D"),this._linesMeshes=[],this._currentStep=0},render:function(m,L,d){this.groupGL.removeAll(),this._glViewHelper.reset(m,d);var v=this._linesMeshes[0];v||(v=this._linesMeshes[0]=this._createLinesMesh(m)),this._linesMeshes.length=1,this.groupGL.add(v),this._updateLinesMesh(m,v,0,m.getData().count()),this.viewGL.setPostEffect(m.getModel("postEffect"),d)},incrementalPrepareRender:function(m,L,d){this.groupGL.removeAll(),this._glViewHelper.reset(m,d),this._currentStep=0,this.viewGL.setPostEffect(m.getModel("postEffect"),d)},incrementalRender:function(m,L,d,v){var M=this._linesMeshes[this._currentStep];M||(M=this._createLinesMesh(L),this._linesMeshes[this._currentStep]=M),this._updateLinesMesh(L,M,m.start,m.end),this.groupGL.add(M),v.getZr().refresh(),this._currentStep++},updateTransform:function(m,L,d){m.coordinateSystem.getRoamTransform&&this._glViewHelper.updateTransform(m,d)},_createLinesMesh:function(m){var L=new T.a.Mesh({$ignorePicking:!0,material:new T.a.Material({shader:T.a.createShader("ecgl.lines3D"),transparent:!0,depthMask:!1,depthTest:!1}),geometry:new O.a({segmentScale:10,useNativeLine:!0,dynamic:!1}),mode:T.a.Mesh.LINES,culling:!1});return L},_updateLinesMesh:function(m,L,d,v){var M=m.getData();L.material.blend=m.get("blendMode")==="lighter"?T.a.additiveBlend:null;var w=m.get("lineStyle.curveness")||0,S=m.get("polyline"),A=L.geometry,R=m.coordinateSystem,u=g.a.firstNotNull(m.get("lineStyle.width"),1);u>1?(L.material.shader!==this._meshLinesShader&&L.material.attachShader(this._meshLinesShader),L.mode=T.a.Mesh.TRIANGLES):(L.material.shader!==this._nativeLinesShader&&L.material.attachShader(this._nativeLinesShader),L.mode=T.a.Mesh.LINES),d=d||0,v=v||M.count(),A.resetOffset();var f=0,y=0,D=[],I=[],U=[],F=[],G=[],Y=.3,te=.7;function $(){I[0]=D[0]*te+F[0]*Y-(D[1]-F[1])*w,I[1]=D[1]*te+F[1]*Y-(F[0]-D[0])*w,U[0]=D[0]*Y+F[0]*te-(D[1]-F[1])*w,U[1]=D[1]*Y+F[1]*te-(F[0]-D[0])*w}if(S||w!==0)for(var oe=d;oe<v;oe++)if(S){var ie=m.getLineCoordsCount(oe);f+=A.getPolylineVertexCount(ie),y+=A.getPolylineTriangleCount(ie)}else m.getLineCoords(oe,G),this._glViewHelper.dataToPoint(R,G[0],D),this._glViewHelper.dataToPoint(R,G[1],F),$(),f+=A.getCubicCurveVertexCount(D,I,U,F),y+=A.getCubicCurveTriangleCount(D,I,U,F);else{var ne=v-d;f+=ne*A.getLineVertexCount(),y+=ne*A.getLineVertexCount()}A.setVertexCount(f),A.setTriangleCount(y);for(var le=d,ae=[],oe=d;oe<v;oe++){T.a.parseColor(M.getItemVisual(le,"color"),ae);var de=g.a.firstNotNull(M.getItemVisual(le,"opacity"),1);ae[3]*=de;for(var ie=m.getLineCoords(oe,G),se=0;se<ie;se++)this._glViewHelper.dataToPoint(R,G[se],G[se]);S?A.addPolyline(G,ae,u,0,ie):w!==0?(D=G[0],F=G[1],$(),A.addCubicCurve(D,I,U,F,ae,u)):A.addPolyline(G,ae,u,0,2),le++}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})}])})},3867:function(Ae,Ce,Z){var X=Z(97671);(function(q,H){Ae.exports=H()})(this,function(){"use strict";function q(Te){var Re=typeof Te;return Te!==null&&(Re==="object"||Re==="function")}function H(Te){return typeof Te=="function"}var b=void 0;Array.isArray?b=Array.isArray:b=function(Te){return Object.prototype.toString.call(Te)==="[object Array]"};var z=b,P=0,T=void 0,x=void 0,O=function(Re,Ge){f[P]=Re,f[P+1]=Ge,P+=2,P===2&&(x?x(y):I())};function _(Te){x=Te}function g(Te){O=Te}var m=typeof window!="undefined"?window:void 0,L=m||{},d=L.MutationObserver||L.WebKitMutationObserver,v=typeof self=="undefined"&&typeof X!="undefined"&&{}.toString.call(X)==="[object process]",M=typeof Uint8ClampedArray!="undefined"&&typeof importScripts!="undefined"&&typeof MessageChannel!="undefined";function w(){return function(){return X.nextTick(y)}}function S(){return typeof T!="undefined"?function(){T(y)}:u()}function A(){var Te=0,Re=new d(y),Ge=document.createTextNode("");return Re.observe(Ge,{characterData:!0}),function(){Ge.data=Te=++Te%2}}function R(){var Te=new MessageChannel;return Te.port1.onmessage=y,function(){return Te.port2.postMessage(0)}}function u(){var Te=setTimeout;return function(){return Te(y,1)}}var f=new Array(1e3);function y(){for(var Te=0;Te<P;Te+=2){var Re=f[Te],Ge=f[Te+1];Re(Ge),f[Te]=void 0,f[Te+1]=void 0}P=0}function D(){try{var Te=Function("return this")().require("vertx");return T=Te.runOnLoop||Te.runOnContext,S()}catch(Re){return u()}}var I=void 0;v?I=w():d?I=A():M?I=R():m===void 0?I=D():I=u();function U(Te,Re){var Ge=this,Le=new this.constructor(Y);Le[G]===void 0&&yt(Le);var Ue=Ge._state;if(Ue){var Qe=arguments[Ue-1];O(function(){return We(Ue,Le,Qe,Ge._result)})}else Me(Ge,Le,Te,Re);return Le}function F(Te){var Re=this;if(Te&&typeof Te=="object"&&Te.constructor===Re)return Te;var Ge=new Re(Y);return fe(Ge,Te),Ge}var G=Math.random().toString(36).substring(2);function Y(){}var te=void 0,$=1,oe=2;function ie(){return new TypeError("You cannot resolve a promise with itself")}function ne(){return new TypeError("A promises callback cannot return that same promise.")}function le(Te,Re,Ge,Le){try{Te.call(Re,Ge,Le)}catch(Ue){return Ue}}function ae(Te,Re,Ge){O(function(Le){var Ue=!1,Qe=le(Ge,Re,function(et){Ue||(Ue=!0,Re!==et?fe(Le,et):ge(Le,et))},function(et){Ue||(Ue=!0,xe(Le,et))},"Settle: "+(Le._label||" unknown promise"));!Ue&&Qe&&(Ue=!0,xe(Le,Qe))},Te)}function de(Te,Re){Re._state===$?ge(Te,Re._result):Re._state===oe?xe(Te,Re._result):Me(Re,void 0,function(Ge){return fe(Te,Ge)},function(Ge){return xe(Te,Ge)})}function se(Te,Re,Ge){Re.constructor===Te.constructor&&Ge===U&&Re.constructor.resolve===F?de(Te,Re):Ge===void 0?ge(Te,Re):H(Ge)?ae(Te,Re,Ge):ge(Te,Re)}function fe(Te,Re){if(Te===Re)xe(Te,ie());else if(q(Re)){var Ge=void 0;try{Ge=Re.then}catch(Le){xe(Te,Le);return}se(Te,Re,Ge)}else ge(Te,Re)}function ye(Te){Te._onerror&&Te._onerror(Te._result),Ne(Te)}function ge(Te,Re){Te._state===te&&(Te._result=Re,Te._state=$,Te._subscribers.length!==0&&O(Ne,Te))}function xe(Te,Re){Te._state===te&&(Te._state=oe,Te._result=Re,O(ye,Te))}function Me(Te,Re,Ge,Le){var Ue=Te._subscribers,Qe=Ue.length;Te._onerror=null,Ue[Qe]=Re,Ue[Qe+$]=Ge,Ue[Qe+oe]=Le,Qe===0&&Te._state&&O(Ne,Te)}function Ne(Te){var Re=Te._subscribers,Ge=Te._state;if(Re.length!==0){for(var Le=void 0,Ue=void 0,Qe=Te._result,et=0;et<Re.length;et+=3)Le=Re[et],Ue=Re[et+Ge],Le?We(Ge,Le,Ue,Qe):Ue(Qe);Te._subscribers.length=0}}function We(Te,Re,Ge,Le){var Ue=H(Ge),Qe=void 0,et=void 0,dt=!0;if(Ue){try{Qe=Ge(Le)}catch(mt){dt=!1,et=mt}if(Re===Qe){xe(Re,ne());return}}else Qe=Le;Re._state!==te||(Ue&&dt?fe(Re,Qe):dt===!1?xe(Re,et):Te===$?ge(Re,Qe):Te===oe&&xe(Re,Qe))}function tt(Te,Re){try{Re(function(Le){fe(Te,Le)},function(Le){xe(Te,Le)})}catch(Ge){xe(Te,Ge)}}var Je=0;function st(){return Je++}function yt(Te){Te[G]=Je++,Te._state=void 0,Te._result=void 0,Te._subscribers=[]}function gt(){return new Error("Array Methods must be provided an Array")}var Ke=function(){function Te(Re,Ge){this._instanceConstructor=Re,this.promise=new Re(Y),this.promise[G]||yt(this.promise),z(Ge)?(this.length=Ge.length,this._remaining=Ge.length,this._result=new Array(this.length),this.length===0?ge(this.promise,this._result):(this.length=this.length||0,this._enumerate(Ge),this._remaining===0&&ge(this.promise,this._result))):xe(this.promise,gt())}return Te.prototype._enumerate=function(Ge){for(var Le=0;this._state===te&&Le<Ge.length;Le++)this._eachEntry(Ge[Le],Le)},Te.prototype._eachEntry=function(Ge,Le){var Ue=this._instanceConstructor,Qe=Ue.resolve;if(Qe===F){var et=void 0,dt=void 0,mt=!1;try{et=Ge.then}catch(At){mt=!0,dt=At}if(et===U&&Ge._state!==te)this._settledAt(Ge._state,Le,Ge._result);else if(typeof et!="function")this._remaining--,this._result[Le]=Ge;else if(Ue===be){var Tt=new Ue(Y);mt?xe(Tt,dt):se(Tt,Ge,et),this._willSettleAt(Tt,Le)}else this._willSettleAt(new Ue(function(At){return At(Ge)}),Le)}else this._willSettleAt(Qe(Ge),Le)},Te.prototype._settledAt=function(Ge,Le,Ue){var Qe=this.promise;Qe._state===te&&(this._remaining--,Ge===oe?xe(Qe,Ue):this._result[Le]=Ue),this._remaining===0&&ge(Qe,this._result)},Te.prototype._willSettleAt=function(Ge,Le){var Ue=this;Me(Ge,void 0,function(Qe){return Ue._settledAt($,Le,Qe)},function(Qe){return Ue._settledAt(oe,Le,Qe)})},Te}();function nt(Te){return new Ke(this,Te).promise}function Ze(Te){var Re=this;return z(Te)?new Re(function(Ge,Le){for(var Ue=Te.length,Qe=0;Qe<Ue;Qe++)Re.resolve(Te[Qe]).then(Ge,Le)}):new Re(function(Ge,Le){return Le(new TypeError("You must pass an array to race."))})}function Ve(Te){var Re=this,Ge=new Re(Y);return xe(Ge,Te),Ge}function Pe(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function He(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var be=function(){function Te(Re){this[G]=st(),this._result=this._state=void 0,this._subscribers=[],Y!==Re&&(typeof Re!="function"&&Pe(),this instanceof Te?tt(this,Re):He())}return Te.prototype.catch=function(Ge){return this.then(null,Ge)},Te.prototype.finally=function(Ge){var Le=this,Ue=Le.constructor;return H(Ge)?Le.then(function(Qe){return Ue.resolve(Ge()).then(function(){return Qe})},function(Qe){return Ue.resolve(Ge()).then(function(){throw Qe})}):Le.then(Ge,Ge)},Te}();be.prototype.then=U,be.all=nt,be.race=Ze,be.resolve=F,be.reject=Ve,be._setScheduler=_,be._setAsap=g,be._asap=O;function Ie(){var Te=void 0;if(typeof Z.g!="undefined")Te=Z.g;else if(typeof self!="undefined")Te=self;else try{Te=Function("return this")()}catch(Le){throw new Error("polyfill failed because global object is unavailable in this environment")}var Re=Te.Promise;if(Re){var Ge=null;try{Ge=Object.prototype.toString.call(Re.resolve())}catch(Le){}if(Ge==="[object Promise]"&&!Re.cast)return}Te.Promise=be}return be.polyfill=Ie,be.Promise=be,be})},37271:function(Ae){"use strict";var Ce=Object.prototype.hasOwnProperty,Z="~";function X(){}Object.create&&(X.prototype=Object.create(null),new X().__proto__||(Z=!1));function q(P,T,x){this.fn=P,this.context=T,this.once=x||!1}function H(P,T,x,O,_){if(typeof x!="function")throw new TypeError("The listener must be a function");var g=new q(x,O||P,_),m=Z?Z+T:T;return P._events[m]?P._events[m].fn?P._events[m]=[P._events[m],g]:P._events[m].push(g):(P._events[m]=g,P._eventsCount++),P}function b(P,T){--P._eventsCount===0?P._events=new X:delete P._events[T]}function z(){this._events=new X,this._eventsCount=0}z.prototype.eventNames=function(){var T=[],x,O;if(this._eventsCount===0)return T;for(O in x=this._events)Ce.call(x,O)&&T.push(Z?O.slice(1):O);return Object.getOwnPropertySymbols?T.concat(Object.getOwnPropertySymbols(x)):T},z.prototype.listeners=function(T){var x=Z?Z+T:T,O=this._events[x];if(!O)return[];if(O.fn)return[O.fn];for(var _=0,g=O.length,m=new Array(g);_<g;_++)m[_]=O[_].fn;return m},z.prototype.listenerCount=function(T){var x=Z?Z+T:T,O=this._events[x];return O?O.fn?1:O.length:0},z.prototype.emit=function(T,x,O,_,g,m){var L=Z?Z+T:T;if(!this._events[L])return!1;var d=this._events[L],v=arguments.length,M,w;if(d.fn){switch(d.once&&this.removeListener(T,d.fn,void 0,!0),v){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,x),!0;case 3:return d.fn.call(d.context,x,O),!0;case 4:return d.fn.call(d.context,x,O,_),!0;case 5:return d.fn.call(d.context,x,O,_,g),!0;case 6:return d.fn.call(d.context,x,O,_,g,m),!0}for(w=1,M=new Array(v-1);w<v;w++)M[w-1]=arguments[w];d.fn.apply(d.context,M)}else{var S=d.length,A;for(w=0;w<S;w++)switch(d[w].once&&this.removeListener(T,d[w].fn,void 0,!0),v){case 1:d[w].fn.call(d[w].context);break;case 2:d[w].fn.call(d[w].context,x);break;case 3:d[w].fn.call(d[w].context,x,O);break;case 4:d[w].fn.call(d[w].context,x,O,_);break;default:if(!M)for(A=1,M=new Array(v-1);A<v;A++)M[A-1]=arguments[A];d[w].fn.apply(d[w].context,M)}}return!0},z.prototype.on=function(T,x,O){return H(this,T,x,O,!1)},z.prototype.once=function(T,x,O){return H(this,T,x,O,!0)},z.prototype.removeListener=function(T,x,O,_){var g=Z?Z+T:T;if(!this._events[g])return this;if(!x)return b(this,g),this;var m=this._events[g];if(m.fn)m.fn===x&&(!_||m.once)&&(!O||m.context===O)&&b(this,g);else{for(var L=0,d=[],v=m.length;L<v;L++)(m[L].fn!==x||_&&!m[L].once||O&&m[L].context!==O)&&d.push(m[L]);d.length?this._events[g]=d.length===1?d[0]:d:b(this,g)}return this},z.prototype.removeAllListeners=function(T){var x;return T?(x=Z?Z+T:T,this._events[x]&&b(this,x)):(this._events=new X,this._eventsCount=0),this},z.prototype.off=z.prototype.removeListener,z.prototype.addListener=z.prototype.on,z.prefixed=Z,z.EventEmitter=z,Ae.exports=z},86204:function(Ae){"use strict";var Ce=typeof Reflect=="object"?Reflect:null,Z=Ce&&typeof Ce.apply=="function"?Ce.apply:function(R,u,f){return Function.prototype.apply.call(R,u,f)},X;Ce&&typeof Ce.ownKeys=="function"?X=Ce.ownKeys:Object.getOwnPropertySymbols?X=function(R){return Object.getOwnPropertyNames(R).concat(Object.getOwnPropertySymbols(R))}:X=function(R){return Object.getOwnPropertyNames(R)};function q(A){console&&console.warn&&console.warn(A)}var H=Number.isNaN||function(R){return R!==R};function b(){b.init.call(this)}Ae.exports=b,Ae.exports.once=M,b.EventEmitter=b,b.prototype._events=void 0,b.prototype._eventsCount=0,b.prototype._maxListeners=void 0;var z=10;function P(A){if(typeof A!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof A)}Object.defineProperty(b,"defaultMaxListeners",{enumerable:!0,get:function(){return z},set:function(A){if(typeof A!="number"||A<0||H(A))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+A+".");z=A}}),b.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},b.prototype.setMaxListeners=function(R){if(typeof R!="number"||R<0||H(R))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+R+".");return this._maxListeners=R,this};function T(A){return A._maxListeners===void 0?b.defaultMaxListeners:A._maxListeners}b.prototype.getMaxListeners=function(){return T(this)},b.prototype.emit=function(R){for(var u=[],f=1;f<arguments.length;f++)u.push(arguments[f]);var y=R==="error",D=this._events;if(D!==void 0)y=y&&D.error===void 0;else if(!y)return!1;if(y){var I;if(u.length>0&&(I=u[0]),I instanceof Error)throw I;var U=new Error("Unhandled error."+(I?" ("+I.message+")":""));throw U.context=I,U}var F=D[R];if(F===void 0)return!1;if(typeof F=="function")Z(F,this,u);else for(var G=F.length,Y=L(F,G),f=0;f<G;++f)Z(Y[f],this,u);return!0};function x(A,R,u,f){var y,D,I;if(P(u),D=A._events,D===void 0?(D=A._events=Object.create(null),A._eventsCount=0):(D.newListener!==void 0&&(A.emit("newListener",R,u.listener?u.listener:u),D=A._events),I=D[R]),I===void 0)I=D[R]=u,++A._eventsCount;else if(typeof I=="function"?I=D[R]=f?[u,I]:[I,u]:f?I.unshift(u):I.push(u),y=T(A),y>0&&I.length>y&&!I.warned){I.warned=!0;var U=new Error("Possible EventEmitter memory leak detected. "+I.length+" "+String(R)+" listeners added. Use emitter.setMaxListeners() to increase limit");U.name="MaxListenersExceededWarning",U.emitter=A,U.type=R,U.count=I.length,q(U)}return A}b.prototype.addListener=function(R,u){return x(this,R,u,!1)},b.prototype.on=b.prototype.addListener,b.prototype.prependListener=function(R,u){return x(this,R,u,!0)};function O(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _(A,R,u){var f={fired:!1,wrapFn:void 0,target:A,type:R,listener:u},y=O.bind(f);return y.listener=u,f.wrapFn=y,y}b.prototype.once=function(R,u){return P(u),this.on(R,_(this,R,u)),this},b.prototype.prependOnceListener=function(R,u){return P(u),this.prependListener(R,_(this,R,u)),this},b.prototype.removeListener=function(R,u){var f,y,D,I,U;if(P(u),y=this._events,y===void 0)return this;if(f=y[R],f===void 0)return this;if(f===u||f.listener===u)--this._eventsCount===0?this._events=Object.create(null):(delete y[R],y.removeListener&&this.emit("removeListener",R,f.listener||u));else if(typeof f!="function"){for(D=-1,I=f.length-1;I>=0;I--)if(f[I]===u||f[I].listener===u){U=f[I].listener,D=I;break}if(D<0)return this;D===0?f.shift():d(f,D),f.length===1&&(y[R]=f[0]),y.removeListener!==void 0&&this.emit("removeListener",R,U||u)}return this},b.prototype.off=b.prototype.removeListener,b.prototype.removeAllListeners=function(R){var u,f,y;if(f=this._events,f===void 0)return this;if(f.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):f[R]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete f[R]),this;if(arguments.length===0){var D=Object.keys(f),I;for(y=0;y<D.length;++y)I=D[y],I!=="removeListener"&&this.removeAllListeners(I);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(u=f[R],typeof u=="function")this.removeListener(R,u);else if(u!==void 0)for(y=u.length-1;y>=0;y--)this.removeListener(R,u[y]);return this};function g(A,R,u){var f=A._events;if(f===void 0)return[];var y=f[R];return y===void 0?[]:typeof y=="function"?u?[y.listener||y]:[y]:u?v(y):L(y,y.length)}b.prototype.listeners=function(R){return g(this,R,!0)},b.prototype.rawListeners=function(R){return g(this,R,!1)},b.listenerCount=function(A,R){return typeof A.listenerCount=="function"?A.listenerCount(R):m.call(A,R)},b.prototype.listenerCount=m;function m(A){var R=this._events;if(R!==void 0){var u=R[A];if(typeof u=="function")return 1;if(u!==void 0)return u.length}return 0}b.prototype.eventNames=function(){return this._eventsCount>0?X(this._events):[]};function L(A,R){for(var u=new Array(R),f=0;f<R;++f)u[f]=A[f];return u}function d(A,R){for(;R+1<A.length;R++)A[R]=A[R+1];A.pop()}function v(A){for(var R=new Array(A.length),u=0;u<R.length;++u)R[u]=A[u].listener||A[u];return R}function M(A,R){return new Promise(function(u,f){function y(I){A.removeListener(R,D),f(I)}function D(){typeof A.removeListener=="function"&&A.removeListener("error",y),u([].slice.call(arguments))}S(A,R,D,{once:!0}),R!=="error"&&w(A,y,{once:!0})})}function w(A,R,u){typeof A.on=="function"&&S(A,"error",R,u)}function S(A,R,u,f){if(typeof A.on=="function")f.once?A.once(R,u):A.on(R,u);else if(typeof A.addEventListener=="function")A.addEventListener(R,function y(D){f.once&&A.removeEventListener(R,y),u(D)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof A)}},53291:function(Ae){"use strict";var Ce=Array.isArray,Z=Object.keys,X=Object.prototype.hasOwnProperty;Ae.exports=function q(H,b){if(H===b)return!0;if(H&&b&&typeof H=="object"&&typeof b=="object"){var z=Ce(H),P=Ce(b),T,x,O;if(z&&P){if(x=H.length,x!=b.length)return!1;for(T=x;T--!==0;)if(!q(H[T],b[T]))return!1;return!0}if(z!=P)return!1;var _=H instanceof Date,g=b instanceof Date;if(_!=g)return!1;if(_&&g)return H.getTime()==b.getTime();var m=H instanceof RegExp,L=b instanceof RegExp;if(m!=L)return!1;if(m&&L)return H.toString()==b.toString();var d=Z(H);if(x=d.length,x!==Z(b).length)return!1;for(T=x;T--!==0;)if(!X.call(b,d[T]))return!1;for(T=x;T--!==0;)if(O=d[T],!q(H[O],b[O]))return!1;return!0}return H!==H&&b!==b}},75172:function(Ae,Ce,Z){var X=Z(89224);Ae.exports={Graph:X.Graph,json:Z(17401),alg:Z(54613),version:X.version}},91606:function(Ae,Ce,Z){var X=Z(95329);Ae.exports=q;function q(H){var b={},z=[],P;function T(x){X.has(b,x)||(b[x]=!0,P.push(x),X.each(H.successors(x),T),X.each(H.predecessors(x),T))}return X.each(H.nodes(),function(x){P=[],T(x),P.length&&z.push(P)}),z}},21482:function(Ae,Ce,Z){var X=Z(95329);Ae.exports=q;function q(b,z,P){X.isArray(z)||(z=[z]);var T=(b.isDirected()?b.successors:b.neighbors).bind(b),x=[],O={};return X.each(z,function(_){if(!b.hasNode(_))throw new Error("Graph does not have node: "+_);H(b,_,P==="post",O,T,x)}),x}function H(b,z,P,T,x,O){X.has(T,z)||(T[z]=!0,P||O.push(z),X.each(x(z),function(_){H(b,_,P,T,x,O)}),P&&O.push(z))}},40845:function(Ae,Ce,Z){var X=Z(13746),q=Z(95329);Ae.exports=H;function H(b,z,P){return q.transform(b.nodes(),function(T,x){T[x]=X(b,x,z,P)},{})}},13746:function(Ae,Ce,Z){var X=Z(95329),q=Z(36614);Ae.exports=b;var H=X.constant(1);function b(P,T,x,O){return z(P,String(T),x||H,O||function(_){return P.outEdges(_)})}function z(P,T,x,O){var _={},g=new q,m,L,d=function(v){var M=v.v!==m?v.v:v.w,w=_[M],S=x(v),A=L.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+S);A<w.distance&&(w.distance=A,w.predecessor=m,g.decrease(M,A))};for(P.nodes().forEach(function(v){var M=v===T?0:Number.POSITIVE_INFINITY;_[v]={distance:M},g.add(v,M)});g.size()>0&&(m=g.removeMin(),L=_[m],L.distance!==Number.POSITIVE_INFINITY);)O(m).forEach(d);return _}},59324:function(Ae,Ce,Z){var X=Z(95329),q=Z(94558);Ae.exports=H;function H(b){return X.filter(q(b),function(z){return z.length>1||z.length===1&&b.hasEdge(z[0],z[0])})}},22893:function(Ae,Ce,Z){var X=Z(95329);Ae.exports=H;var q=X.constant(1);function H(z,P,T){return b(z,P||q,T||function(x){return z.outEdges(x)})}function b(z,P,T){var x={},O=z.nodes();return O.forEach(function(_){x[_]={},x[_][_]={distance:0},O.forEach(function(g){_!==g&&(x[_][g]={distance:Number.POSITIVE_INFINITY})}),T(_).forEach(function(g){var m=g.v===_?g.w:g.v,L=P(g);x[_][m]={distance:L,predecessor:_}})}),O.forEach(function(_){var g=x[_];O.forEach(function(m){var L=x[m];O.forEach(function(d){var v=L[_],M=g[d],w=L[d],S=v.distance+M.distance;S<w.distance&&(w.distance=S,w.predecessor=M.predecessor)})})}),x}},54613:function(Ae,Ce,Z){Ae.exports={components:Z(91606),dijkstra:Z(13746),dijkstraAll:Z(40845),findCycles:Z(59324),floydWarshall:Z(22893),isAcyclic:Z(588),postorder:Z(98049),preorder:Z(67158),prim:Z(66058),tarjan:Z(94558),topsort:Z(7793)}},588:function(Ae,Ce,Z){var X=Z(7793);Ae.exports=q;function q(H){try{X(H)}catch(b){if(b instanceof X.CycleException)return!1;throw b}return!0}},98049:function(Ae,Ce,Z){var X=Z(21482);Ae.exports=q;function q(H,b){return X(H,b,"post")}},67158:function(Ae,Ce,Z){var X=Z(21482);Ae.exports=q;function q(H,b){return X(H,b,"pre")}},66058:function(Ae,Ce,Z){var X=Z(95329),q=Z(6349),H=Z(36614);Ae.exports=b;function b(z,P){var T=new q,x={},O=new H,_;function g(L){var d=L.v===_?L.w:L.v,v=O.priority(d);if(v!==void 0){var M=P(L);M<v&&(x[d]=_,O.decrease(d,M))}}if(z.nodeCount()===0)return T;X.each(z.nodes(),function(L){O.add(L,Number.POSITIVE_INFINITY),T.setNode(L)}),O.decrease(z.nodes()[0],0);for(var m=!1;O.size()>0;){if(_=O.removeMin(),X.has(x,_))T.setEdge(_,x[_]);else{if(m)throw new Error("Input graph is not connected: "+z);m=!0}z.nodeEdges(_).forEach(g)}return T}},94558:function(Ae,Ce,Z){var X=Z(95329);Ae.exports=q;function q(H){var b=0,z=[],P={},T=[];function x(O){var _=P[O]={onStack:!0,lowlink:b,index:b++};if(z.push(O),H.successors(O).forEach(function(L){X.has(P,L)?P[L].onStack&&(_.lowlink=Math.min(_.lowlink,P[L].index)):(x(L),_.lowlink=Math.min(_.lowlink,P[L].lowlink))}),_.lowlink===_.index){var g=[],m;do m=z.pop(),P[m].onStack=!1,g.push(m);while(O!==m);T.push(g)}}return H.nodes().forEach(function(O){X.has(P,O)||x(O)}),T}},7793:function(Ae,Ce,Z){var X=Z(95329);Ae.exports=q,q.CycleException=H;function q(b){var z={},P={},T=[];function x(O){if(X.has(P,O))throw new H;X.has(z,O)||(P[O]=!0,z[O]=!0,X.each(b.predecessors(O),x),delete P[O],T.push(O))}if(X.each(b.sinks(),x),X.size(z)!==b.nodeCount())throw new H;return T}function H(){}H.prototype=new Error},36614:function(Ae,Ce,Z){var X=Z(95329);Ae.exports=q;function q(){this._arr=[],this._keyIndices={}}q.prototype.size=function(){return this._arr.length},q.prototype.keys=function(){return this._arr.map(function(H){return H.key})},q.prototype.has=function(H){return X.has(this._keyIndices,H)},q.prototype.priority=function(H){var b=this._keyIndices[H];if(b!==void 0)return this._arr[b].priority},q.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},q.prototype.add=function(H,b){var z=this._keyIndices;if(H=String(H),!X.has(z,H)){var P=this._arr,T=P.length;return z[H]=T,P.push({key:H,priority:b}),this._decrease(T),!0}return!1},q.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var H=this._arr.pop();return delete this._keyIndices[H.key],this._heapify(0),H.key},q.prototype.decrease=function(H,b){var z=this._keyIndices[H];if(b>this._arr[z].priority)throw new Error("New priority is greater than current priority. Key: "+H+" Old: "+this._arr[z].priority+" New: "+b);this._arr[z].priority=b,this._decrease(z)},q.prototype._heapify=function(H){var b=this._arr,z=2*H,P=z+1,T=H;z<b.length&&(T=b[z].priority<b[T].priority?z:T,P<b.length&&(T=b[P].priority<b[T].priority?P:T),T!==H&&(this._swap(H,T),this._heapify(T)))},q.prototype._decrease=function(H){for(var b=this._arr,z=b[H].priority,P;H!==0&&(P=H>>1,!(b[P].priority<z));)this._swap(H,P),H=P},q.prototype._swap=function(H,b){var z=this._arr,P=this._keyIndices,T=z[H],x=z[b];z[H]=x,z[b]=T,P[x.key]=H,P[T.key]=b}},6349:function(Ae,Ce,Z){"use strict";var X=Z(95329);Ae.exports=z;var q="\0",H="\0",b="";function z(g){this._isDirected=X.has(g,"directed")?g.directed:!0,this._isMultigraph=X.has(g,"multigraph")?g.multigraph:!1,this._isCompound=X.has(g,"compound")?g.compound:!1,this._label=void 0,this._defaultNodeLabelFn=X.constant(void 0),this._defaultEdgeLabelFn=X.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[H]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}z.prototype._nodeCount=0,z.prototype._edgeCount=0,z.prototype.isDirected=function(){return this._isDirected},z.prototype.isMultigraph=function(){return this._isMultigraph},z.prototype.isCompound=function(){return this._isCompound},z.prototype.setGraph=function(g){return this._label=g,this},z.prototype.graph=function(){return this._label},z.prototype.setDefaultNodeLabel=function(g){return X.isFunction(g)||(g=X.constant(g)),this._defaultNodeLabelFn=g,this},z.prototype.nodeCount=function(){return this._nodeCount},z.prototype.nodes=function(){return X.keys(this._nodes)},z.prototype.sources=function(){var g=this;return X.filter(this.nodes(),function(m){return X.isEmpty(g._in[m])})},z.prototype.sinks=function(){var g=this;return X.filter(this.nodes(),function(m){return X.isEmpty(g._out[m])})},z.prototype.setNodes=function(g,m){var L=arguments,d=this;return X.each(g,function(v){L.length>1?d.setNode(v,m):d.setNode(v)}),this},z.prototype.setNode=function(g,m){return X.has(this._nodes,g)?(arguments.length>1&&(this._nodes[g]=m),this):(this._nodes[g]=arguments.length>1?m:this._defaultNodeLabelFn(g),this._isCompound&&(this._parent[g]=H,this._children[g]={},this._children[H][g]=!0),this._in[g]={},this._preds[g]={},this._out[g]={},this._sucs[g]={},++this._nodeCount,this)},z.prototype.node=function(g){return this._nodes[g]},z.prototype.hasNode=function(g){return X.has(this._nodes,g)},z.prototype.removeNode=function(g){var m=this;if(X.has(this._nodes,g)){var L=function(d){m.removeEdge(m._edgeObjs[d])};delete this._nodes[g],this._isCompound&&(this._removeFromParentsChildList(g),delete this._parent[g],X.each(this.children(g),function(d){m.setParent(d)}),delete this._children[g]),X.each(X.keys(this._in[g]),L),delete this._in[g],delete this._preds[g],X.each(X.keys(this._out[g]),L),delete this._out[g],delete this._sucs[g],--this._nodeCount}return this},z.prototype.setParent=function(g,m){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(X.isUndefined(m))m=H;else{m+="";for(var L=m;!X.isUndefined(L);L=this.parent(L))if(L===g)throw new Error("Setting "+m+" as parent of "+g+" would create a cycle");this.setNode(m)}return this.setNode(g),this._removeFromParentsChildList(g),this._parent[g]=m,this._children[m][g]=!0,this},z.prototype._removeFromParentsChildList=function(g){delete this._children[this._parent[g]][g]},z.prototype.parent=function(g){if(this._isCompound){var m=this._parent[g];if(m!==H)return m}},z.prototype.children=function(g){if(X.isUndefined(g)&&(g=H),this._isCompound){var m=this._children[g];if(m)return X.keys(m)}else{if(g===H)return this.nodes();if(this.hasNode(g))return[]}},z.prototype.predecessors=function(g){var m=this._preds[g];if(m)return X.keys(m)},z.prototype.successors=function(g){var m=this._sucs[g];if(m)return X.keys(m)},z.prototype.neighbors=function(g){var m=this.predecessors(g);if(m)return X.union(m,this.successors(g))},z.prototype.isLeaf=function(g){var m;return this.isDirected()?m=this.successors(g):m=this.neighbors(g),m.length===0},z.prototype.filterNodes=function(g){var m=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});m.setGraph(this.graph());var L=this;X.each(this._nodes,function(M,w){g(w)&&m.setNode(w,M)}),X.each(this._edgeObjs,function(M){m.hasNode(M.v)&&m.hasNode(M.w)&&m.setEdge(M,L.edge(M))});var d={};function v(M){var w=L.parent(M);return w===void 0||m.hasNode(w)?(d[M]=w,w):w in d?d[w]:v(w)}return this._isCompound&&X.each(m.nodes(),function(M){m.setParent(M,v(M))}),m},z.prototype.setDefaultEdgeLabel=function(g){return X.isFunction(g)||(g=X.constant(g)),this._defaultEdgeLabelFn=g,this},z.prototype.edgeCount=function(){return this._edgeCount},z.prototype.edges=function(){return X.values(this._edgeObjs)},z.prototype.setPath=function(g,m){var L=this,d=arguments;return X.reduce(g,function(v,M){return d.length>1?L.setEdge(v,M,m):L.setEdge(v,M),M}),this},z.prototype.setEdge=function(){var g,m,L,d,v=!1,M=arguments[0];typeof M=="object"&&M!==null&&"v"in M?(g=M.v,m=M.w,L=M.name,arguments.length===2&&(d=arguments[1],v=!0)):(g=M,m=arguments[1],L=arguments[3],arguments.length>2&&(d=arguments[2],v=!0)),g=""+g,m=""+m,X.isUndefined(L)||(L=""+L);var w=x(this._isDirected,g,m,L);if(X.has(this._edgeLabels,w))return v&&(this._edgeLabels[w]=d),this;if(!X.isUndefined(L)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(g),this.setNode(m),this._edgeLabels[w]=v?d:this._defaultEdgeLabelFn(g,m,L);var S=O(this._isDirected,g,m,L);return g=S.v,m=S.w,Object.freeze(S),this._edgeObjs[w]=S,P(this._preds[m],g),P(this._sucs[g],m),this._in[m][w]=S,this._out[g][w]=S,this._edgeCount++,this},z.prototype.edge=function(g,m,L){var d=arguments.length===1?_(this._isDirected,arguments[0]):x(this._isDirected,g,m,L);return this._edgeLabels[d]},z.prototype.hasEdge=function(g,m,L){var d=arguments.length===1?_(this._isDirected,arguments[0]):x(this._isDirected,g,m,L);return X.has(this._edgeLabels,d)},z.prototype.removeEdge=function(g,m,L){var d=arguments.length===1?_(this._isDirected,arguments[0]):x(this._isDirected,g,m,L),v=this._edgeObjs[d];return v&&(g=v.v,m=v.w,delete this._edgeLabels[d],delete this._edgeObjs[d],T(this._preds[m],g),T(this._sucs[g],m),delete this._in[m][d],delete this._out[g][d],this._edgeCount--),this},z.prototype.inEdges=function(g,m){var L=this._in[g];if(L){var d=X.values(L);return m?X.filter(d,function(v){return v.v===m}):d}},z.prototype.outEdges=function(g,m){var L=this._out[g];if(L){var d=X.values(L);return m?X.filter(d,function(v){return v.w===m}):d}},z.prototype.nodeEdges=function(g,m){var L=this.inEdges(g,m);if(L)return L.concat(this.outEdges(g,m))};function P(g,m){g[m]?g[m]++:g[m]=1}function T(g,m){--g[m]||delete g[m]}function x(g,m,L,d){var v=""+m,M=""+L;if(!g&&v>M){var w=v;v=M,M=w}return v+b+M+b+(X.isUndefined(d)?q:d)}function O(g,m,L,d){var v=""+m,M=""+L;if(!g&&v>M){var w=v;v=M,M=w}var S={v,w:M};return d&&(S.name=d),S}function _(g,m){return x(g,m.v,m.w,m.name)}},89224:function(Ae,Ce,Z){Ae.exports={Graph:Z(6349),version:Z(16544)}},17401:function(Ae,Ce,Z){var X=Z(95329),q=Z(6349);Ae.exports={write:H,read:P};function H(T){var x={options:{directed:T.isDirected(),multigraph:T.isMultigraph(),compound:T.isCompound()},nodes:b(T),edges:z(T)};return X.isUndefined(T.graph())||(x.value=X.clone(T.graph())),x}function b(T){return X.map(T.nodes(),function(x){var O=T.node(x),_=T.parent(x),g={v:x};return X.isUndefined(O)||(g.value=O),X.isUndefined(_)||(g.parent=_),g})}function z(T){return X.map(T.edges(),function(x){var O=T.edge(x),_={v:x.v,w:x.w};return X.isUndefined(x.name)||(_.name=x.name),X.isUndefined(O)||(_.value=O),_})}function P(T){var x=new q(T.options).setGraph(T.value);return X.each(T.nodes,function(O){x.setNode(O.v,O.value),O.parent&&x.setParent(O.v,O.parent)}),X.each(T.edges,function(O){x.setEdge({v:O.v,w:O.w,name:O.name},O.value)}),x}},95329:function(Ae,Ce,Z){var X;try{X={clone:Z(76833),constant:Z(13503),each:Z(76934),filter:Z(64725),has:Z(99946),isArray:Z(80744),isEmpty:Z(61627),isFunction:Z(9363),isUndefined:Z(16513),keys:Z(55451),map:Z(9924),reduce:Z(16473),size:Z(40617),transform:Z(91116),union:Z(44065),values:Z(81229)}}catch(q){}X||(X=window._),Ae.exports=X},16544:function(Ae){Ae.exports="2.1.8"},95328:function(Ae){function Ce(H,b,z){return(b[0]-H[0])*(z[1]-H[1])-(b[1]-H[1])*(z[0]-H[0])}function Z(H){const b=[];for(let z=0;z<H.length;z++){for(;b.length>=2&&Ce(b[b.length-2],b[b.length-1],H[z])<=0;)b.pop();b.push(H[z])}return b.pop(),b}function X(H){const b=H.reverse(),z=[];for(let P=0;P<b.length;P++){for(;z.length>=2&&Ce(z[z.length-2],z[z.length-1],b[P])<=0;)z.pop();z.push(b[P])}return z.pop(),z}function q(H){const b=Z(H),P=X(H).concat(b);return P.push(H[0]),P}Ae.exports=q},11950:function(Ae){Ae.exports={toXy:function(Ce,Z){return Z===void 0?Ce.slice():Ce.map(function(X){return new Function("pt","return [pt"+Z[0]+",pt"+Z[1]+"];")(X)})},fromXy:function(Ce,Z){return Z===void 0?Ce.slice():Ce.map(function(X){return new Function("pt","const o = {}; o"+Z[0]+"= pt[0]; o"+Z[1]+"= pt[1]; return o;")(X)})}}},98204:function(Ae){function Ce(X,q){this._cells=[],this._cellSize=q,this._reverseCellSize=1/q;for(let H=0;H<X.length;H++){const b=X[H],z=this.coordToCellNum(b[0]),P=this.coordToCellNum(b[1]);if(this._cells[z])this._cells[z][P]?this._cells[z][P].push(b):this._cells[z][P]=[b];else{const T=[];T[P]=[b],this._cells[z]=T}}}Ce.prototype={cellPoints:function(X,q){return this._cells[X]!==void 0&&this._cells[X][q]!==void 0?this._cells[X][q]:[]},rangePoints:function(X){const q=this.coordToCellNum(X[0]),H=this.coordToCellNum(X[1]),b=this.coordToCellNum(X[2]),z=this.coordToCellNum(X[3]),P=[];for(let T=q;T<=b;T++)for(let x=H;x<=z;x++)for(let O=0;O<this.cellPoints(T,x).length;O++)P.push(this.cellPoints(T,x)[O]);return P},removePoint:function(X){const q=this.coordToCellNum(X[0]),H=this.coordToCellNum(X[1]),b=this._cells[q][H];let z;for(let P=0;P<b.length;P++)if(b[P][0]===X[0]&&b[P][1]===X[1]){z=P;break}return b.splice(z,1),b},trunc:Math.trunc||function(X){return X-X%1},coordToCellNum:function(X){return this.trunc(X*this._reverseCellSize)},extendBbox:function(X,q){return[X[0]-q*this._cellSize,X[1]-q*this._cellSize,X[2]+q*this._cellSize,X[3]+q*this._cellSize]}};function Z(X,q){return new Ce(X,q)}Ae.exports=Z},76117:function(Ae,Ce,Z){"use strict";const X=Z(86972),q=Z(98204),H=Z(11950),b=Z(95328);function z(w){const S=[w[0]];let A=w[0];for(let R=1;R<w.length;R++){const u=w[R];(A[0]!==u[0]||A[1]!==u[1])&&S.push(u),A=u}return S}function P(w){return w.sort(function(S,A){return S[0]-A[0]||S[1]-A[1]})}function T(w,S){return Math.pow(S[0]-w[0],2)+Math.pow(S[1]-w[1],2)}function x(w,S,A){const R=[S[0]-w[0],S[1]-w[1]],u=[A[0]-w[0],A[1]-w[1]],f=T(w,S),y=T(w,A);return(R[0]*u[0]+R[1]*u[1])/Math.sqrt(f*y)}function O(w,S){for(let A=0;A<S.length-1;A++){const R=[S[A],S[A+1]];if(!(w[0][0]===R[0][0]&&w[0][1]===R[0][1]||w[0][0]===R[1][0]&&w[0][1]===R[1][1])&&X(w,R))return!0}return!1}function _(w){let S=1/0,A=1/0,R=-1/0,u=-1/0;for(let f=w.length-1;f>=0;f--)w[f][0]<S&&(S=w[f][0]),w[f][1]<A&&(A=w[f][1]),w[f][0]>R&&(R=w[f][0]),w[f][1]>u&&(u=w[f][1]);return[R-S,u-A]}function g(w){return[Math.min(w[0][0],w[1][0]),Math.min(w[0][1],w[1][1]),Math.max(w[0][0],w[1][0]),Math.max(w[0][1],w[1][1])]}function m(w,S,A){let R=null,u=v,f=v,y,D;for(let I=0;I<S.length;I++)y=x(w[0],w[1],S[I]),D=x(w[1],w[0],S[I]),y>u&&D>f&&!O([w[0],S[I]],A)&&!O([w[1],S[I]],A)&&(u=y,f=D,R=S[I]);return R}function L(w,S,A,R,u){let f=!1;for(let y=0;y<w.length-1;y++){const D=[w[y],w[y+1]],I=D[0][0]+","+D[0][1]+","+D[1][0]+","+D[1][1];if(T(D[0],D[1])<S||u.has(I))continue;let U=0,F=g(D),G,Y,te;do F=R.extendBbox(F,U),G=F[2]-F[0],Y=F[3]-F[1],te=m(D,R.rangePoints(F),w),U++;while(te===null&&(A[0]>G||A[1]>Y));G>=A[0]&&Y>=A[1]&&u.add(I),te!==null&&(w.splice(y+1,0,te),R.removePoint(te),f=!0)}return f?L(w,S,A,R,u):w}function d(w,S,A){let R=S||20;const u=z(P(H.toXy(w,A)));if(u.length<4){const G=u.concat([u[0]]);return A?H.fromXy(G,A):G}const f=_(u),y=[f[0]*M,f[1]*M],D=b(u),I=u.filter(function(G){return D.indexOf(G)<0}),U=Math.ceil(1/(u.length/(f[0]*f[1]))),F=L(D,Math.pow(R,2),y,q(I,U),new Set);return A?H.fromXy(F,A):F}const v=Math.cos(90/(180/Math.PI)),M=.6;Ae.exports=d},86972:function(Ae){function Ce(X,q,H,b,z,P){const T=(P-q)*(H-X)-(b-q)*(z-X);return T>0?!0:!(T<0)}function Z(X,q){const H=X[0][0],b=X[0][1],z=X[1][0],P=X[1][1],T=q[0][0],x=q[0][1],O=q[1][0],_=q[1][1];return Ce(H,b,T,x,O,_)!==Ce(z,P,T,x,O,_)&&Ce(H,b,z,P,T,x)!==Ce(H,b,z,P,O,_)}Ae.exports=Z},34634:function(Ae,Ce,Z){"use strict";Z.r(Ce),Z.d(Ce,{isAnyArray:function(){return q}});const X=Object.prototype.toString;function q(H){const b=X.call(H);return b.endsWith("Array]")&&!b.includes("Big")}},22948:function(Ae){Ae.exports=function(Z){return!Z||typeof Z=="string"?!1:Z instanceof Array||Array.isArray(Z)||Z.length>=0&&(Z.splice instanceof Function||Object.getOwnPropertyDescriptor(Z,Z.length-1)&&Z.constructor.name!=="String")}},15584:function(Ae,Ce,Z){var X=Z(73893),q=Z(33152),H=X(q,"DataView");Ae.exports=H},97288:function(Ae,Ce,Z){var X=Z(73893),q=Z(33152),H=X(q,"Promise");Ae.exports=H},23599:function(Ae,Ce,Z){var X=Z(73893),q=Z(33152),H=X(q,"Set");Ae.exports=H},98924:function(Ae,Ce,Z){var X=Z(52166),q=Z(34776),H=Z(40393);function b(z){var P=-1,T=z==null?0:z.length;for(this.__data__=new X;++P<T;)this.add(z[P])}b.prototype.add=b.prototype.push=q,b.prototype.has=H,Ae.exports=b},26873:function(Ae,Ce,Z){var X=Z(73893),q=Z(33152),H=X(q,"WeakMap");Ae.exports=H},60661:function(Ae){function Ce(Z,X){for(var q=-1,H=Z==null?0:Z.length;++q<H&&X(Z[q],q,Z)!==!1;);return Z}Ae.exports=Ce},86952:function(Ae){function Ce(Z,X){for(var q=-1,H=Z==null?0:Z.length,b=0,z=[];++q<H;){var P=Z[q];X(P,q,Z)&&(z[b++]=P)}return z}Ae.exports=Ce},84271:function(Ae,Ce,Z){var X=Z(17424);function q(H,b){var z=H==null?0:H.length;return!!z&&X(H,b,0)>-1}Ae.exports=q},94874:function(Ae){function Ce(Z,X,q){for(var H=-1,b=Z==null?0:Z.length;++H<b;)if(q(X,Z[H]))return!0;return!1}Ae.exports=Ce},75010:function(Ae){function Ce(Z,X){for(var q=-1,H=Z==null?0:Z.length,b=Array(H);++q<H;)b[q]=X(Z[q],q,Z);return b}Ae.exports=Ce},57095:function(Ae){function Ce(Z,X){for(var q=-1,H=X.length,b=Z.length;++q<H;)Z[b+q]=X[q];return Z}Ae.exports=Ce},99861:function(Ae){function Ce(Z,X,q,H){var b=-1,z=Z==null?0:Z.length;for(H&&z&&(q=Z[++b]);++b<z;)q=X(q,Z[b],b,Z);return q}Ae.exports=Ce},64045:function(Ae){function Ce(Z,X){for(var q=-1,H=Z==null?0:Z.length;++q<H;)if(X(Z[q],q,Z))return!0;return!1}Ae.exports=Ce},26539:function(Ae,Ce,Z){var X=Z(22310),q=X("length");Ae.exports=q},91937:function(Ae,Ce,Z){var X=Z(95378),q=Z(55451);function H(b,z){return b&&X(z,q(z),b)}Ae.exports=H},26680:function(Ae,Ce,Z){var X=Z(95378),q=Z(56730);function H(b,z){return b&&X(z,q(z),b)}Ae.exports=H},99045:function(Ae,Ce,Z){var X=Z(91866),q=Z(60661),H=Z(60348),b=Z(91937),z=Z(26680),P=Z(32315),T=Z(47760),x=Z(15168),O=Z(71678),_=Z(12076),g=Z(22675),m=Z(66139),L=Z(79264),d=Z(97541),v=Z(4084),M=Z(80744),w=Z(57835),S=Z(41626),A=Z(20816),R=Z(65226),u=Z(55451),f=Z(56730),y=1,D=2,I=4,U="[object Arguments]",F="[object Array]",G="[object Boolean]",Y="[object Date]",te="[object Error]",$="[object Function]",oe="[object GeneratorFunction]",ie="[object Map]",ne="[object Number]",le="[object Object]",ae="[object RegExp]",de="[object Set]",se="[object String]",fe="[object Symbol]",ye="[object WeakMap]",ge="[object ArrayBuffer]",xe="[object DataView]",Me="[object Float32Array]",Ne="[object Float64Array]",We="[object Int8Array]",tt="[object Int16Array]",Je="[object Int32Array]",st="[object Uint8Array]",yt="[object Uint8ClampedArray]",gt="[object Uint16Array]",Ke="[object Uint32Array]",nt={};nt[U]=nt[F]=nt[ge]=nt[xe]=nt[G]=nt[Y]=nt[Me]=nt[Ne]=nt[We]=nt[tt]=nt[Je]=nt[ie]=nt[ne]=nt[le]=nt[ae]=nt[de]=nt[se]=nt[fe]=nt[st]=nt[yt]=nt[gt]=nt[Ke]=!0,nt[te]=nt[$]=nt[ye]=!1;function Ze(Ve,Pe,He,be,Ie,Te){var Re,Ge=Pe&y,Le=Pe&D,Ue=Pe&I;if(He&&(Re=Ie?He(Ve,be,Ie,Te):He(Ve)),Re!==void 0)return Re;if(!A(Ve))return Ve;var Qe=M(Ve);if(Qe){if(Re=L(Ve),!Ge)return T(Ve,Re)}else{var et=m(Ve),dt=et==$||et==oe;if(w(Ve))return P(Ve,Ge);if(et==le||et==U||dt&&!Ie){if(Re=Le||dt?{}:v(Ve),!Ge)return Le?O(Ve,z(Re,Ve)):x(Ve,b(Re,Ve))}else{if(!nt[et])return Ie?Ve:{};Re=d(Ve,et,Ge)}}Te||(Te=new X);var mt=Te.get(Ve);if(mt)return mt;Te.set(Ve,Re),R(Ve)?Ve.forEach(function(Ye){Re.add(Ze(Ye,Pe,He,Ye,Ve,Te))}):S(Ve)&&Ve.forEach(function(Ye,ft){Re.set(ft,Ze(Ye,Pe,He,ft,Ve,Te))});var Tt=Ue?Le?g:_:Le?f:u,At=Qe?void 0:Tt(Ve);return q(At||Ve,function(Ye,ft){At&&(ft=Ye,Ye=Ve[ft]),H(Re,ft,Ze(Ye,Pe,He,ft,Ve,Te))}),Re}Ae.exports=Ze},44107:function(Ae,Ce,Z){var X=Z(85605),q=Z(49164),H=q(X);Ae.exports=H},2659:function(Ae,Ce,Z){var X=Z(45029);function q(H,b,z){for(var P=-1,T=H.length;++P<T;){var x=H[P],O=b(x);if(O!=null&&(_===void 0?O===O&&!X(O):z(O,_)))var _=O,g=x}return g}Ae.exports=q},32872:function(Ae,Ce,Z){var X=Z(44107);function q(H,b){var z=[];return X(H,function(P,T,x){b(P,T,x)&&z.push(P)}),z}Ae.exports=q},51533:function(Ae){function Ce(Z,X,q,H){for(var b=Z.length,z=q+(H?1:-1);H?z--:++z<b;)if(X(Z[z],z,Z))return z;return-1}Ae.exports=Ce},9256:function(Ae,Ce,Z){var X=Z(57095),q=Z(88133);function H(b,z,P,T,x){var O=-1,_=b.length;for(P||(P=q),x||(x=[]);++O<_;){var g=b[O];z>0&&P(g)?z>1?H(g,z-1,P,T,x):X(x,g):T||(x[x.length]=g)}return x}Ae.exports=H},85605:function(Ae,Ce,Z){var X=Z(14018),q=Z(55451);function H(b,z){return b&&X(b,z,q)}Ae.exports=H},89147:function(Ae,Ce,Z){var X=Z(1186),q=Z(9171);function H(b,z){z=X(z,b);for(var P=0,T=z.length;b!=null&&P<T;)b=b[q(z[P++])];return P&&P==T?b:void 0}Ae.exports=H},75635:function(Ae,Ce,Z){var X=Z(57095),q=Z(80744);function H(b,z,P){var T=z(b);return q(b)?T:X(T,P(b))}Ae.exports=H},40302:function(Ae){function Ce(Z,X){return Z>X}Ae.exports=Ce},3251:function(Ae){var Ce=Object.prototype,Z=Ce.hasOwnProperty;function X(q,H){return q!=null&&Z.call(q,H)}Ae.exports=X},62348:function(Ae){function Ce(Z,X){return Z!=null&&X in Object(Z)}Ae.exports=Ce},17424:function(Ae,Ce,Z){var X=Z(51533),q=Z(8373),H=Z(49237);function b(z,P,T){return P===P?H(z,P,T):X(z,q,T)}Ae.exports=b},77295:function(Ae,Ce,Z){var X=Z(84412),q=Z(93913);function H(b,z,P,T,x){return b===z?!0:b==null||z==null||!q(b)&&!q(z)?b!==b&&z!==z:X(b,z,P,T,H,x)}Ae.exports=H},84412:function(Ae,Ce,Z){var X=Z(91866),q=Z(50401),H=Z(57710),b=Z(4983),z=Z(66139),P=Z(80744),T=Z(57835),x=Z(18397),O=1,_="[object Arguments]",g="[object Array]",m="[object Object]",L=Object.prototype,d=L.hasOwnProperty;function v(M,w,S,A,R,u){var f=P(M),y=P(w),D=f?g:z(M),I=y?g:z(w);D=D==_?m:D,I=I==_?m:I;var U=D==m,F=I==m,G=D==I;if(G&&T(M)){if(!T(w))return!1;f=!0,U=!1}if(G&&!U)return u||(u=new X),f||x(M)?q(M,w,S,A,R,u):H(M,w,D,S,A,R,u);if(!(S&O)){var Y=U&&d.call(M,"__wrapped__"),te=F&&d.call(w,"__wrapped__");if(Y||te){var $=Y?M.value():M,oe=te?w.value():w;return u||(u=new X),R($,oe,S,A,u)}}return G?(u||(u=new X),b(M,w,S,A,R,u)):!1}Ae.exports=v},55005:function(Ae,Ce,Z){var X=Z(66139),q=Z(93913),H="[object Map]";function b(z){return q(z)&&X(z)==H}Ae.exports=b},51524:function(Ae,Ce,Z){var X=Z(91866),q=Z(77295),H=1,b=2;function z(P,T,x,O){var _=x.length,g=_,m=!O;if(P==null)return!g;for(P=Object(P);_--;){var L=x[_];if(m&&L[2]?L[1]!==P[L[0]]:!(L[0]in P))return!1}for(;++_<g;){L=x[_];var d=L[0],v=P[d],M=L[1];if(m&&L[2]){if(v===void 0&&!(d in P))return!1}else{var w=new X;if(O)var S=O(v,M,d,P,T,w);if(!(S===void 0?q(M,v,H|b,O,w):S))return!1}}return!0}Ae.exports=z},8373:function(Ae){function Ce(Z){return Z!==Z}Ae.exports=Ce},38652:function(Ae,Ce,Z){var X=Z(66139),q=Z(93913),H="[object Set]";function b(z){return q(z)&&X(z)==H}Ae.exports=b},95979:function(Ae,Ce,Z){var X=Z(17632),q=Z(38933),H=Z(46962),b=Z(80744),z=Z(35769);function P(T){return typeof T=="function"?T:T==null?H:typeof T=="object"?b(T)?q(T[0],T[1]):X(T):z(T)}Ae.exports=P},6019:function(Ae,Ce,Z){var X=Z(7975),q=Z(23730),H=Object.prototype,b=H.hasOwnProperty;function z(P){if(!X(P))return q(P);var T=[];for(var x in Object(P))b.call(P,x)&&x!="constructor"&&T.push(x);return T}Ae.exports=z},93757:function(Ae){function Ce(Z,X){return Z<X}Ae.exports=Ce},65487:function(Ae,Ce,Z){var X=Z(44107),q=Z(24665);function H(b,z){var P=-1,T=q(b)?Array(b.length):[];return X(b,function(x,O,_){T[++P]=z(x,O,_)}),T}Ae.exports=H},17632:function(Ae,Ce,Z){var X=Z(51524),q=Z(10261),H=Z(24122);function b(z){var P=q(z);return P.length==1&&P[0][2]?H(P[0][0],P[0][1]):function(T){return T===z||X(T,z,P)}}Ae.exports=b},38933:function(Ae,Ce,Z){var X=Z(77295),q=Z(44231),H=Z(37879),b=Z(86773),z=Z(88411),P=Z(24122),T=Z(9171),x=1,O=2;function _(g,m){return b(g)&&z(m)?P(T(g),m):function(L){var d=q(L,g);return d===void 0&&d===m?H(L,g):X(m,d,x|O)}}Ae.exports=_},58506:function(Ae,Ce,Z){var X=Z(75010),q=Z(89147),H=Z(95979),b=Z(65487),z=Z(33065),P=Z(38342),T=Z(11249),x=Z(46962),O=Z(80744);function _(g,m,L){m.length?m=X(m,function(M){return O(M)?function(w){return q(w,M.length===1?M[0]:M)}:M}):m=[x];var d=-1;m=X(m,P(H));var v=b(g,function(M,w,S){var A=X(m,function(R){return R(M)});return{criteria:A,index:++d,value:M}});return z(v,function(M,w){return T(M,w,L)})}Ae.exports=_},88832:function(Ae,Ce,Z){var X=Z(10867),q=Z(37879);function H(b,z){return X(b,z,function(P,T){return q(b,T)})}Ae.exports=H},10867:function(Ae,Ce,Z){var X=Z(89147),q=Z(36897),H=Z(1186);function b(z,P,T){for(var x=-1,O=P.length,_={};++x<O;){var g=P[x],m=X(z,g);T(m,g)&&q(_,H(g,z),m)}return _}Ae.exports=b},22310:function(Ae){function Ce(Z){return function(X){return X==null?void 0:X[Z]}}Ae.exports=Ce},96916:function(Ae,Ce,Z){var X=Z(89147);function q(H){return function(b){return X(b,H)}}Ae.exports=q},36121:function(Ae){var Ce=Math.ceil,Z=Math.max;function X(q,H,b,z){for(var P=-1,T=Z(Ce((H-q)/(b||1)),0),x=Array(T);T--;)x[z?T:++P]=q,q+=b;return x}Ae.exports=X},30739:function(Ae){function Ce(Z,X,q,H,b){return b(Z,function(z,P,T){q=H?(H=!1,z):X(q,z,P,T)}),q}Ae.exports=Ce},36897:function(Ae,Ce,Z){var X=Z(60348),q=Z(1186),H=Z(70213),b=Z(20816),z=Z(9171);function P(T,x,O,_){if(!b(T))return T;x=q(x,T);for(var g=-1,m=x.length,L=m-1,d=T;d!=null&&++g<m;){var v=z(x[g]),M=O;if(v==="__proto__"||v==="constructor"||v==="prototype")return T;if(g!=L){var w=d[v];M=_?_(w,v,d):void 0,M===void 0&&(M=b(w)?w:H(x[g+1])?[]:{})}X(d,v,M),d=d[v]}return T}Ae.exports=P},33065:function(Ae){function Ce(Z,X){var q=Z.length;for(Z.sort(X);q--;)Z[q]=Z[q].value;return Z}Ae.exports=Ce},50230:function(Ae,Ce,Z){var X=Z(91869),q=Z(75010),H=Z(80744),b=Z(45029),z=1/0,P=X?X.prototype:void 0,T=P?P.toString:void 0;function x(O){if(typeof O=="string")return O;if(H(O))return q(O,x)+"";if(b(O))return T?T.call(O):"";var _=O+"";return _=="0"&&1/O==-z?"-0":_}Ae.exports=x},13927:function(Ae,Ce,Z){var X=Z(15333),q=/^\s+/;function H(b){return b&&b.slice(0,X(b)+1).replace(q,"")}Ae.exports=H},29098:function(Ae,Ce,Z){var X=Z(98924),q=Z(84271),H=Z(94874),b=Z(1931),z=Z(47506),P=Z(79679),T=200;function x(O,_,g){var m=-1,L=q,d=O.length,v=!0,M=[],w=M;if(g)v=!1,L=H;else if(d>=T){var S=_?null:z(O);if(S)return P(S);v=!1,L=b,w=new X}else w=_?[]:M;e:for(;++m<d;){var A=O[m],R=_?_(A):A;if(A=g||A!==0?A:0,v&&R===R){for(var u=w.length;u--;)if(w[u]===R)continue e;_&&w.push(R),M.push(A)}else L(w,R,g)||(w!==M&&w.push(R),M.push(A))}return M}Ae.exports=x},20720:function(Ae,Ce,Z){var X=Z(75010);function q(H,b){return X(b,function(z){return H[z]})}Ae.exports=q},94484:function(Ae){function Ce(Z,X,q){for(var H=-1,b=Z.length,z=X.length,P={};++H<b;){var T=H<z?X[H]:void 0;q(P,Z[H],T)}return P}Ae.exports=Ce},1931:function(Ae){function Ce(Z,X){return Z.has(X)}Ae.exports=Ce},11756:function(Ae,Ce,Z){var X=Z(46962);function q(H){return typeof H=="function"?H:X}Ae.exports=q},1186:function(Ae,Ce,Z){var X=Z(80744),q=Z(86773),H=Z(40493),b=Z(44140);function z(P,T){return X(P)?P:q(P,T)?[P]:H(b(P))}Ae.exports=z},27984:function(Ae,Ce,Z){var X=Z(20188);function q(H,b){var z=b?X(H.buffer):H.buffer;return new H.constructor(z,H.byteOffset,H.byteLength)}Ae.exports=q},78583:function(Ae){var Ce=/\w*$/;function Z(X){var q=new X.constructor(X.source,Ce.exec(X));return q.lastIndex=X.lastIndex,q}Ae.exports=Z},28757:function(Ae,Ce,Z){var X=Z(91869),q=X?X.prototype:void 0,H=q?q.valueOf:void 0;function b(z){return H?Object(H.call(z)):{}}Ae.exports=b},83018:function(Ae,Ce,Z){var X=Z(45029);function q(H,b){if(H!==b){var z=H!==void 0,P=H===null,T=H===H,x=X(H),O=b!==void 0,_=b===null,g=b===b,m=X(b);if(!_&&!m&&!x&&H>b||x&&O&&g&&!_&&!m||P&&O&&g||!z&&g||!T)return 1;if(!P&&!x&&!m&&H<b||m&&z&&T&&!P&&!x||_&&z&&T||!O&&T||!g)return-1}return 0}Ae.exports=q},11249:function(Ae,Ce,Z){var X=Z(83018);function q(H,b,z){for(var P=-1,T=H.criteria,x=b.criteria,O=T.length,_=z.length;++P<O;){var g=X(T[P],x[P]);if(g){if(P>=_)return g;var m=z[P];return g*(m=="desc"?-1:1)}}return H.index-b.index}Ae.exports=q},15168:function(Ae,Ce,Z){var X=Z(95378),q=Z(58966);function H(b,z){return X(b,q(b),z)}Ae.exports=H},71678:function(Ae,Ce,Z){var X=Z(95378),q=Z(66817);function H(b,z){return X(b,q(b),z)}Ae.exports=H},49164:function(Ae,Ce,Z){var X=Z(24665);function q(H,b){return function(z,P){if(z==null)return z;if(!X(z))return H(z,P);for(var T=z.length,x=b?T:-1,O=Object(z);(b?x--:++x<T)&&P(O[x],x,O)!==!1;);return z}}Ae.exports=q},19554:function(Ae,Ce,Z){var X=Z(95979),q=Z(24665),H=Z(55451);function b(z){return function(P,T,x){var O=Object(P);if(!q(P)){var _=X(T,3);P=H(P),T=function(m){return _(O[m],m,O)}}var g=z(P,T,x);return g>-1?O[_?P[g]:g]:void 0}}Ae.exports=b},76106:function(Ae,Ce,Z){var X=Z(36121),q=Z(8138),H=Z(97341);function b(z){return function(P,T,x){return x&&typeof x!="number"&&q(P,T,x)&&(T=x=void 0),P=H(P),T===void 0?(T=P,P=0):T=H(T),x=x===void 0?P<T?1:-1:H(x),X(P,T,x,z)}}Ae.exports=b},47506:function(Ae,Ce,Z){var X=Z(23599),q=Z(9958),H=Z(79679),b=1/0,z=X&&1/H(new X([,-0]))[1]==b?function(P){return new X(P)}:q;Ae.exports=z},50401:function(Ae,Ce,Z){var X=Z(98924),q=Z(64045),H=Z(1931),b=1,z=2;function P(T,x,O,_,g,m){var L=O&b,d=T.length,v=x.length;if(d!=v&&!(L&&v>d))return!1;var M=m.get(T),w=m.get(x);if(M&&w)return M==x&&w==T;var S=-1,A=!0,R=O&z?new X:void 0;for(m.set(T,x),m.set(x,T);++S<d;){var u=T[S],f=x[S];if(_)var y=L?_(f,u,S,x,T,m):_(u,f,S,T,x,m);if(y!==void 0){if(y)continue;A=!1;break}if(R){if(!q(x,function(D,I){if(!H(R,I)&&(u===D||g(u,D,O,_,m)))return R.push(I)})){A=!1;break}}else if(!(u===f||g(u,f,O,_,m))){A=!1;break}}return m.delete(T),m.delete(x),A}Ae.exports=P},57710:function(Ae,Ce,Z){var X=Z(91869),q=Z(77945),H=Z(43607),b=Z(50401),z=Z(83383),P=Z(79679),T=1,x=2,O="[object Boolean]",_="[object Date]",g="[object Error]",m="[object Map]",L="[object Number]",d="[object RegExp]",v="[object Set]",M="[object String]",w="[object Symbol]",S="[object ArrayBuffer]",A="[object DataView]",R=X?X.prototype:void 0,u=R?R.valueOf:void 0;function f(y,D,I,U,F,G,Y){switch(I){case A:if(y.byteLength!=D.byteLength||y.byteOffset!=D.byteOffset)return!1;y=y.buffer,D=D.buffer;case S:return!(y.byteLength!=D.byteLength||!G(new q(y),new q(D)));case O:case _:case L:return H(+y,+D);case g:return y.name==D.name&&y.message==D.message;case d:case M:return y==D+"";case m:var te=z;case v:var $=U&T;if(te||(te=P),y.size!=D.size&&!$)return!1;var oe=Y.get(y);if(oe)return oe==D;U|=x,Y.set(y,D);var ie=b(te(y),te(D),U,F,G,Y);return Y.delete(y),ie;case w:if(u)return u.call(y)==u.call(D)}return!1}Ae.exports=f},4983:function(Ae,Ce,Z){var X=Z(12076),q=1,H=Object.prototype,b=H.hasOwnProperty;function z(P,T,x,O,_,g){var m=x&q,L=X(P),d=L.length,v=X(T),M=v.length;if(d!=M&&!m)return!1;for(var w=d;w--;){var S=L[w];if(!(m?S in T:b.call(T,S)))return!1}var A=g.get(P),R=g.get(T);if(A&&R)return A==T&&R==P;var u=!0;g.set(P,T),g.set(T,P);for(var f=m;++w<d;){S=L[w];var y=P[S],D=T[S];if(O)var I=m?O(D,y,S,T,P,g):O(y,D,S,P,T,g);if(!(I===void 0?y===D||_(y,D,x,O,g):I)){u=!1;break}f||(f=S=="constructor")}if(u&&!f){var U=P.constructor,F=T.constructor;U!=F&&"constructor"in P&&"constructor"in T&&!(typeof U=="function"&&U instanceof U&&typeof F=="function"&&F instanceof F)&&(u=!1)}return g.delete(P),g.delete(T),u}Ae.exports=z},522:function(Ae,Ce,Z){var X=Z(40151),q=Z(19652),H=Z(71152);function b(z){return H(q(z,void 0,X),z+"")}Ae.exports=b},12076:function(Ae,Ce,Z){var X=Z(75635),q=Z(58966),H=Z(55451);function b(z){return X(z,H,q)}Ae.exports=b},22675:function(Ae,Ce,Z){var X=Z(75635),q=Z(66817),H=Z(56730);function b(z){return X(z,H,q)}Ae.exports=b},10261:function(Ae,Ce,Z){var X=Z(88411),q=Z(55451);function H(b){for(var z=q(b),P=z.length;P--;){var T=z[P],x=b[T];z[P]=[T,x,X(x)]}return z}Ae.exports=H},58966:function(Ae,Ce,Z){var X=Z(86952),q=Z(4134),H=Object.prototype,b=H.propertyIsEnumerable,z=Object.getOwnPropertySymbols,P=z?function(T){return T==null?[]:(T=Object(T),X(z(T),function(x){return b.call(T,x)}))}:q;Ae.exports=P},66817:function(Ae,Ce,Z){var X=Z(57095),q=Z(49217),H=Z(58966),b=Z(4134),z=Object.getOwnPropertySymbols,P=z?function(T){for(var x=[];T;)X(x,H(T)),T=q(T);return x}:b;Ae.exports=P},66139:function(Ae,Ce,Z){var X=Z(15584),q=Z(40164),H=Z(97288),b=Z(23599),z=Z(26873),P=Z(86756),T=Z(63256),x="[object Map]",O="[object Object]",_="[object Promise]",g="[object Set]",m="[object WeakMap]",L="[object DataView]",d=T(X),v=T(q),M=T(H),w=T(b),S=T(z),A=P;(X&&A(new X(new ArrayBuffer(1)))!=L||q&&A(new q)!=x||H&&A(H.resolve())!=_||b&&A(new b)!=g||z&&A(new z)!=m)&&(A=function(R){var u=P(R),f=u==O?R.constructor:void 0,y=f?T(f):"";if(y)switch(y){case d:return L;case v:return x;case M:return _;case w:return g;case S:return m}return u}),Ae.exports=A},63100:function(Ae,Ce,Z){var X=Z(1186),q=Z(13053),H=Z(80744),b=Z(70213),z=Z(11156),P=Z(9171);function T(x,O,_){O=X(O,x);for(var g=-1,m=O.length,L=!1;++g<m;){var d=P(O[g]);if(!(L=x!=null&&_(x,d)))break;x=x[d]}return L||++g!=m?L:(m=x==null?0:x.length,!!m&&z(m)&&b(d,m)&&(H(x)||q(x)))}Ae.exports=T},55015:function(Ae){var Ce="\\ud800-\\udfff",Z="\\u0300-\\u036f",X="\\ufe20-\\ufe2f",q="\\u20d0-\\u20ff",H=Z+X+q,b="\\ufe0e\\ufe0f",z="\\u200d",P=RegExp("["+z+Ce+H+b+"]");function T(x){return P.test(x)}Ae.exports=T},79264:function(Ae){var Ce=Object.prototype,Z=Ce.hasOwnProperty;function X(q){var H=q.length,b=new q.constructor(H);return H&&typeof q[0]=="string"&&Z.call(q,"index")&&(b.index=q.index,b.input=q.input),b}Ae.exports=X},97541:function(Ae,Ce,Z){var X=Z(20188),q=Z(27984),H=Z(78583),b=Z(28757),z=Z(78358),P="[object Boolean]",T="[object Date]",x="[object Map]",O="[object Number]",_="[object RegExp]",g="[object Set]",m="[object String]",L="[object Symbol]",d="[object ArrayBuffer]",v="[object DataView]",M="[object Float32Array]",w="[object Float64Array]",S="[object Int8Array]",A="[object Int16Array]",R="[object Int32Array]",u="[object Uint8Array]",f="[object Uint8ClampedArray]",y="[object Uint16Array]",D="[object Uint32Array]";function I(U,F,G){var Y=U.constructor;switch(F){case d:return X(U);case P:case T:return new Y(+U);case v:return q(U,G);case M:case w:case S:case A:case R:case u:case f:case y:case D:return z(U,G);case x:return new Y;case O:case m:return new Y(U);case _:return H(U);case g:return new Y;case L:return b(U)}}Ae.exports=I},88133:function(Ae,Ce,Z){var X=Z(91869),q=Z(13053),H=Z(80744),b=X?X.isConcatSpreadable:void 0;function z(P){return H(P)||q(P)||!!(b&&P&&P[b])}Ae.exports=z},86773:function(Ae,Ce,Z){var X=Z(80744),q=Z(45029),H=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,b=/^\w*$/;function z(P,T){if(X(P))return!1;var x=typeof P;return x=="number"||x=="symbol"||x=="boolean"||P==null||q(P)?!0:b.test(P)||!H.test(P)||T!=null&&P in Object(T)}Ae.exports=z},88411:function(Ae,Ce,Z){var X=Z(20816);function q(H){return H===H&&!X(H)}Ae.exports=q},83383:function(Ae){function Ce(Z){var X=-1,q=Array(Z.size);return Z.forEach(function(H,b){q[++X]=[b,H]}),q}Ae.exports=Ce},24122:function(Ae){function Ce(Z,X){return function(q){return q==null?!1:q[Z]===X&&(X!==void 0||Z in Object(q))}}Ae.exports=Ce},26332:function(Ae,Ce,Z){var X=Z(52858),q=500;function H(b){var z=X(b,function(T){return P.size===q&&P.clear(),T}),P=z.cache;return z}Ae.exports=H},23730:function(Ae,Ce,Z){var X=Z(31030),q=X(Object.keys,Object);Ae.exports=q},34776:function(Ae){var Ce="__lodash_hash_undefined__";function Z(X){return this.__data__.set(X,Ce),this}Ae.exports=Z},40393:function(Ae){function Ce(Z){return this.__data__.has(Z)}Ae.exports=Ce},79679:function(Ae){function Ce(Z){var X=-1,q=Array(Z.size);return Z.forEach(function(H){q[++X]=H}),q}Ae.exports=Ce},49237:function(Ae){function Ce(Z,X,q){for(var H=q-1,b=Z.length;++H<b;)if(Z[H]===X)return H;return-1}Ae.exports=Ce},29405:function(Ae,Ce,Z){var X=Z(26539),q=Z(55015),H=Z(60844);function b(z){return q(z)?H(z):X(z)}Ae.exports=b},40493:function(Ae,Ce,Z){var X=Z(26332),q=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,H=/\\(\\)?/g,b=X(function(z){var P=[];return z.charCodeAt(0)===46&&P.push(""),z.replace(q,function(T,x,O,_){P.push(O?_.replace(H,"$1"):x||T)}),P});Ae.exports=b},9171:function(Ae,Ce,Z){var X=Z(45029),q=1/0;function H(b){if(typeof b=="string"||X(b))return b;var z=b+"";return z=="0"&&1/b==-q?"-0":z}Ae.exports=H},15333:function(Ae){var Ce=/\s/;function Z(X){for(var q=X.length;q--&&Ce.test(X.charAt(q)););return q}Ae.exports=Z},60844:function(Ae){var Ce="\\ud800-\\udfff",Z="\\u0300-\\u036f",X="\\ufe20-\\ufe2f",q="\\u20d0-\\u20ff",H=Z+X+q,b="\\ufe0e\\ufe0f",z="["+Ce+"]",P="["+H+"]",T="\\ud83c[\\udffb-\\udfff]",x="(?:"+P+"|"+T+")",O="[^"+Ce+"]",_="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",m="\\u200d",L=x+"?",d="["+b+"]?",v="(?:"+m+"(?:"+[O,_,g].join("|")+")"+d+L+")*",M=d+L+v,w="(?:"+[O+P+"?",P,_,g,z].join("|")+")",S=RegExp(T+"(?="+T+")|"+w+M,"g");function A(R){for(var u=S.lastIndex=0;S.test(R);)++u;return u}Ae.exports=A},76833:function(Ae,Ce,Z){var X=Z(99045),q=4;function H(b){return X(b,q)}Ae.exports=H},20250:function(Ae,Ce,Z){var X=Z(99045),q=1,H=4;function b(z){return X(z,q|H)}Ae.exports=b},28548:function(Ae,Ce,Z){var X=Z(92918),q=Z(43607),H=Z(8138),b=Z(56730),z=Object.prototype,P=z.hasOwnProperty,T=X(function(x,O){x=Object(x);var _=-1,g=O.length,m=g>2?O[2]:void 0;for(m&&H(O[0],O[1],m)&&(g=1);++_<g;)for(var L=O[_],d=b(L),v=-1,M=d.length;++v<M;){var w=d[v],S=x[w];(S===void 0||q(S,z[w])&&!P.call(x,w))&&(x[w]=L[w])}return x});Ae.exports=T},76934:function(Ae,Ce,Z){Ae.exports=Z(99204)},64725:function(Ae,Ce,Z){var X=Z(86952),q=Z(32872),H=Z(95979),b=Z(80744);function z(P,T){var x=b(P)?X:q;return x(P,H(T,3))}Ae.exports=z},79785:function(Ae,Ce,Z){var X=Z(19554),q=Z(9991),H=X(q);Ae.exports=H},9991:function(Ae,Ce,Z){var X=Z(51533),q=Z(95979),H=Z(12824),b=Math.max;function z(P,T,x){var O=P==null?0:P.length;if(!O)return-1;var _=x==null?0:H(x);return _<0&&(_=b(O+_,0)),X(P,q(T,3),_)}Ae.exports=z},40151:function(Ae,Ce,Z){var X=Z(9256);function q(H){var b=H==null?0:H.length;return b?X(H,1):[]}Ae.exports=q},99204:function(Ae,Ce,Z){var X=Z(60661),q=Z(44107),H=Z(11756),b=Z(80744);function z(P,T){var x=b(P)?X:q;return x(P,H(T))}Ae.exports=z},23190:function(Ae,Ce,Z){var X=Z(14018),q=Z(11756),H=Z(56730);function b(z,P){return z==null?z:X(z,q(P),H)}Ae.exports=b},44231:function(Ae,Ce,Z){var X=Z(89147);function q(H,b,z){var P=H==null?void 0:X(H,b);return P===void 0?z:P}Ae.exports=q},99946:function(Ae,Ce,Z){var X=Z(3251),q=Z(63100);function H(b,z){return b!=null&&q(b,z,X)}Ae.exports=H},37879:function(Ae,Ce,Z){var X=Z(62348),q=Z(63100);function H(b,z){return b!=null&&q(b,z,X)}Ae.exports=H},61627:function(Ae,Ce,Z){var X=Z(6019),q=Z(66139),H=Z(13053),b=Z(80744),z=Z(24665),P=Z(57835),T=Z(7975),x=Z(18397),O="[object Map]",_="[object Set]",g=Object.prototype,m=g.hasOwnProperty;function L(d){if(d==null)return!0;if(z(d)&&(b(d)||typeof d=="string"||typeof d.splice=="function"||P(d)||x(d)||H(d)))return!d.length;var v=q(d);if(v==O||v==_)return!d.size;if(T(d))return!X(d).length;for(var M in d)if(m.call(d,M))return!1;return!0}Ae.exports=L},41626:function(Ae,Ce,Z){var X=Z(55005),q=Z(38342),H=Z(52495),b=H&&H.isMap,z=b?q(b):X;Ae.exports=z},65226:function(Ae,Ce,Z){var X=Z(38652),q=Z(38342),H=Z(52495),b=H&&H.isSet,z=b?q(b):X;Ae.exports=z},7941:function(Ae,Ce,Z){var X=Z(86756),q=Z(80744),H=Z(93913),b="[object String]";function z(P){return typeof P=="string"||!q(P)&&H(P)&&X(P)==b}Ae.exports=z},45029:function(Ae,Ce,Z){var X=Z(86756),q=Z(93913),H="[object Symbol]";function b(z){return typeof z=="symbol"||q(z)&&X(z)==H}Ae.exports=b},16513:function(Ae){function Ce(Z){return Z===void 0}Ae.exports=Ce},55451:function(Ae,Ce,Z){var X=Z(63333),q=Z(6019),H=Z(24665);function b(z){return H(z)?X(z):q(z)}Ae.exports=b},10611:function(Ae){function Ce(Z){var X=Z==null?0:Z.length;return X?Z[X-1]:void 0}Ae.exports=Ce},9924:function(Ae,Ce,Z){var X=Z(75010),q=Z(95979),H=Z(65487),b=Z(80744);function z(P,T){var x=b(P)?X:H;return x(P,q(T,3))}Ae.exports=z},70642:function(Ae,Ce,Z){var X=Z(42813),q=Z(85605),H=Z(95979);function b(z,P){var T={};return P=H(P,3),q(z,function(x,O,_){X(T,O,P(x,O,_))}),T}Ae.exports=b},95987:function(Ae,Ce,Z){var X=Z(2659),q=Z(40302),H=Z(46962);function b(z){return z&&z.length?X(z,H,q):void 0}Ae.exports=b},52858:function(Ae,Ce,Z){var X=Z(52166),q="Expected a function";function H(b,z){if(typeof b!="function"||z!=null&&typeof z!="function")throw new TypeError(q);var P=function(){var T=arguments,x=z?z.apply(this,T):T[0],O=P.cache;if(O.has(x))return O.get(x);var _=b.apply(this,T);return P.cache=O.set(x,_)||O,_};return P.cache=new(H.Cache||X),P}H.Cache=X,Ae.exports=H},73376:function(Ae,Ce,Z){var X=Z(2659),q=Z(93757),H=Z(46962);function b(z){return z&&z.length?X(z,H,q):void 0}Ae.exports=b},83296:function(Ae,Ce,Z){var X=Z(2659),q=Z(95979),H=Z(93757);function b(z,P){return z&&z.length?X(z,q(P,2),H):void 0}Ae.exports=b},9958:function(Ae){function Ce(){}Ae.exports=Ce},5795:function(Ae,Ce,Z){var X=Z(33152),q=function(){return X.Date.now()};Ae.exports=q},89409:function(Ae,Ce,Z){var X=Z(88832),q=Z(522),H=q(function(b,z){return b==null?{}:X(b,z)});Ae.exports=H},35769:function(Ae,Ce,Z){var X=Z(22310),q=Z(96916),H=Z(86773),b=Z(9171);function z(P){return H(P)?X(b(P)):q(P)}Ae.exports=z},60859:function(Ae,Ce,Z){var X=Z(76106),q=X();Ae.exports=q},16473:function(Ae,Ce,Z){var X=Z(99861),q=Z(44107),H=Z(95979),b=Z(30739),z=Z(80744);function P(T,x,O){var _=z(T)?X:b,g=arguments.length<3;return _(T,H(x,4),O,g,q)}Ae.exports=P},40617:function(Ae,Ce,Z){var X=Z(6019),q=Z(66139),H=Z(24665),b=Z(7941),z=Z(29405),P="[object Map]",T="[object Set]";function x(O){if(O==null)return 0;if(H(O))return b(O)?z(O):O.length;var _=q(O);return _==P||_==T?O.size:X(O).length}Ae.exports=x},351:function(Ae,Ce,Z){var X=Z(9256),q=Z(58506),H=Z(92918),b=Z(8138),z=H(function(P,T){if(P==null)return[];var x=T.length;return x>1&&b(P,T[0],T[1])?T=[]:x>2&&b(T[0],T[1],T[2])&&(T=[T[0]]),q(P,X(T,1),[])});Ae.exports=z},4134:function(Ae){function Ce(){return[]}Ae.exports=Ce},97341:function(Ae,Ce,Z){var X=Z(59406),q=1/0,H=17976931348623157e292;function b(z){if(!z)return z===0?z:0;if(z=X(z),z===q||z===-q){var P=z<0?-1:1;return P*H}return z===z?z:0}Ae.exports=b},12824:function(Ae,Ce,Z){var X=Z(97341);function q(H){var b=X(H),z=b%1;return b===b?z?b-z:b:0}Ae.exports=q},59406:function(Ae,Ce,Z){var X=Z(13927),q=Z(20816),H=Z(45029),b=NaN,z=/^[-+]0x[0-9a-f]+$/i,P=/^0b[01]+$/i,T=/^0o[0-7]+$/i,x=parseInt;function O(_){if(typeof _=="number")return _;if(H(_))return b;if(q(_)){var g=typeof _.valueOf=="function"?_.valueOf():_;_=q(g)?g+"":g}if(typeof _!="string")return _===0?_:+_;_=X(_);var m=P.test(_);return m||T.test(_)?x(_.slice(2),m?2:8):z.test(_)?b:+_}Ae.exports=O},44140:function(Ae,Ce,Z){var X=Z(50230);function q(H){return H==null?"":X(H)}Ae.exports=q},91116:function(Ae,Ce,Z){var X=Z(60661),q=Z(35024),H=Z(85605),b=Z(95979),z=Z(49217),P=Z(80744),T=Z(57835),x=Z(9363),O=Z(20816),_=Z(18397);function g(m,L,d){var v=P(m),M=v||T(m)||_(m);if(L=b(L,4),d==null){var w=m&&m.constructor;M?d=v?new w:[]:O(m)?d=x(w)?q(z(m)):{}:d={}}return(M?X:H)(m,function(S,A,R){return L(d,S,A,R)}),d}Ae.exports=g},44065:function(Ae,Ce,Z){var X=Z(9256),q=Z(92918),H=Z(29098),b=Z(41590),z=q(function(P){return H(X(P,1,b,!0))});Ae.exports=z},95708:function(Ae,Ce,Z){var X=Z(44140),q=0;function H(b){var z=++q;return X(b)+z}Ae.exports=H},81229:function(Ae,Ce,Z){var X=Z(20720),q=Z(55451);function H(b){return b==null?[]:X(b,q(b))}Ae.exports=H},65441:function(Ae,Ce,Z){var X=Z(60348),q=Z(94484);function H(b,z){return q(b||[],z||[],X)}Ae.exports=H},34402:function(Ae,Ce,Z){"use strict";Z.r(Ce),Z.d(Ce,{default:function(){return b}});var X=Z(34634);function q(z){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,X.isAnyArray)(z))throw new TypeError("input must be an array");if(z.length===0)throw new TypeError("input must not be empty");var T=P.fromIndex,x=T===void 0?0:T,O=P.toIndex,_=O===void 0?z.length:O;if(x<0||x>=z.length||!Number.isInteger(x))throw new Error("fromIndex must be a positive integer smaller than length");if(_<=x||_>z.length||!Number.isInteger(_))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var g=z[x],m=x+1;m<_;m++)z[m]>g&&(g=z[m]);return g}function H(z){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,X.isAnyArray)(z))throw new TypeError("input must be an array");if(z.length===0)throw new TypeError("input must not be empty");var T=P.fromIndex,x=T===void 0?0:T,O=P.toIndex,_=O===void 0?z.length:O;if(x<0||x>=z.length||!Number.isInteger(x))throw new Error("fromIndex must be a positive integer smaller than length");if(_<=x||_>z.length||!Number.isInteger(_))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var g=z[x],m=x+1;m<_;m++)z[m]<g&&(g=z[m]);return g}function b(z){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if((0,X.isAnyArray)(z)){if(z.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var T;if(P.output!==void 0){if(!(0,X.isAnyArray)(P.output))throw new TypeError("output option must be an array if specified");T=P.output}else T=new Array(z.length);var x=H(z),O=q(z);if(x===O)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var _=P.min,g=_===void 0?P.autoMinMax?x:0:_,m=P.max,L=m===void 0?P.autoMinMax?O:1:m;if(g>=L)throw new RangeError("min option must be smaller than max option");for(var d=(L-g)/(O-x),v=0;v<z.length;v++)T[v]=(z[v]-x)*d+g;return T}},17115:function(Ae,Ce,Z){"use strict";Z.d(Ce,{ZP:function(){return T}});var X=Z(52487),q=Z(59301),H=Z(47273),b=0,z=(0,H.Z)();function P(){var x;return z?(x=b,b+=1):x="TEST_OR_SSR",x}function T(x){var O=q.useState(),_=(0,X.Z)(O,2),g=_[0],m=_[1];return q.useEffect(function(){m("rc_select_".concat(P()))},[]),x||g}},77861:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Ac:function(){return Qe},Xo:function(){return zt},Wx:function(){return pn},ZP:function(){return J},lk:function(){return u}});var X=Z(72308),q=Z(80702),H=Z(49618),b=Z(77321),z=Z(52487),P=Z(74416),T=Z(62853),x=Z(18929),O=Z(48736),_=Z(59301),g=Z(92310),m=Z.n(g),L=Z(34280),d=Z(49658),v=Z(10228),M=Z(8654),w=function(ce){var Oe=ce.className,Se=ce.customizeIcon,ze=ce.customizeIconProps,je=ce.onMouseDown,rt=ce.onClick,ot=ce.children,$e;return typeof Se=="function"?$e=Se(ze):$e=Se,_.createElement("span",{className:Oe,onMouseDown:function(ut){ut.preventDefault(),je&&je(ut)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:rt,"aria-hidden":!0},$e!==void 0?$e:_.createElement("span",{className:m()(Oe.split(/\s+/).map(function(it){return"".concat(it,"-icon")}))},ot))},S=w;function A(ue,ce,Oe,Se,ze){var je=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,rt=arguments.length>6?arguments[6]:void 0,ot=arguments.length>7?arguments[7]:void 0,$e=_.useMemo(function(){if((0,T.Z)(Se)==="object")return Se.clearIcon;if(ze)return ze},[Se,ze]),it=_.useMemo(function(){return!!(!je&&Se&&(Oe.length||rt)&&!(ot==="combobox"&&rt===""))},[Se,je,Oe.length,rt,ot]);return{allowClear:it,clearIcon:_.createElement(S,{className:"".concat(ue,"-clear"),onMouseDown:ce,customizeIcon:$e},"\xD7")}}var R=_.createContext(null);function u(){return _.useContext(R)}function f(){var ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,ce=_.useState(!1),Oe=(0,z.Z)(ce,2),Se=Oe[0],ze=Oe[1],je=_.useRef(null),rt=function(){window.clearTimeout(je.current)};_.useEffect(function(){return rt},[]);var ot=function(it,ut){rt(),je.current=window.setTimeout(function(){ze(it),ut&&ut()},ue)};return[Se,ot,rt]}function y(){var ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,ce=_.useRef(null),Oe=_.useRef(null);_.useEffect(function(){return function(){window.clearTimeout(Oe.current)}},[]);function Se(ze){(ze||ce.current===null)&&(ce.current=ze),window.clearTimeout(Oe.current),Oe.current=window.setTimeout(function(){ce.current=null},ue)}return[function(){return ce.current},Se]}function D(ue,ce,Oe,Se){var ze=_.useRef(null);ze.current={open:ce,triggerOpen:Oe,customizedTrigger:Se},_.useEffect(function(){function je(rt){var ot;if(!((ot=ze.current)!==null&&ot!==void 0&&ot.customizedTrigger)){var $e=rt.target;$e.shadowRoot&&rt.composed&&($e=rt.composedPath()[0]||$e),ze.current.open&&ue().filter(function(it){return it}).every(function(it){return!it.contains($e)&&it!==$e})&&ze.current.triggerOpen(!1)}}return window.addEventListener("mousedown",je),function(){return window.removeEventListener("mousedown",je)}},[])}var I=Z(26112),U=Z(11780),F=function(ce,Oe){var Se,ze,je=ce.prefixCls,rt=ce.id,ot=ce.inputElement,$e=ce.disabled,it=ce.tabIndex,ut=ce.autoFocus,ke=ce.autoComplete,at=ce.editable,vt=ce.activeDescendantId,Pt=ce.value,kt=ce.maxLength,Zt=ce.onKeyDown,Ct=ce.onMouseDown,Bt=ce.onChange,Vt=ce.onPaste,lt=ce.onCompositionStart,wt=ce.onCompositionEnd,Lt=ce.open,It=ce.attrs,fn=ot||_.createElement("input",null),Yt=fn,Qt=Yt.ref,Jt=Yt.props,_n=Jt.onKeyDown,yn=Jt.onChange,cn=Jt.onMouseDown,Zn=Jt.onCompositionStart,Nn=Jt.onCompositionEnd,tn=Jt.style;return(0,O.Kp)(!("maxLength"in fn.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),fn=_.cloneElement(fn,(0,b.Z)((0,b.Z)((0,b.Z)({type:"search"},Jt),{},{id:rt,ref:(0,M.sQ)(Oe,Qt),disabled:$e,tabIndex:it,autoComplete:ke||"off",autoFocus:ut,className:m()("".concat(je,"-selection-search-input"),(Se=fn)===null||Se===void 0||(ze=Se.props)===null||ze===void 0?void 0:ze.className),role:"combobox","aria-label":"Search","aria-expanded":Lt||!1,"aria-haspopup":"listbox","aria-owns":"".concat(rt,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(rt,"_list"),"aria-activedescendant":Lt?vt:void 0},It),{},{value:at?Pt:"",maxLength:kt,readOnly:!at,unselectable:at?null:"on",style:(0,b.Z)((0,b.Z)({},tn),{},{opacity:at?null:0}),onKeyDown:function(Bn){Zt(Bn),_n&&_n(Bn)},onMouseDown:function(Bn){Ct(Bn),cn&&cn(Bn)},onChange:function(Bn){Bt(Bn),yn&&yn(Bn)},onCompositionStart:function(Bn){lt(Bn),Zn&&Zn(Bn)},onCompositionEnd:function(Bn){wt(Bn),Nn&&Nn(Bn)},onPaste:Vt})),fn},G=_.forwardRef(F);G.displayName="Input";var Y=G;function te(ue){return Array.isArray(ue)?ue:ue!==void 0?[ue]:[]}var $=typeof window!="undefined"&&window.document&&window.document.documentElement,oe=$;function ie(ue){return ue!=null}function ne(ue){return!ue&&ue!==0}function le(ue){return["string","number"].includes((0,T.Z)(ue))}function ae(ue){var ce=void 0;return ue&&(le(ue.title)?ce=ue.title.toString():le(ue.label)&&(ce=ue.label.toString())),ce}function de(ue,ce){oe?_.useLayoutEffect(ue,ce):_.useEffect(ue,ce)}function se(ue){var ce;return(ce=ue.key)!==null&&ce!==void 0?ce:ue.value}var fe=function(ce){ce.preventDefault(),ce.stopPropagation()},ye=function(ce){var Oe=ce.id,Se=ce.prefixCls,ze=ce.values,je=ce.open,rt=ce.searchValue,ot=ce.autoClearSearchValue,$e=ce.inputRef,it=ce.placeholder,ut=ce.disabled,ke=ce.mode,at=ce.showSearch,vt=ce.autoFocus,Pt=ce.autoComplete,kt=ce.activeDescendantId,Zt=ce.tabIndex,Ct=ce.removeIcon,Bt=ce.maxTagCount,Vt=ce.maxTagTextLength,lt=ce.maxTagPlaceholder,wt=lt===void 0?function(er){return"+ ".concat(er.length," ...")}:lt,Lt=ce.tagRender,It=ce.onToggleOpen,fn=ce.onRemove,Yt=ce.onInputChange,Qt=ce.onInputPaste,Jt=ce.onInputKeyDown,_n=ce.onInputMouseDown,yn=ce.onInputCompositionStart,cn=ce.onInputCompositionEnd,Zn=_.useRef(null),Nn=(0,_.useState)(0),tn=(0,z.Z)(Nn,2),Ln=tn[0],Bn=tn[1],lr=(0,_.useState)(!1),qn=(0,z.Z)(lr,2),Hr=qn[0],hi=qn[1],cr="".concat(Se,"-selection"),fi=je||ke==="multiple"&&ot===!1||ke==="tags"?rt:"",Hi=ke==="tags"||ke==="multiple"&&ot===!1||at&&(je||Hr);de(function(){Bn(Zn.current.scrollWidth)},[fi]);function Kn(er,Dr,qr,Zr,_i){return _.createElement("span",{className:m()("".concat(cr,"-item"),(0,H.Z)({},"".concat(cr,"-item-disabled"),qr)),title:ae(er)},_.createElement("span",{className:"".concat(cr,"-item-content")},Dr),Zr&&_.createElement(S,{className:"".concat(cr,"-item-remove"),onMouseDown:fe,onClick:_i,customizeIcon:Ct},"\xD7"))}function Pn(er,Dr,qr,Zr,_i){var En=function(kn){fe(kn),It(!je)};return _.createElement("span",{onMouseDown:En},Lt({label:Dr,value:er,disabled:qr,closable:Zr,onClose:_i}))}function Qn(er){var Dr=er.disabled,qr=er.label,Zr=er.value,_i=!ut&&!Dr,En=qr;if(typeof Vt=="number"&&(typeof qr=="string"||typeof qr=="number")){var vn=String(En);vn.length>Vt&&(En="".concat(vn.slice(0,Vt),"..."))}var kn=function(Mr){Mr&&Mr.stopPropagation(),fn(er)};return typeof Lt=="function"?Pn(Zr,En,Dr,_i,kn):Kn(er,En,Dr,_i,kn)}function ur(er){var Dr=typeof wt=="function"?wt(er):wt;return Kn({title:Dr},Dr,!1)}var fr=_.createElement("div",{className:"".concat(cr,"-search"),style:{width:Ln},onFocus:function(){hi(!0)},onBlur:function(){hi(!1)}},_.createElement(Y,{ref:$e,open:je,prefixCls:Se,id:Oe,inputElement:null,disabled:ut,autoFocus:vt,autoComplete:Pt,editable:Hi,activeDescendantId:kt,value:fi,onKeyDown:Jt,onMouseDown:_n,onChange:Yt,onPaste:Qt,onCompositionStart:yn,onCompositionEnd:cn,tabIndex:Zt,attrs:(0,I.Z)(ce,!0)}),_.createElement("span",{ref:Zn,className:"".concat(cr,"-search-mirror"),"aria-hidden":!0},fi,"\xA0")),yr=_.createElement(U.Z,{prefixCls:"".concat(cr,"-overflow"),data:ze,renderItem:Qn,renderRest:ur,suffix:fr,itemKey:se,maxCount:Bt});return _.createElement(_.Fragment,null,yr,!ze.length&&!fi&&_.createElement("span",{className:"".concat(cr,"-placeholder")},it))},ge=ye,xe=function(ce){var Oe=ce.inputElement,Se=ce.prefixCls,ze=ce.id,je=ce.inputRef,rt=ce.disabled,ot=ce.autoFocus,$e=ce.autoComplete,it=ce.activeDescendantId,ut=ce.mode,ke=ce.open,at=ce.values,vt=ce.placeholder,Pt=ce.tabIndex,kt=ce.showSearch,Zt=ce.searchValue,Ct=ce.activeValue,Bt=ce.maxLength,Vt=ce.onInputKeyDown,lt=ce.onInputMouseDown,wt=ce.onInputChange,Lt=ce.onInputPaste,It=ce.onInputCompositionStart,fn=ce.onInputCompositionEnd,Yt=ce.title,Qt=_.useState(!1),Jt=(0,z.Z)(Qt,2),_n=Jt[0],yn=Jt[1],cn=ut==="combobox",Zn=cn||kt,Nn=at[0],tn=Zt||"";cn&&Ct&&!_n&&(tn=Ct),_.useEffect(function(){cn&&yn(!1)},[cn,Ct]);var Ln=ut!=="combobox"&&!ke&&!kt?!1:!!tn,Bn=Yt===void 0?ae(Nn):Yt,lr=function(){if(Nn)return null;var Hr=Ln?{visibility:"hidden"}:void 0;return _.createElement("span",{className:"".concat(Se,"-selection-placeholder"),style:Hr},vt)};return _.createElement(_.Fragment,null,_.createElement("span",{className:"".concat(Se,"-selection-search")},_.createElement(Y,{ref:je,prefixCls:Se,id:ze,open:ke,inputElement:Oe,disabled:rt,autoFocus:ot,autoComplete:$e,editable:Zn,activeDescendantId:it,value:tn,onKeyDown:Vt,onMouseDown:lt,onChange:function(Hr){yn(!0),wt(Hr)},onPaste:Lt,onCompositionStart:It,onCompositionEnd:fn,tabIndex:Pt,attrs:(0,I.Z)(ce,!0),maxLength:cn?Bt:void 0})),!cn&&Nn?_.createElement("span",{className:"".concat(Se,"-selection-item"),title:Bn,style:Ln?{visibility:"hidden"}:void 0},Nn.label):null,lr())},Me=xe;function Ne(ue){return![v.Z.ESC,v.Z.SHIFT,v.Z.BACKSPACE,v.Z.TAB,v.Z.WIN_KEY,v.Z.ALT,v.Z.META,v.Z.WIN_KEY_RIGHT,v.Z.CTRL,v.Z.SEMICOLON,v.Z.EQUALS,v.Z.CAPS_LOCK,v.Z.CONTEXT_MENU,v.Z.F1,v.Z.F2,v.Z.F3,v.Z.F4,v.Z.F5,v.Z.F6,v.Z.F7,v.Z.F8,v.Z.F9,v.Z.F10,v.Z.F11,v.Z.F12].includes(ue)}var We=function(ce,Oe){var Se=(0,_.useRef)(null),ze=(0,_.useRef)(!1),je=ce.prefixCls,rt=ce.open,ot=ce.mode,$e=ce.showSearch,it=ce.tokenWithEnter,ut=ce.autoClearSearchValue,ke=ce.onSearch,at=ce.onSearchSubmit,vt=ce.onToggleOpen,Pt=ce.onInputKeyDown,kt=ce.domRef;_.useImperativeHandle(Oe,function(){return{focus:function(){Se.current.focus()},blur:function(){Se.current.blur()}}});var Zt=y(0),Ct=(0,z.Z)(Zt,2),Bt=Ct[0],Vt=Ct[1],lt=function(tn){var Ln=tn.which;(Ln===v.Z.UP||Ln===v.Z.DOWN)&&tn.preventDefault(),Pt&&Pt(tn),Ln===v.Z.ENTER&&ot==="tags"&&!ze.current&&!rt&&(at==null||at(tn.target.value)),Ne(Ln)&&vt(!0)},wt=function(){Vt(!0)},Lt=(0,_.useRef)(null),It=function(tn){ke(tn,!0,ze.current)!==!1&&vt(!0)},fn=function(){ze.current=!0},Yt=function(tn){ze.current=!1,ot!=="combobox"&&It(tn.target.value)},Qt=function(tn){var Ln=tn.target.value;if(it&&Lt.current&&/[\r\n]/.test(Lt.current)){var Bn=Lt.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");Ln=Ln.replace(Bn,Lt.current)}Lt.current=null,It(Ln)},Jt=function(tn){var Ln=tn.clipboardData,Bn=Ln.getData("text");Lt.current=Bn},_n=function(tn){var Ln=tn.target;if(Ln!==Se.current){var Bn=document.body.style.msTouchAction!==void 0;Bn?setTimeout(function(){Se.current.focus()}):Se.current.focus()}},yn=function(tn){var Ln=Bt();tn.target!==Se.current&&!Ln&&ot!=="combobox"&&tn.preventDefault(),(ot!=="combobox"&&(!$e||!Ln)||!rt)&&(rt&&ut!==!1&&ke("",!0,!1),vt())},cn={inputRef:Se,onInputKeyDown:lt,onInputMouseDown:wt,onInputChange:Qt,onInputPaste:Jt,onInputCompositionStart:fn,onInputCompositionEnd:Yt},Zn=ot==="multiple"||ot==="tags"?_.createElement(ge,(0,X.Z)({},ce,cn)):_.createElement(Me,(0,X.Z)({},ce,cn));return _.createElement("div",{ref:kt,className:"".concat(je,"-selector"),onClick:_n,onMouseDown:yn},Zn)},tt=_.forwardRef(We);tt.displayName="Selector";var Je=tt,st=Z(35593),yt=["prefixCls","disabled","visible","children","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],gt=function(ce){var Oe=ce===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:Oe,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:Oe,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:Oe,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:Oe,adjustY:1},htmlRegion:"scroll"}}},Ke=function(ce,Oe){var Se=ce.prefixCls,ze=ce.disabled,je=ce.visible,rt=ce.children,ot=ce.popupElement,$e=ce.animation,it=ce.transitionName,ut=ce.dropdownStyle,ke=ce.dropdownClassName,at=ce.direction,vt=at===void 0?"ltr":at,Pt=ce.placement,kt=ce.builtinPlacements,Zt=ce.dropdownMatchSelectWidth,Ct=ce.dropdownRender,Bt=ce.dropdownAlign,Vt=ce.getPopupContainer,lt=ce.empty,wt=ce.getTriggerDOMNode,Lt=ce.onPopupVisibleChange,It=ce.onPopupMouseEnter,fn=(0,P.Z)(ce,yt),Yt="".concat(Se,"-dropdown"),Qt=ot;Ct&&(Qt=Ct(ot));var Jt=_.useMemo(function(){return kt||gt(Zt)},[kt,Zt]),_n=$e?"".concat(Yt,"-").concat($e):it,yn=typeof Zt=="number",cn=_.useMemo(function(){return yn?null:Zt===!1?"minWidth":"width"},[Zt,yn]),Zn=ut;yn&&(Zn=(0,b.Z)((0,b.Z)({},Zn),{},{width:Zt}));var Nn=_.useRef(null);return _.useImperativeHandle(Oe,function(){return{getPopupElement:function(){return Nn.current}}}),_.createElement(st.Z,(0,X.Z)({},fn,{showAction:Lt?["click"]:[],hideAction:Lt?["click"]:[],popupPlacement:Pt||(vt==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:Jt,prefixCls:Yt,popupTransitionName:_n,popup:_.createElement("div",{ref:Nn,onMouseEnter:It},Qt),stretch:cn,popupAlign:Bt,popupVisible:je,getPopupContainer:Vt,popupClassName:m()(ke,(0,H.Z)({},"".concat(Yt,"-empty"),lt)),popupStyle:Zn,getTriggerDOMNode:wt,onPopupVisibleChange:Lt}),rt)},nt=_.forwardRef(Ke);nt.displayName="SelectTrigger";var Ze=nt,Ve=Z(68413);function Pe(ue,ce){var Oe=ue.key,Se;return"value"in ue&&(Se=ue.value),Oe!=null?Oe:Se!==void 0?Se:"rc-index-key-".concat(ce)}function He(ue,ce){var Oe=ue||{},Se=Oe.label,ze=Oe.value,je=Oe.options,rt=Oe.groupLabel,ot=Se||(ce?"children":"label");return{label:ot,value:ze||"value",options:je||"options",groupLabel:rt||ot}}function be(ue){var ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Oe=ce.fieldNames,Se=ce.childrenAsData,ze=[],je=He(Oe,!1),rt=je.label,ot=je.value,$e=je.options,it=je.groupLabel;function ut(ke,at){ke.forEach(function(vt){if(at||!($e in vt)){var Pt=vt[ot];ze.push({key:Pe(vt,ze.length),groupOption:at,data:vt,label:vt[rt],value:Pt})}else{var kt=vt[it];kt===void 0&&Se&&(kt=vt.label),ze.push({key:Pe(vt,ze.length),group:!0,data:vt,label:kt}),ut(vt[$e],!0)}})}return ut(ue,!1),ze}function Ie(ue){var ce=(0,b.Z)({},ue);return"props"in ce||Object.defineProperty(ce,"props",{get:function(){return(0,O.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),ce}}),ce}function Te(ue,ce){if(!ce||!ce.length)return null;var Oe=!1;function Se(je,rt){var ot=(0,Ve.Z)(rt),$e=ot[0],it=ot.slice(1);if(!$e)return[je];var ut=je.split($e);return Oe=Oe||ut.length>1,ut.reduce(function(ke,at){return[].concat((0,q.Z)(ke),(0,q.Z)(Se(at,it)))},[]).filter(function(ke){return ke})}var ze=Se(ue,ce);return Oe?ze:null}var Re=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],Ge=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"];function Le(ue){return ue==="tags"||ue==="multiple"}var Ue=_.forwardRef(function(ue,ce){var Oe,Se,ze=ue.id,je=ue.prefixCls,rt=ue.className,ot=ue.showSearch,$e=ue.tagRender,it=ue.direction,ut=ue.omitDomProps,ke=ue.displayValues,at=ue.onDisplayValuesChange,vt=ue.emptyOptions,Pt=ue.notFoundContent,kt=Pt===void 0?"Not Found":Pt,Zt=ue.onClear,Ct=ue.mode,Bt=ue.disabled,Vt=ue.loading,lt=ue.getInputElement,wt=ue.getRawInputElement,Lt=ue.open,It=ue.defaultOpen,fn=ue.onDropdownVisibleChange,Yt=ue.activeValue,Qt=ue.onActiveValueChange,Jt=ue.activeDescendantId,_n=ue.searchValue,yn=ue.autoClearSearchValue,cn=ue.onSearch,Zn=ue.onSearchSplit,Nn=ue.tokenSeparators,tn=ue.allowClear,Ln=ue.suffixIcon,Bn=ue.clearIcon,lr=ue.OptionList,qn=ue.animation,Hr=ue.transitionName,hi=ue.dropdownStyle,cr=ue.dropdownClassName,fi=ue.dropdownMatchSelectWidth,Hi=ue.dropdownRender,Kn=ue.dropdownAlign,Pn=ue.placement,Qn=ue.builtinPlacements,ur=ue.getPopupContainer,fr=ue.showAction,yr=fr===void 0?[]:fr,er=ue.onFocus,Dr=ue.onBlur,qr=ue.onKeyUp,Zr=ue.onKeyDown,_i=ue.onMouseDown,En=(0,P.Z)(ue,Re),vn=Le(Ct),kn=(ot!==void 0?ot:vn)||Ct==="combobox",Wn=(0,b.Z)({},En);Ge.forEach(function(ar){delete Wn[ar]}),ut==null||ut.forEach(function(ar){delete Wn[ar]});var Mr=_.useState(!1),fa=(0,z.Z)(Mr,2),Si=fa[0],Ti=fa[1];_.useEffect(function(){Ti((0,d.Z)())},[]);var $i=_.useRef(null),ji=_.useRef(null),Gi=_.useRef(null),Fa=_.useRef(null),ea=_.useRef(null),$a=f(),io=(0,z.Z)($a,3),Bo=io[0],Ml=io[1],ko=io[2];_.useImperativeHandle(ce,function(){var ar,$n;return{focus:(ar=Fa.current)===null||ar===void 0?void 0:ar.focus,blur:($n=Fa.current)===null||$n===void 0?void 0:$n.blur,scrollTo:function(ta){var ri;return(ri=ea.current)===null||ri===void 0?void 0:ri.scrollTo(ta)}}});var es=_.useMemo(function(){var ar;if(Ct!=="combobox")return _n;var $n=(ar=ke[0])===null||ar===void 0?void 0:ar.value;return typeof $n=="string"||typeof $n=="number"?String($n):""},[_n,Ct,ke]),Sl=Ct==="combobox"&&typeof lt=="function"&&lt()||null,ts=typeof wt=="function"&&wt(),Au=(0,M.x1)(ji,ts==null||(Oe=ts.props)===null||Oe===void 0?void 0:Oe.ref),gc=_.useState(!1),Tl=(0,z.Z)(gc,2),zo=Tl[0],pc=Tl[1];(0,L.Z)(function(){pc(!0)},[]);var Cu=(0,x.Z)(!1,{defaultValue:It,value:Lt}),mc=(0,z.Z)(Cu,2),yc=mc[0],Al=mc[1],Tn=zo?yc:!1,Xn=!kt&&vt;(Bt||Xn&&Tn&&Ct==="combobox")&&(Tn=!1);var Fn=Xn?!1:Tn,jn=_.useCallback(function(ar){var $n=ar!==void 0?ar:!Tn;Bt||(Al($n),Tn!==$n&&(fn==null||fn($n)))},[Bt,Tn,Al,fn]),Ir=_.useMemo(function(){return(Nn||[]).some(function(ar){return[`
`,`\r
`].includes(ar)})},[Nn]),zr=function($n,Li,ta){var ri=!0,da=$n;Qt==null||Qt(null);var Ua=ta?null:Te($n,Nn);return Ct!=="combobox"&&Ua&&(da="",Zn==null||Zn(Ua),jn(!1),ri=!1),cn&&es!==da&&cn(da,{source:Li?"typing":"effect"}),ri},_s=function($n){!$n||!$n.trim()||cn($n,{source:"submit"})};_.useEffect(function(){!Tn&&!vn&&Ct!=="combobox"&&zr("",!1,!1)},[Tn]),_.useEffect(function(){yc&&Bt&&Al(!1),Bt&&Ml(!1)},[Bt]);var ns=y(),ks=(0,z.Z)(ns,2),or=ks[0],zs=ks[1],wa=function($n){var Li=or(),ta=$n.which;if(ta===v.Z.ENTER&&(Ct!=="combobox"&&$n.preventDefault(),Tn||jn(!0)),zs(!!es),ta===v.Z.BACKSPACE&&!Li&&vn&&!es&&ke.length){for(var ri=(0,q.Z)(ke),da=null,Ua=ri.length-1;Ua>=0;Ua-=1){var xs=ri[Ua];if(!xs.disabled){ri.splice(Ua,1),da=xs;break}}da&&at(ri,{type:"remove",values:[da]})}for(var Fs=arguments.length,Uo=new Array(Fs>1?Fs-1:0),Us=1;Us<Fs;Us++)Uo[Us-1]=arguments[Us];if(Tn&&ea.current){var nv;(nv=ea.current).onKeyDown.apply(nv,[$n].concat(Uo))}Zr==null||Zr.apply(void 0,[$n].concat(Uo))},Ou=function($n){for(var Li=arguments.length,ta=new Array(Li>1?Li-1:0),ri=1;ri<Li;ri++)ta[ri-1]=arguments[ri];if(Tn&&ea.current){var da;(da=ea.current).onKeyUp.apply(da,[$n].concat(ta))}qr==null||qr.apply(void 0,[$n].concat(ta))},Xd=function($n){var Li=ke.filter(function(ta){return ta!==$n});at(Li,{type:"remove",values:[$n]})},Vi=_.useRef(!1),Es=function(){Ml(!0),Bt||(er&&!Vi.current&&er.apply(void 0,arguments),yr.includes("focus")&&jn(!0)),Vi.current=!0},S0=function(){Ml(!1,function(){Vi.current=!1,jn(!1)}),!Bt&&(es&&(Ct==="tags"?cn(es,{source:"submit"}):Ct==="multiple"&&cn("",{source:"blur"})),Dr&&Dr.apply(void 0,arguments))},Fo=[];_.useEffect(function(){return function(){Fo.forEach(function(ar){return clearTimeout(ar)}),Fo.splice(0,Fo.length)}},[]);var T0=function($n){var Li,ta=$n.target,ri=(Li=Gi.current)===null||Li===void 0?void 0:Li.getPopupElement();if(ri&&ri.contains(ta)){var da=setTimeout(function(){var Uo=Fo.indexOf(da);if(Uo!==-1&&Fo.splice(Uo,1),ko(),!Si&&!ri.contains(document.activeElement)){var Us;(Us=Fa.current)===null||Us===void 0||Us.focus()}});Fo.push(da)}for(var Ua=arguments.length,xs=new Array(Ua>1?Ua-1:0),Fs=1;Fs<Ua;Fs++)xs[Fs-1]=arguments[Fs];_i==null||_i.apply(void 0,[$n].concat(xs))},Yd=_.useState({}),Qd=(0,z.Z)(Yd,2),A0=Qd[1];function _c(){A0({})}var Jd;ts&&(Jd=function($n){jn($n)}),D(function(){var ar;return[$i.current,(ar=Gi.current)===null||ar===void 0?void 0:ar.getPopupElement()]},Fn,jn,!!ts);var Ec=_.useMemo(function(){return(0,b.Z)((0,b.Z)({},ue),{},{notFoundContent:kt,open:Tn,triggerOpen:Fn,id:ze,showSearch:kn,multiple:vn,toggleOpen:jn})},[ue,kt,Fn,Tn,ze,kn,vn,jn]),qd=!!Ln||Vt,Pu;qd&&(Pu=_.createElement(S,{className:m()("".concat(je,"-arrow"),(0,H.Z)({},"".concat(je,"-arrow-loading"),Vt)),customizeIcon:Ln,customizeIconProps:{loading:Vt,searchValue:es,open:Tn,focused:Bo,showSearch:kn}}));var Cl=function(){var $n;Zt==null||Zt(),($n=Fa.current)===null||$n===void 0||$n.focus(),at([],{type:"clear",values:ke}),zr("",!1,!1)},$d=A(je,Cl,ke,tn,Bn,Bt,es,Ct),C0=$d.allowClear,ev=$d.clearIcon,Ol=_.createElement(lr,{ref:ea}),Du=m()(je,rt,(Se={},(0,H.Z)(Se,"".concat(je,"-focused"),Bo),(0,H.Z)(Se,"".concat(je,"-multiple"),vn),(0,H.Z)(Se,"".concat(je,"-single"),!vn),(0,H.Z)(Se,"".concat(je,"-allow-clear"),tn),(0,H.Z)(Se,"".concat(je,"-show-arrow"),qd),(0,H.Z)(Se,"".concat(je,"-disabled"),Bt),(0,H.Z)(Se,"".concat(je,"-loading"),Vt),(0,H.Z)(Se,"".concat(je,"-open"),Tn),(0,H.Z)(Se,"".concat(je,"-customize-input"),Sl),(0,H.Z)(Se,"".concat(je,"-show-search"),kn),Se)),tv=_.createElement(Ze,{ref:Gi,disabled:Bt,prefixCls:je,visible:Fn,popupElement:Ol,animation:qn,transitionName:Hr,dropdownStyle:hi,dropdownClassName:cr,direction:it,dropdownMatchSelectWidth:fi,dropdownRender:Hi,dropdownAlign:Kn,placement:Pn,builtinPlacements:Qn,getPopupContainer:ur,empty:vt,getTriggerDOMNode:function(){return ji.current},onPopupVisibleChange:Jd,onPopupMouseEnter:_c},ts?_.cloneElement(ts,{ref:Au}):_.createElement(Je,(0,X.Z)({},ue,{domRef:ji,prefixCls:je,inputElement:Sl,ref:Fa,id:ze,showSearch:kn,autoClearSearchValue:yn,mode:Ct,activeDescendantId:Jt,tagRender:$e,values:ke,open:Tn,onToggleOpen:jn,activeValue:Yt,searchValue:es,onSearch:zr,onSearchSubmit:_s,onRemove:Xd,tokenWithEnter:Ir}))),Pl;return ts?Pl=tv:Pl=_.createElement("div",(0,X.Z)({className:Du},Wn,{ref:$i,onMouseDown:T0,onKeyDown:wa,onKeyUp:Ou,onFocus:Es,onBlur:S0}),Bo&&!Tn&&_.createElement("span",{style:{width:0,height:0,position:"absolute",overflow:"hidden",opacity:0},"aria-live":"polite"},"".concat(ke.map(function(ar){var $n=ar.label,Li=ar.value;return["number","string"].includes((0,T.Z)($n))?$n:Li}).join(", "))),tv,Pu,C0&&ev),_.createElement(R.Provider,{value:Ec},Pl)}),Qe=Ue,et=function(ue,ce){var Oe=_.useRef({values:new Map,options:new Map}),Se=_.useMemo(function(){var je=Oe.current,rt=je.values,ot=je.options,$e=ue.map(function(ke){if(ke.label===void 0){var at;return(0,b.Z)((0,b.Z)({},ke),{},{label:(at=rt.get(ke.value))===null||at===void 0?void 0:at.label})}return ke}),it=new Map,ut=new Map;return $e.forEach(function(ke){it.set(ke.value,ke),ut.set(ke.value,ce.get(ke.value)||ot.get(ke.value))}),Oe.current.values=it,Oe.current.options=ut,$e},[ue,ce]),ze=_.useCallback(function(je){return ce.get(je)||Oe.current.options.get(je)},[ce]);return[Se,ze]};function dt(ue,ce){return te(ue).join("").toUpperCase().includes(ce)}var mt=function(ue,ce,Oe,Se,ze){return _.useMemo(function(){if(!Oe||Se===!1)return ue;var je=ce.options,rt=ce.label,ot=ce.value,$e=[],it=typeof Se=="function",ut=Oe.toUpperCase(),ke=it?Se:function(vt,Pt){return ze?dt(Pt[ze],ut):Pt[je]?dt(Pt[rt!=="children"?rt:"label"],ut):dt(Pt[ot],ut)},at=it?function(vt){return Ie(vt)}:function(vt){return vt};return ue.forEach(function(vt){if(vt[je]){var Pt=ke(Oe,at(vt));if(Pt)$e.push(vt);else{var kt=vt[je].filter(function(Zt){return ke(Oe,at(Zt))});kt.length&&$e.push((0,b.Z)((0,b.Z)({},vt),{},(0,H.Z)({},je,kt)))}return}ke(Oe,at(vt))&&$e.push(vt)}),$e},[ue,Se,ze,Oe,ce])},Tt=Z(17115),At=Z(11592),Ye=["children","value"],ft=["children"];function pt(ue){var ce=ue,Oe=ce.key,Se=ce.props,ze=Se.children,je=Se.value,rt=(0,P.Z)(Se,Ye);return(0,b.Z)({key:Oe,value:je!==void 0?je:Oe,children:ze},rt)}function _t(ue){var ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return(0,At.Z)(ue).map(function(Oe,Se){if(!_.isValidElement(Oe)||!Oe.type)return null;var ze=Oe,je=ze.type.isSelectOptGroup,rt=ze.key,ot=ze.props,$e=ot.children,it=(0,P.Z)(ot,ft);return ce||!je?pt(Oe):(0,b.Z)((0,b.Z)({key:"__RC_SELECT_GRP__".concat(rt===null?Se:rt,"__"),label:rt},it),{},{options:_t($e)})}).filter(function(Oe){return Oe})}function Ot(ue,ce,Oe,Se,ze){return _.useMemo(function(){var je=ue,rt=!ue;rt&&(je=_t(ce));var ot=new Map,$e=new Map,it=function(at,vt,Pt){Pt&&typeof Pt=="string"&&at.set(vt[Pt],vt)};function ut(ke){for(var at=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,vt=0;vt<ke.length;vt+=1){var Pt=ke[vt];!Pt[Oe.options]||at?(ot.set(Pt[Oe.value],Pt),it($e,Pt,Oe.label),it($e,Pt,Se),it($e,Pt,ze)):ut(Pt[Oe.options],!0)}}return ut(je),{options:je,valueOptions:ot,labelOptions:$e}},[ue,ce,Oe,Se,ze])}function Wt(ue){var ce=_.useRef();ce.current=ue;var Oe=_.useCallback(function(){return ce.current.apply(ce,arguments)},[]);return Oe}var jt=function(){return null};jt.isSelectOptGroup=!0;var zt=jt,$t=function(){return null};$t.isSelectOption=!0;var pn=$t,on=Z(80547),un=Z(2738),On=Z(45680),Mn=_.createContext(null),Kt=Mn;function rn(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var ln=["disabled","title","children","style","className"];function Gt(ue){return typeof ue=="string"||typeof ue=="number"}var An=function(ce,Oe){var Se=u(),ze=Se.prefixCls,je=Se.id,rt=Se.open,ot=Se.multiple,$e=Se.mode,it=Se.searchValue,ut=Se.toggleOpen,ke=Se.notFoundContent,at=Se.onPopupScroll,vt=_.useContext(Kt),Pt=vt.flattenOptions,kt=vt.onActiveValue,Zt=vt.defaultActiveFirstOption,Ct=vt.onSelect,Bt=vt.menuItemSelectedIcon,Vt=vt.rawValues,lt=vt.fieldNames,wt=vt.virtual,Lt=vt.direction,It=vt.listHeight,fn=vt.listItemHeight,Yt="".concat(ze,"-item"),Qt=(0,on.Z)(function(){return Pt},[rt,Pt],function(Kn,Pn){return Pn[0]&&Kn[1]!==Pn[1]}),Jt=_.useRef(null),_n=function(Pn){Pn.preventDefault()},yn=function(Pn){Jt.current&&Jt.current.scrollTo(typeof Pn=="number"?{index:Pn}:Pn)},cn=function(Pn){for(var Qn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,ur=Qt.length,fr=0;fr<ur;fr+=1){var yr=(Pn+fr*Qn+ur)%ur,er=Qt[yr],Dr=er.group,qr=er.data;if(!Dr&&!qr.disabled)return yr}return-1},Zn=_.useState(function(){return cn(0)}),Nn=(0,z.Z)(Zn,2),tn=Nn[0],Ln=Nn[1],Bn=function(Pn){var Qn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;Ln(Pn);var ur={source:Qn?"keyboard":"mouse"},fr=Qt[Pn];if(!fr){kt(null,-1,ur);return}kt(fr.value,Pn,ur)};(0,_.useEffect)(function(){Bn(Zt!==!1?cn(0):-1)},[Qt.length,it]);var lr=_.useCallback(function(Kn){return Vt.has(Kn)&&$e!=="combobox"},[$e,(0,q.Z)(Vt).toString(),Vt.size]);(0,_.useEffect)(function(){var Kn=setTimeout(function(){if(!ot&&rt&&Vt.size===1){var Qn=Array.from(Vt)[0],ur=Qt.findIndex(function(fr){var yr=fr.data;return yr.value===Qn});ur!==-1&&(Bn(ur),yn(ur))}});if(rt){var Pn;(Pn=Jt.current)===null||Pn===void 0||Pn.scrollTo(void 0)}return function(){return clearTimeout(Kn)}},[rt,it,Pt.length]);var qn=function(Pn){Pn!==void 0&&Ct(Pn,{selected:!Vt.has(Pn)}),ot||ut(!1)};if(_.useImperativeHandle(Oe,function(){return{onKeyDown:function(Pn){var Qn=Pn.which,ur=Pn.ctrlKey;switch(Qn){case v.Z.N:case v.Z.P:case v.Z.UP:case v.Z.DOWN:{var fr=0;if(Qn===v.Z.UP?fr=-1:Qn===v.Z.DOWN?fr=1:rn()&&ur&&(Qn===v.Z.N?fr=1:Qn===v.Z.P&&(fr=-1)),fr!==0){var yr=cn(tn+fr,fr);yn(yr),Bn(yr,!0)}break}case v.Z.ENTER:{var er=Qt[tn];er&&!er.data.disabled?qn(er.value):qn(void 0),rt&&Pn.preventDefault();break}case v.Z.ESC:ut(!1),rt&&Pn.stopPropagation()}},onKeyUp:function(){},scrollTo:function(Pn){yn(Pn)}}}),Qt.length===0)return _.createElement("div",{role:"listbox",id:"".concat(je,"_list"),className:"".concat(Yt,"-empty"),onMouseDown:_n},ke);var Hr=Object.keys(lt).map(function(Kn){return lt[Kn]}),hi=function(Pn){return Pn.label};function cr(Kn,Pn){var Qn=Kn.group;return{role:Qn?"presentation":"option",id:"".concat(je,"_list_").concat(Pn)}}var fi=function(Pn){var Qn=Qt[Pn];if(!Qn)return null;var ur=Qn.data||{},fr=ur.value,yr=Qn.group,er=(0,I.Z)(ur,!0),Dr=hi(Qn);return Qn?_.createElement("div",(0,X.Z)({"aria-label":typeof Dr=="string"&&!yr?Dr:null},er,{key:Pn},cr(Qn,Pn),{"aria-selected":lr(fr)}),fr):null},Hi={role:"listbox",id:"".concat(je,"_list")};return _.createElement(_.Fragment,null,wt&&_.createElement("div",(0,X.Z)({},Hi,{style:{height:0,width:0,overflow:"hidden"}}),fi(tn-1),fi(tn),fi(tn+1)),_.createElement(On.Z,{itemKey:"key",ref:Jt,data:Qt,height:It,itemHeight:fn,fullHeight:!1,onMouseDown:_n,onScroll:at,virtual:wt,direction:Lt,innerProps:wt?null:Hi},function(Kn,Pn){var Qn,ur=Kn.group,fr=Kn.groupOption,yr=Kn.data,er=Kn.label,Dr=Kn.value,qr=yr.key;if(ur){var Zr,_i=(Zr=yr.title)!==null&&Zr!==void 0?Zr:Gt(er)?er.toString():void 0;return _.createElement("div",{className:m()(Yt,"".concat(Yt,"-group")),title:_i},er!==void 0?er:qr)}var En=yr.disabled,vn=yr.title,kn=yr.children,Wn=yr.style,Mr=yr.className,fa=(0,P.Z)(yr,ln),Si=(0,un.Z)(fa,Hr),Ti=lr(Dr),$i="".concat(Yt,"-option"),ji=m()(Yt,$i,Mr,(Qn={},(0,H.Z)(Qn,"".concat($i,"-grouped"),fr),(0,H.Z)(Qn,"".concat($i,"-active"),tn===Pn&&!En),(0,H.Z)(Qn,"".concat($i,"-disabled"),En),(0,H.Z)(Qn,"".concat($i,"-selected"),Ti),Qn)),Gi=hi(Kn),Fa=!Bt||typeof Bt=="function"||Ti,ea=typeof Gi=="number"?Gi:Gi||Dr,$a=Gt(ea)?ea.toString():void 0;return vn!==void 0&&($a=vn),_.createElement("div",(0,X.Z)({},(0,I.Z)(Si),wt?{}:cr(Kn,Pn),{"aria-selected":Ti,className:ji,title:$a,onMouseMove:function(){tn===Pn||En||Bn(Pn)},onClick:function(){En||qn(Dr)},style:Wn}),_.createElement("div",{className:"".concat($i,"-content")},ea),_.isValidElement(Bt)||Ti,Fa&&_.createElement(S,{className:"".concat(Yt,"-option-state"),customizeIcon:Bt,customizeIconProps:{isSelected:Ti}},Ti?"\u2713":null))}))},Dn=_.forwardRef(An);Dn.displayName="OptionList";var hn=Dn;function In(ue){var ce=ue.mode,Oe=ue.options,Se=ue.children,ze=ue.backfill,je=ue.allowClear,rt=ue.placeholder,ot=ue.getInputElement,$e=ue.showSearch,it=ue.onSearch,ut=ue.defaultOpen,ke=ue.autoFocus,at=ue.labelInValue,vt=ue.value,Pt=ue.inputValue,kt=ue.optionLabelProp,Zt=isMultiple(ce),Ct=$e!==void 0?$e:Zt||ce==="combobox",Bt=Oe||convertChildrenToData(Se);if(warning(ce!=="tags"||Bt.every(function(Lt){return!Lt.disabled}),"Please avoid setting option to disabled in tags mode since user can always type text as tag."),ce==="tags"||ce==="combobox"){var Vt=Bt.some(function(Lt){return Lt.options?Lt.options.some(function(It){return typeof("value"in It?It.value:It.key)=="number"}):typeof("value"in Lt?Lt.value:Lt.key)=="number"});warning(!Vt,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(warning(ce!=="combobox"||!kt,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),warning(ce==="combobox"||!ze,"`backfill` only works with `combobox` mode."),warning(ce==="combobox"||!ot,"`getInputElement` only work with `combobox` mode."),noteOnce(ce!=="combobox"||!ot||!je||!rt,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),it&&!Ct&&ce!=="combobox"&&ce!=="tags"&&warning(!1,"`onSearch` should work with `showSearch` instead of use alone."),noteOnce(!ut||ke,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),vt!=null){var lt=toArray(vt);warning(!at||lt.every(function(Lt){return _typeof(Lt)==="object"&&("key"in Lt||"value"in Lt)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),warning(!Zt||Array.isArray(vt),"`value` should be array when `mode` is `multiple` or `tags`")}if(Se){var wt=null;toNodeArray(Se).some(function(Lt){if(!React.isValidElement(Lt)||!Lt.type)return!1;var It=Lt,fn=It.type;if(fn.isSelectOption)return!1;if(fn.isSelectOptGroup){var Yt=toNodeArray(Lt.props.children).every(function(Qt){return!React.isValidElement(Qt)||!Lt.type||Qt.type.isSelectOption?!0:(wt=Qt.type,!1)});return!Yt}return wt=fn,!0}),wt&&warning(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(wt.displayName||wt.name||wt,"`.")),warning(Pt===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function Un(ue,ce){if(ue){var Oe=function Se(ze){for(var je=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,rt=0;rt<ze.length;rt++){var ot=ze[rt];if(ot[ce==null?void 0:ce.value]===null)return warning(!1,"`value` in Select options should not be `null`."),!0;if(!je&&Array.isArray(ot[ce==null?void 0:ce.options])&&Se(ot[ce==null?void 0:ce.options],!0))break}};Oe(ue)}}var Cn=null,Ft=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","direction","listHeight","listItemHeight","value","defaultValue","labelInValue","onChange"],me=["inputValue"];function E(ue){return!ue||(0,T.Z)(ue)!=="object"}var B=_.forwardRef(function(ue,ce){var Oe=ue.id,Se=ue.mode,ze=ue.prefixCls,je=ze===void 0?"rc-select":ze,rt=ue.backfill,ot=ue.fieldNames,$e=ue.inputValue,it=ue.searchValue,ut=ue.onSearch,ke=ue.autoClearSearchValue,at=ke===void 0?!0:ke,vt=ue.onSelect,Pt=ue.onDeselect,kt=ue.dropdownMatchSelectWidth,Zt=kt===void 0?!0:kt,Ct=ue.filterOption,Bt=ue.filterSort,Vt=ue.optionFilterProp,lt=ue.optionLabelProp,wt=ue.options,Lt=ue.children,It=ue.defaultActiveFirstOption,fn=ue.menuItemSelectedIcon,Yt=ue.virtual,Qt=ue.direction,Jt=ue.listHeight,_n=Jt===void 0?200:Jt,yn=ue.listItemHeight,cn=yn===void 0?20:yn,Zn=ue.value,Nn=ue.defaultValue,tn=ue.labelInValue,Ln=ue.onChange,Bn=(0,P.Z)(ue,Ft),lr=(0,Tt.ZP)(Oe),qn=Le(Se),Hr=!!(!wt&&Lt),hi=_.useMemo(function(){return Ct===void 0&&Se==="combobox"?!1:Ct},[Ct,Se]),cr=_.useMemo(function(){return He(ot,Hr)},[JSON.stringify(ot),Hr]),fi=(0,x.Z)("",{value:it!==void 0?it:$e,postState:function(Xn){return Xn||""}}),Hi=(0,z.Z)(fi,2),Kn=Hi[0],Pn=Hi[1],Qn=Ot(wt,Lt,cr,Vt,lt),ur=Qn.valueOptions,fr=Qn.labelOptions,yr=Qn.options,er=_.useCallback(function(Tn){var Xn=te(Tn);return Xn.map(function(Fn){var jn,Ir,zr,_s,ns;if(E(Fn))jn=Fn;else{var ks;zr=Fn.key,Ir=Fn.label,jn=(ks=Fn.value)!==null&&ks!==void 0?ks:zr}var or=ur.get(jn);if(or){var zs;if(Ir===void 0&&(Ir=or==null?void 0:or[lt||cr.label]),zr===void 0&&(zr=(zs=or==null?void 0:or.key)!==null&&zs!==void 0?zs:jn),_s=or==null?void 0:or.disabled,ns=or==null?void 0:or.title,0)var wa}return{label:Ir,value:jn,key:zr,disabled:_s,title:ns}})},[cr,lt,ur]),Dr=(0,x.Z)(Nn,{value:Zn}),qr=(0,z.Z)(Dr,2),Zr=qr[0],_i=qr[1],En=_.useMemo(function(){var Tn,Xn=er(Zr);return Se==="combobox"&&ne((Tn=Xn[0])===null||Tn===void 0?void 0:Tn.value)?[]:Xn},[Zr,er,Se]),vn=et(En,ur),kn=(0,z.Z)(vn,2),Wn=kn[0],Mr=kn[1],fa=_.useMemo(function(){if(!Se&&Wn.length===1){var Tn=Wn[0];if(Tn.value===null&&(Tn.label===null||Tn.label===void 0))return[]}return Wn.map(function(Xn){var Fn;return(0,b.Z)((0,b.Z)({},Xn),{},{label:(Fn=Xn.label)!==null&&Fn!==void 0?Fn:Xn.value})})},[Se,Wn]),Si=_.useMemo(function(){return new Set(Wn.map(function(Tn){return Tn.value}))},[Wn]);_.useEffect(function(){if(Se==="combobox"){var Tn,Xn=(Tn=Wn[0])===null||Tn===void 0?void 0:Tn.value;Pn(ie(Xn)?String(Xn):"")}},[Wn]);var Ti=Wt(function(Tn,Xn){var Fn,jn=Xn!=null?Xn:Tn;return Fn={},(0,H.Z)(Fn,cr.value,Tn),(0,H.Z)(Fn,cr.label,jn),Fn}),$i=_.useMemo(function(){if(Se!=="tags")return yr;var Tn=(0,q.Z)(yr),Xn=function(jn){return ur.has(jn)};return(0,q.Z)(Wn).sort(function(Fn,jn){return Fn.value<jn.value?-1:1}).forEach(function(Fn){var jn=Fn.value;Xn(jn)||Tn.push(Ti(jn,Fn.label))}),Tn},[Ti,yr,ur,Wn,Se]),ji=mt($i,cr,Kn,hi,Vt),Gi=_.useMemo(function(){return Se!=="tags"||!Kn||ji.some(function(Tn){return Tn[Vt||"value"]===Kn})||ji.some(function(Tn){return Tn[cr.value]===Kn})?ji:[Ti(Kn)].concat((0,q.Z)(ji))},[Ti,Vt,Se,ji,Kn,cr]),Fa=_.useMemo(function(){return Bt?(0,q.Z)(Gi).sort(function(Tn,Xn){return Bt(Tn,Xn)}):Gi},[Gi,Bt]),ea=_.useMemo(function(){return be(Fa,{fieldNames:cr,childrenAsData:Hr})},[Fa,cr,Hr]),$a=function(Xn){var Fn=er(Xn);if(_i(Fn),Ln&&(Fn.length!==Wn.length||Fn.some(function(zr,_s){var ns;return((ns=Wn[_s])===null||ns===void 0?void 0:ns.value)!==(zr==null?void 0:zr.value)}))){var jn=tn?Fn:Fn.map(function(zr){return zr.value}),Ir=Fn.map(function(zr){return Ie(Mr(zr.value))});Ln(qn?jn:jn[0],qn?Ir:Ir[0])}},io=_.useState(null),Bo=(0,z.Z)(io,2),Ml=Bo[0],ko=Bo[1],es=_.useState(0),Sl=(0,z.Z)(es,2),ts=Sl[0],Au=Sl[1],gc=It!==void 0?It:Se!=="combobox",Tl=_.useCallback(function(Tn,Xn){var Fn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},jn=Fn.source,Ir=jn===void 0?"keyboard":jn;Au(Xn),rt&&Se==="combobox"&&Tn!==null&&Ir==="keyboard"&&ko(String(Tn))},[rt,Se]),zo=function(Xn,Fn,jn){var Ir=function(){var Vi,Es=Mr(Xn);return[tn?{label:Es==null?void 0:Es[cr.label],value:Xn,key:(Vi=Es==null?void 0:Es.key)!==null&&Vi!==void 0?Vi:Xn}:Xn,Ie(Es)]};if(Fn&&vt){var zr=Ir(),_s=(0,z.Z)(zr,2),ns=_s[0],ks=_s[1];vt(ns,ks)}else if(!Fn&&Pt&&jn!=="clear"){var or=Ir(),zs=(0,z.Z)(or,2),wa=zs[0],Ou=zs[1];Pt(wa,Ou)}},pc=Wt(function(Tn,Xn){var Fn,jn=qn?Xn.selected:!0;jn?Fn=qn?[].concat((0,q.Z)(Wn),[Tn]):[Tn]:Fn=Wn.filter(function(Ir){return Ir.value!==Tn}),$a(Fn),zo(Tn,jn),Se==="combobox"?ko(""):(!Le||at)&&(Pn(""),ko(""))}),Cu=function(Xn,Fn){$a(Xn);var jn=Fn.type,Ir=Fn.values;(jn==="remove"||jn==="clear")&&Ir.forEach(function(zr){zo(zr.value,!1,jn)})},mc=function(Xn,Fn){if(Pn(Xn),ko(null),Fn.source==="submit"){var jn=(Xn||"").trim();if(jn){var Ir=Array.from(new Set([].concat((0,q.Z)(Si),[jn])));$a(Ir),zo(jn,!0),Pn("")}return}Fn.source!=="blur"&&(Se==="combobox"&&$a(Xn),ut==null||ut(Xn))},yc=function(Xn){var Fn=Xn;Se!=="tags"&&(Fn=Xn.map(function(Ir){var zr=fr.get(Ir);return zr==null?void 0:zr.value}).filter(function(Ir){return Ir!==void 0}));var jn=Array.from(new Set([].concat((0,q.Z)(Si),(0,q.Z)(Fn))));$a(jn),jn.forEach(function(Ir){zo(Ir,!0)})},Al=_.useMemo(function(){var Tn=Yt!==!1&&Zt!==!1;return(0,b.Z)((0,b.Z)({},Qn),{},{flattenOptions:ea,onActiveValue:Tl,defaultActiveFirstOption:gc,onSelect:pc,menuItemSelectedIcon:fn,rawValues:Si,fieldNames:cr,virtual:Tn,direction:Qt,listHeight:_n,listItemHeight:cn,childrenAsData:Hr})},[Qn,ea,Tl,gc,pc,fn,Si,cr,Yt,Zt,_n,cn,Hr]);return _.createElement(Kt.Provider,{value:Al},_.createElement(Qe,(0,X.Z)({},Bn,{id:lr,prefixCls:je,ref:ce,omitDomProps:me,mode:Se,displayValues:fa,onDisplayValuesChange:Cu,direction:Qt,searchValue:Kn,onSearch:mc,autoClearSearchValue:at,onSearchSplit:yc,dropdownMatchSelectWidth:Zt,OptionList:hn,emptyOptions:!ea.length,activeValue:Ml,activeDescendantId:"".concat(lr,"_list_").concat(ts)})))}),N=B;N.Option=pn,N.OptGroup=zt;var V=N,J=V},9296:function(Ae,Ce,Z){"use strict";Z.r(Ce),Z.d(Ce,{ResizableTextArea:function(){return G},default:function(){return ne}});var X=Z(72308),q=Z(77321),H=Z(49618),b=Z(62853),z=Z(52487),P=Z(74416),T=Z(80702),x=Z(92310),O=Z.n(x),_=Z(93681),g=Z(5643),m=Z(18929),L=Z(59301),d=Z(29301),v=Z(34280),M=Z(16089),w=`
min-height:0 !important;
max-height:none !important;
height:0 !important;
visibility:hidden !important;
overflow:hidden !important;
position:absolute !important;
z-index:-1000 !important;
top:0 !important;
right:0 !important;
pointer-events: none !important;
`,S=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],A={},R;function u(le){var ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,de=le.getAttribute("id")||le.getAttribute("data-reactid")||le.getAttribute("name");if(ae&&A[de])return A[de];var se=window.getComputedStyle(le),fe=se.getPropertyValue("box-sizing")||se.getPropertyValue("-moz-box-sizing")||se.getPropertyValue("-webkit-box-sizing"),ye=parseFloat(se.getPropertyValue("padding-bottom"))+parseFloat(se.getPropertyValue("padding-top")),ge=parseFloat(se.getPropertyValue("border-bottom-width"))+parseFloat(se.getPropertyValue("border-top-width")),xe=S.map(function(Ne){return"".concat(Ne,":").concat(se.getPropertyValue(Ne))}).join(";"),Me={sizingStyle:xe,paddingSize:ye,borderSize:ge,boxSizing:fe};return ae&&de&&(A[de]=Me),Me}function f(le){var ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,de=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,se=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;R||(R=document.createElement("textarea"),R.setAttribute("tab-index","-1"),R.setAttribute("aria-hidden","true"),document.body.appendChild(R)),le.getAttribute("wrap")?R.setAttribute("wrap",le.getAttribute("wrap")):R.removeAttribute("wrap");var fe=u(le,ae),ye=fe.paddingSize,ge=fe.borderSize,xe=fe.boxSizing,Me=fe.sizingStyle;R.setAttribute("style","".concat(Me,";").concat(w)),R.value=le.value||le.placeholder||"";var Ne=void 0,We=void 0,tt,Je=R.scrollHeight;if(xe==="border-box"?Je+=ge:xe==="content-box"&&(Je-=ye),de!==null||se!==null){R.value=" ";var st=R.scrollHeight-ye;de!==null&&(Ne=st*de,xe==="border-box"&&(Ne=Ne+ye+ge),Je=Math.max(Ne,Je)),se!==null&&(We=st*se,xe==="border-box"&&(We=We+ye+ge),tt=Je>We?"":"hidden",Je=Math.min(We,Je))}var yt={height:Je,overflowY:tt,resize:"none"};return Ne&&(yt.minHeight=Ne),We&&(yt.maxHeight=We),yt}var y=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],D=0,I=1,U=2,F=L.forwardRef(function(le,ae){var de=le,se=de.prefixCls,fe=de.onPressEnter,ye=de.defaultValue,ge=de.value,xe=de.autoSize,Me=de.onResize,Ne=de.className,We=de.style,tt=de.disabled,Je=de.onChange,st=de.onInternalAutoSize,yt=(0,P.Z)(de,y),gt=(0,m.Z)(ye,{value:ge,postState:function(zt){return zt!=null?zt:""}}),Ke=(0,z.Z)(gt,2),nt=Ke[0],Ze=Ke[1],Ve=function(zt){Ze(zt.target.value),Je==null||Je(zt)},Pe=L.useRef();L.useImperativeHandle(ae,function(){return{textArea:Pe.current}});var He=L.useMemo(function(){return xe&&(0,b.Z)(xe)==="object"?[xe.minRows,xe.maxRows]:[]},[xe]),be=(0,z.Z)(He,2),Ie=be[0],Te=be[1],Re=!!xe,Ge=function(){try{if(document.activeElement===Pe.current){var zt=Pe.current,$t=zt.selectionStart,pn=zt.selectionEnd,on=zt.scrollTop;Pe.current.setSelectionRange($t,pn),Pe.current.scrollTop=on}}catch(un){}},Le=L.useState(U),Ue=(0,z.Z)(Le,2),Qe=Ue[0],et=Ue[1],dt=L.useState(),mt=(0,z.Z)(dt,2),Tt=mt[0],At=mt[1],Ye=function(){et(D)};(0,v.Z)(function(){Re&&Ye()},[ge,Ie,Te,Re]),(0,v.Z)(function(){if(Qe===D)et(I);else if(Qe===I){var jt=f(Pe.current,!1,Ie,Te);et(U),At(jt)}else Ge()},[Qe]);var ft=L.useRef(),pt=function(){M.Z.cancel(ft.current)},_t=function(zt){Qe===U&&(Me==null||Me(zt),xe&&(pt(),ft.current=(0,M.Z)(function(){Ye()})))};L.useEffect(function(){return pt},[]);var Ot=Re?Tt:null,Wt=(0,q.Z)((0,q.Z)({},We),Ot);return(Qe===D||Qe===I)&&(Wt.overflowY="hidden",Wt.overflowX="hidden"),L.createElement(d.Z,{onResize:_t,disabled:!(xe||Me)},L.createElement("textarea",(0,X.Z)({},yt,{ref:Pe,style:Wt,className:O()(se,Ne,(0,H.Z)({},"".concat(se,"-disabled"),tt)),disabled:tt,value:nt,onChange:Ve})))}),G=F,Y=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","classes","showCount","className","style","disabled","hidden","classNames","styles","onResize"];function te(le,ae){return(0,T.Z)(le||"").slice(0,ae).join("")}function $(le,ae,de,se){var fe=de;return le?fe=te(de,se):(0,T.Z)(ae||"").length<de.length&&(0,T.Z)(de||"").length>se&&(fe=ae),fe}var oe=L.forwardRef(function(le,ae){var de,se=le.defaultValue,fe=le.value,ye=le.onFocus,ge=le.onBlur,xe=le.onChange,Me=le.allowClear,Ne=le.maxLength,We=le.onCompositionStart,tt=le.onCompositionEnd,Je=le.suffix,st=le.prefixCls,yt=st===void 0?"rc-textarea":st,gt=le.classes,Ke=le.showCount,nt=le.className,Ze=le.style,Ve=le.disabled,Pe=le.hidden,He=le.classNames,be=le.styles,Ie=le.onResize,Te=(0,P.Z)(le,Y),Re=(0,m.Z)(se,{value:fe,defaultValue:se}),Ge=(0,z.Z)(Re,2),Le=Ge[0],Ue=Ge[1],Qe=(0,L.useRef)(null),et=L.useState(!1),dt=(0,z.Z)(et,2),mt=dt[0],Tt=dt[1],At=L.useState(!1),Ye=(0,z.Z)(At,2),ft=Ye[0],pt=Ye[1],_t=L.useRef(),Ot=L.useRef(0),Wt=L.useState(null),jt=(0,z.Z)(Wt,2),zt=jt[0],$t=jt[1],pn=function(){var E;(E=Qe.current)===null||E===void 0||E.textArea.focus()};(0,L.useImperativeHandle)(ae,function(){return{resizableTextArea:Qe.current,focus:pn,blur:function(){var E;(E=Qe.current)===null||E===void 0||E.textArea.blur()}}}),(0,L.useEffect)(function(){Tt(function(me){return!Ve&&me})},[Ve]);var on=Number(Ne)>0,un=function(E){pt(!0),_t.current=Le,Ot.current=E.currentTarget.selectionStart,We==null||We(E)},On=function(E){pt(!1);var B=E.currentTarget.value;if(on){var N,V=Ot.current>=Ne+1||Ot.current===((N=_t.current)===null||N===void 0?void 0:N.length);B=$(V,_t.current,B,Ne)}B!==Le&&(Ue(B),(0,g.rJ)(E.currentTarget,E,xe,B)),tt==null||tt(E)},Mn=function(E){var B=E.target.value;if(!ft&&on){var N=E.target.selectionStart>=Ne+1||E.target.selectionStart===B.length||!E.target.selectionStart;B=$(N,Le,B,Ne)}Ue(B),(0,g.rJ)(E.currentTarget,E,xe,B)},Kt=function(E){var B=Te.onPressEnter,N=Te.onKeyDown;E.key==="Enter"&&B&&B(E),N==null||N(E)},rn=function(E){Tt(!0),ye==null||ye(E)},ln=function(E){Tt(!1),ge==null||ge(E)},Gt=function(E){var B;Ue(""),pn(),(0,g.rJ)((B=Qe.current)===null||B===void 0?void 0:B.textArea,E,xe)},An=(0,g.D7)(Le);!ft&&on&&fe==null&&(An=te(An,Ne));var Dn=Je,hn;if(Ke){var In=(0,T.Z)(An).length;(0,b.Z)(Ke)==="object"?hn=Ke.formatter({value:An,count:In,maxLength:Ne}):hn="".concat(In).concat(on?" / ".concat(Ne):""),Dn=L.createElement(L.Fragment,null,Dn,L.createElement("span",{className:O()("".concat(yt,"-data-count"),He==null?void 0:He.count),style:be==null?void 0:be.count},hn))}var Un=function(E){var B;Ie==null||Ie(E),(B=Qe.current)!==null&&B!==void 0&&B.textArea.style.height&&$t(!0)},Cn=!Te.autoSize&&!Ke&&!Me,Ft=L.createElement(_.BaseInput,{value:An,allowClear:Me,handleReset:Gt,suffix:Dn,prefixCls:yt,classes:{affixWrapper:O()(gt==null?void 0:gt.affixWrapper,(de={},(0,H.Z)(de,"".concat(yt,"-show-count"),Ke),(0,H.Z)(de,"".concat(yt,"-textarea-allow-clear"),Me),de))},disabled:Ve,focused:mt,className:nt,style:(0,q.Z)((0,q.Z)({},Ze),zt&&!Cn?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof hn=="string"?hn:void 0}},hidden:Pe,inputElement:L.createElement(G,(0,X.Z)({},Te,{onKeyDown:Kt,onChange:Mn,onFocus:rn,onBlur:ln,onCompositionStart:un,onCompositionEnd:On,className:He==null?void 0:He.textarea,style:(0,q.Z)((0,q.Z)({},be==null?void 0:be.textarea),{},{resize:Ze==null?void 0:Ze.resize}),disabled:Ve,prefixCls:yt,onResize:Un,ref:Qe}))});return Ft}),ie=oe,ne=ie},45680:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return gt}});var X=Z(72308),q=Z(62853),H=Z(77321),b=Z(49618),z=Z(52487),P=Z(74416),T=Z(92310),x=Z.n(T),O=Z(29301),_=Z(70425),g=Z(34280),m=Z(59301),L=Z(4676),d=m.forwardRef(function(Ke,nt){var Ze=Ke.height,Ve=Ke.offsetY,Pe=Ke.offsetX,He=Ke.children,be=Ke.prefixCls,Ie=Ke.onInnerResize,Te=Ke.innerProps,Re=Ke.rtl,Ge=Ke.extra,Le={},Ue={display:"flex",flexDirection:"column"};return Ve!==void 0&&(Le={height:Ze,position:"relative",overflow:"hidden"},Ue=(0,H.Z)((0,H.Z)({},Ue),{},(0,b.Z)((0,b.Z)((0,b.Z)((0,b.Z)((0,b.Z)({transform:"translateY(".concat(Ve,"px)")},Re?"marginRight":"marginLeft",-Pe),"position","absolute"),"left",0),"right",0),"top",0))),m.createElement("div",{style:Le},m.createElement(O.Z,{onResize:function(et){var dt=et.offsetHeight;dt&&Ie&&Ie()}},m.createElement("div",(0,X.Z)({style:Ue,className:x()((0,b.Z)({},"".concat(be,"-holder-inner"),be)),ref:nt},Te),He,Ge)))});d.displayName="Filler";var v=d;function M(Ke){var nt=Ke.children,Ze=Ke.setRef,Ve=m.useCallback(function(Pe){Ze(Pe)},[]);return m.cloneElement(nt,{ref:Ve})}function w(Ke,nt,Ze,Ve,Pe,He,be,Ie){var Te=Ie.getKey;return Ke.slice(nt,Ze+1).map(function(Re,Ge){var Le=nt+Ge,Ue=be(Re,Le,{style:{width:Ve},offsetX:Pe}),Qe=Te(Re);return m.createElement(M,{key:Qe,setRef:function(dt){return He(Re,dt)}},Ue)})}function S(Ke,nt,Ze,Ve){var Pe=Ze-Ke,He=nt-Ze,be=Math.min(Pe,He)*2;if(Ve<=be){var Ie=Math.floor(Ve/2);return Ve%2?Ze+Ie+1:Ze-Ie}return Pe>He?Ze-(Ve-He):Ze+(Ve-Pe)}function A(Ke,nt,Ze){var Ve=Ke.length,Pe=nt.length,He,be;if(Ve===0&&Pe===0)return null;Ve<Pe?(He=Ke,be=nt):(He=nt,be=Ke);var Ie={__EMPTY_ITEM__:!0};function Te(et){return et!==void 0?Ze(et):Ie}for(var Re=null,Ge=Math.abs(Ve-Pe)!==1,Le=0;Le<be.length;Le+=1){var Ue=Te(He[Le]),Qe=Te(be[Le]);if(Ue!==Qe){Re=Le,Ge=Ge||Ue!==Te(be[Le+1]);break}}return Re===null?null:{index:Re,multiple:Ge}}function R(Ke,nt,Ze){var Ve=m.useState(Ke),Pe=(0,z.Z)(Ve,2),He=Pe[0],be=Pe[1],Ie=m.useState(null),Te=(0,z.Z)(Ie,2),Re=Te[0],Ge=Te[1];return m.useEffect(function(){var Le=A(He||[],Ke||[],nt);(Le==null?void 0:Le.index)!==void 0&&(Ze==null||Ze(Le.index),Ge(Ke[Le.index])),be(Ke)},[Ke]),[Re]}var u=Z(16089),f=(typeof navigator=="undefined"?"undefined":(0,q.Z)(navigator))==="object"&&/Firefox/i.test(navigator.userAgent),y=f,D=function(Ke,nt,Ze,Ve){var Pe=(0,m.useRef)(!1),He=(0,m.useRef)(null);function be(){clearTimeout(He.current),Pe.current=!0,He.current=setTimeout(function(){Pe.current=!1},50)}var Ie=(0,m.useRef)({top:Ke,bottom:nt,left:Ze,right:Ve});return Ie.current.top=Ke,Ie.current.bottom=nt,Ie.current.left=Ze,Ie.current.right=Ve,function(Te,Re){var Ge=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,Le=Te?Re<0&&Ie.current.left||Re>0&&Ie.current.right:Re<0&&Ie.current.top||Re>0&&Ie.current.bottom;return Ge&&Le?(clearTimeout(He.current),Pe.current=!1):(!Le||Pe.current)&&be(),!Pe.current&&Le}};function I(Ke,nt,Ze,Ve,Pe,He,be){var Ie=(0,m.useRef)(0),Te=(0,m.useRef)(null),Re=(0,m.useRef)(null),Ge=(0,m.useRef)(!1),Le=D(nt,Ze,Ve,Pe);function Ue(At,Ye){if(u.Z.cancel(Te.current),!Le(!1,Ye)){var ft=At;if(!ft._virtualHandled)ft._virtualHandled=!0;else return;Ie.current+=Ye,Re.current=Ye,y||ft.preventDefault(),Te.current=(0,u.Z)(function(){var pt=Ge.current?10:1;be(Ie.current*pt,!1),Ie.current=0})}}function Qe(At,Ye){be(Ye,!0),y||At.preventDefault()}var et=(0,m.useRef)(null),dt=(0,m.useRef)(null);function mt(At){if(Ke){u.Z.cancel(dt.current),dt.current=(0,u.Z)(function(){et.current=null},2);var Ye=At.deltaX,ft=At.deltaY,pt=At.shiftKey,_t=Ye,Ot=ft;(et.current==="sx"||!et.current&&pt&&ft&&!Ye)&&(_t=ft,Ot=0,et.current="sx");var Wt=Math.abs(_t),jt=Math.abs(Ot);et.current===null&&(et.current=He&&Wt>jt?"x":"y"),et.current==="y"?Ue(At,Ot):Qe(At,_t)}}function Tt(At){Ke&&(Ge.current=At.detail===Re.current)}return[mt,Tt]}function U(Ke,nt,Ze,Ve){var Pe=m.useMemo(function(){return[new Map,[]]},[Ke,Ze.id,Ve]),He=(0,z.Z)(Pe,2),be=He[0],Ie=He[1],Te=function(Ge){var Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ge,Ue=be.get(Ge),Qe=be.get(Le);if(Ue===void 0||Qe===void 0)for(var et=Ke.length,dt=Ie.length;dt<et;dt+=1){var mt,Tt=Ke[dt],At=nt(Tt);be.set(At,dt);var Ye=(mt=Ze.get(At))!==null&&mt!==void 0?mt:Ve;if(Ie[dt]=(Ie[dt-1]||0)+Ye,At===Ge&&(Ue=dt),At===Le&&(Qe=dt),Ue!==void 0&&Qe!==void 0)break}return{top:Ie[Ue-1]||0,bottom:Ie[Qe]}};return Te}var F=Z(96949),G=Z(55090),Y=function(){function Ke(){(0,F.Z)(this,Ke),(0,b.Z)(this,"maps",void 0),(0,b.Z)(this,"id",0),(0,b.Z)(this,"diffKeys",new Set),this.maps=Object.create(null)}return(0,G.Z)(Ke,[{key:"set",value:function(Ze,Ve){this.maps[Ze]=Ve,this.id+=1,this.diffKeys.add(Ze)}},{key:"get",value:function(Ze){return this.maps[Ze]}},{key:"resetRecord",value:function(){this.diffKeys.clear()}},{key:"getRecord",value:function(){return this.diffKeys}}]),Ke}(),te=Y;function $(Ke){var nt=parseFloat(Ke);return isNaN(nt)?0:nt}function oe(Ke,nt,Ze){var Ve=m.useState(0),Pe=(0,z.Z)(Ve,2),He=Pe[0],be=Pe[1],Ie=(0,m.useRef)(new Map),Te=(0,m.useRef)(new te),Re=(0,m.useRef)(0);function Ge(){Re.current+=1}function Le(){var Qe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;Ge();var et=function(){var Tt=!1;Ie.current.forEach(function(At,Ye){if(At&&At.offsetParent){var ft=At.offsetHeight,pt=getComputedStyle(At),_t=pt.marginTop,Ot=pt.marginBottom,Wt=$(_t),jt=$(Ot),zt=ft+Wt+jt;Te.current.get(Ye)!==zt&&(Te.current.set(Ye,zt),Tt=!0)}}),Tt&&be(function(At){return At+1})};if(Qe)et();else{Re.current+=1;var dt=Re.current;Promise.resolve().then(function(){dt===Re.current&&et()})}}function Ue(Qe,et){var dt=Ke(Qe),mt=Ie.current.get(dt);et?(Ie.current.set(dt,et),Le()):Ie.current.delete(dt),!mt!=!et&&(et?nt==null||nt(Qe):Ze==null||Ze(Qe))}return(0,m.useEffect)(function(){return Ge},[]),[Ue,Le,Te.current,He]}var ie=14/15;function ne(Ke,nt,Ze){var Ve=(0,m.useRef)(!1),Pe=(0,m.useRef)(0),He=(0,m.useRef)(0),be=(0,m.useRef)(null),Ie=(0,m.useRef)(null),Te,Re=function(Qe){if(Ve.current){var et=Math.ceil(Qe.touches[0].pageX),dt=Math.ceil(Qe.touches[0].pageY),mt=Pe.current-et,Tt=He.current-dt,At=Math.abs(mt)>Math.abs(Tt);At?Pe.current=et:He.current=dt;var Ye=Ze(At,At?mt:Tt,!1,Qe);Ye&&Qe.preventDefault(),clearInterval(Ie.current),Ye&&(Ie.current=setInterval(function(){At?mt*=ie:Tt*=ie;var ft=Math.floor(At?mt:Tt);(!Ze(At,ft,!0)||Math.abs(ft)<=.1)&&clearInterval(Ie.current)},16))}},Ge=function(){Ve.current=!1,Te()},Le=function(Qe){Te(),Qe.touches.length===1&&!Ve.current&&(Ve.current=!0,Pe.current=Math.ceil(Qe.touches[0].pageX),He.current=Math.ceil(Qe.touches[0].pageY),be.current=Qe.target,be.current.addEventListener("touchmove",Re,{passive:!1}),be.current.addEventListener("touchend",Ge,{passive:!0}))};Te=function(){be.current&&(be.current.removeEventListener("touchmove",Re),be.current.removeEventListener("touchend",Ge))},(0,g.Z)(function(){return Ke&&nt.current.addEventListener("touchstart",Le,{passive:!0}),function(){var Ue;(Ue=nt.current)===null||Ue===void 0||Ue.removeEventListener("touchstart",Le),Te(),clearInterval(Ie.current)}},[Ke])}function le(Ke){return Math.floor(Math.pow(Ke,.5))}function ae(Ke,nt){var Ze="touches"in Ke?Ke.touches[0]:Ke;return Ze[nt?"pageX":"pageY"]-window[nt?"scrollX":"scrollY"]}function de(Ke,nt,Ze){m.useEffect(function(){var Ve=nt.current;if(Ke&&Ve){var Pe=!1,He,be,Ie=function(){u.Z.cancel(He)},Te=function Ue(){Ie(),He=(0,u.Z)(function(){Ze(be),Ue()})},Re=function(Qe){if(!(Qe.target.draggable||Qe.button!==0)){var et=Qe;et._virtualHandled||(et._virtualHandled=!0,Pe=!0)}},Ge=function(){Pe=!1,Ie()},Le=function(Qe){if(Pe){var et=ae(Qe,!1),dt=Ve.getBoundingClientRect(),mt=dt.top,Tt=dt.bottom;if(et<=mt){var At=mt-et;be=-le(At),Te()}else if(et>=Tt){var Ye=et-Tt;be=le(Ye),Te()}else Ie()}};return Ve.addEventListener("mousedown",Re),Ve.ownerDocument.addEventListener("mouseup",Ge),Ve.ownerDocument.addEventListener("mousemove",Le),function(){Ve.removeEventListener("mousedown",Re),Ve.ownerDocument.removeEventListener("mouseup",Ge),Ve.ownerDocument.removeEventListener("mousemove",Le),Ie()}}},[Ke])}var se=10;function fe(Ke,nt,Ze,Ve,Pe,He,be,Ie){var Te=m.useRef(),Re=m.useState(null),Ge=(0,z.Z)(Re,2),Le=Ge[0],Ue=Ge[1];return(0,g.Z)(function(){if(Le&&Le.times<se){if(!Ke.current){Ue(function(ln){return(0,H.Z)({},ln)});return}He();var Qe=Le.targetAlign,et=Le.originAlign,dt=Le.index,mt=Le.offset,Tt=Ke.current.clientHeight,At=!1,Ye=Qe,ft=null;if(Tt){for(var pt=Qe||et,_t=0,Ot=0,Wt=0,jt=Math.min(nt.length-1,dt),zt=0;zt<=jt;zt+=1){var $t=Pe(nt[zt]);Ot=_t;var pn=Ze.get($t);Wt=Ot+(pn===void 0?Ve:pn),_t=Wt}for(var on=pt==="top"?mt:Tt-mt,un=jt;un>=0;un-=1){var On=Pe(nt[un]),Mn=Ze.get(On);if(Mn===void 0){At=!0;break}if(on-=Mn,on<=0)break}switch(pt){case"top":ft=Ot-mt;break;case"bottom":ft=Wt-Tt+mt;break;default:{var Kt=Ke.current.scrollTop,rn=Kt+Tt;Ot<Kt?Ye="top":Wt>rn&&(Ye="bottom")}}ft!==null&&be(ft),ft!==Le.lastTop&&(At=!0)}At&&Ue((0,H.Z)((0,H.Z)({},Le),{},{times:Le.times+1,targetAlign:Ye,lastTop:ft}))}},[Le,Ke.current]),function(Qe){if(Qe==null){Ie();return}if(u.Z.cancel(Te.current),typeof Qe=="number")be(Qe);else if(Qe&&(0,q.Z)(Qe)==="object"){var et,dt=Qe.align;"index"in Qe?et=Qe.index:et=nt.findIndex(function(At){return Pe(At)===Qe.key});var mt=Qe.offset,Tt=mt===void 0?0:mt;Ue({times:0,index:et,offset:Tt,originAlign:dt})}}}var ye=m.forwardRef(function(Ke,nt){var Ze=Ke.prefixCls,Ve=Ke.rtl,Pe=Ke.scrollOffset,He=Ke.scrollRange,be=Ke.onStartMove,Ie=Ke.onStopMove,Te=Ke.onScroll,Re=Ke.horizontal,Ge=Ke.spinSize,Le=Ke.containerSize,Ue=Ke.style,Qe=Ke.thumbStyle,et=Ke.showScrollBar,dt=m.useState(!1),mt=(0,z.Z)(dt,2),Tt=mt[0],At=mt[1],Ye=m.useState(null),ft=(0,z.Z)(Ye,2),pt=ft[0],_t=ft[1],Ot=m.useState(null),Wt=(0,z.Z)(Ot,2),jt=Wt[0],zt=Wt[1],$t=!Ve,pn=m.useRef(),on=m.useRef(),un=m.useState(et),On=(0,z.Z)(un,2),Mn=On[0],Kt=On[1],rn=m.useRef(),ln=function(){et===!0||et===!1||(clearTimeout(rn.current),Kt(!0),rn.current=setTimeout(function(){Kt(!1)},3e3))},Gt=He-Le||0,An=Le-Ge||0,Dn=m.useMemo(function(){if(Pe===0||Gt===0)return 0;var N=Pe/Gt;return N*An},[Pe,Gt,An]),hn=function(V){V.stopPropagation(),V.preventDefault()},In=m.useRef({top:Dn,dragging:Tt,pageY:pt,startTop:jt});In.current={top:Dn,dragging:Tt,pageY:pt,startTop:jt};var Un=function(V){At(!0),_t(ae(V,Re)),zt(In.current.top),be(),V.stopPropagation(),V.preventDefault()};m.useEffect(function(){var N=function(ce){ce.preventDefault()},V=pn.current,J=on.current;return V.addEventListener("touchstart",N,{passive:!1}),J.addEventListener("touchstart",Un,{passive:!1}),function(){V.removeEventListener("touchstart",N),J.removeEventListener("touchstart",Un)}},[]);var Cn=m.useRef();Cn.current=Gt;var Ft=m.useRef();Ft.current=An,m.useEffect(function(){if(Tt){var N,V=function(ce){var Oe=In.current,Se=Oe.dragging,ze=Oe.pageY,je=Oe.startTop;u.Z.cancel(N);var rt=pn.current.getBoundingClientRect(),ot=Le/(Re?rt.width:rt.height);if(Se){var $e=(ae(ce,Re)-ze)*ot,it=je;!$t&&Re?it-=$e:it+=$e;var ut=Cn.current,ke=Ft.current,at=ke?it/ke:0,vt=Math.ceil(at*ut);vt=Math.max(vt,0),vt=Math.min(vt,ut),N=(0,u.Z)(function(){Te(vt,Re)})}},J=function(){At(!1),Ie()};return window.addEventListener("mousemove",V,{passive:!0}),window.addEventListener("touchmove",V,{passive:!0}),window.addEventListener("mouseup",J,{passive:!0}),window.addEventListener("touchend",J,{passive:!0}),function(){window.removeEventListener("mousemove",V),window.removeEventListener("touchmove",V),window.removeEventListener("mouseup",J),window.removeEventListener("touchend",J),u.Z.cancel(N)}}},[Tt]),m.useEffect(function(){return ln(),function(){clearTimeout(rn.current)}},[Pe]),m.useImperativeHandle(nt,function(){return{delayHidden:ln}});var me="".concat(Ze,"-scrollbar"),E={position:"absolute",visibility:Mn?null:"hidden"},B={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return Re?(E.height=8,E.left=0,E.right=0,E.bottom=0,B.height="100%",B.width=Ge,$t?B.left=Dn:B.right=Dn):(E.width=8,E.top=0,E.bottom=0,$t?E.right=0:E.left=0,B.width="100%",B.height=Ge,B.top=Dn),m.createElement("div",{ref:pn,className:x()(me,(0,b.Z)((0,b.Z)((0,b.Z)({},"".concat(me,"-horizontal"),Re),"".concat(me,"-vertical"),!Re),"".concat(me,"-visible"),Mn)),style:(0,H.Z)((0,H.Z)({},E),Ue),onMouseDown:hn,onMouseMove:ln},m.createElement("div",{ref:on,className:x()("".concat(me,"-thumb"),(0,b.Z)({},"".concat(me,"-thumb-moving"),Tt)),style:(0,H.Z)((0,H.Z)({},B),Qe),onMouseDown:Un}))}),ge=ye,xe=20;function Me(){var Ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,nt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Ze=Ke/nt*Ke;return isNaN(Ze)&&(Ze=0),Ze=Math.max(Ze,xe),Math.floor(Ze)}var Ne=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","showScrollBar"],We=[],tt={overflowY:"auto",overflowAnchor:"none"};function Je(Ke,nt){var Ze=Ke.prefixCls,Ve=Ze===void 0?"rc-virtual-list":Ze,Pe=Ke.className,He=Ke.height,be=Ke.itemHeight,Ie=Ke.fullHeight,Te=Ie===void 0?!0:Ie,Re=Ke.style,Ge=Ke.data,Le=Ke.children,Ue=Ke.itemKey,Qe=Ke.virtual,et=Ke.direction,dt=Ke.scrollWidth,mt=Ke.component,Tt=mt===void 0?"div":mt,At=Ke.onScroll,Ye=Ke.onVirtualScroll,ft=Ke.onVisibleChange,pt=Ke.innerProps,_t=Ke.extraRender,Ot=Ke.styles,Wt=Ke.showScrollBar,jt=Wt===void 0?"optional":Wt,zt=(0,P.Z)(Ke,Ne),$t=m.useCallback(function(En){return typeof Ue=="function"?Ue(En):En==null?void 0:En[Ue]},[Ue]),pn=oe($t,null,null),on=(0,z.Z)(pn,4),un=on[0],On=on[1],Mn=on[2],Kt=on[3],rn=!!(Qe!==!1&&He&&be),ln=m.useMemo(function(){return Object.values(Mn.maps).reduce(function(En,vn){return En+vn},0)},[Mn.id,Mn.maps]),Gt=rn&&Ge&&(Math.max(be*Ge.length,ln)>He||!!dt),An=et==="rtl",Dn=x()(Ve,(0,b.Z)({},"".concat(Ve,"-rtl"),An),Pe),hn=Ge||We,In=(0,m.useRef)(),Un=(0,m.useRef)(),Cn=(0,m.useRef)(),Ft=(0,m.useState)(0),me=(0,z.Z)(Ft,2),E=me[0],B=me[1],N=(0,m.useState)(0),V=(0,z.Z)(N,2),J=V[0],ue=V[1],ce=(0,m.useState)(!1),Oe=(0,z.Z)(ce,2),Se=Oe[0],ze=Oe[1],je=function(){ze(!0)},rt=function(){ze(!1)},ot={getKey:$t};function $e(En){B(function(vn){var kn;typeof En=="function"?kn=En(vn):kn=En;var Wn=cn(kn);return In.current.scrollTop=Wn,Wn})}var it=(0,m.useRef)({start:0,end:hn.length}),ut=(0,m.useRef)(),ke=R(hn,$t),at=(0,z.Z)(ke,1),vt=at[0];ut.current=vt;var Pt=m.useMemo(function(){if(!rn)return{scrollHeight:void 0,start:0,end:hn.length-1,offset:void 0};if(!Gt){var En;return{scrollHeight:((En=Un.current)===null||En===void 0?void 0:En.offsetHeight)||0,start:0,end:hn.length-1,offset:void 0}}for(var vn=0,kn,Wn,Mr,fa=hn.length,Si=0;Si<fa;Si+=1){var Ti=hn[Si],$i=$t(Ti),ji=Mn.get($i),Gi=vn+(ji===void 0?be:ji);Gi>=E&&kn===void 0&&(kn=Si,Wn=vn),Gi>E+He&&Mr===void 0&&(Mr=Si),vn=Gi}return kn===void 0&&(kn=0,Wn=0,Mr=Math.ceil(He/be)),Mr===void 0&&(Mr=hn.length-1),Mr=Math.min(Mr+1,hn.length-1),{scrollHeight:vn,start:kn,end:Mr,offset:Wn}},[Gt,rn,E,hn,Kt,He]),kt=Pt.scrollHeight,Zt=Pt.start,Ct=Pt.end,Bt=Pt.offset;it.current.start=Zt,it.current.end=Ct,m.useLayoutEffect(function(){var En=Mn.getRecord();if(En.size===1){var vn=Array.from(En)[0],kn=hn[Zt];if(kn){var Wn=$t(kn);if(Wn===vn){var Mr=Mn.get(vn),fa=Mr-be;$e(function(Si){return Si+fa})}}}Mn.resetRecord()},[kt]);var Vt=m.useState({width:0,height:He}),lt=(0,z.Z)(Vt,2),wt=lt[0],Lt=lt[1],It=function(vn){Lt({width:vn.offsetWidth,height:vn.offsetHeight})},fn=(0,m.useRef)(),Yt=(0,m.useRef)(),Qt=m.useMemo(function(){return Me(wt.width,dt)},[wt.width,dt]),Jt=m.useMemo(function(){return Me(wt.height,kt)},[wt.height,kt]),_n=kt-He,yn=(0,m.useRef)(_n);yn.current=_n;function cn(En){var vn=En;return Number.isNaN(yn.current)||(vn=Math.min(vn,yn.current)),vn=Math.max(vn,0),vn}var Zn=E<=0,Nn=E>=_n,tn=J<=0,Ln=J>=dt,Bn=D(Zn,Nn,tn,Ln),lr=function(){return{x:An?-J:J,y:E}},qn=(0,m.useRef)(lr()),Hr=(0,_.useEvent)(function(En){if(Ye){var vn=(0,H.Z)((0,H.Z)({},lr()),En);(qn.current.x!==vn.x||qn.current.y!==vn.y)&&(Ye(vn),qn.current=vn)}});function hi(En,vn){var kn=En;vn?((0,L.flushSync)(function(){ue(kn)}),Hr()):$e(kn)}function cr(En){var vn=En.currentTarget.scrollTop;vn!==E&&$e(vn),At==null||At(En),Hr()}var fi=function(vn){var kn=vn,Wn=dt?dt-wt.width:0;return kn=Math.max(kn,0),kn=Math.min(kn,Wn),kn},Hi=(0,_.useEvent)(function(En,vn){vn?((0,L.flushSync)(function(){ue(function(kn){var Wn=kn+(An?-En:En);return fi(Wn)})}),Hr()):$e(function(kn){var Wn=kn+En;return Wn})}),Kn=I(rn,Zn,Nn,tn,Ln,!!dt,Hi),Pn=(0,z.Z)(Kn,2),Qn=Pn[0],ur=Pn[1];ne(rn,In,function(En,vn,kn,Wn){var Mr=Wn;return Bn(En,vn,kn)?!1:!Mr||!Mr._virtualHandled?(Mr&&(Mr._virtualHandled=!0),Qn({preventDefault:function(){},deltaX:En?vn:0,deltaY:En?0:vn}),!0):!1}),de(Gt,In,function(En){$e(function(vn){return vn+En})}),(0,g.Z)(function(){function En(kn){var Wn=Zn&&kn.detail<0,Mr=Nn&&kn.detail>0;rn&&!Wn&&!Mr&&kn.preventDefault()}var vn=In.current;return vn.addEventListener("wheel",Qn,{passive:!1}),vn.addEventListener("DOMMouseScroll",ur,{passive:!0}),vn.addEventListener("MozMousePixelScroll",En,{passive:!1}),function(){vn.removeEventListener("wheel",Qn),vn.removeEventListener("DOMMouseScroll",ur),vn.removeEventListener("MozMousePixelScroll",En)}},[rn,Zn,Nn]),(0,g.Z)(function(){if(dt){var En=fi(J);ue(En),Hr({x:En})}},[wt.width,dt]);var fr=function(){var vn,kn;(vn=fn.current)===null||vn===void 0||vn.delayHidden(),(kn=Yt.current)===null||kn===void 0||kn.delayHidden()},yr=fe(In,hn,Mn,be,$t,function(){return On(!0)},$e,fr);m.useImperativeHandle(nt,function(){return{nativeElement:Cn.current,getScrollInfo:lr,scrollTo:function(vn){function kn(Wn){return Wn&&(0,q.Z)(Wn)==="object"&&("left"in Wn||"top"in Wn)}kn(vn)?(vn.left!==void 0&&ue(fi(vn.left)),yr(vn.top)):yr(vn)}}}),(0,g.Z)(function(){if(ft){var En=hn.slice(Zt,Ct+1);ft(En,hn)}},[Zt,Ct,hn]);var er=U(hn,$t,Mn,be),Dr=_t==null?void 0:_t({start:Zt,end:Ct,virtual:Gt,offsetX:J,offsetY:Bt,rtl:An,getSize:er}),qr=w(hn,Zt,Ct,dt,J,un,Le,ot),Zr=null;He&&(Zr=(0,H.Z)((0,b.Z)({},Te?"height":"maxHeight",He),tt),rn&&(Zr.overflowY="hidden",dt&&(Zr.overflowX="hidden"),Se&&(Zr.pointerEvents="none")));var _i={};return An&&(_i.dir="rtl"),m.createElement("div",(0,X.Z)({ref:Cn,style:(0,H.Z)((0,H.Z)({},Re),{},{position:"relative"}),className:Dn},_i,zt),m.createElement(O.Z,{onResize:It},m.createElement(Tt,{className:"".concat(Ve,"-holder"),style:Zr,ref:In,onScroll:cr,onMouseEnter:fr},m.createElement(v,{prefixCls:Ve,height:kt,offsetX:J,offsetY:Bt,scrollWidth:dt,onInnerResize:On,ref:Un,innerProps:pt,rtl:An,extra:Dr},qr))),Gt&&kt>He&&m.createElement(ge,{ref:fn,prefixCls:Ve,scrollOffset:E,scrollRange:kt,rtl:An,onScroll:hi,onStartMove:je,onStopMove:rt,spinSize:Jt,containerSize:wt.height,style:Ot==null?void 0:Ot.verticalScrollBar,thumbStyle:Ot==null?void 0:Ot.verticalScrollBarThumb,showScrollBar:jt}),Gt&&dt>wt.width&&m.createElement(ge,{ref:Yt,prefixCls:Ve,scrollOffset:J,scrollRange:dt,rtl:An,onScroll:hi,onStartMove:je,onStopMove:rt,spinSize:Qt,containerSize:wt.width,horizontal:!0,style:Ot==null?void 0:Ot.horizontalScrollBar,thumbStyle:Ot==null?void 0:Ot.horizontalScrollBarThumb,showScrollBar:jt}))}var st=m.forwardRef(Je);st.displayName="List";var yt=st,gt=yt},75029:function(Ae,Ce,Z){"use strict";var X=Z(22948),q=Array.prototype.concat,H=Array.prototype.slice,b=Ae.exports=function(P){for(var T=[],x=0,O=P.length;x<O;x++){var _=P[x];X(_)?T=q.call(T,H.call(_)):T.push(_)}return T};b.wrap=function(z){return function(){return z(b(arguments))}}},27774:function(Ae,Ce){"use strict";Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.SizeSensorId=Ce.SensorTabIndex=Ce.SensorClassName=void 0;var Z="size-sensor-id";Ce.SizeSensorId=Z;var X="size-sensor-object";Ce.SensorClassName=X;var q="-1";Ce.SensorTabIndex=q},79301:function(Ae,Ce){"use strict";Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.default=void 0;var Z=function(q){var H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:60,b=null;return function(){for(var z=this,P=arguments.length,T=new Array(P),x=0;x<P;x++)T[x]=arguments[x];clearTimeout(b),b=setTimeout(function(){q.apply(z,T)},H)}};Ce.default=Z},79789:function(Ae,Ce){"use strict";Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.default=void 0;var Z=1,X=function(){return"".concat(Z++)};Ce.default=X},47242:function(Ae,Ce,Z){"use strict";Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.ver=Ce.clear=Ce.bind=void 0;var X=Z(95270),q=function(P,T){var x=(0,X.getSensor)(P);return x.bind(T),function(){x.unbind(T)}};Ce.bind=q;var H=function(P){var T=(0,X.getSensor)(P);(0,X.removeSensor)(T)};Ce.clear=H;var b="1.0.2";Ce.ver=b},95270:function(Ae,Ce,Z){"use strict";Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.removeSensor=Ce.getSensor=Ce.Sensors=void 0;var X=b(Z(79789)),q=Z(57829),H=Z(27774);function b(O){return O&&O.__esModule?O:{default:O}}var z={};Ce.Sensors=z;function P(O){O&&z[O]&&delete z[O]}var T=function(_){var g=_.getAttribute(H.SizeSensorId);if(g&&z[g])return z[g];var m=(0,X.default)();_.setAttribute(H.SizeSensorId,m);var L=(0,q.createSensor)(_,function(){return P(m)});return z[m]=L,L};Ce.getSensor=T;var x=function(_){var g=_.element.getAttribute(H.SizeSensorId);_.destroy(),P(g)};Ce.removeSensor=x},57829:function(Ae,Ce,Z){"use strict";Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.createSensor=void 0;var X=Z(20953),q=Z(55202),H=typeof ResizeObserver!="undefined"?q.createSensor:X.createSensor;Ce.createSensor=H},20953:function(Ae,Ce,Z){"use strict";Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.createSensor=void 0;var X=H(Z(79301)),q=Z(27774);function H(z){return z&&z.__esModule?z:{default:z}}var b=function(P,T){var x=void 0,O=[],_=function(){getComputedStyle(P).position==="static"&&(P.style.position="relative");var M=document.createElement("object");return M.onload=function(){M.contentDocument.defaultView.addEventListener("resize",g),g()},M.style.display="block",M.style.position="absolute",M.style.top="0",M.style.left="0",M.style.height="100%",M.style.width="100%",M.style.overflow="hidden",M.style.pointerEvents="none",M.style.zIndex="-1",M.style.opacity="0",M.setAttribute("class",q.SensorClassName),M.setAttribute("tabindex",q.SensorTabIndex),M.type="text/html",P.appendChild(M),M.data="about:blank",M},g=(0,X.default)(function(){O.forEach(function(v){v(P)})}),m=function(M){x||(x=_()),O.indexOf(M)===-1&&O.push(M)},L=function(){x&&x.parentNode&&(x.contentDocument&&x.contentDocument.defaultView.removeEventListener("resize",g),x.parentNode.removeChild(x),P.removeAttribute(q.SizeSensorId),x=void 0,O=[],T&&T())},d=function(M){var w=O.indexOf(M);w!==-1&&O.splice(w,1),O.length===0&&x&&L()};return{element:P,bind:m,destroy:L,unbind:d}};Ce.createSensor=b},55202:function(Ae,Ce,Z){"use strict";Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.createSensor=void 0;var X=Z(27774),q=H(Z(79301));function H(z){return z&&z.__esModule?z:{default:z}}var b=function(P,T){var x=void 0,O=[],_=(0,q.default)(function(){O.forEach(function(v){v(P)})}),g=function(){var M=new ResizeObserver(_);return M.observe(P),_(),M},m=function(M){x||(x=g()),O.indexOf(M)===-1&&O.push(M)},L=function(){x.disconnect(),O=[],x=void 0,P.removeAttribute(X.SizeSensorId),T&&T()},d=function(M){var w=O.indexOf(M);w!==-1&&O.splice(w,1),O.length===0&&x&&L()};return{element:P,bind:m,destroy:L,unbind:d}};Ce.createSensor=b},82059:function(Ae){var Ce=arguments[3],Z=arguments[4],X=arguments[5],q=JSON.stringify;Ae.exports=function(H,b){for(var z,P=Object.keys(X),T=0,x=P.length;T<x;T++){var O=P[T],_=X[O].exports;if(_===H||_&&_.default===H){z=O;break}}if(!z){z=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var g={},T=0,x=P.length;T<x;T++){var O=P[T];g[O]=O}Z[z]=["function(require,module,exports){"+H+"(self); }",g]}var m=Math.floor(Math.pow(16,8)*Math.random()).toString(16),L={};L[z]=z,Z[m]=["function(require,module,exports){var f = require("+q(z)+");(f.default ? f.default : f)(self);}",L];var d={};v(m);function v(u){d[u]=!0;for(var f in Z[u][1]){var y=Z[u][1][f];d[y]||v(y)}}var M="("+Ce+")({"+Object.keys(d).map(function(u){return q(u)+":["+Z[u][0]+","+q(Z[u][1])+"]"}).join(",")+"},{},["+q(m)+"])",w=window.URL||window.webkitURL||window.mozURL||window.msURL,S=new Blob([M],{type:"text/javascript"});if(b&&b.bare)return S;var A=w.createObjectURL(S),R=new Worker(A);return R.objectURL=A,R}},93314:function(Ae){"use strict";Ae.exports="data:image/png;base64,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"},96908:function(Ae){"use strict";Ae.exports="data:image/png;base64,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"},57177:function(Ae){"use strict";Ae.exports="data:image/png;base64,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"},81378:function(Ae){"use strict";Ae.exports="data:image/png;base64,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"},99755:function(Ae){"use strict";Ae.exports="data:image/png;base64,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"},92691:function(Ae){"use strict";Ae.exports="data:image/png;base64,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"},46016:function(Ae){"use strict";Ae.exports="data:image/png;base64,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"},37426:function(Ae){"use strict";Ae.exports="data:image/png;base64,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"},19150:function(Ae){"use strict";Ae.exports="data:image/png;base64,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"},55303:function(Ae){"use strict";Ae.exports="data:image/png;base64,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"},16722:function(Ae,Ce,Z){"use strict";Z.d(Ce,{Z:function(){return x}});const X=O=>typeof O=="object"&&O!=null&&O.nodeType===1,q=(O,_)=>(!_||O!=="hidden")&&O!=="visible"&&O!=="clip",H=(O,_)=>{if(O.clientHeight<O.scrollHeight||O.clientWidth<O.scrollWidth){const g=getComputedStyle(O,null);return q(g.overflowY,_)||q(g.overflowX,_)||(m=>{const L=(d=>{if(!d.ownerDocument||!d.ownerDocument.defaultView)return null;try{return d.ownerDocument.defaultView.frameElement}catch(v){return null}})(m);return!!L&&(L.clientHeight<m.scrollHeight||L.clientWidth<m.scrollWidth)})(O)}return!1},b=(O,_,g,m,L,d,v,M)=>d<O&&v>_||d>O&&v<_?0:d<=O&&M<=g||v>=_&&M>=g?d-O-m:v>_&&M<g||d<O&&M>g?v-_+L:0,z=O=>{const _=O.parentElement;return _==null?O.getRootNode().host||null:_},P=(O,_)=>{var g,m,L,d;if(typeof document=="undefined")return[];const{scrollMode:v,block:M,inline:w,boundary:S,skipOverflowHiddenElements:A}=_,R=typeof S=="function"?S:ge=>ge!==S;if(!X(O))throw new TypeError("Invalid target");const u=document.scrollingElement||document.documentElement,f=[];let y=O;for(;X(y)&&R(y);){if(y=z(y),y===u){f.push(y);break}y!=null&&y===document.body&&H(y)&&!H(document.documentElement)||y!=null&&H(y,A)&&f.push(y)}const D=(m=(g=window.visualViewport)==null?void 0:g.width)!=null?m:innerWidth,I=(d=(L=window.visualViewport)==null?void 0:L.height)!=null?d:innerHeight,{scrollX:U,scrollY:F}=window,{height:G,width:Y,top:te,right:$,bottom:oe,left:ie}=O.getBoundingClientRect(),{top:ne,right:le,bottom:ae,left:de}=(ge=>{const xe=window.getComputedStyle(ge);return{top:parseFloat(xe.scrollMarginTop)||0,right:parseFloat(xe.scrollMarginRight)||0,bottom:parseFloat(xe.scrollMarginBottom)||0,left:parseFloat(xe.scrollMarginLeft)||0}})(O);let se=M==="start"||M==="nearest"?te-ne:M==="end"?oe+ae:te+G/2-ne+ae,fe=w==="center"?ie+Y/2-de+le:w==="end"?$+le:ie-de;const ye=[];for(let ge=0;ge<f.length;ge++){const xe=f[ge],{height:Me,width:Ne,top:We,right:tt,bottom:Je,left:st}=xe.getBoundingClientRect();if(v==="if-needed"&&te>=0&&ie>=0&&oe<=I&&$<=D&&(xe===u&&!H(xe)||te>=We&&oe<=Je&&ie>=st&&$<=tt))return ye;const yt=getComputedStyle(xe),gt=parseInt(yt.borderLeftWidth,10),Ke=parseInt(yt.borderTopWidth,10),nt=parseInt(yt.borderRightWidth,10),Ze=parseInt(yt.borderBottomWidth,10);let Ve=0,Pe=0;const He="offsetWidth"in xe?xe.offsetWidth-xe.clientWidth-gt-nt:0,be="offsetHeight"in xe?xe.offsetHeight-xe.clientHeight-Ke-Ze:0,Ie="offsetWidth"in xe?xe.offsetWidth===0?0:Ne/xe.offsetWidth:0,Te="offsetHeight"in xe?xe.offsetHeight===0?0:Me/xe.offsetHeight:0;if(u===xe)Ve=M==="start"?se:M==="end"?se-I:M==="nearest"?b(F,F+I,I,Ke,Ze,F+se,F+se+G,G):se-I/2,Pe=w==="start"?fe:w==="center"?fe-D/2:w==="end"?fe-D:b(U,U+D,D,gt,nt,U+fe,U+fe+Y,Y),Ve=Math.max(0,Ve+F),Pe=Math.max(0,Pe+U);else{Ve=M==="start"?se-We-Ke:M==="end"?se-Je+Ze+be:M==="nearest"?b(We,Je,Me,Ke,Ze+be,se,se+G,G):se-(We+Me/2)+be/2,Pe=w==="start"?fe-st-gt:w==="center"?fe-(st+Ne/2)+He/2:w==="end"?fe-tt+nt+He:b(st,tt,Ne,gt,nt+He,fe,fe+Y,Y);const{scrollLeft:Re,scrollTop:Ge}=xe;Ve=Te===0?0:Math.max(0,Math.min(Ge+Ve/Te,xe.scrollHeight-Me/Te+be)),Pe=Ie===0?0:Math.max(0,Math.min(Re+Pe/Ie,xe.scrollWidth-Ne/Ie+He)),se+=Ge-Ve,fe+=Re-Pe}ye.push({el:xe,top:Ve,left:Pe})}return ye},T=O=>O===!1?{block:"end",inline:"nearest"}:(_=>_===Object(_)&&Object.keys(_).length!==0)(O)?O:{block:"start",inline:"nearest"};function x(O,_){if(!O.isConnected||!(L=>{let d=L;for(;d&&d.parentNode;){if(d.parentNode===document)return!0;d=d.parentNode instanceof ShadowRoot?d.parentNode.host:d.parentNode}return!1})(O))return;const g=(L=>{const d=window.getComputedStyle(L);return{top:parseFloat(d.scrollMarginTop)||0,right:parseFloat(d.scrollMarginRight)||0,bottom:parseFloat(d.scrollMarginBottom)||0,left:parseFloat(d.scrollMarginLeft)||0}})(O);if((L=>typeof L=="object"&&typeof L.behavior=="function")(_))return _.behavior(P(O,_));const m=typeof _=="boolean"||_==null?void 0:_.behavior;for(const{el:L,top:d,left:v}of P(O,T(_))){const M=d-g.top+g.bottom,w=v-g.left+g.right;L.scroll({top:M,left:w,behavior:m})}}},80813:function(Ae,Ce,Z){"use strict";Z.d(Ce,{CR:function(){return w},Jh:function(){return L},Q_:function(){return te},XA:function(){return M},ZT:function(){return q},_T:function(){return b},ev:function(){return R},mG:function(){return m},pi:function(){return H},pr:function(){return A}});var X=function(se,fe){return X=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ye,ge){ye.__proto__=ge}||function(ye,ge){for(var xe in ge)Object.prototype.hasOwnProperty.call(ge,xe)&&(ye[xe]=ge[xe])},X(se,fe)};function q(se,fe){if(typeof fe!="function"&&fe!==null)throw new TypeError("Class extends value "+String(fe)+" is not a constructor or null");X(se,fe);function ye(){this.constructor=se}se.prototype=fe===null?Object.create(fe):(ye.prototype=fe.prototype,new ye)}var H=function(){return H=Object.assign||function(fe){for(var ye,ge=1,xe=arguments.length;ge<xe;ge++){ye=arguments[ge];for(var Me in ye)Object.prototype.hasOwnProperty.call(ye,Me)&&(fe[Me]=ye[Me])}return fe},H.apply(this,arguments)};function b(se,fe){var ye={};for(var ge in se)Object.prototype.hasOwnProperty.call(se,ge)&&fe.indexOf(ge)<0&&(ye[ge]=se[ge]);if(se!=null&&typeof Object.getOwnPropertySymbols=="function")for(var xe=0,ge=Object.getOwnPropertySymbols(se);xe<ge.length;xe++)fe.indexOf(ge[xe])<0&&Object.prototype.propertyIsEnumerable.call(se,ge[xe])&&(ye[ge[xe]]=se[ge[xe]]);return ye}function z(se,fe,ye,ge){var xe=arguments.length,Me=xe<3?fe:ge===null?ge=Object.getOwnPropertyDescriptor(fe,ye):ge,Ne;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Me=Reflect.decorate(se,fe,ye,ge);else for(var We=se.length-1;We>=0;We--)(Ne=se[We])&&(Me=(xe<3?Ne(Me):xe>3?Ne(fe,ye,Me):Ne(fe,ye))||Me);return xe>3&&Me&&Object.defineProperty(fe,ye,Me),Me}function P(se,fe){return function(ye,ge){fe(ye,ge,se)}}function T(se,fe,ye,ge,xe,Me){function Ne(Pe){if(Pe!==void 0&&typeof Pe!="function")throw new TypeError("Function expected");return Pe}for(var We=ge.kind,tt=We==="getter"?"get":We==="setter"?"set":"value",Je=!fe&&se?ge.static?se:se.prototype:null,st=fe||(Je?Object.getOwnPropertyDescriptor(Je,ge.name):{}),yt,gt=!1,Ke=ye.length-1;Ke>=0;Ke--){var nt={};for(var Ze in ge)nt[Ze]=Ze==="access"?{}:ge[Ze];for(var Ze in ge.access)nt.access[Ze]=ge.access[Ze];nt.addInitializer=function(Pe){if(gt)throw new TypeError("Cannot add initializers after decoration has completed");Me.push(Ne(Pe||null))};var Ve=(0,ye[Ke])(We==="accessor"?{get:st.get,set:st.set}:st[tt],nt);if(We==="accessor"){if(Ve===void 0)continue;if(Ve===null||typeof Ve!="object")throw new TypeError("Object expected");(yt=Ne(Ve.get))&&(st.get=yt),(yt=Ne(Ve.set))&&(st.set=yt),(yt=Ne(Ve.init))&&xe.unshift(yt)}else(yt=Ne(Ve))&&(We==="field"?xe.unshift(yt):st[tt]=yt)}Je&&Object.defineProperty(Je,ge.name,st),gt=!0}function x(se,fe,ye){for(var ge=arguments.length>2,xe=0;xe<fe.length;xe++)ye=ge?fe[xe].call(se,ye):fe[xe].call(se);return ge?ye:void 0}function O(se){return typeof se=="symbol"?se:"".concat(se)}function _(se,fe,ye){return typeof fe=="symbol"&&(fe=fe.description?"[".concat(fe.description,"]"):""),Object.defineProperty(se,"name",{configurable:!0,value:ye?"".concat(ye," ",fe):fe})}function g(se,fe){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(se,fe)}function m(se,fe,ye,ge){function xe(Me){return Me instanceof ye?Me:new ye(function(Ne){Ne(Me)})}return new(ye||(ye=Promise))(function(Me,Ne){function We(st){try{Je(ge.next(st))}catch(yt){Ne(yt)}}function tt(st){try{Je(ge.throw(st))}catch(yt){Ne(yt)}}function Je(st){st.done?Me(st.value):xe(st.value).then(We,tt)}Je((ge=ge.apply(se,fe||[])).next())})}function L(se,fe){var ye={label:0,sent:function(){if(Me[0]&1)throw Me[1];return Me[1]},trys:[],ops:[]},ge,xe,Me,Ne=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return Ne.next=We(0),Ne.throw=We(1),Ne.return=We(2),typeof Symbol=="function"&&(Ne[Symbol.iterator]=function(){return this}),Ne;function We(Je){return function(st){return tt([Je,st])}}function tt(Je){if(ge)throw new TypeError("Generator is already executing.");for(;Ne&&(Ne=0,Je[0]&&(ye=0)),ye;)try{if(ge=1,xe&&(Me=Je[0]&2?xe.return:Je[0]?xe.throw||((Me=xe.return)&&Me.call(xe),0):xe.next)&&!(Me=Me.call(xe,Je[1])).done)return Me;switch(xe=0,Me&&(Je=[Je[0]&2,Me.value]),Je[0]){case 0:case 1:Me=Je;break;case 4:return ye.label++,{value:Je[1],done:!1};case 5:ye.label++,xe=Je[1],Je=[0];continue;case 7:Je=ye.ops.pop(),ye.trys.pop();continue;default:if(Me=ye.trys,!(Me=Me.length>0&&Me[Me.length-1])&&(Je[0]===6||Je[0]===2)){ye=0;continue}if(Je[0]===3&&(!Me||Je[1]>Me[0]&&Je[1]<Me[3])){ye.label=Je[1];break}if(Je[0]===6&&ye.label<Me[1]){ye.label=Me[1],Me=Je;break}if(Me&&ye.label<Me[2]){ye.label=Me[2],ye.ops.push(Je);break}Me[2]&&ye.ops.pop(),ye.trys.pop();continue}Je=fe.call(se,ye)}catch(st){Je=[6,st],xe=0}finally{ge=Me=0}if(Je[0]&5)throw Je[1];return{value:Je[0]?Je[1]:void 0,done:!0}}}var d=Object.create?function(se,fe,ye,ge){ge===void 0&&(ge=ye);var xe=Object.getOwnPropertyDescriptor(fe,ye);(!xe||("get"in xe?!fe.__esModule:xe.writable||xe.configurable))&&(xe={enumerable:!0,get:function(){return fe[ye]}}),Object.defineProperty(se,ge,xe)}:function(se,fe,ye,ge){ge===void 0&&(ge=ye),se[ge]=fe[ye]};function v(se,fe){for(var ye in se)ye!=="default"&&!Object.prototype.hasOwnProperty.call(fe,ye)&&d(fe,se,ye)}function M(se){var fe=typeof Symbol=="function"&&Symbol.iterator,ye=fe&&se[fe],ge=0;if(ye)return ye.call(se);if(se&&typeof se.length=="number")return{next:function(){return se&&ge>=se.length&&(se=void 0),{value:se&&se[ge++],done:!se}}};throw new TypeError(fe?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(se,fe){var ye=typeof Symbol=="function"&&se[Symbol.iterator];if(!ye)return se;var ge=ye.call(se),xe,Me=[],Ne;try{for(;(fe===void 0||fe-- >0)&&!(xe=ge.next()).done;)Me.push(xe.value)}catch(We){Ne={error:We}}finally{try{xe&&!xe.done&&(ye=ge.return)&&ye.call(ge)}finally{if(Ne)throw Ne.error}}return Me}function S(){for(var se=[],fe=0;fe<arguments.length;fe++)se=se.concat(w(arguments[fe]));return se}function A(){for(var se=0,fe=0,ye=arguments.length;fe<ye;fe++)se+=arguments[fe].length;for(var ge=Array(se),xe=0,fe=0;fe<ye;fe++)for(var Me=arguments[fe],Ne=0,We=Me.length;Ne<We;Ne++,xe++)ge[xe]=Me[Ne];return ge}function R(se,fe,ye){if(ye||arguments.length===2)for(var ge=0,xe=fe.length,Me;ge<xe;ge++)(Me||!(ge in fe))&&(Me||(Me=Array.prototype.slice.call(fe,0,ge)),Me[ge]=fe[ge]);return se.concat(Me||Array.prototype.slice.call(fe))}function u(se){return this instanceof u?(this.v=se,this):new u(se)}function f(se,fe,ye){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var ge=ye.apply(se,fe||[]),xe,Me=[];return xe=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),We("next"),We("throw"),We("return",Ne),xe[Symbol.asyncIterator]=function(){return this},xe;function Ne(Ke){return function(nt){return Promise.resolve(nt).then(Ke,yt)}}function We(Ke,nt){ge[Ke]&&(xe[Ke]=function(Ze){return new Promise(function(Ve,Pe){Me.push([Ke,Ze,Ve,Pe])>1||tt(Ke,Ze)})},nt&&(xe[Ke]=nt(xe[Ke])))}function tt(Ke,nt){try{Je(ge[Ke](nt))}catch(Ze){gt(Me[0][3],Ze)}}function Je(Ke){Ke.value instanceof u?Promise.resolve(Ke.value.v).then(st,yt):gt(Me[0][2],Ke)}function st(Ke){tt("next",Ke)}function yt(Ke){tt("throw",Ke)}function gt(Ke,nt){Ke(nt),Me.shift(),Me.length&&tt(Me[0][0],Me[0][1])}}function y(se){var fe,ye;return fe={},ge("next"),ge("throw",function(xe){throw xe}),ge("return"),fe[Symbol.iterator]=function(){return this},fe;function ge(xe,Me){fe[xe]=se[xe]?function(Ne){return(ye=!ye)?{value:u(se[xe](Ne)),done:!1}:Me?Me(Ne):Ne}:Me}}function D(se){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var fe=se[Symbol.asyncIterator],ye;return fe?fe.call(se):(se=typeof M=="function"?M(se):se[Symbol.iterator](),ye={},ge("next"),ge("throw"),ge("return"),ye[Symbol.asyncIterator]=function(){return this},ye);function ge(Me){ye[Me]=se[Me]&&function(Ne){return new Promise(function(We,tt){Ne=se[Me](Ne),xe(We,tt,Ne.done,Ne.value)})}}function xe(Me,Ne,We,tt){Promise.resolve(tt).then(function(Je){Me({value:Je,done:We})},Ne)}}function I(se,fe){return Object.defineProperty?Object.defineProperty(se,"raw",{value:fe}):se.raw=fe,se}var U=Object.create?function(se,fe){Object.defineProperty(se,"default",{enumerable:!0,value:fe})}:function(se,fe){se.default=fe},F=function(se){return F=Object.getOwnPropertyNames||function(fe){var ye=[];for(var ge in fe)Object.prototype.hasOwnProperty.call(fe,ge)&&(ye[ye.length]=ge);return ye},F(se)};function G(se){if(se&&se.__esModule)return se;var fe={};if(se!=null)for(var ye=F(se),ge=0;ge<ye.length;ge++)ye[ge]!=="default"&&d(fe,se,ye[ge]);return U(fe,se),fe}function Y(se){return se&&se.__esModule?se:{default:se}}function te(se,fe,ye,ge){if(ye==="a"&&!ge)throw new TypeError("Private accessor was defined without a getter");if(typeof fe=="function"?se!==fe||!ge:!fe.has(se))throw new TypeError("Cannot read private member from an object whose class did not declare it");return ye==="m"?ge:ye==="a"?ge.call(se):ge?ge.value:fe.get(se)}function $(se,fe,ye,ge,xe){if(ge==="m")throw new TypeError("Private method is not writable");if(ge==="a"&&!xe)throw new TypeError("Private accessor was defined without a setter");if(typeof fe=="function"?se!==fe||!xe:!fe.has(se))throw new TypeError("Cannot write private member to an object whose class did not declare it");return ge==="a"?xe.call(se,ye):xe?xe.value=ye:fe.set(se,ye),ye}function oe(se,fe){if(fe===null||typeof fe!="object"&&typeof fe!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof se=="function"?fe===se:se.has(fe)}function ie(se,fe,ye){if(fe!=null){if(typeof fe!="object"&&typeof fe!="function")throw new TypeError("Object expected.");var ge,xe;if(ye){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");ge=fe[Symbol.asyncDispose]}if(ge===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");ge=fe[Symbol.dispose],ye&&(xe=ge)}if(typeof ge!="function")throw new TypeError("Object not disposable.");xe&&(ge=function(){try{xe.call(this)}catch(Me){return Promise.reject(Me)}}),se.stack.push({value:fe,dispose:ge,async:ye})}else ye&&se.stack.push({async:!0});return fe}var ne=typeof SuppressedError=="function"?SuppressedError:function(se,fe,ye){var ge=new Error(ye);return ge.name="SuppressedError",ge.error=se,ge.suppressed=fe,ge};function le(se){function fe(Me){se.error=se.hasError?new ne(Me,se.error,"An error was suppressed during disposal."):Me,se.hasError=!0}var ye,ge=0;function xe(){for(;ye=se.stack.pop();)try{if(!ye.async&&ge===1)return ge=0,se.stack.push(ye),Promise.resolve().then(xe);if(ye.dispose){var Me=ye.dispose.call(ye.value);if(ye.async)return ge|=2,Promise.resolve(Me).then(xe,function(Ne){return fe(Ne),xe()})}else ge|=1}catch(Ne){fe(Ne)}if(ge===1)return se.hasError?Promise.reject(se.error):Promise.resolve();if(se.hasError)throw se.error}return xe()}function ae(se,fe){return typeof se=="string"&&/^\.\.?\//.test(se)?se.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(ye,ge,xe,Me,Ne){return ge?fe?".jsx":".js":xe&&(!Me||!Ne)?ye:xe+Me+"."+Ne.toLowerCase()+"js"}):se}var de={__extends:q,__assign:H,__rest:b,__decorate:z,__param:P,__esDecorate:T,__runInitializers:x,__propKey:O,__setFunctionName:_,__metadata:g,__awaiter:m,__generator:L,__createBinding:d,__exportStar:v,__values:M,__read:w,__spread:S,__spreadArrays:A,__spreadArray:R,__await:u,__asyncGenerator:f,__asyncDelegator:y,__asyncValues:D,__makeTemplateObject:I,__importStar:G,__importDefault:Y,__classPrivateFieldGet:te,__classPrivateFieldSet:$,__classPrivateFieldIn:oe,__addDisposableResource:ie,__disposeResources:le,__rewriteRelativeImportExtension:ae}}}]);
}());